Cisco - vmanage
Cisco - vmanage
Pfad 1
(Beispiel von https://www.synacktiv.com/en/publications/pentesting-cisco-sd-wan-part-1-attacking-vmanage.html)
Nachdem wir uns etwas durch einige Dokumentation im Zusammenhang mit confd
und den verschiedenen Binärdateien (zugänglich mit einem Konto auf der Cisco-Website) gegraben haben, haben wir festgestellt, dass zur Authentifizierung des IPC-Sockets ein geheimes Passwort verwendet wird, das sich in /etc/confd/confd_ipc_secret
befindet:
Erinnere dich an unsere Neo4j-Instanz? Sie läuft unter den Berechtigungen des Benutzers vmanage
, was es uns ermöglicht, die Datei mithilfe der vorherigen Schwachstelle abzurufen:
Das Programm confd_cli
unterstützt keine Befehlszeilenargumente, sondern ruft /usr/bin/confd_cli_user
mit Argumenten auf. Daher könnten wir direkt /usr/bin/confd_cli_user
mit unseren eigenen Argumenten aufrufen. Allerdings ist es mit unseren aktuellen Berechtigungen nicht lesbar, daher müssen wir es aus dem Rootfs abrufen und mit scp kopieren, die Hilfe lesen und sie verwenden, um die Shell zu erhalten:
Pfad 2
(Beispiel von https://medium.com/walmartglobaltech/hacking-cisco-sd-wan-vmanage-19-2-2-from-csrf-to-remote-code-execution-5f73e2913e77)
Das Blog¹ des Synacktiv-Teams beschreibt einen eleganten Weg, um eine Root-Shell zu erhalten, jedoch erfordert dies das Kopieren von /usr/bin/confd_cli_user
, das nur von Root lesbar ist. Ich habe einen anderen Weg gefunden, um ohne solchen Aufwand zu Root zu eskalieren.
Als ich die Binärdatei /usr/bin/confd_cli
disassemblierte, habe ich Folgendes beobachtet:
Wenn ich "ps aux" ausführe, habe ich Folgendes beobachtet (Hinweis -g 100 -u 107)
Ich habe die Hypothese aufgestellt, dass das Programm "confd_cli" die Benutzer-ID und die Gruppen-ID, die es vom angemeldeten Benutzer gesammelt hat, an die Anwendung "cmdptywrapper" übergibt.
Mein erster Versuch bestand darin, "cmdptywrapper" direkt auszuführen und es mit "-g 0 -u 0" zu versorgen, aber es ist fehlgeschlagen. Es scheint, dass irgendwo auf dem Weg ein Dateideskriptor (-i 1015) erstellt wurde und ich kann ihn nicht fälschen.
Wie in Synacktivs Blog erwähnt (letztes Beispiel), unterstützt das Programm "confd_cli" keine Befehlszeilenargumente, aber ich kann es mit einem Debugger beeinflussen und zum Glück ist GDB im System enthalten.
Ich habe ein GDB-Skript erstellt, in dem ich die API "getuid" und "getgid" erzwungen habe, 0 zurückzugeben. Da ich bereits die "vmanage"-Berechtigung durch die Deserialisierungs-RCE habe, habe ich die Berechtigung, direkt auf das Verzeichnis "/etc/confd/confd_ipc_secret" zuzugreifen.
root.gdb:
Cisco vManage
Introduction
Cisco vManage is a cloud-based network management platform that provides centralized control and monitoring of Cisco SD-WAN devices. It allows network administrators to configure, monitor, and troubleshoot their SD-WAN infrastructure.
Privilege Escalation
Exploiting Misconfigurations
Default Credentials
Cisco vManage may have default credentials configured, which can be exploited to gain unauthorized access. Attackers can try common default usernames and passwords to gain administrative privileges.
Insecure File Permissions
Improper file permissions on sensitive files can allow unauthorized users to read or modify them. Attackers can exploit this by gaining access to sensitive configuration files or scripts, which may contain credentials or other sensitive information.
Exploiting Vulnerabilities
Remote Code Execution
If Cisco vManage is running a vulnerable version, attackers can exploit remote code execution vulnerabilities to execute arbitrary commands with administrative privileges. This can be achieved by sending specially crafted requests to the vulnerable application.
SQL Injection
SQL injection vulnerabilities in Cisco vManage can allow attackers to execute arbitrary SQL queries, potentially leading to unauthorized access or data leakage. Attackers can exploit this by injecting malicious SQL statements into user input fields.
Mitigation
To mitigate privilege escalation attacks on Cisco vManage, the following measures can be taken:
Change default credentials and use strong, unique passwords for all accounts.
Ensure proper file permissions are set on sensitive files, limiting access to authorized users only.
Keep Cisco vManage up to date with the latest security patches to prevent exploitation of known vulnerabilities.
Regularly review and audit the configuration of Cisco vManage to identify and fix any misconfigurations or vulnerabilities.
Conclusion
Privilege escalation attacks on Cisco vManage can lead to unauthorized access, data leakage, and compromise of the SD-WAN infrastructure. By following the mitigation measures mentioned above, network administrators can enhance the security of their Cisco vManage deployment and protect against such attacks.
Last updated