Trong bài này, mình sẽ hướng dẫn các bạn sử dụng công cụ Log4j-scan, tool scan hoàn toàn tự động và chính xác nhất để tìm các máy chủ dễ bị tấn công log4j.
Tính năng
- Hỗ trợ danh sách các URL.
- Fuzzing cho hơn 60 request headers HTTP (không chỉ 3-4 headers như các công cụ đã thấy trước đây).
- Fuzzing cho HTTP parameters POST Data.
- Fuzzing cho các parameters JSON.
- Hỗ trợ callback DNS để phát hiện và xác thực lỗ hổng bảo mật.
- WAF bypass payloads.
Miêu tả
Tác giả đã nghiên cứu Log4J RCE (CVE-2021-44228) kể từ khi nó được phát hiện và đã làm việc để ngăn chặn lỗ hổng bảo mật này. Team đã phát triển một công cụ quét mã nguồn mở để phát hiện và và giúp các nhà phát triển vá lỗ hổng Log4J RCE CVE-2021-44228. Công cụ này sẽ được sử dụng bởi các nhóm bảo mật nhằm quét cơ sở hạ tầng của họ để tìm Log4J RCE và cũng kiểm tra các lượt bypass WAF có thể dẫn đến việc thực thi mã trên môi trường dự án.
Nó hỗ trợ callback DNS OOB ngay lập tức, không cần thiết lập máy chủ callback DNS.
Cách sử dụng
$ 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] [-l USEDLIST] [--request-type REQUEST_TYPE] [--headers-file HEADERS_FILE] [--run-all-tests] [--exclude-user-agent-fuzzing] [--wait-time WAIT_TIME] [--waf-bypass] [--dns-callback-provider DNS_CALLBACK_PROVIDER] [--custom-dns-callback-host CUSTOM_DNS_CALLBACK_HOST] optional arguments: -h, --help show this help message and exit -u URL, --url URL Check a single URL. -p PROXY, --proxy PROXY Send requests through proxy. proxy should be specified in the format supported by requests (http[s]://<proxy-ip>:<proxy-port>) -l USEDLIST, --list USEDLIST Check a list of URLs. --request-type REQUEST_TYPE Request Type: (get, post) - [Default: get]. --headers-file HEADERS_FILE Headers fuzzing list - [default: headers.txt]. --run-all-tests Run all available tests on each URL. --exclude-user-agent-fuzzing Exclude User-Agent header from fuzzing - useful to bypass weak checks on User-Agents. --wait-time WAIT_TIME Wait time after all URLs are processed (in seconds) - [Default: 5]. --waf-bypass Extend scans with WAF bypass payloads. --test-CVE-2021-45046 Test using payloads for CVE-2021-45046 (detection payloads). --dns-callback-provider DNS_CALLBACK_PROVIDER DNS Callback provider (Options: dnslog.cn, interact.sh) - [Default: interact.sh]. --custom-dns-callback-host CUSTOM_DNS_CALLBACK_HOST Custom DNS Callback Host. --disable-http-redirects Disable HTTP redirects. Note: HTTP redirects are useful as it allows the payloads to have higher chance of reaching vulnerable systems.
Scan Website
$ python3 log4j-scan.py -u https://log4j.lab.secbot.local
Quét một URL duy nhất bằng tất cả các phương thức Request: GET, POST (form được mã hóa url), POST (body JSON)
$ python3 log4j-scan.py -u https://log4j.lab.secbot.local --run-all-tests
Tìm bypass WAF.
$ python3 log4j-scan.py -u https://log4j.lab.secbot.local --waf-bypass
Quét danh sách các URL
$ python3 log4j-scan.py -l urls.txt
Cách cài đặt
$ pip3 install -r requirements.txt
Hỗ trợ Docker
git clone https://github.com/fullhunt/log4j-scan.git cd log4j-scan sudo docker build -t log4j-scan . sudo docker run -it --rm log4j-scan # With URL list "urls.txt" in current directory docker run -it --rm -v $PWD:/data log4j-scan -l /data/urls.txt
Tuyên bố từ chối trách nhiệm
Dự án này chỉ được thực hiện cho mục đích giáo dục và pentest. Việc sử dụng log4j-scan để tấn công các mục tiêu mà không có sự đồng ý trước của hai bên là bất hợp pháp. Bạn phải có trách nhiệm tuân theo tất cả các luật hiện hành của quốc gia đang sống. Các nhà phát triển và Anonyviet sẽ không chịu bất kỳ trách nhiệm pháp lý hoặc thiệt hại nào do bài viết hoặc tool gây ra.