
ACE PoC-Exploit für glibc cpio 2.13 durch Korruption von mmap-Chunk-Metadaten (CVE-2021-38185)
Dies ist ein ACE POC eines Integer-Overflow-Bugs in cpio. Dieser Exploit umgeht alle binären Schutzmaßnahmen außer vollständigem RELRO. Der Exploit verwendet cpio 2.13 und libc 2.31. Video-Demo: https://youtu.be/F0yKJhu7Vak
Wir haben ein Kali-Dockerfile bereitgestellt, um den Exploit auszuführen. Der gleiche Exploit sollte auch außerhalb des Docker-Containers funktionieren, aber die Offsets können abweichen.
sudo docker build -t cpiopwn .sudo docker run --mount type=bind,source=$(pwd),destination=/cpiopwn -it cpiopwn /bin/bashcd cpiopwndocker_fengshui.py erstellt und cpio mit einer großen Anzahl von Kommandozeilenargumenten aufruft.
python3 exploit.pyUnd das war's! Nach dem Erstellen der bösartigen Pattern-Datei erscheint eine Eingabeaufforderung, und nach kurzer Zeit beginnt sie, Befehle zu verarbeiten.
Der Exploit kann etwa eine Minute nach Erscheinen der Eingabeaufforderung benötigen, bevor er auf Befehle reagiert. Wir haben ein Video bereitgestellt, das den Ablauf zeigt.
Zusätzlich funktioniert der Exploit möglicherweise nur auf Computern mit mindestens 12 GB RAM, da er cpio zwingt, Gigabytes an Eingabedaten zu lesen. Wir hatten bei früheren Versionen des Exploits einige Probleme mit Servern, denen der RAM ausging – die aktuelle Version wurde auf Computern mit 12 und 16 GB RAM getestet, jedoch nicht auf kleineren.
|\__/,| (`\
_.|o o |_ ) )
-(((---(((--------