
Log4Shell(CVE-2021-44228)の脆弱性を検出する、自動化された信頼性の高いスキャナー。
Log4Shell CVE-2021-44228 脆弱性のための自動化された信頼性の高いスキャナです。
ビデオデモ:
ヘルプの使い方は次のとおりです:
$ python3 log4jhunt.py
+--------------+
Log4JHunt
+--------------+
[+] Log4jHunt by RedHunt Labs - A Modern Attack Surface (ASM) Management Company
[+] Author: Pinaki Mondal (RHL Research Team)
[+] Continuously Track Your Attack Surface using https://redhuntlabs.com/nvadr.
[-] You have to supply at least a single host to scan!
usage: log4jhunt.py [-h] [-u URL] [-f FILE] [-d DELAY] [-t TIMEOUT] [-T TOKEN] [-E EMAIL] [-W WEBHOOK] [-S SERVER] [-ua USERAGENT] [-m METHOD] [-H HEADERS] [-p PROXY]
optional arguments:
-h, --help show this help message and exit
-u URL, --url URL URL to probe for the vulnerability.
-f FILE, --file FILE Specify a file containing list of hosts to scan.
-d DELAY, --delay DELAY
Delay in-between two concurrent requests.
-t TIMEOUT, --timeout TIMEOUT
Scan timeout for a single host.
-T TOKEN, --token TOKEN
Canary token to use in payloads for scanning.
-E EMAIL, --email EMAIL
Email to receive notifications.
-W WEBHOOK, --webhook WEBHOOK
Webhook URL to receive notifications.
-S SERVER, --server SERVER
Custom DNS callback server for receiving notifications.
-ua USERAGENT, --user-agent USERAGENT
Custom user agent string to use for requests.
-m METHOD, --methods METHOD
Comma separated list of HTTP Method to use
-H HEADERS, --headers HEADERS
Comma separated list of custom HTTP headers to use.
-p PROXY, --proxy PROXY
HTTP proxy to use (if any).
このツールは、Canary Tokens の Log4Shell トークンを利用します。トークン (--token) とサーバー (--server) の値が空の場合、ツールはトークンを自動生成する機能を備えています。
トークンが生成されると、トークンと認証値は canary-token.json というファイルに書き込まれます。
ターゲットは次の 2 つのモードで指定できます:
./log4jhunt.py -u 1.2.3.4:8080 ...
./log4jhunt.py -f targets.txt ...
通知チャネルを受け取る方法は 2 つあります:
--email) -- Canarytokens が提供するサービス。--webhook) -- Canarytokens が提供するサービス。--server) -- 独自の DNS コールバックサーバー。ツールが脆弱なサーバーを検出すると、通知はお好みの通信チャネルに転送されます。
--methods を使用して HTTP メソッドをカスタマイズできます。--headers で指定できます。--user-agent ヘッダーで指定できます。--timeout を使用してカスタムのタイムアウト値を指定できます。--proxy を使用して、HTTP リクエストで使用するカスタムプロキシを指定できます。多数の HTTP リクエストが含まれるため、リモートホストにとってリクエストの処理は厄介な作業になる可能性があります。--delay パラメーターは、そのような場合に役立ちます。サーバーの同じポートへの 2 つの連続したリクエストの間に使用される遅延値(秒単位)を指定できます。
Log4j の脆弱性に関する詳細は、ブログ で説明しています。
このツールは MIT ライセンスの下でライセンスされています。LICENSE を参照してください。
現在、このツールは v0.1 です。
RedHunt Labs のリサーチチームは、素晴らしい Canary Token プロジェクトを提供してくれた Thinkst Canary に感謝します。