Translated ['network-services-pentesting/pentesting-sap.md'] to rs

This commit is contained in:
Translator 2024-07-23 19:52:30 +00:00
parent daa3de317d
commit 3ae7bd0a5d

View file

@ -28,7 +28,7 @@ Svaki od slojeva može biti iskorišćen do određene mere, ali se najveći efek
Svaka SAP instanca je podeljena na klijente. Svaki od njih ima korisnika SAP\*, ekvivalent aplikacije za “root”.
Pri inicijalnom kreiranju, ovaj korisnik SAP\* dobija podrazumevanu lozinku: “060719992” \(više podrazumevanih lozinki u nastavku\).
Iznenadili biste se kada biste znali koliko često se ove **lozinke ne menjaju u test ili dev okruženjima**!
Iznenadili biste se kada biste znali koliko često se **ove lozinke ne menjaju u test ili dev okruženjima**!
Pokušajte da dobijete pristup shell-u bilo kog servera koristeći korisničko ime <SID>adm.
Bruteforcing može pomoći, međutim može postojati mehanizam za zaključavanje naloga.
@ -54,7 +54,7 @@ https://www.shodan.io/search?query=SAP+J2EE+Engine
* Koristite nmap za proveru otvorenih portova i poznatih usluga \(sap ruteri, webdnypro, web usluge, web serveri, itd.\)
* Istražite URL-ove ako postoji web server.
* Fuzzujte direktorijume \(možete koristiti Burp Intruder\) ako ima web servere na određenim portovima. Evo nekoliko dobrih lista reči koje je obezbedio SecLists Project za pronalaženje podrazumevanih SAP ICM putanja i drugih interesantnih direktorijuma ili fajlova:
* Fuzzujte direktorijume \(možete koristiti Burp Intruder\) ako ima web servere na određenim portovima. Evo nekoliko dobrih lista reči koje je obezbedio SecLists Project za pronalaženje podrazumevanih SAP ICM putanja i drugih interesantnih direktorijuma ili datoteka:
[https://github.com/danielmiessler/SecLists/blob/master/Discovery/Web-Content/URLs/urls\_SAP.txt](https://github.com/danielmiessler/SecLists/blob/master/Discovery/Web-Content/URLs/urls-SAP.txt)
[https://github.com/danielmiessler/SecLists/blob/master/Discovery/Web-Content/CMS/SAP.fuzz.txt](https://github.com/danielmiessler/SecLists/blob/master/Discovery/Web-Content/CMS/SAP.fuzz.txt)
@ -82,7 +82,7 @@ msf auxiliary(sap_service_discovery) > run
Here is the command to connect to SAP GUI
`sapgui <sap server hostname> <system number>`
* Proverite podrazumevane akreditive \(U Bugcrowd-ovoj taksonomiji ocenjivanja ranjivosti, ovo se smatra P1 -&gt; Server Security Misconfiguration \| Using Default Credentials \| Production Server\):
* Proverite podrazumevane akreditive \(U Bugcrowd-ovoj Taksonomiji Ocene Ranljivosti, ovo se smatra P1 -&gt; Server Security Misconfiguration \| Using Default Credentials \| Production Server\):
```text
# SAP* - High privileges - Hardcoded kernel user
SAP*:06071992:*
@ -152,7 +152,7 @@ BWDEVELOPER:Down1oad:001
![SAP Index Page](https://raw.githubusercontent.com/shipcod3/mySapAdventures/master/screengrabs/index.jpeg)
* Potražite uobičajene web ranjivosti \(Pogledajte OWASP Top 10\) jer postoje XSS, RCE, XXE, itd. ranjivosti na nekim mestima.
* Pogledajte Jason Haddix-ov [“The Bug Hunters Methodology”](https://github.com/jhaddix/tbhm) za testiranje web ranjivosti.
* Pogledajte metodologiju Jasona Haddixa [“The Bug Hunters Methodology”](https://github.com/jhaddix/tbhm) za testiranje web ranjivosti.
* Auth Bypass putem manipulacije verbom? Možda :\)
* Otvorite `http://SAP:50000/webdynpro/resources/sap.com/XXX/JWFTestAddAssignees#`, zatim pritisnite dugme “Choose” i u otvorenom prozoru pritisnite “Search”. Trebalo bi da možete da vidite listu SAP korisnika \(Referenca ranjivosti: [ERPSCAN-16-010](https://erpscan.com/advisories/erpscan-16-010-sap-netweaver-7-4-information-disclosure/)\)
* Da li su kredencijali poslati preko HTTP-a? Ako jeste, smatra se P3 prema Bugcrowd-ovoj [Vulnerability Rating Taxonomy](https://bugcrowd.com/vulnerability-rating-taxonomy): Slomljena autentifikacija i upravljanje sesijama \| Slaba funkcija prijavljivanja preko HTTP-a. Savet: Pogledajte i [http://SAP:50000/startPage](http://sap:50000/startPage) ili portale za prijavu :\)
@ -191,6 +191,83 @@ BWDEVELOPER:Down1oad:001
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
```
# Konfiguracioni Parametri
Ako imate tačne podatke za prijavu tokom pentest-a ili ste uspeli da se prijavite na SAP GUI koristeći osnovne akreditive, možete proveriti vrednosti parametara. Mnoge osnovne i prilagođene vrednosti konfiguracionih parametara se smatraju ranjivostima.
Možete proveriti vrednosti parametara kako ručno, tako i automatski, koristeći skripte (npr. [SAP Parameter Validator](https://github.com/damianStrojek/SAPPV)).
## Ručna Provera Parametara
Navigacijom do Transakcijskog Koda `RSPFPAR`, možete upititi različite parametre i potražiti njihove vrednosti.
Tabela ispod sadrži definisane parametre i uslove po kojima su razlikovani.
Na primer, ako je <i>gw/reg_no_conn_info</i> postavljen na manje od 255 (`<255`), onda bi to trebalo smatrati pretnjom. Slično, ako je <i>icm/security_log</i> jednak dva (`2`), to će takođe biti moguća pretnja.
| Parametar | Ograničenje | Opis |
|------------------------------------------------|-------------|------------------------------------------------|
| `auth/object_disabling_active` | `Y` | Ukazuje da li je onemogućavanje objekta aktivno. |
| `auth/rfc_authority_check` | `<2` | Postavlja nivo provere ovlašćenja za RFC-ove. |
| `auth/no_check_in_some_cases` | `Y` | Precizira da li se provere zaobilaze u nekim slučajevima. |
| `bdc/bdel_auth_check` | `FALSE` | Određuje da li se provere ovlašćenja sprovode u BDC-u. |
| `gw/reg_no_conn_info` | `<255` | Ograničava broj karaktera za informacije o registracionom broju veze. |
| `icm/security_log` | `2` | Definiše nivo sigurnosnog loga za ICM (Internet Communication Manager). |
| `icm/server_port_0` | `Display` | Precizira port servera za ICM (port 0). |
| `icm/server_port_1` | `Display` | Precizira port servera za ICM (port 1). |
| `icm/server_port_2` | `Display` | Precizira port servera za ICM (port 2). |
| `login/password_compliance_to_current_policy` | `0` | Sprovodi usklađenost lozinki sa trenutnom politikom. |
| `login/no_automatic_user_sapstar` | `0` | Onemogućava automatsku dodelu korisnika SAPSTAR. |
| `login/min_password_specials` | `0` | Minimalan broj specijalnih karaktera zahtevan u lozinkama. |
| `login/min_password_lng` | `<8` | Minimalna dužina zahtevana za lozinke. |
| `login/min_password_lowercase` | `0` | Minimalan broj malih slova zahtevan u lozinkama. |
| `login/min_password_uppercase` | `0` | Minimalan broj velikih slova zahtevan u lozinkama. |
| `login/min_password_digits` | `0` | Minimalan broj cifara zahtevan u lozinkama. |
| `login/min_password_letters` | `1` | Minimalan broj slova zahtevan u lozinkama. |
| `login/fails_to_user_lock` | `<5` | Broj neuspelih pokušaja prijave pre zaključavanja korisničkog naloga. |
| `login/password_expiration_time` | `>90` | Vreme isteka lozinke u danima. |
| `login/password_max_idle_initial` | `<14` | Maksimalno vreme neaktivnosti u minutima pre nego što se zahteva ponovna prijava lozinke (početno). |
| `login/password_max_idle_productive` | `<180` | Maksimalno vreme neaktivnosti u minutima pre nego što se zahteva ponovna prijava lozinke (produktivno). |
| `login/password_downwards_compatibility` | `0` | Precizira da li je omogućena unazadna kompatibilnost za lozinke. |
| `rfc/reject_expired_passwd` | `0` | Određuje da li se odbacuju istekle lozinke za RFC (Remote Function Calls). |
| `rsau/enable` | `0` | Omogućava ili onemogućava RS AU (Authorization) provere. |
| `rdisp/gui_auto_logout` | `<5` | Precizira vreme u minutima pre automatskog odjavljivanja GUI sesija. |
| `service/protectedwebmethods` | `SDEFAULT` | Precizira podrazumevane postavke za zaštićene web metode. |
| `snc/enable` | `0` | Omogućava ili onemogućava Secure Network Communication (SNC). |
| `ucon/rfc/active` | `0` | Aktivira ili deaktivira UCON (Unified Connectivity) RFC-ove. |
## Skripta za Proveru Parametara
Zbog broja parametara, takođe je moguće eksportovati sve njih u .XML datoteku i koristiti skriptu [SAPPV (SAP Parameter Validator)](https://github.com/damianStrojek/SAPPV), koja će proveriti sve gore pomenute parametre i ispisati njihove vrednosti sa odgovarajućim razlikovanjem.
```
./SAPPV.sh EXPORT.XML
Parameter: auth/no_check_in_some_cases
User-Defined Value: No data
System Default Value: Y
Comment: Activation of the Profile Generator
Vulnerability: "SAP Parameter Misconfiguration: auth/no_check_in_some_cases"
Parameter: auth/object_disabling_active
User-Defined Value: N
System Default Value: N
Comment: Value 'N' prohibits disabling of authorization objects
Vulnerability: "SAP Parameter Misconfiguration: auth/object_disabling_active"
Parameter: auth/rfc_authority_check
User-Defined Value: 6
System Default Value: 6
Comment: Execution option for the RFC authority check
Vulnerability: "SAP Parameter Misconfiguration: auth/rfc_authority_check"
Parameter: bdc/bdel_auth_check
User-Defined Value: No data
System Default Value: FALSE
Comment: batch-input: check authorisation for activity DELE when delete TA
Vulnerability: "SAP Parameter Misconfiguration: bdc/bdel_auth_check"
[...]
```
# Napad!
* Proverite da li radi na starim serverima ili tehnologijama kao što je Windows 2000.
@ -292,7 +369,7 @@ bizploit> start
* [PowerSAP](https://github.com/airbus-seclab/powersap) - Powershell alat za procenu SAP bezbednosti
* [Burp Suite](https://portswigger.net/burp) - neophodan za direktorijumsko fuzzing i procene web bezbednosti
* [pysap](https://github.com/SecureAuthCorp/pysap) - Python biblioteka za kreiranje SAP mrežnih protokol paketa
* [https://github.com/gelim/nmap-erpscan](https://github.com/gelim/nmap-erpscan) - Pomaže nmap-u da otkrije SAP/ERP
* [https://github.com/gelim/nmap-erpscan](https://github.com/gelim/nmap-erpscan) - Pomaže nmap-u da detektuje SAP/ERP
## Reference