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. WAMP 2.5 无法访问局域网的解决方法

    打开Apache配置文件 httpd.conf  (该文件在wamp\bin\apache\apache2.4.9\conf) DocumentRoot "d:/wamp/www/" ...

  2. Java 学习:对象和类

    对象和类 从认识的角度考虑是先有对象后有类.对象,是具体的事物.类,是抽象的,是对对象的抽象. 从代码运行角度考虑是先有类后又对象.类是对象的模板. 对象:对象是类的一个实例,有状态和行为. 类:类是 ...

  3. Qt学习日记篇-Qt中使用Curl和jsonCpp

    1.Qt中安装并使用jsonCPP库 1.1  官网下载.https://sourceforge.net/projects/jsoncpp/    解压文件得到 jsoncpp-src-0.5.0 文 ...

  4. MacOS隐藏及显示文件

    ​ 显示隐藏文件 显示所有文件 defaults write com.apple.finder AppleShowAllFiles -boolean true killall Finder 不显示隐藏 ...

  5. Typescript详解

    typescript由微软开发的一款开源编程语言. ts是jacascript的超集,遵循ES6,ES5规范,ts扩展了js的语法. ts更像后端java,c#这样的面向对象的语言,可以让js开发大型 ...

  6. golang接口类型判断 VS 接口类型查询

    接口类型判断:接口.(类型) 1.类型查询:查询接口数据对应的类型是否是指定的类型 2.类型转化:如果是指定类型,就将数据转化为接口类型查询: 1.reflect.TypeOf(接口) 2.接口.(T ...

  7. [CSP-J2020] 优秀的拆分

    [CSP-J2020] 优秀的拆分 难度:普及- 题目描述 一般来说,一个正整数可以拆分成若干个正整数的和. 例如,1=1,10=1+2+3+4 等.对于正整数 n 的一种特定拆分,我们称它为&quo ...

  8. symfony的几个请求变量和方法

    请求变量 // 全部变量 $request->query->all(); // 指定变量 $request->query->get('abc'); 请求方式 $request- ...

  9. java中的swing设计界面时怎么加上背景图片。而不覆盖其他控件?

    通过以下方式设置下背景就可以了: import java.awt.Container; import javax.swing.ImageIcon; import javax.swing.JFrame; ...

  10. 鸿蒙内核源码分析(索引节点篇) | 谁是文件系统最重要的概念 | 百篇博客分析OpenHarmony源码 | v64.01

    百篇博客系列篇.本篇为: v64.xx 鸿蒙内核源码分析(索引节点篇) | 谁是文件系统最重要的概念 | 51.c.h.o 文件系统相关篇为: v62.xx 鸿蒙内核源码分析(文件概念篇) | 为什么 ...