基于fullhunt.io的Log4jScanner,通过多线程和自定义DNS回调服务器进行了修改
pip3 install -r requirements.txt
$ python3 py-log4shellscanner.py -h
[•] CVE-2021-44228 - Apache Log4j RCE Scanner
[•] 由 https://github.com/scheibling 提供
[•] 最初由 FullHunt.io 开发
[•] 版本 1.0
usage: py-log4shellscanner.py [-h] -d DNSLOG_DOMAIN [-t TARGETS_FILE] [-i HEADERS_FILE] [-c CONCURRENT_REQUESTS] [--skip-waf-bypass] [-p PROXY_SERVER]
options:
-h, --help 显示此帮助信息并退出
-d DNSLOG_DOMAIN, --dnslog-domain DNSLOG_DOMAIN
用于请求的DNSLog域名
-t TARGETS_FILE, --targets-file TARGETS_FILE
用于请求的主机文件(默认:targets.txt)
-i HEADERS_FILE, --headers HEADERS_FILE
包含请求头的文件(默认:headers.txt)
-c CONCURRENT_REQUESTS, --concurrent-requests CONCURRENT_REQUESTS
使用的并发请求数(默认:10)
-p PROXY_SERVER, --proxy-server PROXY_SERVER
扫描使用的代理服务器
--skip-waf-bypass 跳过WAF绕过Payload
# 对targets.txt中的主机运行扫描,使用默认头部和WAF绕过Payload(10个并发请求)
python3 py-log4shellscanner.py -d dnslog.example.com -t targets.txt -c 10
# 对targets.txt中的主机运行扫描,使用自定义头部,不使用WAF绕过Payload(10个并发请求)
python3 py-log4shellscanner.py -d dnslog.example.com -t targets.txt -i custom-headers.txt -c 10 --skip-waf-bypass
# 通过代理服务器运行扫描,使用自定义头部,20个并发请求,并带WAF绕过Payload
python3 py-log4shellscanner.py -d dnslog.example.com -t targets.txt -i headers-large.txt -c 20 -p proxy.example.com
本项目仅用于测试目的。未经事先双方同意,将py-dnslogserver用于攻击目标可能是非法的。
本项目采用MIT许可证进行许可。