Archiwa: Podatności - Strona 4 z 7 - Security Bez Tabu

CVE‑2015‑1641 (Microsoft Office Memory Corruption w RTF) — zdalne wykonanie kodu po otwarciu spreparowanego dokumentu

TL;DR

CVE‑2015‑1641 to błąd obsługi RTF w Microsoft Office (Word/Word Viewer/Word Automation Services), który umożliwia RCE w kontekście użytkownika po otwarciu złośliwego pliku. W ATT&CK mapuje się to przede wszystkim na T1203 (Exploitation for Client Execution), zwykle dostarczane przez T1566.001 (Spearphishing Attachment) i/lub uruchamiane przez T1204.002 (User Execution: Malicious File). Skuteczna obrona opiera się na aktualizacjach, regułach ASR blokujących potomne procesy Office, kontroli aplikacji (WDAC/AppLocker) i analityce parent→child (Office → LOLBin).


Krótka definicja techniczna

CVE‑2015‑1641 to podatność w sposobie, w jaki Microsoft Office przetwarza RTF w pamięci; umożliwia zdalne wykonanie kodu po otwarciu specjalnie przygotowanego dokumentu (np. .rtf). Atak skutkuje uruchomieniem procesu/łańcucha procesów potomnych z rodzicem WINWORD.EXE (lub inną aplikacją Office) i typowo prowadzi do pobrania/uruchomienia ładunku (np. przez cmd.exe, powershell.exe, mshta.exe, rundll32.exe).


Gdzie występuje / przykłady platform

  • Windows / macOS (Word dla Mac 2011) — otwarcie/obsługa RTF przez aplikacje Office.
  • SharePoint (Word Automation Services), Office Web Apps — przetwarzanie dokumentów po stronie serwerowej.
  • M365/Exchange Online — wektor dostarczenia (e‑mail z załącznikiem RTF), detekcja/remediacja po stronie Defender for Office 365 (ZAP, akcje purge).
  • Środowiska hybrydowe (AD + M365) — najczęstszy scenariusz spearphishing + endpoint Windows.

Szczegółowy opis techniki (jak działa, cele, dlaczego skuteczna)

Atakujący dostarcza spreparowany dokument RTF. Gdy aplikacja Office przetwarza plik, błąd w obsłudze RTF prowadzi do korupcji pamięci i wykonania arbitralnego kodu w kontekście bieżącego użytkownika. To umożliwia wykonanie stagera i ruch dalszy (np. dowolny LOLBin). Technika jest skuteczna, bo:

  • Wymaga jedynie interakcji użytkownika (otwarcie dokumentu) i często wygląda jak zwykła korespondencja służbowa (T1566.001 + T1204.002).
  • Office jest powszechny, a łańcuch Office → interpretery/LOLBin jest typową ścieżką living‑off‑the‑land.
  • Historycznie podatność była obserwowana “in the wild” w kampaniach APT (np. Sednit/Sofacy) oraz figuruje w KEV, co potwierdza realne wykorzystanie.

6) Artefakty i logi (tabela)

WarstwaŹródło/typID / PoleCo szukać
WindowsSecurity4688 (Process Creation)ParentImage = \WINWORD.EXE/EXCEL.EXE/POWERPNT.EXE + NewProcessName = cmd.exe, powershell.exe, mshta.exe, wscript.exe, rundll32.exe, regsvr32.exe
WindowsSysmon1 (ProcessCreate), 3 (NetworkConnect), 11 (FileCreate), 7 (ImageLoad), 13 (Registry)Łańcuch Office → LOLBin, nietypowe połączenia wychodzące tuż po uruchomieniu potomka, zapisy do %TEMP%/%APPDATA%
MDEAdvanced HuntingDeviceProcessEvents, DeviceNetworkEventsInitiatingProcessFileName w {WINWORD/EXCEL/POWERPNT}, FileName w {cmd/powershell/…}, nietypowe domeny C2
M365Defender for Office 365 / PurviewZAP, New-ComplianceSearchAction -PurgeAlerty o złośliwych załącznikach, raporty EOP, akcje SoftDelete/HardDelete przy remediacji maili.
AWSCloudTrail Lake (opcjonalnie, jeśli SES/WorkMail → S3)PutObject/GetObject (S3 data events)Masowe wrzuty .rtf do skrzynek/bucketów przychodzących; korelować ze wzrostem alertów EOP (jeśli integracja).
K8s audit[nie dotyczy] – podatność dotyczy klienta Office
GCP/Azure[nie dotyczy] – j.w.

Detekcja (praktyczne reguły)

Sigma

title: Office Spawns Suspicious Child Process (CVE-2015-1641 tradecraft)
id: 4c8c6a7b-9d0e-46d0-9a9e-1641office-child-proc
status: experimental
description: Wykrywa uruchamianie podejrzanych procesów potomnych przez aplikacje Office (WINWORD/EXCEL/POWERPNT).
references:
  - https://attack.mitre.org/techniques/T1203/
  - https://learn.microsoft.com/en-us/defender-endpoint/attack-surface-reduction-rules-reference
logsource:
  category: process_creation
  product: windows
detection:
  parent_office:
    ParentImage|endswith:
      - '\WINWORD.EXE'
      - '\EXCEL.EXE'
      - '\POWERPNT.EXE'
      - '\WORDVIEW.EXE'
  child_suspicious:
    Image|endswith:
      - '\cmd.exe'
      - '\powershell.exe'
      - '\wscript.exe'
      - '\cscript.exe'
      - '\mshta.exe'
      - '\rundll32.exe'
      - '\regsvr32.exe'
      - '\hh.exe'
      - '\msbuild.exe'
      - '\installutil.exe'
      - '\certutil.exe'
      - '\bitsadmin.exe'
  condition: parent_office and child_suspicious
falsepositives:
  - Legalne dodatki Office/automatyzacje (DLP, AV, integracje korporacyjne)
level: high
tags:
  - attack.t1203
  - attack.execution

(Technika T1203, ASR „Block Office apps from creating child processes”).

Splunk (SPL)

(index=win* (sourcetype="XmlWinEventLog:Microsoft-Windows-Sysmon/Operational" EventCode=1)
 OR (sourcetype="WinEventLog:Security" EventCode=4688))
| eval parent=coalesce(ParentImage, ParentProcessName), child=coalesce(Image, NewProcessName)
| where like(lower(parent), "%\\winword.exe")
   OR like(lower(parent), "%\\excel.exe")
   OR like(lower(parent), "%\\powerpnt.exe")
   OR like(lower(parent), "%\\wordview.exe")
| where match(lower(child), "\\\\(cmd|powershell|wscript|cscript|mshta|rundll32|regsvr32|hh|msbuild|installutil|certutil|bitsadmin)\\.exe$")
| stats earliest(_time) as first_seen, values(CommandLine) as cmd, values(ParentCommandLine) as p_cmd by host, user, parent, child
| convert ctime(first_seen)

KQL (Microsoft 365 Defender – Advanced Hunting)

DeviceProcessEvents
| where InitiatingProcessFileName in~ ("WINWORD.EXE","EXCEL.EXE","POWERPNT.EXE","WORDVIEW.EXE")
| where FileName in~ ("cmd.exe","powershell.exe","wscript.exe","cscript.exe","mshta.exe",
                      "rundll32.exe","regsvr32.exe","hh.exe","msbuild.exe","installutil.exe",
                      "certutil.exe","bitsadmin.exe")
| project Timestamp, DeviceName, AccountName,
          InitiatingProcessFileName, InitiatingProcessCommandLine,
          FileName, ProcessCommandLine
| order by Timestamp desc

CloudTrail Lake (SQL) — opcjonalnie (SES/WorkMail→S3)

-- Wymaga włączonych data events dla S3
SELECT eventTime, eventSource, eventName, sourceIPAddress,
       requestParameters.bucketName AS bucket, requestParameters.key AS object
FROM $EDS_EVENT
WHERE eventName IN ('PutObject','GetObject')
  AND requestParameters.key LIKE '%.rtf'
  AND eventTime > TIMESTAMP '2025-11-01 00:00:00';

(Użyte do korelacji fali załączników .rtf z incydentami e‑mail.)

Elastic / EQL

process where
  process.parent.name in ("WINWORD.EXE","EXCEL.EXE","POWERPNT.EXE","WORDVIEW.EXE") and
  process.name in ("cmd.exe","powershell.exe","wscript.exe","cscript.exe","mshta.exe",
                   "rundll32.exe","regsvr32.exe","hh.exe","msbuild.exe","installutil.exe",
                   "certutil.exe","bitsadmin.exe")

Heurystyki / korelacje

  • Parent→Child: Office → (cmd/powershell/wscript/mshta/rundll32/regsvr32) + sieć w ≤2 min od uruchomienia.
  • Ścieżki plików: tworzenie DLL/EXE/skrótów w %TEMP%, %APPDATA%, Startup, Office\Recent (Sysmon 11 + 1).
  • DNS/HTTP(S): nowe domeny bez reputacji tuż po otwarciu dokumentu.
  • ASR: zdarzenia AsrOfficeChildProcessAudited/Blocked (jeśli reguła włączona).
  • E‑mail → endpoint: korelacja EmailEvents (złośliwy załącznik RTF) z telemetrią procesu na hoście.

False positives / tuning

  • Legalne dodatki Office, wtyczki DLP/AV, integracje (np. eksport do PDF z użyciem procesów systemowych).
  • Narzędzia administracyjne i automatyzacje (np. pakiety do raportowania) — whitelist wg hasha, ścieżki i podpisu.
  • Tuning: wyklucz znane, podpisane ścieżki biznesowe; zostaw reguły ogólne dla cmd/powershell/mshta/... wywoływanych przez Office. Regułę Sigma/kwarantannę zaostrzaj dopiero po tygodniu audytu.

Playbook reagowania (kroki + komendy)

  1. Triag i zawężenie
  • Uruchom zapytania (SPL/KQL powyżej).
  • Piwotuj po ParentImage=WINWORD.EXE i user session.
  • Sprawdź alerty MDO (Defender for Office 365) i retencję ZAP.
  1. Izolacja i skan
  • Izoluj host w EDR/MDE (izolacja sieci).
  • Na hoście: szybki skan AV:
"%ProgramFiles%\Windows Defender\MpCmdRun.exe" -Scan -ScanType 2
  1. Higiena skrzynek (Purview/PowerShell) — usuń złośliwe maile:
New-ComplianceSearch -Name "CVE-2015-1641-purge" -ExchangeLocation All \
  -ContentMatchQuery '(attachments:".rtf") AND (Subject:"<ciąg kampanii>" OR From:"<nadawca>")'
Start-ComplianceSearch -Identity "CVE-2015-1641-purge"
New-ComplianceSearchAction -SearchName "CVE-2015-1641-purge" -Purge -PurgeType SoftDelete

(Potwierdzone procedury Purview).

  1. Artefakty
  • Zbierz pliki z %TEMP%/%APPDATA%, Prefetch, $MFT, Sysmon log.
  • Sprawdź autostarty (Run, Startup, zadania).
  1. Remediacja i twardnienie
  • Patch Office/SharePoint/Web Apps (MS15‑033 i nowsze).
  • Włącz/egzekwuj ASR: Block Office apps from creating child processes (d4f940ab-401b-4efc-aadc-ad5f3c50688a).
    Przykład (testowo – AuditMode):
Add-MpPreference -AttackSurfaceReductionRules_Ids d4f940ab-401b-4efc-aadc-ad5f3c50688a `
                 -AttackSurfaceReductionRules_Actions AuditMode

Dokumentacja ASR: referencja/enable.


Przykłady z kampanii / case studies

  • Sednit / Sofacy (APT28) – kampanie z załącznikami RTF wykorzystującymi CVE‑2015‑1641; po otwarciu zrzucały dwa DLL (np. btecache.dll, svchost.dll) i ładowały ładunek Seduploader.
  • Confucius – wykorzystywał podatności Office, w tym CVE‑2015‑1641, do uzyskania wykonania na stacjach ofiar.
  • Microsoft i media branżowe wskazywały na wykorzystanie in‑the‑wild przy wydaniu MS15‑033.

Lab (bezpieczne testy)

Wyłącznie w izolowanym, nieprodukcyjnym środowisku! Celem jest test detekcji, nie eksploatacja.

A. Dymny test ASR (AuditMode)

  1. Ustaw ASR „Block Office apps from creating child processes” w AuditMode (komenda powyżej).
  2. Utwórz w Wordzie prosty makrotest, który uruchamia Notepad (bezpieczny program): Sub TestChild() CreateObject("WScript.Shell").Run "notepad.exe" End Sub
  3. Uruchom makro → sprawdź, czy pojawiły się zdarzenia audytowe ASR/EDR i alert Sigma/SIEM. (Przykładowe demo ASR: Microsoft docs).

B. Heurystyka parent→child (bez makr)
Uruchom winword.exe, a następnie ręcznie zainicjuj proces potomny z linii poleceń (symulacja anomalii):

Start-Process "$env:ProgramFiles\Microsoft Office\root\Office16\WINWORD.EXE"
Start-Sleep -s 5
Start-Process cmd.exe -ArgumentList "/c echo benign" -WindowStyle Hidden

Sprawdź, czy reguły (Sigma/SPL/KQL) flagują zdarzenie.

C. E‑mail flow (MDO)
Wyślij do skrzynki labowej .rtf z nieszkodliwą zawartością i sprawdź ścieżkę skanowania/raporty MDO/ZAP oraz logi Purview (bez złośliwego payloadu).


Mapowania (Mitigations, Powiązane techniki)

Mitigations (ATT&CK):

  • M1051 – Update Software (regularne łatki Office/SharePoint/Web Apps).
  • M1038 – Execution Prevention (WDAC/AppLocker; ASR blokujący potomne procesy Office).
  • M1042 – Disable or Remove Feature or Program (wyłącz nieużywane komponenty, ogranicz makra).
  • M1017 – User Training (świadomość spearphishingu).

Powiązane techniki (często współwystępują):

  • T1566.001 – Phishing: Spearphishing Attachment (wektor dostarczenia).
  • T1204.002 – User Execution: Malicious File (użytkownik otwiera plik).
  • T1218 – Signed Binary Proxy Execution (np. rundll32.exe, regsvr32.exe).
  • T1059 – Command and Scripting Interpreter (PowerShell/WSH).
  • T1105 – Ingress Tool Transfer (pobranie kolejnych ładunków).
  • T1547 – Boot or Logon Autostart Execution (utrwalenie po eksploatacji).

Źródła / dalsza literatura

  • NVD – CVE‑2015‑1641 (opis, CVSS, wpis KEV w CISA). (NVD)
  • Microsoft MS15‑033 – biuletyn, lista produktów i opis RTF memory corruption. (Microsoft Learn)
  • ATT&CK T1203 – technika, wersja, modyfikacja 24.10.2025. (MITRE ATT&CK)
  • ATT&CK – wersje/aktualności – v18 (10.2025). (MITRE ATT&CK)
  • SecurityWeek – patch Tuesday z adnotacją „exploited in the wild” (CVE‑2015‑1641). (SecurityWeek)
  • ESET “En Route with Sednit” – przykład kampanii (Seduploader via CVE‑2015‑1641). (web-assets.esetstatic.com)
  • Defender for Office 365 – remediacja maili (ZAP/Purge). (Microsoft Learn)
  • ASR – referencja i włączanie – blokada potomnych procesów Office. (Microsoft Learn)

Checklisty dla SOC / CISO

SOC – operacyjna

  • Monitoring parent→child: Office → (cmd/powershell/mshta/wscript/…) w SIEM.
  • Włącz ASR Block Office apps from creating child processes (najpierw AuditMode, potem Block).
  • Korelacja e‑mail (EOP/MDO) ↔ endpoint (EDR).
  • Hunts: świeże .rtf + nietypowe połączenia po otwarciu dokumentu.
  • Procedura Purview Search+Purge gotowa do masowej remediacji.

CISO – strategiczna

  • Polityka patchowania Office/SharePoint/Web Apps (SLA).
  • Polityka makr, kontrola aplikacji (WDAC/AppLocker).
  • Szkolenia spearphishing/zasady otwierania załączników.
  • Testy okresowe (lab) pod T1203/T1566.001 z metrykami skuteczności.

CVE-2025-12480 — Triofox Improper Access Control (auth bypass → RCE przez funkcję antywirusową)

TL;DR

Krytyczna luka w Gladinet Triofox pozwala nieautoryzowanemu napastnikowi ominąć logowanie, wejść w strony konfiguracji początkowej i utworzyć konto administratora aplikacji. W zaobserwowanych atakach przeciwnik użył konta do wykonania kodu z uprawnieniami SYSTEM przez nadużycie wbudowanej funkcji „antywirus” (dowolna ścieżka skanera), a następnie wdrażał Zoho UEMS/Assist, AnyDesk, Plink/PuTTY i tunelował RDP. Załataj do ≥ 16.7.10368.56560 (zalecane 16.10.10408.56683) i monitoruj IIS pod kątem odwołań „localhost” do /management/*. W artykule: gotowa Sigma, SPL, KQL, EQL, playbook IR i artefakty.


Krótka definicja techniczna

CVE‑2025‑12480 to błąd kontroli dostępu w Triofox, który po sfałszowaniu nagłówka/odwołania HTTP z wartością localhost odblokowuje strony inicjalizacji (AdminDatabase.aspxAdminAccount.aspxInitAccount.aspx) mimo zakończonego wdrożenia. Skutkiem jest założenie natywnego konta „Cluster Admin”, a w łańcuchu realnych ataków — RCE jako SYSTEM przez wskazanie własnej ścieżki skanera w funkcji AV. Wersje podatne: < 16.7.10368.56560; poprawki dostępne (zalecana najnowsza gałąź).


Gdzie występuje / przykłady platform

  • Windows Server + IIS/ASP.NET (host aplikacji Triofox).
  • Active Directory (opcjonalnie – integracja z LDAP/AD do autoryzacji użytkowników aplikacji).
  • IaaS (AWS/Azure/GCP) — często za ALB/WAF/NGFW; problem dotyczy warstwy aplikacji webowej na VM/serwerze.
  • Bazy danych (PostgreSQL/MySQL) sterowane z panelu inicjalizacji Triofox.
  • K8s/ESXi/M365 – brak natywnego wektora; występują wyłącznie jako kontekst infrastrukturalny [nie wymagane].

Szczegółowy opis techniki (jak działa, cele, dlaczego skuteczna)

  • Wejście (T1190): błędna logika sprawdzania dostępu do krytycznych stron instalatora Triofox. Zmiana Host/Referer → localhost skutkuje dopuszczeniem do ścieżki instalacyjnej mimo ukończonej konfiguracji.
  • Utworzenie admina (T1136): atakujący przechodzi flow inicjalizacji i tworzy natywne konto administracyjne („Cluster Admin”) w samej aplikacji.
  • Wykonanie (T1059.001) + RCE: po zalogowaniu do panelu używa funkcji „Anti‑Virus Engine Path” – wskazuje własny plik/skrypt; Triofox uruchamia go w kontekście SYSTEM, co daje pełne RCE.
  • Post‑exploitation: pobranie legalnych narzędzi zdalnego dostępu (Zoho UEMS/Assist, AnyDesk), Plink/PuTTY do tunelowania RDP (T1219/T1572/T1105), enumeracja SMB i zmiany haseł/grup. Kampanie obserwowane co najmniej od 2025‑08‑24.
  • Dlaczego skuteczna: brak walidacji źródła localhost w kodzie, zależność od opcjonalnego TrustedHostIp w web.config, możliwość uruchomienia arbitralnej ścieżki AV z uprawnieniami usługi.

Artefakty i logi (SOC cheat‑sheet)

Warstwa / źródłoEID / poleWzorzec / przykład korelacjiUwagi
IIS (W3C)cs-uri-stem, cs(Referer)Żądania do /management/AdminDatabase.aspx, /AdminAccount.aspx, /InitAccount.aspx, /CommitPage.aspx z Referer zawierającym http://localhostMandiant pokazał wpis z 302 do CommitPage.aspx z refererem localhost. Śledzić zewnętrzne IP jako źródło.
IIS/WAF/ALBHost/RefererNagłówek/odwołanie Host/Referer=localhost z adresów publicznychMożliwe także X-Forwarded-Host=localhost za proxy.
Windows Security4688 (Process Create)Uruchomienia powershell.exe, cmd.exe przez procesy Triofox/IIS tuż po dostępie do paneluKoreluj z logami IIS (ten sam host, ten sam czas ±5 min).
Windows Security7045 (Service Installed)Nowe usługi: Zoho UEMS/Assist, AnyDesk, nietypowe ścieżki w binPathCzęste w opisywanej kampanii.
Sysmon1 (Process Create)Image: *\\plink.exe, *\\putty.exe, *\\AnyDesk*.exe, *\\Zoho*Tunelowanie i dostęp zdalny.
Sysmon3 (Network Connect)Połączenia do zidentyfikowanych IP C2/hosting (np. 85.239.63[.]37, 65.109.204[.]197, 84.200.80[.]252, 216.107.136[.]46)IoC z raportu; utrzymuj listę deny/monitor.
Sysmon11 (File Create)C:\Windows\Temp\*.exe, C:\triofox\*.bat (np. centre_report.bat)Nazwy z raportu Mandiant.
Aplikacja Triofoxlogi aplikacyjneZmiany konfiguracji AV engine path, publikacja udziałów (pokazanie ścieżki na dysku)Krytyczne do triage’u RCE.
CloudTrail (IaaS)AuthorizeSecurityGroupIngressDopuszczenie 0.0.0.0/0 → 443/80 na SG przypiętej do hosta TriofoxPomocnicze: wykrywa niepożądane ekspozycje.

Detekcja (praktyczne reguły)

Sigma (IIS – próba obejścia z localhost)

title: Triofox CVE-2025-12480 - Localhost Referrer to Management Pages (IIS)
id: 2f47d6b5-9e2e-4f0b-9b7e-97b1e0e2f480
status: experimental
description: Wykrywa odwołania z 'localhost' do stron /management/* w Triofox (możliwa eksploatacja CVE-2025-12480).
references:
  - https://cloud.google.com/blog/topics/threat-intelligence/triofox-vulnerability-cve-2025-12480
  - https://nvd.nist.gov/vuln/detail/CVE-2025-12480
author: Badacz CVE
date: 2025/11/12
logsource:
  category: webserver
  product: windows
  service: iis
detection:
  selection_pages:
    http.request.target|contains:
      - "/management/AdminDatabase.aspx"
      - "/management/AdminAccount.aspx"
      - "/management/InitAccount.aspx"
      - "/management/CommitPage.aspx"
  ref1:
    http.request.referrer|contains: "http://localhost"
  ref2:
    cs-referrer|contains: "http://localhost"
  condition: selection_pages and (ref1 or ref2)
fields:
  - client.ip
  - http.request.method
  - http.request.referrer
  - http.request.target
  - http.response.status_code
falsepositives:
  - Testy administratorskie wykonywane lokalnie (żądania z 127.0.0.1)
level: high
tags:
  - attack.T1190
  - cve.2025-12480

Splunk (IIS/WAF)

index=web (sourcetype=iis OR tag=web)
(cs_uri_stem="/management/AdminDatabase.aspx"
 OR cs_uri_stem="/management/AdminAccount.aspx"
 OR cs_uri_stem="/management/InitAccount.aspx"
 OR cs_uri_stem="/management/CommitPage.aspx")
( cs_Referer="http://localhost*" OR referer="http://localhost*" )
| stats count min(_time) as first_seen max(_time) as last_seen by c_ip cs_uri_stem cs_Referer sc_status
| where c_ip!="127.0.0.1"

KQL (Microsoft Sentinel – W3CIISLog)

W3CIISLog
| where csUriStem has "/management/"
| where csUriStem has_any ("AdminDatabase.aspx", "AdminAccount.aspx", "InitAccount.aspx", "CommitPage.aspx")
| where csReferer has "http://localhost"
| extend isPrivate = ipv4_is_private(cIP)
| where isPrivate == false

CloudTrail (CloudWatch Logs Insights – „szerokie” otwarcie 80/443)

fields @timestamp, eventName, requestParameters
| filter eventName = "AuthorizeSecurityGroupIngress"
| filter requestParameters.ipPermissions.items[*].ipRanges.items[*].cidrIp like /0\.0\.0\.0\/0/
| filter requestParameters.ipPermissions.items[*].fromPort in [80,443]
| sort @timestamp desc

Uzupełniające: aws ec2 describe-security-groups i kontrola SG przypiętych do instancji Triofox.

Elastic / EQL (procesy i tunelowanie)

process where process.name in ("plink.exe","putty.exe","AnyDesk.exe","Zoho*","ZohoAssist*")
  and process.parent.name in ("w3wp.exe","svchost.exe") /* web worker / usługa */
  and host.os.type == "windows"
network where process.name == "plink.exe" and
  (destination.port == 22 and
   (exists(destination.ip) and source.ip == "127.0.0.1" or destination.ip != "127.0.0.1"))

Heurystyki / korelacje

  • IIS „localhost” + /management/ AND w krótkim czasie 4688 z powershell.exe/cmd.exe na tym samym hoście.
  • Nowe usługi (7045) zawierające Zoho, AnyDesk AND wcześniejszy dostęp do panelu Triofox.
  • Plink/PuTTY uruchomione na serwerze Triofox AND wzrost połączeń na 3389/TCP (tunel RDP).
  • Publikacja nowego „share” w Triofox AND zaraz potem wykonanie pliku ze ścieżki udziału (abuse AV‑Path).

False positives / tuning

  • Prawdziwi administratorzy mogą testować system lokalnie; żądania z 127.0.0.1 (loopback) i/lub z sieci zarządzającej można whitelistować.
  • Legalne użycie Zoho/AnyDesk – filtruj po znanych kluczach/tenantach, podpisach cyfrowych i źródłach instalacji (MSI z firmowego repo).
  • Proxy/health‑checki rzadko ustawiają Referer=localhost; jeśli tak – ogranicz do znanych adresów/LB.

Playbook reagowania (IR)

  1. Identyfikacja i blokada
  • WAF/NGFW: reguła drop dla Host/Referer=localhost na ścieżkach /management/*.
  • Tymczasowe geo/IP‑deny wg IoC (np. 85.239.63[.]37, 65.109.204[.]197, 84.200.80[.]252, 216.107.136[.]46).
  1. Triage
  • Przeskanuj IIS za zdarzeniami z sekcji 6; skoreluj z 4688/7045/Sysmon‑1/3/11.
  • W Triofox sprawdź: lista kont admin, historia zmian AV Engine Path, ostatnie publikacje udziałów.
  1. Eradykacja
  • Usuń nieautoryzowane konto aplikacyjne („Cluster Admin” itp.).
  • Dezinstaluj Zoho UEMS/Assist/AnyDesk zainstalowane spoza Twojej dystrybucji; zamknij plink/putty.
  • Cofnij zmiany haseł/grup, wymuś rotację sekretów.
  1. Odtworzenie i twardnienie
  • Patch: co najmniej 16.7.10368.56560; zalecany 16.10.10408.56683 (2025‑10‑14).
  • Skonfiguruj TrustedHostIp/sieci zarządzające, ogranicz dostęp do panelu tylko z MFA/VPN; logowanie na szczegółowym poziomie.
  1. Lessons learned
  • Dodaj detekcje z rozdz. 7, testy regresyjne, „table‑top” z łańcuchem nadużyć AV‑Path.

Przykłady z kampanii / case studies

  • UNC6485 (Mandiant/Google): eksploatacja co najmniej od 2025‑08‑24 na wersji 16.4.10317.56372; obejście autoryzacji (Host/Referer localhost) → utworzenie „Cluster Admin” → RCE przez ścieżkę AV → wdrożenie Zoho UEMS/Assist i AnyDesk, Plink/PuTTY do tunelowania RDP:3389. Wskazane przykładowe IP i artefakty (hashy, ścieżki).
  • Relacje prasowe: BleepingComputer i SecurityWeek potwierdzają łańcuch i zalecają aktualizację do najnowszej gałęzi Triofox.

Lab (bezpieczne testy)

Wyłącznie w izolowanym labie z testową instancją Triofox; nie instruujemy eksploatacji — generujemy sygnał do detekcji.

  • Generacja wpisu IIS przypominającego anomalię Referer (na testowym serwerze www, do niekrytycznej strony):
$h = @{ "Referer" = "http://localhost/test" }
Invoke-WebRequest -UseBasicParsing -Headers $h `
  -Uri "https://triofox-lab.local/management/AccessDenied.aspx"
  • Wpis 7045 (test instalacji usługi):
sc.exe create TestCVE125 path= "C:\Windows\System32\notepad.exe" start= demand
sc.exe delete TestCVE125
  • E2E sprawdzenie korelacji w Splunk/KQL: odpal test powyżej, a następnie uruchom reguły z sekcji 7 i zweryfikuj alerty.

Mapowania (Mitigations, Powiązane techniki)

Mitigations (ATT&CK):

  • M1051 Update Software — aktualizuj Triofox do ≥ 16.7.10368.56560 (zal. 16.10.10408.56683).
  • M1031 Network Intrusion Prevention — sygnatury/WAF blokujące Host/Referer=localhost na ścieżkach admina i wykrywanie tuneli.
  • M1030 Network Segmentation — strefa DMZ dla serwera Triofox; dostęp administracyjny tylko z sieci zarządzającej/VPN.

Powiązane techniki:

  • T1190 — Exploit Public‑Facing Application – Atak przez błąd logiczny w kontroli dostępu do stron /management/* (bypass auth).
  • T1136 — Create Account – Utworzenie natywnego admina („Cluster Admin”) w aplikacji dla utrzymania przyczółka.
  • T1059.001 — Command and Scripting Interpreter: PowerShell – Skrypty/batche wywołujące PowerShell downloader w łańcuchu RCE.
  • T1219 — Remote Access Software – Wdrożenie Zoho Assist/AnyDesk jako kanału C2/remote‑ops.
  • T1572 — Protocol TunnelingPlink/PuTTY do tunelowania RDP przez SSH.
  • T1105 — Ingress Tool Transfer – Pobranie narzędzi (Zoho/AnyDesk/Plink) na host Triofox.

Źródła / dalsza lektura

  • Mandiant/Google Cloud: No Place Like Localhost — techniczne omówienie, IoC, łańcuch ataku. (Google Cloud)
  • NVD: karta CVE (wersje podatne, CVSS, CWE). (NVD)
  • BleepingComputer: Hackers abuse Triofox antivirus feature to deploy RATs (RCE=SYSTEM, zalecenia). (BleepingComputer)
  • SecurityWeek: Critical Triofox Vulnerability Exploited in the Wild. (SecurityWeek)
  • Tenable / OpenCVE: status, streszczenie, SSVC. (Tenable®)
  • Check Point IPS Advisory (CVE‑2025‑12480). (Check Point Software)
  • MITRE ATT&CK v18 — wersje i aktualizacje. (MITRE ATT&CK)

Checklisty dla SOC / CISO

SOC (operacyjnie):

  • Reguły z sekcji 7 wdrożone (IIS, EDR/Elastic, Sentinel, WAF).
  • Hunt: Referer/Host=localhost/management/* w IIS (30–90 dni wstecz).
  • Korelacja z 4688/7045/Sysmon‑1/3/11 i z procesami plink/putty/AnyDesk/Zoho*.
  • Przegląd kont admin w Triofox; inspekcja AV Engine Path.
  • Blokady IoC sieciowych i rotacja haseł/sekretów, jeśli wskazane.

CISO / właściciele usług:

  • Patch: ≥ 16.7.10368.56560 (preferuj 16.10.10408.56683).
  • WAF: deny Host/Referer=localhost dla /management/*.
  • Segmentacja: panel admin tylko z sieci zarządczej + MFA/VPN.
  • Polityka dopuszczalnych narzędzi zdalnych (Zoho/AnyDesk) i ich inwentaryzacja.
  • Przegląd ekspozycji w IaaS (SG/ALB) i CI/CD patch/release hygiene.

Uwaga o ryzyku: Luka była aktywnie eksploatowana i występuje prosta możliwość RCE jako SYSTEM przy wykorzystaniu funkcji AV w Triofox — traktuj priorytetowo.

CVE-2025-62215 — Windows Kernel EoP (race condition)

TL;DR

CVE‑2025‑62215 to lokalna eskalacja uprawnień w jądrze Windows spowodowana warunkiem wyścigu (CWE‑362; także przypisana CWE‑415). Wymaga uprzywilejowanego (ale nie admin) dostępu lokalnego i pozwala podnieść uprawnienia do SYSTEM. Microsoft potwierdził aktywną eksploatację (zero‑day); poprawka została wydana w Patch Tuesday (listopad 2025). Priorytet: natychmiastowe łatanie oraz telemetria post‑eksploatacyjna (procesy SYSTEM z katalogów zapisywalnych przez użytkownika, podejrzane tworzenie usług).


Krótka definicja techniczna

Błąd klasy race condition w Windows Kernel umożliwia atakującemu z kontekstu lokalnie uwierzytelnionego (PR:L) wygrać wyścig w obsłudze zasobu współdzielonego, co skutkuje podniesieniem uprawnień do SYSTEM. Wektor CVSS v3.1 (wg Microsoft/CNA): AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H (bazowa 7.0). CWE‑362 (race) oraz CWE‑415 (double free) są przypisane do rekordu.


Gdzie występuje / przykłady platform

  • Windows (desktop i serwer) — komponent: Windows Kernel; konkretne edycje/wersje patrz karta MSRC. (Microsoft i niezależne serwisy potwierdzają, że jedna z 63 poprawek w listopadzie 2025 dotyczy właśnie tej luki).
  • Active Directory / M365 / Azure / AWS / GCP / K8s / ESXinie dotyczy bezpośrednio (luka jest systemowa na hostach Windows).

Szczegółowy opis techniki (jak działa, cele, dlaczego skuteczna)

CVE‑2025‑62215 wykorzystuje niesynchronizowany dostęp do współdzielonego zasobu w jądrze. Napastnik o uprawnieniach użytkownika (np. standard user lub service account z ograniczeniami) może, poprzez odpowiednie tykowanie operacji (wyścig), doprowadzić do uzyskania tokenu SYSTEM i pełnej kontroli nad hostem. Luki EoP w kernelu są szczególnie atrakcyjne, bo zamyka to łańcuch ataku po początkowym footholdzie (np. RCE w Office/przeglądarce), a ślady w dziennikach często są pośrednie (nie ma “jednego” zdarzenia „użyto sploit kernelowy”). Microsoft oznaczył tę podatność jako aktywnie wykorzystywaną w czasie wydania poprawek.


Artefakty i logi (co obserwować)

ŹródłoTyp/IDCo szukać (skrót)
Security.evtx4688 (Process Creation), 4672 (Special Privileges), 4624 (logon), 4697 (service installed – jeśli włączone)Procesy z Integrity/System lub kontem SYSTEM uruchamiane z katalogów użytkownika/Temp/ProgramData; niespodziewane “Special privileges” zaraz po aktywności użytkownika.
System.evtx7045 (Service Installed)Nowe usługi wskazujące na binaria w %USERPROFILE%, C:\ProgramData, C:\Windows\Temp.
Sysmon1 (ProcessCreate), 6 (DriverLoad), 7 (ImageLoad), 10 (ProcessAccess), 11 (FileCreate), 13 (Registry)Procesy SYSTEM z nietypowych ścieżek; ewentualne ładowanie sterowników/obrazów z dysku użytkownika; dostęp do lsass.exe po nagłym wzroście uprawnień.
Microsoft Defender for EndpointDeviceProcessEvents, DeviceRegistryEvents, DeviceImageLoadEventsProcessIntegrityLevel == "System" + FolderPath w lokacjach zapisywalnych; nagłe wyłączanie AV/EDR; tworzenie usług/zadań.
M365 / CloudTrail / K8s auditNie dotyczy (luka hostowa Windows).
NVD/MSRC metadaneCVSS/CWE/stan exploituPotwierdzenie klasy błędu (race), wektora, aktywnej eksploatacji.

Detekcja (praktyczne reguły)

Sigma (Sysmon — podejrzany SYSTEM z katalogów zapisywalnych)

title: Suspicious SYSTEM Process From User-Writable Path
id: d3f9b3b2-0f4f-4d9e-9b8a-2025-11-12
status: experimental
description: Wykrywa procesy z IntegrityLevel=System uruchomione z katalogów zapisywalnych (Users/ProgramData/Windows\Temp) – wskaźnik post-EoP (np. CVE-2025-62215).
logsource:
  product: windows
  service: sysmon
  definition: 'EventID=1 ProcessCreate'
detection:
  selection:
    EventID: 1
    IntegrityLevel|contains: 'System'
    Image|startswith:
      - 'C:\Users\'
      - 'C:\ProgramData\'
      - 'C:\Windows\Temp\'
  filter_legit:
    Image|startswith:
      - 'C:\ProgramData\Microsoft\Windows Defender\'
      - 'C:\ProgramData\Microsoft\IntuneManagementExtension\'
  condition: selection and not filter_legit
fields:
  - UtcTime
  - Image
  - CommandLine
  - ParentImage
  - User
falsepositives:
  - Rzadkie legalne narzędzia utrzymaniowe działające jako SYSTEM z ProgramData
level: high
tags:
  - attack.T1068

Splunk (Sysmon)

index=xmlwineventlog sourcetype="XmlWinEventLog:Microsoft-Windows-Sysmon/Operational" EventCode=1
IntegrityLevel=System (Image="C:\\Users\\*" OR Image="C:\\ProgramData\\*" OR Image="C:\\Windows\\Temp\\*")
| stats count min(_time) as first_seen max(_time) as last_seen values(ParentImage) values(CommandLine) by host, Image, User

KQL (Microsoft 365 Defender / Sentinel)

DeviceProcessEvents
| where ProcessIntegrityLevel == "System"
| where FolderPath has_any ("\\Users\\", "\\ProgramData\\", "\\Windows\\Temp\\")
| where not(FolderPath startswith @"C:\ProgramData\Microsoft\Windows Defender\" 
         or FolderPath startswith @"C:\ProgramData\Microsoft\IntuneManagementExtension\")
| summarize firstSeen=min(Timestamp), lastSeen=max(Timestamp), examples=make_set(ProcessCommandLine, 5) by DeviceName, AccountName, FolderPath, InitiatingProcessFileName

Windows Security: instalacja usług (Security 4697 / System 7045)

(index=wineventlog sourcetype="WinEventLog:System" EventCode=7045) OR
(index=wineventlog sourcetype="WinEventLog:Security" EventCode=4697)
| eval bin=coalesce(ImagePath, ServiceFileName, Service_FileName, ObjectName)
| where like(bin,"C:\\Users\\%") OR like(bin,"C:\\ProgramData\\%") OR like(bin,"C:\\Windows\\Temp\\%")
| table _time host EventCode ServiceName bin

Elastic EQL

process where process.integrity_level == "System" and
  (process.executable like "C:\\Users\\*" or
   process.executable like "C:\\ProgramData\\*" or
   process.executable like "C:\\Windows\\Temp\\*")

Uwaga: brak “jednego” logu potwierdzającego exploit kernelowy. Detekcja opiera się na anomaliach post‑eksploatacyjnych i korelacjach. Informacja o aktywnej eksploatacji oraz naturze (race condition) pochodzi z MSRC/NVD/Tenable.


Heurystyki / korelacje

  • Nagły skok uprawnień: proces użytkownika → w <60 s> pojawia się proces SYSTEM z tej samej sesji/typu konsoli.
  • SYSTEM z podejrzanych ścieżek: C:\Users\, C:\Windows\Temp\, C:\ProgramData\ (nie dotyczy znanych agentów).
  • Tworzenie usługi/zadania tuż po EoP (7045/4697, SchTasks).
  • Działania obronne zaburzane po EoP (wyłączenie AV/EDR — T1562), dostęp do LSASS (Sysmon 10) — możliwa kradzież poświadczeń po podniesieniu uprawnień.
  • Koreluj z alertem “Windows Kernel EoP” w EDR (jeśli vendor publikuje taką sygnaturę dla listopadowej łatki). Publiczne raporty z 11–12 XI 2025 potwierdzają status zero‑day.

False positives / tuning

  • Oprogramowanie korporacyjne uruchamiające moduły jako SYSTEM z ProgramData (agent instalacyjny, MDM/Intune, niektóre backupy).
  • Skrypty utrzymaniowe uruchamiane przez SCCM/Intune.
  • Tuning: białe listy ścieżek dla znanych agentów (Defender, Intune, narzędzia backupu), kontrola podpisu cyfrowego obrazu oraz producenta, okno czasowe korelacji (np. 30–120 s).

Playbook reagowania (IR)

  1. Triaging & izolacja: odłącz host od sieci (EDR isolate), zachowaj lotne artefakty (PID‑y SYSTEM z nietypowych ścieżek).
  2. Weryfikacja łatek: sprawdź, czy aktualizacja zbiorcza z 11 listopada 2025 jest zastosowana (np. KB5066835/KB5066793 dla Windows 11, KB5068781 dla Windows 10 ESU).
    • PowerShell: Get-HotFix | Where-Object {$_.HotFixID -match 'KB506'}
    (Numery KB podane m.in. w przeglądzie Patch Tuesday).
  3. Hunting: uruchom reguły/SPL/KQL z sekcji 7 na ostatnie 7–14 dni.
  4. Artefakty: zrzuty dla podejrzanych procesów SYSTEM (moduły, podpis, ścieżka), wpisy 7045/4697, zmiany w Run/Services, logi EDR.
  5. Eradykacja: usuń nieautoryzowane usługi/zadania, przywróć polityki EDR/AV, wymuś Windows Update.
  6. Recovery: reboot po łatce; monitoring wzmocniony (procesy SYSTEM z user‑paths).
  7. Komunikacja/CVE tracking: odnotuj CVE‑2025‑62215 w systemie zarządzania podatnościami, śledź MSRC/NVD.

Przykłady z kampanii / case studies

  • Status: publicznie brak szczegółów o kampaniach/aktorem; Microsoft i media branżowe potwierdzają aktywną eksploatację w momencie wydania poprawek, bez ujawniania wektora wejścia.

Lab (bezpieczne testy)

Celem jest walidacja detekcji post‑EoP, bez eksploatowania luki.

  1. Symulacja “SYSTEM z user‑path” (usługa): copy %SystemRoot%\System32\notepad.exe C:\Users\Public\demo.exe sc.exe create DemoSvc binPath= "C:\Users\Public\demo.exe" start= demand sc.exe start DemoSvc sc.exe delete DemoSvc Oczekiwane: 7045/4697 oraz Sysmon EID=1 z Image=C:\Users\Public\demo.exe i Integrity=System.
  2. Symulacja procesu SYSTEM z konsoli (PsExec, Sysinternals): psexec.exe -i -s cmd.exe Następnie uruchom tymczasowy plik z %TEMP% jako SYSTEM, by trafić w reguły z sekcji 7.
  3. Kontrola huntingu KQL/SPL — uruchom zapytania i potwierdź trafienia.

Mapowania (Mitigations, Powiązane techniki)

Mitigations (ATT&CK Enterprise):

  • M1051 — Update Software (natychmiastowe wdrożenie poprawek).
  • M1040 — Behavior Prevention on Endpoint (EDR/anty‑tampering, blokady zachowań post‑EoP).
  • M1026 — Privileged Account Management (minimalizacja i monitoring użycia kont uprzywilejowanych).

Powiązane techniki (ATT&CK Enterprise):

  • T1068 — Exploitation for Privilege Escalation
  • T1543 — Create or Modify System Process
  • T1562 — Impair Defenses
  • T1055 — Process Injection

Źródła / dalsza literatura

  • MSRC — CVE‑2025‑62215 (oficjalna karta). (Microsoft Security Response Center)
  • NVD — CVE‑2025‑62215 (opis, CVSS, CWE). (NVD)
  • Tenable: opis zero‑day i klasy błędu (race condition), kontekst listopadowego Patch Tuesday. (Tenable®)
  • BleepingComputer: przegląd aktualizacji, potwierdzenie 1 zero‑day (CVE‑2025‑62215) i numery wybranych KB. (BleepingComputer)
  • SecurityWeek / DarkReading: wzmianki o aktywnej eksploatacji. (SecurityWeek)
  • ZDI / Qualys / HKCERT / SANS ISC / Talos: przeglądy miesiąca z odniesieniami do CVE‑2025‑62215. (Zero Day Initiative)
  • ATT&CK v18 — wersja i historia wydań. (MITRE ATT&CK)
  • CISA KEVna moment pisania brak wpisu dla CVE‑2025‑62215 (sprawdź ponownie przed podejmowaniem decyzji). (CISA)

Checklisty dla SOC / CISO

SOC (operacyjna):

  • Wdrożone reguły z sekcji 7 (Sysmon/Splunk/KQL/Elastic).
  • Dodatkowy “watchlist” na procesy SYSTEM z Users/ProgramData/Temp.
  • Monitor 7045/4697 + korelacja <120 s> od procesów użytkownika.
  • Threat hunting 14 dni wstecz pod kątem post‑eksploatacyjnych anomalii.
  • Walidacja, że hosty dostały listopadową CU (Windows Update/KB).

CISO (strategiczna):

  • Patch SLA: 48–72 h dla krytycznych hostów Windows przy aktywnej eksploatacji.
  • Egzekwuj M1051/M1040/M1026 (patching, EDR z ochroną przed wyłączeniem, PAM).
  • Testy kontrolne w labie (sekcja 12) i przegląd wyjątków z białych list.
  • Ciągły przegląd komunikatów MSRC/NVD; dodaj CVE‑2025‑62215 do dashboardu ryzyka.

Uwagi końcowe (stan na 12 lis 2025): Rekord NVD zawiera opis, wektor CVSS i przypisania CWE‑362/CWE‑415; MSRC potwierdza zero‑day i dostępność poprawek; niezależne serwisy (Tenable/BleepingComputer) opisują ją jako Windows Kernel EoP używaną w atakach. Sprawdzaj cyklicznie MSRC/NVD/CISA KEV, bo szczegóły (np. listy wersji Windows, atrybucje) mogą się zmienić.

CVE-2025-42887 — Code Injection w SAP Solution Manager

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łoTyp/IDPole / EID / EventWzorzec / co szukaćUwagi
SAP Security Audit Log (SM19/SM20)AplikacjaKlasy „RFC/CPIC”, logony RFC, wywołania FMNietypowe logony RFC (pory, hosty), skoki liczby wywołań; nieudane/odrzucone autoryzacje S_RFCPodstawowy strumień audytowy ABAP.
SAP RFC Gateway (gw_log / dev_rd, GWMON)AplikacjaZdarzenia bramy (rejestracja, połączenia, wywołania)Niespodziewane źródła, nietypowe programy rejestrowane, błędy autoryzacji/ACLPorty 33xx; obserwuj reg_info/sec_info.
ICM/HTTP (dev_icm, log HTTP)AplikacjaŻądania do endpointów RFC/SOAPNietypowe POST do ścieżek RFC/SOAP z zewnątrzW zależności od konfiguracji.
Firewall/NetFlow/VPC Flow LogsSiećdstPort 3300–3399 (sapgw*)Połączenia z niezalistowanych ASN/VPC; skoki wolumenuDobre do korelacji z SAL.
Windows SysmonEID=1ParentImage = disp+work.exe/gwrd.exe/sapstartsrv.exe → child cmd.exe/powershell.exeEgzekucja powłoki przez procesy SAPW SolMan na Windows.
Linux auditdSYSCALL/EXECVEexe parent disp+work/gwrd/bin/sh, /bin/bashJak 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

  1. 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.
  2. 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