cvechecker 漏洞扫描工具部署及效果展示

介绍

cvechecker的目标是通过扫描已安装的软件并将结果与CVE数据库进行匹配来报告系统上可能存在的漏洞。

官方提示:

  • 可能会产生许多误报(漏洞已通过修订版本修复,但该工具无法检测修订本身)。
  • 但是该工具也需要您的帮助。最多的工作是告诉cvechecker如何检测安装了哪个软件以及哪个版本。

cvechecker的核心功能就是拿到软件的版本号,然后根据规则去匹配cve漏洞库,cvechecker没有依赖于包版本管理器,而是直接通过查找软件包的版本号,然后构造CPE信息,通过在cve数据库中查找给CPE信息来提取CVE信息, 开发者维护了一个软件包和各个命令的映射关系表。内容类似于:

,perlivp,1,perlivp$,# perlivp v([0-9][0-9](.[0-9]+)+),a,perl,perl,\1,,,
,libvorbis.so,1,libvorbis.so.,Xiph.Org libVorbis ([0-9][0-9]*(.[0-9]+)+),a,xiph,libvorbis,\1,,,

用户自己也可以定义添加这种映射表,同时这也是作者所提议的,而默认的映射表是由开发者维护的,默认只有651条,因此这里就是漏报的一处主要原因。另外一个原因就是上面提到的,无法检测补丁。

支持的数据库:

参考链接

安装使用

  • 测试机器:CentOS 7

  • 环境要求

    1. SQLite3, MySQL, PostgreSQL, Redis
    2. git
    3. gccGNU Make
    4. libxslt
    5. libconfig
  • 一. 环境部署:

    • 1.工具安装

      # sudo yum -y install libxslt libconfig sqlite
    • 2.安装

      先下载release版,最新版是4.0 https://github.com/sjvermeu/cvechecker/releases/tag/cvechecker-4.0

      # tar zxvf cvechecker-cvechecker-4.0.tar.gz
      # cd cvechecker-cvechecker-4.0
      # ./configure -prefix=/root/cve/ --enable-sqlite3
      # make
      # make install
      • 踩坑

      • 1 ./configure -prefix=/root/cve/ --enable-sqlite3 过程中失败 已安装sqlite,却提示失败

        ...
        checking for pkg-config... /bin/pkg-config
        checking pkg-config is at least version 0.9.0... yes
        checking for CONFIG... yes
        checking for SQLITE3... no
        configure: error: Package requirements (sqlite3 >= 3.6.16) were not met: No package 'sqlite3' found Consider adjusting the PKG_CONFIG_PATH environment variable if you
        installed software in a non-standard prefix. Alternatively, you may set the environment variables SQLITE3_CFLAGS
        and SQLITE3_LIBS to avoid the need to call pkg-config.
        See the pkg-config man page for more details.
      • 解决办法:

        # yum -y install sqlite-devel
      • 2 ./configure -prefix=/root/cve/ --enable-sqlite3 过程中失败 找不到Makefile.in文件

        config.status: error: cannot find input file: `Makefile.in'
      • 解决办法:

        # aclocal
        # autoheader
        # automake --add-missing
      • 3 make过程失败 libbsd

        configure: error: Package requirements (libbsd) were not met:
        
        No package 'libbsd' found
        
        Consider adjusting the PKG_CONFIG_PATH environment variable if you
        installed software in a non-standard prefix. Alternatively, you may set the environment variables BSD_CFLAGS
        and BSD_LIBS to avoid the need to call pkg-config.
        See the pkg-config man page for more details.
      • 解决办法:

        # yum -y install libbsd-devel
    • 3.修改配置文件

      # cp ./conf/cvechecker.conf  /etc

      根据自己环境配置,mysql的在这里配置用户名等

      #
      # Generic settings
      # dbtype = "sqlite";
      #dbtype="mysql";
      cvecache = "/usr/local/var/cvechecker/cache";
      datadir = "/usr/local/share/cvechecker";
      stringcmd = "/usr/bin/strings -n 3 '@file@'";
      version_url = "https://raw.github.com/sjvermeu/cvechecker/master/versions.dat";
      #userkey = "servertag"; #
      # For Sqlite3
      #
      sqlite3: {
      localdb = "/usr/local/var/cvechecker/local";
      globaldb = "/usr/local/var/cvechecker/global.db";
      }; #
      # For MySQL
      #
      mysql: {
      dbname = "cvechecker";
      dbuser = "cvechecker_rw";
      dbpass = "password4cvechecker_rw";
      dbhost = "mysql.company.com";
      };
    • 4.初始化表

      # cvechecker -i
    • 5.获取漏洞数据

      # pullcves pull
    • 6.生成扫描文件列表

      # find / -type f -perm -o+x > scanlist.txt
      # echo "/proc/version" >> scanlist.txt
    • 7.执行扫描

      # cvechecker -b scanlist.txt
    • 8.输出匹配条目

      # cvechecker -r

      # cvechecker -r -C  // 以cvs格式输出
    • 9.生成web UI报告 cvereport -D 生成文件的目标目录 acknowledgements.xml所在目录

      # cvereport -D /root/ /root/cvechecker-cvechecker-4.0/data/acknowledgements.xml

时间:03/05/2021

作者:HsinTsao

cvechecker 漏洞扫描工具部署及效果展示的更多相关文章

  1. Vuls 漏洞扫描工具部署及效果展示

    Vuls 漏洞扫描工具部署及效果展示 介绍 Vuls根据NVD,OVAL等数据对主流Linux系统进行扫描,并具有完善的报告. 支持系统 Distribution Release Alpine 3.3 ...

  2. Lynis 漏洞扫描工具部署及效果展示

    Lynis 漏洞扫描工具部署及效果展示 介绍 Lynis是一个安全审计工具,它可以在Linux,macOS和其他基于Unix的系统上运行.Lynis的主要重点是执行系统的运行状况检查,它还有助于检测漏 ...

  3. web漏洞扫描工具AWVS使用

    AWVS AWVS简介:Acunetix Web Vulnerability Scanner(简称AWVS)是一款知名的网络漏洞扫描工具,它通过网络爬虫测试你的网站安全,检测流行安全漏洞,如交叉站点脚 ...

  4. RED_HAWK:基于PHP实现的信息收集与SQL注入漏洞扫描工具

    无事早上就去逛freebuf看到一款不错的工具,打算介绍给大家 RED_HAWK:基于PHP实现的信息收集与SQL注入漏洞扫描工具 RED HAWK 最新版本:v1.0.0[2017年6月11日] 下 ...

  5. Web漏洞扫描工具(批量脱壳、反序列化、CMS)

    一.什么是Web漏洞扫描工具 即是指“扫描Web应用以查找安全漏洞(如跨站脚本,SQL注入,命令执行,目录遍历和不安全服务器配置)的自动化工具”,其中许多可能是由不安全或不正确的编码和设计.另一方面, ...

  6. XSS漏洞扫描工具:BruteXSS

    下载Brute,一个xss漏洞扫描工具:https://codeload.github.com/shawarkhanethicalhacker/BruteXSS/legacy.zip/master 我 ...

  7. 网站漏洞扫描工具Uniscan

    网站漏洞扫描工具Uniscan   网站漏洞的种类有很多种,如何快速扫描寻找漏洞,是渗透测试人员面临的一个棘手问题.Uniscan是Kali Linux预先安装的一个网站漏洞扫描工具.该工具可以针对单 ...

  8. web漏洞扫描工具集合

    最好用的开源Web漏洞扫描工具梳理 链接:www.freebuf.com/articles/web/155209.html 赛门铁克2017年互联网安全威胁报告中提出在他们今年扫描的网站中,有76%都 ...

  9. WordPress漏洞扫描工具WPScan

    WordPress漏洞扫描工具WPScan   WordPress是主流的PHP网站模版,以构建博客而闻名.WordPress可以通过安装插件和主题的方式扩展功能,这也带来的安全隐患.WordPres ...

随机推荐

  1. rasa 如何写一个故事

    设计故事 在设计故事时,需要考虑两组对话交互:快乐路径和不快乐路径.快乐路径描述用户何时按照您的预期遵循对话流程,并在出现提示时始终提供必要的信息.然而,用户经常会因为问题.闲聊或其他问题而偏离愉快的 ...

  2. Pytest系列(15)- 多重校验插件之pytest-assume的详细使用

    如果你还想从头学起Pytest,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1690628.html 前言 pytest中可以用pyth ...

  3. Kubernetes环境Traefik部署与应用

    本作品由Galen Suen采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可.由原作者转载自个人站点. 概述 本文用于整理基于Kubernetes环境的Traefik部署与应用, ...

  4. IDEA创建Maven项目做Java Web时无WEB-INF/classes的问题

    昨天开始学习Java Web中的Servlet,学到用IntelliJ IDEA创建Java Web项目时,跟着课程上老师的步骤一步步做,却发现运行时Servlet找不到.坑爹的是,练习建项目时,一模 ...

  5. python库--pandas--MultiIndex

    *表示后面会重复用到此参数 创建层次化索引 pd.MultiIndex 构造器 MI levels 每个级别不重复的标签 labels 每个级别的整数指定每个位置 *sortorder=None   ...

  6. Java日期时间API系列42-----一种高效的中文日期格式化和解析方法

    中文日期(2021年09月11日 和 二〇二一年九月十一日 )在生活中经常用到,2021年09月11日很好处理直接使用模板:yyyy年MM月dd日:二〇二一年九月十一日比较不好处理,需要每个数字进行转 ...

  7. weblogic漏洞初探之CVE-2015-4852

    weblogic漏洞初探之CVE-2015-4852 一.环境搭建 1. 搭建docker 这里用了vulhub的环境进行修改:https://vulhub.org/ 新建个文件夹,创建两个文件doc ...

  8. sync 修饰符在Vue中如何使用

    在有些情况下,我们可能需要对一个 prop 进行"双向绑定".不幸的是,真正的双向绑定会带来维护上的问题,因为子组件可以修改父组件,且在父组件和子组件都没有明显的改动来源.   这 ...

  9. vue开发流程

    在安装node.js 测试安装  在cmd 下输入node   如查能正确输出命令提示符,表明安装好node 测试安装npm -v   如果能成功出现版本信息表示安装好npm 安装配置 G码云   或 ...

  10. bash-completion linux命令补全

    1.有时候用docker run 或者kubectl 想tab补全的时候用不了 这个时候可以安装一个神奇的包bash-completion yum install bash-completion 2. ...