
Log4Shell脆弱性(CVE-2021-44228)のハニーポット。
ライセンス: GPLv3.0
curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python3 -git clone https://github.com/thomaspatzke/Log4Pot.gitcd Log4Potapt install libcurl4-openssl-dev libssl-dev python3-dev build-essentialpoetry installpoetry run python log4pot.py --help を参照)。poetry run python log4pot.py @log4pot.confまたは、外部依存関係なしでlog4potを実行することも可能:
$ python log4pot.py @log4pot.conf
これにより、Azure Blob Storageへのログ記録機能なしでlog4potが実行されます。
ポート80および443へのトラフィックをLog4Potにリダイレクトするには、以下のiptablesコマンドを使用します:
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 443 -j REDIRECT --to-port 8443
スクリプト log4pot-loganalyzer.py は、すべてのペイロードを抽出し、現在のデコーダでデコードし、両方からタイムラインを生成します。使用方法は以下の通りです:
python log4pot-loganalyzer.py -o <出力ディレクトリ> <入力ログファイル>
悪用試行からのペイロード一覧:
select(.type == "exploit") | .payload
JNDIエクスプロイトからBase64エンコードされたペイロードをすべてデコード:
select(.type == "exploit" and (.payload | contains("Base64"))) | .payload | sub(".*/Base64/"; "") | sub ("}$"; "") | @base64d
URLからダウンロードされたファイルのSHA256ハッシュをすべて抽出:
[ .[] | select(.type == "payload") | .urls | select((. | length) > 0) | to_entries | .[].value | select((. | length) == 64) ] | unique | .[]