SAP significa Sistemas, Aplicativos e Produtos para Processamento de Dados. SAP, por definição, é também o nome do software ERP (Planejamento de Recursos Empresariais) e o nome da empresa.
O sistema SAP consiste em vários módulos totalmente integrados, que cobrem praticamente 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, test, QA e produção.
Cada uma das camadas pode ser explorada em certa medida, mas o maior efeito pode ser obtido **atacando o banco de dados**.
* Verifique o Escopo da Aplicação ou o Resumo do Programa para testes. Anote os nomes de host ou instâncias do sistema para se conectar ao SAP GUI.
* Use OSINT (inteligência de fontes abertas), Shodan e Google Dorks para verificar arquivos, subdomínios e informações valiosas se a aplicação estiver voltada para a Internet ou for pública:
* Use o nmap para verificar as portas abertas e os serviços conhecidos \(roteadores sap, webdnypro, serviços web, servidores web, etc.\)
* Rastreie as URLs se houver um servidor web em execução.
* Fuzz os diretórios \(você pode usar o Burp Intruder\) se tiver servidores web em determinadas portas. Aqui estão algumas boas listas de palavras fornecidas pelo Projeto SecLists para encontrar Caminhos SAP ICM padrão e outros diretórios ou arquivos interessantes:
* Verifique as credenciais padrão \(Na Taxonomia de Classificação de Vulnerabilidades da Bugcrowd, isso é considerado como P1 -> Configuração de Segurança do Servidor \| Usando Credenciais Padrão \| Servidor de Produção\):
* Execute o Wireshark e 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 analisar os cabeçalhos principais usados pelo protocolo SAP DIAG: o plug-in de dissecação SAP SecureAuth Labs e o plug-in SAP DIAG do Positive Research Center.
* Verifique se há escalonamentos de privilégios, como o uso de alguns códigos de transação SAP (tcodes) para usuários de baixo privilégio:
* SU01 - Para criar e manter 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
* Rastreie os URLs (consulte a fase de descoberta).
* Fuzz os URLs como na fase de descoberta. Aqui está como [http://SAP:50000/index.html](http://sap:50000/index.html) se parece:
![Página de índice do SAP](https://raw.githubusercontent.com/shipcod3/mySapAdventures/master/screengrabs/index.jpeg)
* Procure por vulnerabilidades comuns na web (consulte o OWASP Top 10), pois existem vulnerabilidades XSS, RCE, XXE, etc. em alguns lugares.
* Confira a metodologia de caça a bugs de Jason Haddix [“The Bug Hunters Methodology”](https://github.com/jhaddix/tbhm) para testar vulnerabilidades na web.
* Autenticação Bypass via verb Tampering? Talvez :\)
* Abra `http://SAP:50000/webdynpro/resources/sap.com/XXX/JWFTestAddAssignees#` e clique no botão “Escolher” e, em seguida, na janela aberta, pressione “Pesquisar”. Você deve ser capaz de 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 por HTTP? Se sim, é considerado como P3 com base na Taxonomia de Classificação de Vulnerabilidades da Bugcrowd: Autenticação Quebrada 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 :\)
![Página inicial do SAP](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 interessantes:
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
* Tente usar alguns exploits conhecidos (verifique o Exploit-DB) ou ataques como o antigo, mas bom "SAP ConfigServlet Remote Code Execution" no Portal SAP:
* 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:
* [PowerSAP](https://github.com/airbus-seclab/powersap) - Ferramenta Powershell para avaliar a segurança do SAP
* [Burp Suite](https://portswigger.net/burp) - um must-have para fuzzing de diretórios e avaliações de segurança web
* [pysap](https://github.com/SecureAuthCorp/pysap) - Biblioteca Python para criar pacotes de 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 SAP NetWeaver ABAP parte 3: Senhas padrão para acesso à aplicação](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 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)
* [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)
- Você trabalha em uma **empresa de cibersegurança**? Quer ver sua **empresa anunciada no HackTricks**? ou quer ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
- Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
- **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-me** no **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
- **Compartilhe suas técnicas de hacking enviando PRs para o [repositório hacktricks](https://github.com/carlospolop/hacktricks) e [hacktricks-cloud repo](https://github.com/carlospolop/hacktricks-cloud)**.