利用openVuln API自动化查询思科产品漏洞

利用openVuln API自动化查询思科产品漏洞

B站视频链接:​​https://www.bilibili.com/video/BV1ZG411P7cf/?spm_id_from=333.999.0.0​​

一、背景

安全自动化是目前一个比较热门的话题,网络安全问题往往是由软件自身的安全漏洞被利用导致,所以及时修复已知安全漏洞,是抵御网络攻击非常重要的一环。这个文档介绍一下,如何利用思科openVuln API,自动化的查询特定思科产品的安全漏洞,并且通过Excel的方式展现这些漏洞信息。

先看一下最后代码输出的Excel截图,代码可以根据提供的软件版本CVE编号产品名称来查询漏洞信息,每次查询的漏洞信息会存储为一个CSV文件,最后将所有的CSV信息合并到一个Excel文件中,每个Excel Sheet就是一个CSV文件中的信息,Excel列宽会根据内容自动调整。

除了利用API的方式查询,另外也可以通过思科提供的图形化界面来查询漏洞信息,可以登录https://tools.cisco.com/security/center/publicationListing.x网站查询思科设备的漏洞信息。

也可以查询特定版本的漏洞信息,链接:https://tools.cisco.com/security/center/softwarechecker.x

例如这里查询IOS 15.2(7)E2的漏洞信息。

二、Cisco PSIRT openVuln API 简介

思科产品安全事件响应小组(Cisco Product Security Incident Response Team,PSIRT)是一个专门的全球团队,负责接收、调查和公开报告与思科产品和网络有关的安全漏洞信息 [1]。

思科PSIRT团队提供了openVuln API[2],允许用户查询思科产品的漏洞信息,漏洞信息支持多种格式的行业安全标准:

  • CVE:通用漏洞枚举(Common Vulnerability Enumeration),它就像是所有公开漏洞的字典表,对已公开的漏洞进行统一编号。由Mitre公司(非盈利机构)建立与维护,网址:https://cve.org/

  • CWE:常见弱点枚举 (Common Weakness Enumeration) 是MITRE公司继CVE之后的又一个安全漏洞词典,主要针对开发社区和安全从业人员社区,列出了架构、设计、代码或实施中可能出现的常见软件和硬件弱点,这些弱点可能导致可利用的安全漏洞 [3] ,网址:https://cwe.mitre.org

  • CVSS:通用漏洞评分系统 (Common Vulnerability Scoring System) 提供了一种评估漏洞严重性的方法,企业在修复漏洞时,可以根据这个优先级来修复。CVSS现在的版本是V3.1,漏洞评分为0~10分,漏洞分为4个等级:LOW(0.1~3.9)MEDIUM(4.0~6.9)HIGH(7.0~8.9)CRITICAL(9.0~10.0) [4],网址:https://first.org/cvss

  • CSAF:通用安全咨询框架 (Common Security Advisory Framework) 是结构化机器可读漏洞相关咨询的规范。CSAF 是通用漏洞报告框架 (CVRF) 的新名称和替代品。网址:https://csaf.io/

三、获取思科openVuln API访问凭证

思科openVuln API使用OAuth2进行认证,所以需要认证获得授权之后才能查询。

登录思科网站,创建凭证信息,网址https://apiconsole.cisco.com/apps/myapps

创建一个应用名称,选择OAuth2.0的凭证类型,这里我选择客户端凭证。

勾选Cisco PSIRT openVuln API的权限,注意这个API的速率限制,每秒5次请求,每分钟30次请求。

创建完成。

查看产生的凭证信息,记录这个信息,KEY:djshucbvmpu4cmcsgufwt36w,CLIENT SECRET:TVJxz72ADUBKdb7ySjTzzcQp,注意不要泄露这个凭证信息(我会在演示完后销毁这个凭证)。

四、测试访问openVuln API

4.1 通过Postman软件测试

在Postman软件中选择配置OAuth 2.0的凭证信息,设置Token名称,设置凭证类型为Client Credentials,令牌URL为https://cloudsso.cisco.com/as/token.oauth2,Client ID为djshucbvmpu4cmcsgufwt36w,Client Secret:TVJxz72ADUBKdb7ySjTzzcQp,填写完信息之后,点击产生新的Token信息,然后使用这个Token。

在软件中发起HTTP GET请求,通过CVE信息查询受影响的产品 [5],HTTP GET测试URL为:https://api.cisco.com/security/advisories/v2/cve/CVE-2021-44228

4.2 通过Terminal运行测试

通过pip3 install openVulnQuery安装openVulnQuery模块 [6]后,可以在Linux terminal使用命令行测试。

[root@centos8 ~]# pip3 install openVulnQuery

安装之后创建一个凭证文件,输入CLIENT_IDCLIENT_SECRET信息。

也可以将这个凭证信息配置在环境变量中,例如:export CLIENT_ID="djshucbvmpu4cmcsgufwt36w",export CLIENT_SECRET="TVJxz72ADUBKdb7ySjTzzcQp"

[root@centos8 ~]# vim Credentials.json
{
    "CLIENT_ID": "djshucbvmpu4cmcsgufwt36w",
    "CLIENT_SECRET": "TVJxz72ADUBKdb7ySjTzzcQp"
}

调用凭证信息,查询2022年8月份所有critical级别的漏洞。

[root@centos8 ~]# openVulnQuery --config Credentials.json --severity critical --first_published 2022-08-01:2022-08-30
[
    {
        "advisory_id": "cisco-sa-sb-mult-vuln-CbVp4SUR",
        "advisory_title": "Cisco Small Business RV Series Routers Vulnerabilities",
        "bug_ids": [
            "CSCwb58268",
            "CSCwb58273",
            "CSCwb98961",
            "CSCwb98964",
            "CSCwc00210"
        ],
        "cves": [
            "CVE-2022-20827",
            "CVE-2022-20841",
            "CVE-2022-20842"
        ],
        "cvrfUrl": "https://tools.cisco.com/security/center/contentxml/CiscoSecurityAdvisory/cisco-sa-sb-mult-vuln-CbVp4SUR/cvrf/cisco-sa-sb-mult-vuln-CbVp4SUR_cvrf.xml",
        "cvss_base_score": "9.8",
        "cwe": [
            "CWE-120",
            "CWE-77",<
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值