主机安全:使用log4j-scan检测主机中的Log4J漏洞
关于log4j-scan
log4j-scan是一款功能强大的自动化漏洞检测工具,该工具主要针对的是Log4J远程代码执行漏洞-CVE-2021-44228,并且可以提供准确的扫描结果。在该工具的帮助下,广大研究人员可以轻松扫描大规模网络范围内主机,并确定主机是否受到Log4J远程代码执行漏洞的影响。
自Log4J远程代码执行漏洞(CVE-2021-44228)被曝光以来,我们不仅一直在对其进行研究,而且我们也一直在与客户一起致力于防范此漏洞,因此log4j-scan便应运而生,安全团队可以使用log4j-scan来扫描其基础设施中可能存在的Log4J远程代码执行漏洞,并测试可能导致在组织环境中执行代码的WAF旁路。
该工具“开箱即用”,支持DNS OOB回调,并且不需要设置DNS回调服务器。
功能介绍
1、支持URL列表扫描;
2、支持对超过60个HTTP请求Header进行模糊处理(而不是像以前看到的工具那样仅对3-4个Header进行模糊处理);
3、针对HTTP POST数据参数进行模糊处理;
4、针对JSON数据参数进行模糊处理;
5、支持DNS回调以实现漏洞发现和验证;
6、Payload支持Web应用防火墙绕过;
工具下载
广大研究人员可以使用下列命令将该项目源码克隆至本地:
git clone https://github.com/fullhunt/log4j-scan.git
依赖组件安装:
$ pip3 install -r requirements.txt
工具参数选项
$ python3 log4j-scan.py -h
[•] CVE-2021-44228 - Apache Log4j RCE Scanner
[•] Scanner provided by FullHunt.io - The Next-Gen Attack Surface Management Platform.
[•] Secure your External Attack Surface with FullHunt.io.
usage: log4j-scan.py [-h] [-u URL] [-p PROXY] [-l USEDLIST] [--request-type REQUEST_TYPE] [--headers-file HEADERS_FILE] [--run-all-tests] [--exclude-user-agent-fuzzing]
[--wait-time WAIT_TIME] [--waf-bypass] [--custom-waf-bypass-payload CUSTOM_WAF_BYPASS_PAYLOAD] [--test-CVE-2021-45046]
[--dns-callback-provider DNS_CALLBACK_PROVIDER] [--custom-dns-callback-host CUSTOM_DNS_CALLBACK_HOST] [--disable-http-redirects]
optional arguments:
-h, --help 显示帮助菜单和退出
-u URL, --url URL 检测单个URL
-p PROXY, --proxy PROXY
通过代理发送请求
-l USEDLIST, --list USEDLIST
检测URL列表
--request-type REQUEST_TYPE
请求类型: (get, post) - [默认: get].
--headers-file HEADERS_FILE
Header模糊测试列表 - [默认: headers.txt].
--run-all-tests 针对每一个URL运行所有可用的测试
--exclude-user-agent-fuzzing
从模糊测试列表中排除User-Agent Header - 用于绕过针对User-Agent的弱检测
--wait-time WAIT_TIME
等待所有URL处理完成的时间长度 - [默认: 5].
--waf-bypass WAF绕过Payload扩展扫描
--custom-waf-bypass-payload CUSTOM_WAF_BYPASS_PAYLOAD
使用自定义WAF绕过Payload测试
--test-CVE-2021-45046
使用CVE-2021-45046漏洞Payload进行测试 (检测Payload).
--dns-callback-provider DNS_CALLBACK_PROVIDER
DNS回调提供商(选项: dnslog.cn, interact.sh) - [默认: interact.sh].
--custom-dns-callback-host CUSTOM_DNS_CALLBACK_HOST
自定义DNS回调主机
--disable-http-redirects
禁用HTTP重定向
工具使用
扫描单个URL
$ python3 log4j-scan.py -u https://log4j.lab.secbot.local
使用所有的请求方法(GET、POST)扫描单个URL
$ python3 log4j-scan.py -u https://log4j.lab.secbot.local --run-all-tests
发现环境中的WAF绕过
$ python3 log4j-scan.py -u https://log4j.lab.secbot.local --waf-bypass
扫描URL列表
$ python3 log4j-scan.py -l urls.txt
项目地址
log4j-scan:https://github.com/fullhunt/log4j-scan