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. VS2017 添加预定义宏

    project_name[right click] -> Properties -> C/C++ -> Preprocessor -> Preprocessor Definit ...

  2. 恶意软件开发——编写第一个Loader加载器

    一.什么是shellcode loader? 上一篇文章说了,我们说到了什么是shellcode,为了使我们的shellcode加载到内存并执行,我们需要shellcode加载器,也就是我们的shel ...

  3. 如何攻击Java Web应用

    越来越多的企业采用Java语言构建企业Web应用程序,基于Java主流的框架和技术及可能存在的风险,成为被关注的重点. 本文从黑盒渗透的角度,总结下Java Web应用所知道的一些可能被利用的入侵点. ...

  4. openresty lua-resty-string md5 sha aes random string

    安装 https://github.com/openresty/lua-resty-string $ sudo opm get openresty/lua-resty-string $ ls -al ...

  5. JS 根据id实现局部打印

    // 打印初审收费清单     getOrderCostBille(){       var head_str = "<html><head><title> ...

  6. Python - 面向对象编程 - 子类方法的重写

    继承的详解 https://www.cnblogs.com/poloyy/p/15216652.html 方法的重写 在子类继承父类时,子类会拥有父类的所有属性和方法 但当父类的方法实现不满足子类需要 ...

  7. 剑指 Offer 31. 栈的压入、弹出序列

    剑指 Offer 31. 栈的压入.弹出序列 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序.假设压入栈的所有数字均不相等.例如,序列 {1,2,3,4,5} 是某 ...

  8. Spring Cloud Eureka 实践(一)

    Spring Cloud Eureka是Spring Cloud Netflix微服务套件中的一部分,主要在Spring Cloud架构中提供服务注册发现的功能.那么是不是可以尝试在本地搭一个单例Eu ...

  9. Docker - 解决 docker push 上传镜像报:denied: requested access to the resource is denied 的问题

    问题背景 在 Linux 已登录自己的 Docker hub 账号 上传本地镜像但是报错了 docker push tomcat 解决方案 docker tag tomcat poloyy/tomca ...

  10. 【PHP数据结构】顺序表(数组)的相关逻辑操作

    在定义好了物理结构,也就是存储结构之后,我们就需要对这个存储结构进行一系列的逻辑操作.在这里,我们就从顺序表入手,因为这个结构非常简单,就是我们最常用的数组.那么针对数组,我们通常都会有哪些操作呢? ...