Vulmap 是一款 web 漏洞扫描和验证工具, 可对 webapps 进行漏洞扫描, 并且具备漏洞利用功能

Overview

🌟 Vulmap - Web vulnerability scanning and verification tools

Release Release Release GitHub Repo stars GitHub forks

[Click here for the English Version]

Vulmap 是一款 web 漏洞扫描和验证工具, 可对 webapps 进行漏洞扫描, 并且具备漏洞利用功能, 目前支持的 webapps 包括 activemq, flink, shiro, solr, struts2, tomcat, unomi, drupal, elasticsearch, fastjson, jenkins, nexus, weblogic, jboss, spring, thinkphp

Vulmap 将漏洞扫描与验证(漏洞利用)结合到了一起, 及大程度便于测试人员在发现漏洞后及时进行下一步操作, 工具追求于于高效、便捷
高效: 逐步开发中慢慢引入了批量扫描、Fofa、Shodan 批量扫描, 且支持多线程默认开启协程, 以最快的速度扫描大量资产
便捷: 发现漏洞即可利用, 大量资产扫描可多格式输出结果

🛒 Installation

操作系统中必须有 python3, 推荐 python3.8 或者更高版本

# git 或前往 release 获取原码
git clone https://github.com/zhzyker/vulmap.git
# 安装所需的 python 依赖
pip3 install -r requirements.txt
# Linux & MacOS & Windows
python3 vulmap.py -u http://example.com

配置 Fofa Api && Shodan Api && Ceye

使用 Fofa or Shodan 需要修改 vulmap.py 中的配置信息:

# 把xxxxxxxxxx替换成fofa的邮箱
globals.set_value("fofa_email", "xxxxxxxxxx")  
# 把xxxxxxxxxx替换成fofa的key
globals.set_value("fofa_key", "xxxxxxxxxx")  
# 把xxxxxxxxxx替换成自己shodan的key
globals.set_value("shodan_key", "xxxxxxxxxx")  
# 把xxxxxxxxxx替换为自己的域名
globals.set_value("ceye_domain","xxxxxxxxxx")  
# 把xxxxxxxxxx替换自己ceye的token
globals.set_value("ceye_token", "xxxxxxxxxx")  

📺 video demo

YouTube: https://www.youtube.com/watch?v=g4czwS1Snc4
Bilibili: https://www.bilibili.com/video/BV1Fy4y1v7rd
Gif: https://github.com/zhzyker/vulmap/blob/main/images/vulmap-0.5-demo-gif.gif

🔥 Release 0.6

  1. 优化输出, 新增 json 输出, 格式与 xray 一致.
  2. 新增 fastjson 和 spring 漏洞扫描和利用.
  3. 引入 ceye 检测无回显 rce 漏洞.
  4. 添加 fofa api 和 shodan api 批量扫描.
  5. 重构 poc 模块, 重构 vulmap 变为模块化.
  6. 新添自动指纹识别.
  7. 替换echo命令为随机md5

🙋 Discussion

QR-code

🔧 Options

可选参数:
  -h, --help            显示此帮助消息并退出
  -u URL, --url URL     目标 URL (e.g. -u "http://example.com")
  -f FILE, --file FILE  选择一个目标列表文件,每个url必须用行来区分 (e.g. -f "/home/user/list.txt")
  --fofa keyword        使用 fofa api 批量扫描 (e.g. --fofa "app=Apache-Shiro")
  --shodan keyword      使用 shodan api 批量扫描 (e.g. --shodan "Shiro")
  -m MODE, --mode MODE  模式支持"poc"和"exp",可以省略此选项,默认进入"poc"模式
  -a APP [APP ...]      指定 webapps(e.g. "weblogic")不指定则自动指纹识别
  -c CMD, --cmd CMD     自定义远程命令执行执行的命令,默认是echo随机md5
  -v VULN, --vuln VULN  利用漏洞,需要指定漏洞编号 (e.g. -v "CVE-2019-2729")
  -t NUM, --thread NUM  扫描线程数量,默认10线程
  --output-text file    扫描结果输出到 txt 文件 (e.g. "result.txt")
  --output-json file    扫描结果输出到 json 文件 (e.g. "result.json")
  --proxy-socks SOCKS   使用 socks 代理 (e.g. --proxy-socks 127.0.0.1:1080)
  --proxy-http HTTP     使用 http 代理 (e.g. --proxy-http 127.0.0.1:8080)
  --user-agent UA       允许自定义 User-Agent
  --fofa-size SIZE      fofa api 调用资产数量,默认100,可用(1-10000)
  --delay DELAY         延时时间,每隔多久发送一次,默认 0s
  --timeout TIMEOUT     超时时间,默认 5s
  --list                显示支持的漏洞列表
  --debug               exp 模式显示 request 和 responses, poc 模式显示扫描漏洞列表

🐾 Examples

# 测试所有漏洞 poc 不指定 -a all 将默认开启指纹识别
python3 vulmap.py -u http://example.com

# 检查站点是否存在 struts2 漏洞
python3 vulmap.py -u http://example.com -a struts2

# 对 http://example.com:7001 进行 WebLogic 的 CVE-2019-2729 漏洞利用
python3 vulmap.py -u http://example.com:7001 -v CVE-2019-2729
python3 vulmap.py -u http://example.com:7001 -m exp -v CVE-2019-2729

# 批量扫描 list.txt 中的 url
python3 vulmap.py -f list.txt

# 扫描结果导出到 result.json
python3 vulmap.py -u http://example.com:7001 --output-json result.json

# 调用 fofa api 批量扫描
python3 vulmap.py --fofa app=Apache-Shiro

🍵 Vulnerabilitys List

支持的漏洞列表 [点击展开]
 +-------------------+------------------+-----+-----+-------------------------------------------------------------+
 | Target type       | Vuln Name        | Poc | Exp | Impact Version && Vulnerability description                 |
 +-------------------+------------------+-----+-----+-------------------------------------------------------------+
 | Apache ActiveMQ   | CVE-2015-5254    |  Y  |  N  | < 5.13.0, deserialization remote code execution             |
 | Apache ActiveMQ   | CVE-2016-3088    |  Y  |  Y  | < 5.14.0, http put&move upload webshell                     |
 | Apache Flink      | CVE-2020-17518   |  Y  |  N  | < 1.11.3 or < 1.12.0, upload path traversal                 |
 | Apache Flink      | CVE-2020-17519   |  Y  |  Y  | 1.5.1 - 1.11.2, 'jobmanager/logs' path traversal            |
 | Apache Shiro      | CVE-2016-4437    |  Y  |  Y  | <= 1.2.4, shiro-550, rememberme deserialization rce         |
 | Apache Solr       | CVE-2017-12629   |  Y  |  Y  | < 7.1.0, runexecutablelistener rce & xxe, only rce is here  |
 | Apache Solr       | CVE-2019-0193    |  Y  |  N  | < 8.2.0, dataimporthandler module remote code execution     |
 | Apache Solr       | CVE-2019-17558   |  Y  |  Y  | 5.0.0 - 8.3.1, velocity response writer rce                 |
 | Apache Struts2    | S2-005           |  Y  |  Y  | 2.0.0 - 2.1.8.1, cve-2010-1870 parameters interceptor rce   |
 | Apache Struts2    | S2-008           |  Y  |  Y  | 2.0.0 - 2.3.17, debugging interceptor rce                   |
 | Apache Struts2    | S2-009           |  Y  |  Y  | 2.1.0 - 2.3.1.1, cve-2011-3923 ognl interpreter rce         |
 | Apache Struts2    | S2-013           |  Y  |  Y  | 2.0.0 - 2.3.14.1, cve-2013-1966 ognl interpreter rce        |
 | Apache Struts2    | S2-015           |  Y  |  Y  | 2.0.0 - 2.3.14.2, cve-2013-2134 ognl interpreter rce        |
 | Apache Struts2    | S2-016           |  Y  |  Y  | 2.0.0 - 2.3.15, cve-2013-2251 ognl interpreter rce          |
 | Apache Struts2    | S2-029           |  Y  |  Y  | 2.0.0 - 2.3.24.1, ognl interpreter rce                      |
 | Apache Struts2    | S2-032           |  Y  |  Y  | 2.3.20-28, cve-2016-3081 rce can be performed via method    |
 | Apache Struts2    | S2-045           |  Y  |  Y  | 2.3.5-31, 2.5.0-10, cve-2017-5638 jakarta multipart rce     |
 | Apache Struts2    | S2-046           |  Y  |  Y  | 2.3.5-31, 2.5.0-10, cve-2017-5638 jakarta multipart rce     |
 | Apache Struts2    | S2-048           |  Y  |  Y  | 2.3.x, cve-2017-9791 struts2-struts1-plugin rce             |
 | Apache Struts2    | S2-052           |  Y  |  Y  | 2.1.2 - 2.3.33, 2.5 - 2.5.12 cve-2017-9805 rest plugin rce  |
 | Apache Struts2    | S2-057           |  Y  |  Y  | 2.0.4 - 2.3.34, 2.5.0-2.5.16, cve-2018-11776 namespace rce  |
 | Apache Struts2    | S2-059           |  Y  |  Y  | 2.0.0 - 2.5.20, cve-2019-0230 ognl interpreter rce          |
 | Apache Struts2    | S2-061           |  Y  |  Y  | 2.0.0-2.5.25, cve-2020-17530 ognl interpreter rce           |
 | Apache Struts2    | S2-devMode       |  Y  |  Y  | 2.1.0 - 2.5.1, devmode remote code execution                |
 | Apache Tomcat     | Examples File    |  Y  |  N  | all version, /examples/servlets/servlet                     |
 | Apache Tomcat     | CVE-2017-12615   |  Y  |  Y  | 7.0.0 - 7.0.81, put method any files upload                 |
 | Apache Tomcat     | CVE-2020-1938    |  Y  |  Y  | 6, 7 < 7.0.100, 8 < 8.5.51, 9 < 9.0.31 arbitrary file read  |
 | Apache Unomi      | CVE-2020-13942   |  Y  |  Y  | < 1.5.2, apache unomi remote code execution                 |
 | Drupal            | CVE-2018-7600    |  Y  |  Y  | 6.x, 7.x, 8.x, drupalgeddon2 remote code execution          |
 | Drupal            | CVE-2018-7602    |  Y  |  Y  | < 7.59, < 8.5.3 (except 8.4.8) drupalgeddon2 rce            |
 | Drupal            | CVE-2019-6340    |  Y  |  Y  | < 8.6.10, drupal core restful remote code execution         |
 | Elasticsearch     | CVE-2014-3120    |  Y  |  Y  | < 1.2, elasticsearch remote code execution                  |
 | Elasticsearch     | CVE-2015-1427    |  Y  |  Y  | < 1.3.7, < 1.4.3, elasticsearch remote code execution       |
 | Fastjson          | 1.2.24           |  Y  |  Y  | <= 1.2.24 fastjson parse object remote code execution       |
 | Fastjson          | 1.2.47           |  Y  |  Y  | <= 1.2.47 fastjson autotype remote code execution           |
 | Fsatjson          | 1.2.62           |  Y  |  Y  | <= 1.2.24 fastjson autotype remote code execution           |
 | Jenkins           | CVE-2017-1000353 |  Y  |  N  | <= 2.56, LTS <= 2.46.1, jenkins-ci remote code execution    |
 | Jenkins           | CVE-2018-1000861 |  Y  |  Y  | <= 2.153, LTS <= 2.138.3, remote code execution             |
 | Nexus OSS/Pro     | CVE-2019-7238    |  Y  |  Y  | 3.6.2 - 3.14.0, remote code execution vulnerability         |
 | Nexus OSS/Pro     | CVE-2020-10199   |  Y  |  Y  | 3.x <= 3.21.1, remote code execution vulnerability          |
 | Oracle Weblogic   | CVE-2014-4210    |  Y  |  N  | 10.0.2 - 10.3.6, weblogic ssrf vulnerability                |
 | Oracle Weblogic   | CVE-2017-3506    |  Y  |  Y  | 10.3.6.0, 12.1.3.0, 12.2.1.0-2, weblogic wls-wsat rce       |
 | Oracle Weblogic   | CVE-2017-10271   |  Y  |  Y  | 10.3.6.0, 12.1.3.0, 12.2.1.1-2, weblogic wls-wsat rce       |
 | Oracle Weblogic   | CVE-2018-2894    |  Y  |  Y  | 12.1.3.0, 12.2.1.2-3, deserialization any file upload       |
 | Oracle Weblogic   | CVE-2019-2725    |  Y  |  Y  | 10.3.6.0, 12.1.3.0, weblogic wls9-async deserialization rce |
 | Oracle Weblogic   | CVE-2019-2729    |  Y  |  Y  | 10.3.6.0, 12.1.3.0, 12.2.1.3 wls9-async deserialization rce |
 | Oracle Weblogic   | CVE-2020-2551    |  Y  |  N  | 10.3.6.0, 12.1.3.0, 12.2.1.3-4, wlscore deserialization rce |
 | Oracle Weblogic   | CVE-2020-2555    |  Y  |  Y  | 3.7.1.17, 12.1.3.0.0, 12.2.1.3-4.0, t3 deserialization rce  |
 | Oracle Weblogic   | CVE-2020-2883    |  Y  |  Y  | 10.3.6.0, 12.1.3.0, 12.2.1.3-4, iiop t3 deserialization rce |
 | Oracle Weblogic   | CVE-2020-14882   |  Y  |  Y  | 10.3.6.0, 12.1.3.0, 12.2.1.3-4, 14.1.1.0.0, console rce     |
 | RedHat JBoss      | CVE-2010-0738    |  Y  |  Y  | 4.2.0 - 4.3.0, jmx-console deserialization any files upload |
 | RedHat JBoss      | CVE-2010-1428    |  Y  |  Y  | 4.2.0 - 4.3.0, web-console deserialization any files upload |
 | RedHat JBoss      | CVE-2015-7501    |  Y  |  Y  | 5.x, 6.x, jmxinvokerservlet deserialization any file upload |
 | Spring Data       | CVE-2018-1273    |  Y  |  Y  | 1.13 - 1.13.10, 2.0 - 2.0.5, spring data commons rce        |
 | Spring Cloud      | CVE-2019-3799    |  Y  |  Y  | 2.1.0-2.1.1, 2.0.0-2.0.3, 1.4.0-1.4.5, directory traversal  |
 | ThinkPHP          | CVE-2019-9082    |  Y  |  Y  | < 3.2.4, thinkphp rememberme deserialization rce            |
 | ThinkPHP          | CVE-2018-20062   |  Y  |  Y  | <= 5.0.23, 5.1.31, thinkphp rememberme deserialization rce  |
 +-------------------+------------------+-----+-----+-------------------------------------------------------------+

🐟 Docker

docker build -t vulmap/vulmap .
docker run --rm -ti vulmap/vulmap  python vulmap.py -u https://www.example.com
Comments
  • Going to error in new

    Going to error in new

    [email protected]:~/tools/vulmap# python3 vulmap.py -u https://paypal.com Traceback (most recent call last): File "vulmap.py", line 8, in from gevent import monkey;monkey.patch_all() File "/usr/local/lib/python3.6/dist-packages/gevent/monkey.py", line 1214, in patch_all _notify_patch(events.GeventWillPatchAllEvent(modules_to_patch, kwargs), _warnings) File "/usr/local/lib/python3.6/dist-packages/gevent/monkey.py", line 185, in _notify_patch notify_and_call_entry_points(event) File "/usr/local/lib/python3.6/dist-packages/gevent/events.py", line 104, in notify_and_call_entry_points subscriber = plugin.load() File "/usr/lib/python3/dist-packages/pkg_resources/init.py", line 2323, in load self.require(*args, **kwargs) File "/usr/lib/python3/dist-packages/pkg_resources/init.py", line 2346, in require items = working_set.resolve(reqs, env, installer, extras=self.extras) File "/usr/lib/python3/dist-packages/pkg_resources/init.py", line 783, in resolve raise VersionConflict(dist, req).with_context(dependent_req) pkg_resources.VersionConflict: (psutil 5.6.7 (/usr/local/lib/python3.6/dist-packages), Requirement.parse('psutil>=5.7.0; sys_platform != "win32" or platform_python_implementation == "CPython" and extra == "monitor"')) [email protected]:~/tools/vulmap

    opened by shelu16 4
  • pip install -r requirement.txt 报错,

    pip install -r requirement.txt 报错,

    pip install -r requirement.txt 报错, python-3.9

    Building wheels for collected packages: lxml                                                                                                                                             [1444/11751]  Building wheel for lxml (setup.py) ... error                                                                                                                                                         ERROR: Command errored out with exit status 1:
       command: /usr/local/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-iq38rq57/lxml/setup.py'"'"'; __file__='"'"'/tmp/pip-install-iq38rq57/lxml/setup.py'"'"
    ';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-ad3_
    9cqe
           cwd: /tmp/pip-install-iq38rq57/lxml/
      Complete output (731 lines):
      Building lxml version 4.3.2.
      Building without Cython.
      Using build configuration of libxslt 1.1.32
      running bdist_wheel
      running build
      running build_py
      creating build
      creating build/lib.linux-x86_64-3.9
      creating build/lib.linux-x86_64-3.9/lxml
      copying src/lxml/usedoctest.py -> build/lib.linux-x86_64-3.9/lxml
      copying src/lxml/sax.py -> build/lib.linux-x86_64-3.9/lxml
      copying src/lxml/builder.py -> build/lib.linux-x86_64-3.9/lxml
      copying src/lxml/cssselect.py -> build/lib.linux-x86_64-3.9/lxml
      copying src/lxml/pyclasslookup.py -> build/lib.linux-x86_64-3.9/lxml
      copying src/lxml/_elementpath.py -> build/lib.linux-x86_64-3.9/lxml
      copying src/lxml/doctestcompare.py -> build/lib.linux-x86_64-3.9/lxml
      copying src/lxml/__init__.py -> build/lib.linux-x86_64-3.9/lxml
      copying src/lxml/ElementInclude.py -> build/lib.linux-x86_64-3.9/lxml
      creating build/lib.linux-x86_64-3.9/lxml/includes
      copying src/lxml/includes/__init__.py -> build/lib.linux-x86_64-3.9/lxml/includes
      creating build/lib.linux-x86_64-3.9/lxml/html
      copying src/lxml/html/diff.py -> build/lib.linux-x86_64-3.9/lxml/html
      copying src/lxml/html/usedoctest.py -> build/lib.linux-x86_64-3.9/lxml/html
      copying src/lxml/html/defs.py -> build/lib.linux-x86_64-3.9/lxml/html
      copying src/lxml/html/_diffcommand.py -> build/lib.linux-x86_64-3.9/lxml/html
      copying src/lxml/html/clean.py -> build/lib.linux-x86_64-3.9/lxml/html
      copying src/lxml/html/_setmixin.py -> build/lib.linux-x86_64-3.9/lxml/html
      copying src/lxml/html/builder.py -> build/lib.linux-x86_64-3.9/lxml/html
      copying src/lxml/html/ElementSoup.py -> build/lib.linux-x86_64-3.9/lxml/html
      copying src/lxml/html/soupparser.py -> build/lib.linux-x86_64-3.9/lxml/html
      copying src/lxml/html/formfill.py -> build/lib.linux-x86_64-3.9/lxml/html
      copying src/lxml/html/__init__.py -> build/lib.linux-x86_64-3.9/lxml/html
      copying src/lxml/html/_html5builder.py -> build/lib.linux-x86_64-3.9/lxml/html
      copying src/lxml/html/html5parser.py -> build/lib.linux-x86_64-3.9/lxml/html
      creating build/lib.linux-x86_64-3.9/lxml/isoschematron
      copying src/lxml/isoschematron/__init__.py -> build/lib.linux-x86_64-3.9/lxml/isoschematron
      copying src/lxml/etree.h -> build/lib.linux-x86_64-3.9/lxml
      copying src/lxml/etree_api.h -> build/lib.linux-x86_64-3.9/lxml
      copying src/lxml/lxml.etree.h -> build/lib.linux-x86_64-3.9/lxml
    
    opened by xiagw 3
  • where is the exploit module?

    where is the exploit module?

    py -3 vulmap.py --help __ [ | _ __ __ _ | | _ .--..--. ,--. _ .--. [ \ [ ][ | | | | | [ .-. .-. |'\ :[ '/'`\
    \ / / | _/ |, | | | | | | | | // | |,| _
    / | _/ '.__.'/[___][___||__||__]'-;/| ;._/ [__| usage: python3 vulmap [options]

    target: you must to specify target

    -u URL, --url URL target URL (e.g. -u "http://example.com") -f FILE, --file FILE select a target list file (e.g. -f "list.txt") --fofa keyword call fofa api to scan (e.g. --fofa "app=Apache-Shiro") --shodan keyword call shodan api to scan (e.g. --shodan "Shiro")

    mode: options vulnerability scanning or exploit mode

    -a APP [APP ...] specify webapps (e.g. -a "tomcat") allow multiple

    general: general options

    -h, --help show this help message and exit -t NUM, --thread NUM number of scanning function threads, default 10 threads --dnslog server dnslog server (hyuga,dnslog,ceye) default automatic --output-text file result export txt file (e.g. "result.txt") --output-json file result export json file (e.g. "result.json") --proxy-socks SOCKS socks proxy (e.g. --proxy-socks 127.0.0.1:1080) --proxy-http HTTP http proxy (e.g. --proxy-http 127.0.0.1:8080) --fofa-size SIZE fofa query target number, default 100 (1-10000) --user-agent UA you can customize the user-agent headers --delay DELAY delay check time, default 0s --timeout TIMEOUT scan timeout time, default 10s --list display the list of supported vulnerabilities --debug exp echo request and responses, poc echo vuln lists --check survival check (on and off), default on

    support: types of vulnerability scanning: all, activemq, flink, shiro, solr, struts2, tomcat, unomi, drupal elasticsearch, fastjson, jenkins, laravel, nexus, weblogic, jboss spring, thinkphp, druid, exchange, nodejs, saltstack, vmware bigip, ofbiz, coremail, ecology, eyou, qianxin, ruijie

    examples: python3 vulmap.py -u http://example.com python3 vulmap.py -u http://example.com -a struts2 python3 vulmap.py -f list.txt -a weblogic -t 20 python3 vulmap.py -f list.txt --output-json results.json python3 vulmap.py --fofa "app=Apache-Shiro"

    opened by IMnewer 2
  • 无法识别目标

    无法识别目标

    执行 python3 vulmap.py -u http://192.168.31.97:8080/

    报: [09:56:52] [INFO] Currently the latest version: 0.7 [09:57:04] [INFO] Start scanning target: http://192.168.31.97:8080/ [09:57:17] [INFO] Unable to identify target, Run all pocs [09:57:51] [INFO] Scan completed and ended

    无法识别是怎么回事,我的python版本是3.6.8的,有关系吗

    opened by 1248484417 2
  • 漏洞检测部分误报

    漏洞检测部分误报

    其中poc使用echo + md5的payload检测。当页面中返回这些值的时候判断漏洞存在,会导致一些组件误报。测试代码:

    <?php
    echo 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
    echo file_get_contents("php://input");
    ?>
    

    误报情况:

    image

    命令执行用expr或者set等命令误报会更低

    代码执行直接计算md5误报率更低,echo md5("xxx");

    opened by aStrowxyu 2
  • poc 检查逻辑可能有 bug

    poc 检查逻辑可能有 bug

    我的目标有 s2-045 漏洞。

    注意以下 debug 信息中此行 [INFO] Start scanning target: http://192.168.200.132:8080/struts2-showcase 程序中 url 最后的 / 被丢弃了。所以检测不出来。

    image-20210317161904247

    将数据包用 burp 重新发送

    image image

    opened by ChenYun4164 2
  • ApacheStruts2.py S2-045 poc有错误

    ApacheStruts2.py S2-045 poc有错误

    self.headers2 = {
                'User-Agent': self.ua,
                'Content-Type': self.payload_s2_045.replace("RECOMMAND", cmd)
            }
            try:
                self.req= requests.get(self.url, headers=self.headers1, timeout=self.timeout, verify=False)
                if r"54289" in self.request.headers['FUCK']:
    

    self.req 应该为self.request

    opened by shadow1ng 2
  • CVE-2020-2555 and CVE-2020-2883 POC is only checking on version

    CVE-2020-2555 and CVE-2020-2883 POC is only checking on version

    The POC check for CVE-2020-2555 and CVE-2020-2883 is only checking on the weblogic version number not if the target is actually vulnerable.

    So even with the latest patches or giop/t3 disabled the poc scan shows that the target is vulnable.

    opened by siriusnlz 2
  • pip3 install出了点小问题

    pip3 install出了点小问题

    ERROR: Command errored out with exit status 1:
       command: /usr/bin/python3 /usr/local/lib/python3.6/site-packages/pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-jzgza5un/overlay --no-warn-script-location --no-binary :none: --only-binary :none: -i http://mirrors.tencentyun.com/pypi/simple --trusted-host mirrors.tencentyun.com -- 'setuptools >= 40.8.0' wheel 'Cython >= 3.0a5' 'cffi >= 1.12.3 ; platform_python_implementation == '"'"'CPython'"'"'' 'greenlet >= 0.4.17, < 2.0 ; platform_python_implementation == '"'"'CPython'"'"''
           cwd: None
      Complete output (31 lines):
      Traceback (most recent call last):
        File "/usr/lib64/python3.6/runpy.py", line 193, in _run_module_as_main
          "__main__", mod_spec)
        File "/usr/lib64/python3.6/runpy.py", line 85, in _run_code
          exec(code, run_globals)
        File "/usr/local/lib/python3.6/site-packages/pip/__main__.py", line 26, in <module>
          sys.exit(_main())
        File "/usr/local/lib/python3.6/site-packages/pip/_internal/cli/main.py", line 73, in main
          command = create_command(cmd_name, isolated=("--isolated" in cmd_args))
        File "/usr/local/lib/python3.6/site-packages/pip/_internal/commands/__init__.py", line 105, in create_command
          module = importlib.import_module(module_path)
        File "/usr/lib64/python3.6/importlib/__init__.py", line 126, in import_module
          return _bootstrap._gcd_import(name[level:], package, level)
        File "<frozen importlib._bootstrap>", line 994, in _gcd_import
        File "<frozen importlib._bootstrap>", line 971, in _find_and_load
        File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
        File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
        File "<frozen importlib._bootstrap_external>", line 678, in exec_module
        File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
        File "/usr/local/lib/python3.6/site-packages/pip/_internal/commands/install.py", line 17, in <module>
          from pip._internal.cli.req_command import RequirementCommand, with_cleanup
        File "/usr/local/lib/python3.6/site-packages/pip/_internal/cli/req_command.py", line 23, in <module>
          from pip._internal.req.constructors import (
        File "/usr/local/lib/python3.6/site-packages/pip/_internal/req/__init__.py", line 10, in <module>
          from .req_install import InstallRequirement
        File "/usr/local/lib/python3.6/site-packages/pip/_internal/req/req_install.py", line 10, in <module>
          import uuid
        File "/usr/local/lib/python3.6/site-packages/uuid.py", line 138
          if not 0 <= time_low < 1<<32L:
                                      ^
      SyntaxError: invalid syntax
      ----------------------------------------
    ERROR: Command errored out with exit status 1: /usr/bin/python3 /usr/local/lib/python3.6/site-packages/pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-jzgza5un/overlay --no-warn-script-location --no-binary :none: --only-binary :none: -i http://mirrors.tencentyun.com/pypi/simple --trusted-host mirrors.tencentyun.com -- 'setuptools >= 40.8.0' wheel 'Cython >= 3.0a5' 'cffi >= 1.12.3 ; platform_python_implementation == '"'"'CPython'"'"'' 'greenlet >= 0.4.17, < 2.0 ; platform_python_implementation == '"'"'CPython'"'"'' Check the logs for full command output.
    

    centosx64 用kali pip3 安装不会报错,但是运行项目的时候:

    frozen importlib._bootstrap>:219: RuntimeWarning: greenlet.greenlet size changed, may indicate binary incompatibility. Expected 144 from C header, got 152 from PyObject
    <frozen importlib._bootstrap>:219: RuntimeWarning: greenlet.greenlet size changed, may indicate binary incompatibility. Expected 144 from C header, got 152 from PyObject
    <frozen importlib._bootstrap>:219: RuntimeWarning: greenlet.greenlet size changed, may indicate binary incompatibility. Expected 144 from C header, got 152 from PyObject
    <frozen importlib._bootstrap>:219: RuntimeWarning: greenlet.greenlet size changed, may indicate binary incompatibility. Expected 144 from C header, got 152 from PyObject
    <frozen importlib._bootstrap>:219: RuntimeWarning: greenlet.greenlet size changed, may indicate binary incompatibility. Expected 144 from C header, got 152 from PyObject
    <frozen importlib._bootstrap>:219: RuntimeWarning: greenlet.greenlet size changed, may indicate binary incompatibility. Expected 144 from C header, got 152 from PyObject
    <frozen importlib._bootstrap>:219: RuntimeWarning: greenlet.greenlet size changed, may indicate binary incompatibility. Expected 144 from C header, got 152 from PyObject
    <frozen importlib._bootstrap>:219: RuntimeWarning: greenlet.greenlet size changed, may indicate binary incompatibility. Expected 144 from C header, got 152 from PyObject
    <frozen importlib._bootstrap>:219: RuntimeWarning: greenlet.greenlet size changed, may indicate binary incompatibility. Expected 144 from C header, got 152 from PyObject
    
    opened by mcblog 2
  • TypeError: unsupported operand type(s) for +: 'NoneType' and 'str'

    TypeError: unsupported operand type(s) for +: 'NoneType' and 'str'

    执行程序报错,0.2版本和0.1版本都有这个错误

    Traceback (most recent call last):
      File "vulmap.py", line 7609, in <module>
        cmdlineparser(sys.argv)
      File "vulmap.py", line 7568, in cmdlineparser
        Target.allvuln_url(args.url)
      File "vulmap.py", line 7337, in allvuln_url
        Start.allvulnscan(self)
      File "vulmap.py", line 7126, in allvulnscan
        Start.apache_solr(self)
      File "vulmap.py", line 7139, in apache_solr
        PocApacheSolr.cve_2019_0193()
      File "vulmap.py", line 331, in cve_2019_0193
        self.solrhost = self.hostname+":"+str(self.port)
    TypeError: unsupported operand type(s) for +: 'NoneType' and 'str'
    
    opened by xiaofeng9527 2
  • There are some false positives in cve-2018-7602

    There are some false positives in cve-2018-7602

    In the course of testing , I found that there are false positives in cve-2018-7602 . Please try using “python3 vulmap -u http://baidu.com” .In addition , can you write a python file for each vulnerability , just like your exphub project . Danke.

    opened by ghost 2
  • 代理问题

    代理问题

    你好,使用代理了会抛出: Proxy URL had no scheme, should start with http:// or https:// 的错误,关了也一样,然后我是用了--proxy-http http://127.0.0.1又报错: ValueError: invalid literal for int() with base 10: '//127.0.0.1:10810'

    opened by vFREE-1 1
  • 第二次启动开始报错,python3.11的环境

    第二次启动开始报错,python3.11的环境

     File "C:\Users\KC\Desktop\vulmap\vulmap.py", line 10, in <module>
        from module.allcheck import version_check
      File "C:\Users\KC\Desktop\vulmap\module\allcheck.py", line 4, in <module>
        import requests
      File "C:\Users\KC\AppData\Local\Programs\Python\Python311\Lib\site-packages\requests\__init__.py", line 58, in <module>
        from . import utils
      File "C:\Users\KC\AppData\Local\Programs\Python\Python311\Lib\site-packages\requests\utils.py", line 26, in <module>
        from .compat import parse_http_list as _parse_list_header
      File "C:\Users\KC\AppData\Local\Programs\Python\Python311\Lib\site-packages\requests\compat.py", line 7, in <module>
        from .packages import chardet
      File "C:\Users\KC\AppData\Local\Programs\Python\Python311\Lib\site-packages\requests\packages\__init__.py", line 3, in <module>
        from . import urllib3
      File "C:\Users\KC\AppData\Local\Programs\Python\Python311\Lib\site-packages\requests\packages\urllib3\__init__.py", line 10, in <module>
        from .connectionpool import (
      File "C:\Users\KC\AppData\Local\Programs\Python\Python311\Lib\site-packages\requests\packages\urllib3\connectionpool.py", line 38, in <module>
        from .response import HTTPResponse
      File "C:\Users\KC\AppData\Local\Programs\Python\Python311\Lib\site-packages\requests\packages\urllib3\response.py", line 9, in <module>
        from ._collections import HTTPHeaderDict
      File "C:\Users\KC\AppData\Local\Programs\Python\Python311\Lib\site-packages\requests\packages\urllib3\_collections.py", line 1, in <module>
        from collections import Mapping, MutableMapping
    ImportError: cannot import name 'Mapping' from 'collections' (C:\Users\KC\AppData\Local\Programs\Python\Python311\Lib\collections\__init__.py)
    
    opened by kcloveworld 1
Releases(v0.9)
  • v0.9(Sep 1, 2021)

  • v0.8(Aug 22, 2021)

    • 支持扫描 dismap 识别结果文件 -f output.txt
    • 种类新增 coremail, ecology, eyou, qianxin, ruijie 漏洞
    • POC新增 Apache OFBiz CVE-2021-29200 CVE-2021-30128
    • POC新增 Apache Solr CVE-2021-27905
    • POC新增 Fastjson 回显 VER-1224-2 VER-1224-3
    • POC新增 Oracle Weblogic CVE-2016-0638 CVE-2018-3191 CVE-2019-2890

    • Support scanning dismap recognition result file -f output.txt
    • Added coremail, ecology, eyou, qianxin, ruijie vulnerabilities in categories
    • POC added Apache OFBiz CVE-2021-29200 CVE-2021-30128
    • POC added Apache Solr CVE-2021-27905
    • POC added Fastjson echo VER-1224-2 VER-1224-3
    • POC added Oracle Weblogic CVE-2016-0638 CVE-2018-3191 CVE-2019-2890
    Source code(tar.gz)
    Source code(zip)
  • v0.7(Apr 8, 2021)

    • 改用三个Dnslog轮询,感谢@Buzz2d0提供的hyuga.co
    • 内置大部分Python第三方依赖库
    • 常规RCE的极致误报处理
    • 优化结果,显示,参数等功能模块
    • 新增多个PoC包括Exchange, Vmware, BIG-IP, Druid, Laravel, Saltstack, Node.JS等
    • 修复多个遗留bug

    • Use three Dnslog polls instead, thanks to hyuga.co provided by @Buzz2d0
    • Built-in most Python third-party dependency libraries
    • The extreme false alarm handling of conventional RCE
    • Optimization results, display, parameters and other functional modules
    • Added multiple PoCs including Exchange, Vmware, BIG-IP, Druid, Laravel, Saltstack, Node.JS, etc.
    • Fix multiple remaining bugs
    Source code(tar.gz)
    Source code(zip)
  • v0.6(Feb 5, 2021)

    • 优化输出, 新增 json 输出, 格式与 xray 一致.
    • 新增 fastjson 和 spring 漏洞扫描和利用.
    • 引入 ceye 检测无回显 rce 漏洞.
    • 添加 fofa api 和 shodan api 批量扫描.
    • 重构 poc 模块, 重构 vulmap 变为模块化.
    • 新添自动指纹识别.
    • 替换echo命令为随机md5

    • Optimize output, add json output, the format is consistent with xray.
    • Added fastjson and spring vulnerability scanning and exploitation.
    • Introduce ceye to detect the rce vulnerability without echo.
    • Add fofa api and shodan api batch scanning.
    • Refactored the poc module and refactored vulmap to become modular.
    • Added automatic fingerprint recognition.
    • Replace the echo command with random md5
    Source code(tar.gz)
    Source code(zip)
  • v0.5(Jan 8, 2021)

    • 新增多线程扫描,默认10线程,可自定义,默认开启协程(扫描变得非常快就对了)
    • 支持添加代理扫描,支持socks和http代理
    • 可自定义User-Agent
    • 又改动--debug, exp模式开debug显示request和responses, poc模式显示扫描漏洞列表
    • CVE-2016-4437 Apache Shiro新增三个回显gadget(共6个),key增至5个
    • 新增Apache Flink CVE-2020-17518 & CVE-2020-17519
    • 优化批量扫描和输出

    • Newly increased thread scanning, default 10 threads, customizable, open coroutine by default (scanning becomes very fast, right)
    • Support adding proxy scanning, support socks and http proxy
    • Customizable User-Agent
    • Another change --debug, open debug in exp mode to display requests and responses, poc mode to display the list of scan vulnerabilities
    • CVE-2016-4437 Apache Shiro added three echo gadgets (6 in total), and the key increased to 5
    • Added Apache Flink CVE-2020-17518 & CVE-2020-17519
    • Optimize batch scanning and output
    Source code(tar.gz)
    Source code(zip)
  • 0.4(Dec 14, 2020)

    • 新增 ActiveMQ CVE-2015-5254
    • 新增 ActiveMQ CVE-2016-3088
    • 新增 Apache Struts2 S2-061
    • 新增 Apache Unomi CVE-2020-13942
    • 新增 Elasticsearch CVE-2014-3120
    • 新增 Elasticsearch CVE-2015-1427
    • 优化程序滚动输出
    • 增加了URL存活检测
    • 添加了URL格式检测和拼接,支持ip:port,ip
    • 优化了--output输出格式
    • 修复多个struts2误报
    • 重构--debug功能,为配合-v使用显示requests和reponse
    • 修复多个小问题
    Source code(tar.gz)
    Source code(zip)
  • v0.3(Nov 7, 2020)

    • 新蹭 Weblogic CVE-2020-14882
    • 新蹭 Weblogic CVE-2020-2883
    • 新蹭 Weblogic CVE-2020-2555
    • 新蹭 Drupal CVE-2019-6340
    • 修复了windows中input乱码
    • 修复了port提取问题
    • 修改了依赖项目
    • 修复多个小bug
    Source code(tar.gz)
    Source code(zip)
  • v0.2(Oct 23, 2020)

    • 修改了默认检测命令,使用echo替代netstat
    • 修复了Drupal、Jenkins、Nexus的POC误报问题
    • 重构Weblogic部分POC
    • 新增Apache Shiro: CVE-2016-4437
    • 新增ThinkPHP: CVE-2019-9082
    • 新增ThinkPHP: CVE-2018-20062
    • 修复批量模式下漏洞检测失败问题
    • 修复批量模式下提取url问题
    • 修复多个Bug
    • ... ...
    Source code(tar.gz)
    Source code(zip)
  • v0.1(Oct 10, 2020)

Owner
之乎者也
天苍苍,野茫茫,风吹的我就像头羊~
之乎者也
Hack any account sending fake nitro QR code (only for educational purpose)

DISCORD_ACCOUNT_HACKING_TOOL ( EDUCATIONAL PURPOSE ) Hack any account sending fake nitro QR code (only for educational purpose) Start my program token

Novy 7 Jan 07, 2022
Data Recovery from your broken Android phone

Broken Phone Recovery a guide how to backup data from your locked android phone if you broke your screen (and more) you can skip some steps depending

v1nc 25 Sep 23, 2022
Universal Radio Hacker: Investigate Wireless Protocols Like A Boss

The Universal Radio Hacker (URH) is a complete suite for wireless protocol investigation with native support for many common Software Defined Radios.

Dr. Johannes Pohl 9k Jan 03, 2023
Python-based proof-of-concept tool for generating payloads that utilize unsafe Java object deserialization.

Python-based proof-of-concept tool for generating payloads that utilize unsafe Java object deserialization.

Astro 9 Sep 27, 2022
Course: Information Security with Python

Curso: Segurança da Informação com Python Curso realizado atravès da Plataforma da Digital Innovation One Prof: Bruno Dias Conteúdo: Introdução aos co

Elizeu Barbosa Abreu 1 Nov 28, 2021
HTTP Protocol Stack Remote Code Execution Vulnerability CVE-2022-21907

CVE-2022-21907 Description POC for CVE-2022-21907: HTTP Protocol Stack Remote Code Execution Vulnerability. create by antx at 2022-01-17. Detail HTTP

赛欧思网络安全研究实验室 365 Nov 30, 2022
a cool, easily usable and customisable subdomains scanner

Subdah 🔎 another subdomains scanner. Installation ⚠️ Python 3.10 required ⚠️ $ git clone https://github.com/traumatism/subdah $ cd subdah $ pip3 inst

toast 14 Oct 18, 2022
A simple python code for hacking profile views

This code for hacking profile views. Not recommended to adding profile views in profile. This code is not illegal code. This code is for beginners.

Fayas Noushad 3 Nov 28, 2021
Find existing email addresses by nickname using API/SMTP checking methods without user notification. Please, don't hesitate to improve cat's job! 🐱🔎 📬

mailcat The only cat who can find existing email addresses by nickname. Usage First install requirements: pip3 install -r requirements.txt Then just

282 Dec 30, 2022
Internal network honeypot for detecting if an attacker or insider threat scans your network for log4j CVE-2021-44228

log4j-honeypot-flask Internal network honeypot for detecting if an attacker or insider threat scans your network for log4j CVE-2021-44228 This can be

Binary Defense 144 Nov 19, 2022
Übersicht remote command execution 0day exploit

Übersicht RCE 0day Unauthenticated remote command execution 0day exploit for Übersicht. Description Übersicht is a desktop widget application for m

BoofGang 10 Dec 21, 2021
This is a simple tool to create ZIP payloads using a provided wordlist for the symlink attack (present in some file upload vulnerabilities)

zip-symlink-payload-creator This is a simple tool to create ZIP payloads using a provided wordlist for the symlink attack (present in some file upload

stark0de 6 Aug 18, 2022
Log4j minecraft with python

Apache-Log4j Apache Log4j 远程代码执行 攻击者可直接构造恶意请求,触发远程代码执行漏洞。漏洞利用无需特殊配置,经阿里云安全团队验证,Apache Struts2、Apache Solr、Apache Druid、Apache Flink等均受影响 Steps 【Import

manmade 57 Oct 03, 2022
:closed_lock_with_key: multi factor authentication system (2FA, MFA, OTP Server)

privacyIDEA privacyIDEA is an open solution for strong two-factor authentication like OTP tokens, SMS, smartphones or SSH keys. Using privacyIDEA you

1.3k Jan 03, 2023
Cookiecutter for creating open source Python packages

Cookiecutter for rapidly developing new open source Python packages. Best practices with all the modern bells and whistles included.

Wolt 177 Dec 22, 2022
Website OSINT untuk mencari informasi dari email dan nomor telepon. Dibuat dengan React dan Flask.

Inspektur Cari informasi mengenai email dan nomor telepon dengan mudah. Inspektur adalah aplikasi OSINT yang berguna untuk mencari informasi berdasark

Bagas Wastu 36 Dec 04, 2022
Steal Files on a Windows Machine

File-Stealer Steal Files on a Windows Machine About This Script will steal certain Files on a Windows Machine and sends them to a FTP Server. Preview

Marcel 5 Nov 17, 2022
Python script to tamper with pages to test for Log4J Shell vulnerability.

log4jShell Scanner This shell script scans a vulnerable web application that is using a version of apache-log4j 2.15.0. This application is a static

GoVanguard 8 Oct 20, 2022
Gefilte Fish GMail filter creator

Gefilte Fish: GMail filter maker Gefilte Fish automates the creation of GMail filters. Use it like this: from gefilte import GefilteFish,

Ned Batchelder 31 Sep 28, 2022
A hack for writing switch statements with type annotations in Python.

py_annotation_switch A hack for writing switch statements in type annotations for Python. Why should I use this? You most definitely should not use th

6 Oct 17, 2021