(Translated by https://www.hiragana.jp/)
GitHub - zhzyker/vulmap: Vulmap 是一款 web 漏洞扫描和验证工具, 可对 webapps 进行漏洞扫描, 并且具备漏洞验证功能
Skip to content
/ vulmap Public

Vulmap いち款 web ほら扫描验证工具こうぐ, 对 webapps 进行ほら扫描, 并且备漏ほら验证こうのう

License

Notifications You must be signed in to change notification settings

zhzyker/vulmap

Repository files navigation

🌟 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 批量扫描, 且支持しじ线程だま认开启协ほど, 以最かいてき速度そくど扫描大量たいりょう资产
便びんとし: 发现漏ほらそく利用りよう, 大量たいりょう资产扫描格式かくしき输出结果

Vulmap 0.8 版本はんぽん开始支持しじdismap 识别结果ぶんけん直接ちょくせつ进行ほら扫描 -f output.txt

🛒 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")  

📑 Licenses

在原ありわらゆう协议LICENSEちゅう追加ついか以下いかめん声明せいめいわか与原よはらゆう协议冲突ひとし以免责声明せいめい为准。

ほん工具こうぐ禁止きんし进行授权しょう用途ようと禁止きんし二次开发后进行未授权商业用途。

ほん工具こうぐ仅面向合むきあえほう授权てきくわだて业安ぜんけん设行为,ざい使用しようほん工具こうぐ进行检测时,您应确保该行为符合ふごう当地とうちてき法律ほうりつほう规,并且やめ取得しゅとくりょうあし够的授权。

如您ざい使用しようほん工具こうぐてき过程ちゅうそん在任ざいにんなんほうぎょう为,您需くだりうけたまわ担相应后はてわが们将不承ぶしょう担任たんにんなん法律ほうりつ及连带责にん

ざい使用しようほん工具こうぐまえ,请您务必审慎阅读、充分じゅうぶん理解りかいかくじょう内容ないようげんせいめん责条款或しゃ其他わたる及您重大じゅうだい权益てきじょう款可能会のうかい以加あら划线とう形式けいしき提示ていじ您重てん注意ちゅういじょ您已充分じゅうぶん阅读、完全かんぜん理解りかい接受せつじゅほん协议所有しょゆうじょう款,いや则,请您不要ふよう使用しようほん工具こうぐ。您的使用しようぎょう为或しゃ您以其他にんなん明示めいじあるもの默示もくし方式ほうしき表示ひょうじ接受せつじゅほん协议てきそく视为您已阅读并同意どういほん协议てき约束。

📺 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

🙋 Discussion

  • Vulmap Bug はん馈或しんこうのうけんてん
  • Twitter: https://twitter.com/zhzyker
  • WeChat: 扫码いれぐんぐん聊满200りょう,扫码さいぐんりょう

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线程
  --dnslog server       dnslog ふく务器 (hyuga,dnslog,ceye) だま认自动轮询
  --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 しき显示扫描漏ほられつひょう
  --check               标存かつ检测 (on and off), だま认是 on

🐾 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 Druid      | CVE-2021-25646   |  Y  |  Y  | < 0.20.1, apache druid console remote code execution        |
 | 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 OFBiz      | CVE-2021-26295   |  Y  |  N  | < 17.12.06, rmi deserializes arbitrary code execution       |
 | Apache OFBiz      | CVE-2021-29200   |  Y  |  N  | < 17.12.07, rmi deserializes arbitrary code execution       |
 | Apache OFBiz      | CVE-2021-30128   |  Y  |  Y  | < 17.12.07, deserialize remote command execution            | 
 | 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 Solr       | time-2021-0318   |  Y  |  Y  | all, apache solr arbitrary file reading                     |
 | Apache Solr       | CVE-2021-27905   |  Y  |  N  | 7.0.0-7.7.3, 8.0.0-8.8.1, replication handler ssrf          |
 | 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                 |
 | CoreMail          | time-2021-0414   |  Y  |  N  | Coremail configuration information disclosure vulnerability |
 | 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         |
 | Ecology           | time-2021-0515   |  Y  |  Y  | <= 9.0, e-cology oa workflowservicexml rce                  |
 | 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       |
 | Exchange          | CVE-2021-26855   |  Y  |  N  | 2010 2013 2016 2019, microsoft exchange server ssrf         |
 | Exchange          | CVE-2021-27065   |  Y  |  Y  | 2010 2013 2016 2019, exchange arbitrary file write          |
 | Eyou Email        | CNVD-2021-26422  |  Y  |  Y  | eyou email system has remote command execution              |
 | F5 BIG-IP         | CVE-2020-5902    |  Y  |  Y  | < 11.6.x, f5 big-ip remote code execution                   |
 | F5 BIG-IP         | CVE-2021-22986   |  Y  |  Y  | < 16.0.1, f5 big-ip remote code execution                   |
 | Fastjson          | VER-1224-1       |  Y  |  Y  | <= 1.2.24 fastjson parse object remote code execution       |
 | Fastjson          | VER-1224-2       |  Y  |  Y  | <= 1.2.24 fastjson parse object remote code execution       |
 | Fastjson          | VER-1224-3       |  Y  |  Y  | <= 1.2.24 fastjson parse object remote code execution       |
 | Fastjson          | VER-1247         |  Y  |  Y  | <= 1.2.47 fastjson autotype remote code execution           |
 | Fsatjson          | VER-1262         |  Y  |  Y  | <= 1.2.62 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             |
 | Laravel           | CVE-2018-15133   |  N  |  Y  | 5.5.x <= 5.5.40, 5.6.x <= 5.6.29, laravel get app_key rce   |
 | Laravel           | CVE-2021-3129    |  Y  |  N  | ignition <= 2.5.1, laravel debug mode 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          |
 | Node.JS           | CVE-2021-21315   |  Y  |  N  | systeminformation < 5.3.1, node.js command injection        |
 | Oracle Weblogic   | CVE-2014-4210    |  Y  |  N  | 10.0.2 - 10.3.6, weblogic ssrf vulnerability                |
 | Oracle Weblogic   | CVE-2016-0638    |  Y  |  N  | 10.3.6.0, 12.2.1-3, t3 deserialization rce                  |
 | 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-2018-3191    |  Y  |  N  | 10.3.6.0, 12.1.3.0, 12.2.1.3, t3 deserialization rce        |
 | Oracle Weblogic   | CVE-2019-2725    |  Y  |  Y  | 10.3.6.0, 12.1.3.0, weblogic wls9-async deserialization rce |
 | Oracle Weblogic   | CVE-2019-2890    |  Y  |  N  | 10.3.6.0, 12.1.3.0, 12.2.1.3, t3 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, console rce       |
 | Oracle Weblogic   | CVE-2020-2109    |  Y  |  Y  | 10.3.6.0, 12.1.3.0, 12.2.1.3-4, 14.1.1.0, unauthorized jndi |
 | QiAnXin           | time-2021-0410   |  Y  |  Y  | qianxin ns-ngfw netkang next generation firewall front 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 |
 | RuiJie            | time_2021_0424   |  Y  |  N  | get account password, background rce                        |
 | Saltstack         | CVE-2021-25282   |  Y  |  Y  | < 3002.5, saltStack arbitrary file writing vulnerability    |
 | 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  |
 | Spring Cloud      | CVE-2020-5410    |  Y  |  Y  | < 2.2.3, < 2.1.9, directory traversal vulnerability         |
 | 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  |
 | Vmware vCenter    | time-2020-1013   |  Y  |  N  | <= 6.5u1, vmware vcenter arbitrary file reading (not cve)   |
 | Vmware vCenter    | CVE-2021-21972   |  Y  |  Y  | 7.0 < 7.0U1c, 6.7 < 6.7U3l, 6.5 < 6.5U3n, any file upload   |
 | VMware vRealize   | CVE-2021-21975   |  Y  |  N  | <= 8.3.0, vmware vrealize operations manager api ssrf       |
 +-------------------+------------------+-----+-----+-------------------------------------------------------------+

🐟 Docker

docker build -t vulmap/vulmap .
docker run --rm -ti vulmap/vulmap  python vulmap.py -u https://www.example.com