
Co znajdziesz w tym artykule?
- 1 TL;DR
- 2 Krótka definicja techniczna
- 3 Gdzie występuje / przykłady platform
- 4 Szczegółowy opis techniki (jak działa, cele, dlaczego skuteczna)
- 5 Artefakty i logi
- 6 Detekcja (praktyczne reguły)
- 6.1 Sigma — nieautoryzowane wejścia na SAP RFC Gateway (sieć)
- 6.2 Sigma — egzekucja powłoki z procesów SAP (Windows Sysmon)
- 6.3 Splunk (SPL) — ruch do sapgw i korelacja z hostami SolMan
- 6.4 KQL (Microsoft Sentinel) — CommonSecurityLog / ASIM
- 6.5 AWS CloudWatch Logs Insights — VPC Flow Logs (przykład + AWS CLI)
- 6.6 Elastic Security — EQL (sieć) i KQL (host)
- 7 Heurystyki / korelacje (co łączyć)
- 8 False positives / tuning
- 9 Playbook reagowania (kroki + komendy)
- 10 Przykłady z kampanii / case studies
- 11 Lab (bezpieczne testy) — przykładowe komendy
- 12 Mapowania (Mitigations, Powiązane techniki)
- 13 Źródła / dalsza literatura
- 14 Checklisty dla SOC / CISO
TL;DR
Krytyczna podatność CVE‑2025‑42887 w SAP Solution Manager (ST 720) umożliwia wstrzyknięcie kodu podczas wywołania zdalnie udostępnionego modułu funkcyjnego (RFC) przez uwierzytelnionego atakującego. Skutkiem może być pełna kontrola systemu (wysokie C/I/A). CVSS v3.1: 9.9 (AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H). Dostawca opublikował poprawkę w Security Note 3668705 — należy wdrożyć niezwłocznie oraz ograniczyć dostęp do SAP RFC Gateway (porty 33xx) i monitorować Security Audit Log (SM20) i logi bramy RFC/ICM.
Krótka definicja techniczna
Błąd walidacji danych wejściowych w SAP Solution Manager pozwala podczas wywołania remote‑enabled function module na umieszczenie i wykonanie złośliwego kodu w kontekście aplikacyjnym. Wektor ataku jest sieciowy, z niską złożonością, wymaga niskich uprawnień (PR:L), nie wymaga interakcji użytkownika i zmienia zakres (Scope: Changed).
Gdzie występuje / przykłady platform
- Produkt: SAP Solution Manager 7.2 (komponent ST 720) – krajobrazy on‑prem (Windows/Linux) i IaaS (AWS/Azure/GCP).
- Protokół/warstwa dostępu: SAP RFC/Gateway (TCP 33xx/sapgw<inst>), HTTP(S)/ICM w wybranych scenariuszach SOAP RFC.
- Przykładowe wdrożenia demo/PoC: oficjalne systemy pokazowe SolMan 7.2 (ST 720).
Szczegółowy opis techniki (jak działa, cele, dlaczego skuteczna)
Mechanizm RFC umożliwia wywoływanie w ABAP funkcji oznaczonych jako Remote‑Enabled. W CVE‑2025‑42887 brak właściwego oczyszczania danych wejściowych przy takim wywołaniu prowadzi do wstrzyknięcia kodu i jego wykonania po stronie serwera SolMan. Ponieważ podatność dotyczy elementu administracyjnego (Solution Manager), kompromitacja może kaskadowo oddziaływać na systemy zarządzane i integracje (zmieniony zakres). W praktyce błąd wpisuje się w łańcuch TTP: eksploatacja usługi (T1190/T1210) → wykonanie/podniesienie uprawnień (T1068/T1059). Krytyczność rośnie, gdy RFC Gateway jest dostępny spoza zaufowanych segmentów lub gdy konta techniczne mają szerokie uprawnienia S_RFC/S_RFCACL.
Artefakty i logi
| Źródło | Typ/ID | Pole / EID / Event | Wzorzec / co szukać | Uwagi |
|---|---|---|---|---|
| SAP Security Audit Log (SM19/SM20) | Aplikacja | Klasy „RFC/CPIC”, logony RFC, wywołania FM | Nietypowe logony RFC (pory, hosty), skoki liczby wywołań; nieudane/odrzucone autoryzacje S_RFC | Podstawowy strumień audytowy ABAP. |
| SAP RFC Gateway (gw_log / dev_rd, GWMON) | Aplikacja | Zdarzenia bramy (rejestracja, połączenia, wywołania) | Niespodziewane źródła, nietypowe programy rejestrowane, błędy autoryzacji/ACL | Porty 33xx; obserwuj reg_info/sec_info. |
| ICM/HTTP (dev_icm, log HTTP) | Aplikacja | Żądania do endpointów RFC/SOAP | Nietypowe POST do ścieżek RFC/SOAP z zewnątrz | W zależności od konfiguracji. |
| Firewall/NetFlow/VPC Flow Logs | Sieć | dstPort 3300–3399 (sapgw*) | Połączenia z niezalistowanych ASN/VPC; skoki wolumenu | Dobre do korelacji z SAL. |
| Windows Sysmon | EID=1 | ParentImage = disp+work.exe/gwrd.exe/sapstartsrv.exe → child cmd.exe/powershell.exe | Egzekucja powłoki przez procesy SAP | W SolMan na Windows. |
| Linux auditd | SYSCALL/EXECVE | exe parent disp+work/gwrd → /bin/sh, /bin/bash | Jak wyżej dla Linux | |
| AWS VPC Flow Logs (CloudWatch) | — | dstPort 3300..3399, action=ACCEPT | Źródła poza allowlistą, krótkie serie połączeń | CloudTrail nie rejestruje ruchu sieciowego. |
| K8s audit / M365 | — | — | [nie dotyczy] | — |
(Porty RFC Gateway 33xx potwierdza KBA; komponent SolMan 7.2 = ST 720).
Detekcja (praktyczne reguły)
Sigma — nieautoryzowane wejścia na SAP RFC Gateway (sieć)
title: Suspicious Access to SAP RFC Gateway (sapgw 33xx) From Untrusted Source
id: 1c9b8f8b-2c0f-4c2b-a8a2-7b2b7b33f9e1
status: experimental
description: Detect inbound connections to SAP RFC Gateway ports (33xx) from non-approved networks
author: Badacz CVE
date: 2025/11/12
logsource:
category: network_connection
detection:
selection:
destination.port|gte: 3300
destination.port|lte: 3399
network.direction: inbound
filter_allowlist:
source.ip|cidr:
- 10.0.0.0/8
- 172.16.0.0/12
- 192.168.0.0/16
# uzupełnij o własne sieci i partnerów
condition: selection and not filter_allowlist
fields:
- source.ip
- destination.ip
- destination.port
- network.transport
falsepositives:
- Zdalne serwisy administracyjne w zaufowanych strefach
level: high
tags:
- attack.T1190
- attack.T1210
Sigma — egzekucja powłoki z procesów SAP (Windows Sysmon)
title: Shell Spawned by SAP Work/Gateway Process
id: 9e7f4d95-2a8f-4ff0-9f6a-1d0b6e18bb3e
status: experimental
logsource:
product: windows
service: sysmon
definition: Event ID 1 (Process Create)
detection:
selection:
EventID: 1
ParentImage|endswith:
- '\disp+work.exe'
- '\gwrd.exe'
- '\sapstartsrv.exe'
Image|endswith:
- '\cmd.exe'
- '\powershell.exe'
condition: selection
level: high
tags:
- attack.T1059
- attack.T1068
Splunk (SPL) — ruch do sapgw i korelacja z hostami SolMan
| tstats count min(_time) as first_seen max(_time) as last_seen
from datamodel=Network_Traffic
where All_Traffic.dest_port>=3300 All_Traffic.dest_port<=3399
All_Traffic.action=allowed
All_Traffic.dest IN ($SOLMAN_HOSTS$)
by All_Traffic.src, All_Traffic.dest, All_Traffic.dest_port
| `drop_dm_object_name("All_Traffic")`
| eval duration=last_seen-first_seen
| where count>=5 OR duration < 60
KQL (Microsoft Sentinel) — CommonSecurityLog / ASIM
let Allowed = dynamic(["10.0.0.0/8","172.16.0.0/12","192.168.0.0/16"]);
imNetworkSession
| where DstPort between (3300 .. 3399)
| where not( ipv4_is_in_any_range(SrcIpAddr, Allowed) )
| summarize cnt=count(), firstSeen=min(TimeGenerated), lastSeen=max(TimeGenerated)
by SrcIpAddr, DstIpAddr, DstPort, NetworkProtocol
| where cnt >= 5 or datetime_diff("minute", lastSeen, firstSeen) <= 1
AWS CloudWatch Logs Insights — VPC Flow Logs (przykład + AWS CLI)
Zapytanie:
fields @timestamp, srcAddr, dstAddr, dstPort, action, bytes
| filter dstPort >= 3300 and dstPort <= 3399 and action = 'ACCEPT'
| stats count() as flows, sum(bytes) as totalBytes, min(@timestamp) as firstSeen, max(@timestamp) as lastSeen by srcAddr, dstAddr, dstPort
| sort by flows desc
CLI:
aws logs start-query \
--log-group-name /vpc/flowlogs/production \
--start-time $(date -d '15 minutes ago' +%s) \
--end-time $(date +%s) \
--query-string 'fields @timestamp, srcAddr, dstAddr, dstPort, action | filter dstPort >= 3300 and dstPort <= 3399 and action="ACCEPT" | stats count() by srcAddr, dstAddr, dstPort'
Elastic Security — EQL (sieć) i KQL (host)
EQL (sieć):
network where destination.port >= 3300 and destination.port <= 3399
and not cidrmatch(source.ip, "10.0.0.0/8", "172.16.0.0/12", "192.168.0.0/16")
KQL (Windows host):
event.code:1 and event.provider:"Microsoft-Windows-Sysmon" and
process.parent.name:( "disp+work.exe" or "gwrd.exe" or "sapstartsrv.exe" ) and
process.name:( "cmd.exe" or "powershell.exe" )
Uzasadnienie doboru portów i usług: SAP RFC Gateway nasłuchuje na 33xx (
sapgw<inst>), co potwierdzają oficjalne materiały SAP.
Heurystyki / korelacje (co łączyć)
- Łańcuch sieć → aplikacja → host: (1) inbound na 33xx z adresów spoza allowlisty → (2) wzrost liczby logonów RFC/odrzuconych autoryzacji S_RFC w SM20 → (3) pojawienie się powłoki/nietykowego procesu potomnego spod
disp+work/gwrd. - Anomalia kont technicznych: Nagle wzmożone wywołania RFC przez rzadko używany service user lub nowe destynacje SM59.
- Zmiana zakresu (Scope Changed): aktywność na hostach zarządzanych przez SolMan po zdarzeniu na SolMan (lateral movement).
- „Public‑facing” vs. „internal”: traktuj SolMan jak krytyczny admin plane – ekspozycja bramy RFC/ICM poza segment IT Ops zwiększa ryzyko T1190/T1210.
False positives / tuning
- Legitmny monitoring/automaty (np. EEM, integracje, batch) generują stały ruch RFC — whitelistuj znane źródła/VPN/VPC oraz konta S‑user.
- Działania adminów w oknach serwisowych (SM59 testy, importy) – uwzględnij harmonogramy.
- W regułach hostowych ogranicz do serwerów roli SolMan ABAP i do procesów rodziców SAP.
Playbook reagowania (kroki + komendy)
Triage
- Zweryfikuj podatność: czy Security Note 3668705 jest zaimplementowana (SNOTE), jaka wersja ST 720 SP.
- Linux:
sapcontrol -nr <inst> -function GetVersionInfo | egrep -i "ST *720|SAP BASIS" - Windows PowerShell:
sapcontrol.exe -nr <inst> -function GetVersionInfo - Sprawdź dziennik wdrożeń not SAP.
- Linux:
- Zbierz logi: SM20, gw_log/dev_rd, dev_icm; artefakty hostowe (Sysmon/auditd).
Containment
- Ogranicz ruch: ACL/Firewall – zamknij 33xx spoza allowlisty; jeżeli w chmurze – NSG/SG.
- Czasowo zablokuj konto użyte w podejrzanych logonach RFC; wymuś rotację haseł/kluczy SNC.
Eradication
- Natychmiast wdroż poprawkę (Note 3668705).
- Zweryfikuj i doprecyzuj role S_RFC/S_RFCACL; wymuś SNC/TLS dla RFC.
Recovery + Lessons
- Testy regresji krytycznych funkcji SolMan; przywróć dostęp etapami; dopisz kontrolę bazową w SIEM.
(Poprawka i opis CVE wg NVD/SAP Patch Day).
Przydatne szybkie komendy (bezpieczne):
# Linux: nasłuchy i procesy SAP
ss -ltnp | egrep ':33[0-9]{2}\s' # RFC Gateway
ps -ef | egrep 'disp\+work|gwrd|sapstartsrv|icman'
# Windows (PowerShell): połączenia na 33xx
Get-NetTCPConnection -LocalPort 3300..3399 |
Select-Object LocalAddress,LocalPort,RemoteAddress,State
Przykłady z kampanii / case studies
- CVE‑2020‑6207 (SolMan EEM) – publiczny exploit i aktywne skanowanie/exploity w 2021 r.; pełny kompromis agentów SMD. To pokazuje, że CVE w SolMan są szybko wykorzystywane, jeśli nie spatchowane.
- CVE‑2025‑31324 (NetWeaver Visual Composer) – aktywna eksploatacja RCE w 2025 r.; potwierdzenie, że n‑day SAP bywają na celowniku.
Status CVE‑2025‑42887: na moment 2025‑11‑12 brak publicznych raportów o aktywnej eksploatacji; zalecane działanie jak dla krytycznych RCE (patch + ograniczenie ekspozycji). (Wnioski na podstawie komunikatów prasowych i NVD).
Lab (bezpieczne testy) — przykładowe komendy
Środowisko: izolowane NON‑PROD SolMan 7.2 (ST 720). Testy nie polegają na eksploatacji CVE — służą weryfikacji detekcji.
- Wygeneruj zdarzenia RFC (SM59 → „Test connection”) z hosta testowego spoza allowlisty — powinny pojawić się wpisy w SM20 i w logach Gateway.
- Symuluj ruch sieciowy
# skan portów sapgw
nmap -Pn -p 3300-3399 <ip_solman>
- Sprawdź logi bramy RFC (GWMON → Logs/Traces) i zweryfikuj, że reguły Sigma/SIEM z pkt 7 wyłapują wejścia spoza allowlisty.
- Host telemetry (Windows/Linux) – uruchom prosty proces testowy z poziomu SAP (legalne zadanie/rapport), aby potwierdzić, że reguła „shell spawned by SAP” działa — NIE uruchamiaj poleceń wrażliwych.
Mapowania (Mitigations, Powiązane techniki)
Techniki ATT&CK (Enterprise)
- T1190 – Exploit Public‑Facing Application (jeśli RFC/ICM wystawione publicznie).
- T1210 – Exploitation of Remote Services (wykorzystanie RFC w sieci wewnętrznej/lateral).
- T1068 – Exploitation for Privilege Escalation (eskalacja po uzyskaniu wykonania w ABAP/host).
- T1059 – Command and Scripting Interpreter (ew. wtórne wykonanie poleceń).
Mitigations ATT&CK
- M1051 – Update Software (wdrożenie SAP Note 3668705/Patch Day).
- M1030 – Network Segmentation (izolacja SolMan/RFC Gateway; dostęp tylko z sieci admin).
- M1040 – Behavior Prevention on Endpoint (EDR/ASR na hostach Windows SolMan).
Źródła / dalsza literatura
- NVD: opis, wektor CVSS, odniesienia do SAP Note 3668705. (NVD)
- SAP Security Patch Day (listopad 2025): lista not, CVE‑2025‑42887 (CVSS 9.9), produkt/wersja. (SAP Support Portal)
- BleepingComputer / SecurityWeek: przegląd poprawek SAP, wzmianka o CVE‑2025‑42887. (BleepingComputer)
- SAP docs — Security Audit Log, RFC Gateway, S_RFC/S_RFCACL, ACL: konfiguracja i logging. (SAP Help Portal)
- Porty RFC Gateway (33xx): artykuł KBA/Community. (SAP Support Portal)
- Kontekst kampanii (SolMan/NetWeaver): Onapsis/Tenable/NVD/Darktrace. (Onapsis)
Checklisty dla SOC / CISO
SOC (operacyjne, 24/7):
- Reguły SIEM na 33xx inbound + korelacja z SM20 i procesami hosta.
- Watchlist kont S_RFC/S_RFCACL i destynacji SM59.
- Alarm „shell from
disp+work/gwrd”. - Dashboard: status wdrożenia Note 3668705 na wszystkich SolMan.
CISO / GRC (strategiczne):
- Polityka segmentacji – SolMan wyłącznie w strefie admin z dostępem z bastionów.
- Harmonogram Patch Day SAP + SLA krytycznych poprawek ≤ 7 dni.
- Przegląd uprawnień RFC (least privilege) + SNC/TLS obowiązkowe.
- Testy kontrolne: skan ekspozycji (33xx/ICM), przegląd konfiguracji reg_info/sec_info.