
Ein Honeypot für die Log4Shell-Sicherheitslücke (CVE-2021-44228).
Ein Honeypot für die Log4Shell-Sicherheitslücke (CVE-2021-44228).
Lizenz: 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 für eine Übersicht.poetry run python log4pot.py @log4pot.confAlternativ kannst du log4pot auch ohne externe Abhängigkeiten ausführen:
$ python log4pot.py @log4pot.conf
Dies führt log4pot ohne Unterstützung für die Protokollierung in Azure-Blob-Speicher aus.
Um Datenverkehr auf Port 80 und 443 zu Log4Pot umzuleiten, verwende folgende iptables-Befehle:
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
Das Skript log4pot-loganalyzer.py extrahiert alle Payloads, dekodiert sie mit dem aktuellen Dekoder und erstellt aus beiden eine Zeitleiste. Die Verwendung ist wie folgt:
python log4pot-loganalyzer.py -o <Ausgabeverzeichnis> <Eingabeprotokolldateien>
Liste Payloads von Ausbeutungsversuchen auf:
select(.type == "exploit") | .payload
Dekodiere alle base64-kodierten Payloads aus JNDI-Exploit:
select(.type == "exploit" and (.payload | contains("Base64"))) | .payload | sub(".*/Base64/"; "") | sub ("}$"; "") | @base64d
Extrahiere alle SHA256-Hashes von Dateien, die von URLs heruntergeladen wurden:
[ .[] | select(.type == "payload") | .urls | select((. | length) > 0) | to_entries | .[].value | select((. | length) == 64) ] | unique | .[]