Archiwa: NIST - Strona 31 z 38 - Security Bez Tabu

CISA potwierdza wykorzystywanie krytycznej luki w Oracle Identity Manager (CVE-2025-61757)

Wprowadzenie do problemu / definicja luki

Amerykańska agencja CISA potwierdziła aktywne ataki na krytyczną podatność w Oracle Identity Manager (OIM), dodając ją do katalogu Known Exploited Vulnerabilities (KEV). Luka CVE-2025-61757 dotyczy komponentu REST WebServices i umożliwia zdalne przejęcie OIM bez uwierzytelnienia (pre-auth RCE). Oracle załatał błąd w październikowym CPU 2025. Federalnym agencjom w USA nakazano usunięcie ryzyka do 12 grudnia 2025 r.

W skrócie

  • Identyfikator: CVE-2025-61757
  • Produkt / komponent: Oracle Identity Manager (Fusion Middleware), REST WebServices
  • Skutki: pełne przejęcie OIM, wpływ na CIA: H/H/H, CVSS 9.8
  • Wersje podatne: 12.2.1.4.0 oraz 14.1.2.1.0
  • Wektor: sieć, brak uwierzytelnienia, niska złożoność ataku
  • Status: potwierdzona eksploatacja; pozycja w CISA KEV; poprawka w CPU October 2025.

Kontekst / historia / powiązania

OIM to centralny element ładu tożsamości w wielu organizacjach (prowizjonowanie, recertyfikacje, role). Po publikacji analizy technicznej przez Searchlight Cyber SANS ISC zauważył w logach skany i próby ataków z końca sierpnia–początku września 2025, co sugeruje wcześniejsze zainteresowanie podatnością. CISA po weryfikacji dodała CVE do KEV, co oznacza wiarygodne dowody na wykorzystanie w warunkach rzeczywistych.

Analiza techniczna / szczegóły luki

Zgodnie z macierzą ryzyka Oracle, problem dotyczy braku wymuszenia uwierzytelnienia dla krytycznej funkcji w interfejsie REST WebServices OIM. Atakujący z dostępem sieciowym do OIM może bez logowania wywołać endpointy prowadzące do zdalnego wykonania kodu i pełnego przejęcia instancji OIM. Parametry CVSS: 9.8 / AV:N / AC:L / PR:N / UI:N / S:U / C:H / I:H / A:H.

Zakres dotkniętych wersji: Oracle potwierdza wpływ na 12.2.1.4.0 oraz 14.1.2.1.0. To właśnie te gałęzie są powszechnie wdrażane on-prem i w środowiskach hybrydowych, co zwiększa powierzchnię ataku.

Praktyczne konsekwencje / ryzyko

  • Przejęcie IGA/IAM: kompromitacja OIM = możliwość zmiany uprawnień, kreacji kont z wysokimi rolami, manipulacji procesami aprobat.
  • Lateral movement: z OIM atakujący może uzyskać dostęp do systemów zależnych (ERP/HR/AD/SSO) i danych wrażliwych.
  • Trwałość i ukrywanie śladów: tworzenie kont serwisowych, modyfikacja workflow i reguł recertyfikacji.
  • Ryzyko łańcucha dostaw: organizacje integrujące OIM z EBS/ERP/HRMS mogą odczuć efekt domina.
    Powyższe ryzyka są spójne z oceną NVD oraz ostrzeżeniami mediów branżowych po dodaniu luki do KEV.

Rekomendacje operacyjne / co zrobić teraz

  1. Patch now: natychmiast zastosuj CPU October 2025 dla OIM. Zweryfikuj, że instancje są na poziomie buildów adresujących CVE-2025-61757.
  2. Tymczasowe ograniczenie ekspozycji: jeśli patchowanie wymaga okna serwisowego, odetnij REST WebServices OIM od internetu (WAF/NGFW/segregacja), dopuszczając wyłącznie zaufane źródła (allow-list).
  3. Hunting i detekcja (ostatnie 90 dni):
    • logi HTTP/Proxy/WAF: nietypowe wywołania endpointów OIM REST bez nagłówków autoryzacji; wzrost 4xx/5xx; nietypowe metody.
    • OIM/DB: tworzenie kont/zasobów poza standardowymi workflow; zmiany ról o wysokich uprawnieniach; modyfikacje polityk.
    • Sieć: nagłe połączenia OIM → systemy downstream (AD/LDAP/ERP) z nowych adresów.
      Wskazówki co do okresu i charakteru aktywności potwierdzają obserwacje SANS ISC.
  4. Hardening: wymuś mTLS/WAF, włącz rate limiting dla REST, ogranicz do minimum role techniczne OIM używane przez integracje.
  5. IR gotowość: przygotuj playbook „OIM compromise”: izolacja węzła, rotacja tajemnic (DB, LDAP, integracje), przegląd i czyszczenie zmian w rolach/workflow.
  6. Compliance: sprawdź wpływ na procesy audytowe (recertyfikacje dostępów) — potencjalnie wymagane re-cert po incydencie.

Uwaga dla administracji publicznej USA: jeżeli podlegasz dyrektywom CISA, termin remediacji to 12 grudnia 2025 r. (dla FCEB). Traktuj to jako silną wskazówkę priorytetyzacji również w sektorze prywatnym.

Różnice / porównania z innymi przypadkami

W ostatnich miesiącach widzieliśmy falę nadużyć błędów w oprogramowaniu Oracle (m.in. E-Business Suite), ale CVE-2025-61757 jest szczególnie groźna, bo dotyka warstwy tożsamości. W przeciwieństwie do typowych RCE w usługach peryferyjnych, tutaj atak przekłada się bezpośrednio na eskalację uprawnień w całym ekosystemie. To odróżnia OIM od incydentów skupionych wyłącznie na eksfiltracji danych aplikacyjnych.

Podsumowanie / kluczowe wnioski

  • To jest „drop-everything patch”. Pre-auth RCE w OIM (CVSS 9.8) jest już aktywnie wykorzystywany.
  • Zasięg: wersje 12.2.1.4.0 i 14.1.2.1.0; komponent REST WebServices.
  • Terminy: dla podmiotów objętych dyrektywami CISA — 12.12.2025 na remediację.
  • Operacyjnie: łatka + ograniczenie ekspozycji + polowanie na oznaki nadużyć + twarde kontrole integracji.

Źródła / bibliografia

  1. SecurityWeekCISA Confirms Exploitation of Recent Oracle Identity Manager Vulnerability (24 listopada 2025). Źródło potwierdzenia KEV i terminu remediacji. (SecurityWeek)
  2. OracleCritical Patch Update Advisory — October 2025 (macierz ryzyka; komponent, wersje, CVSS). (Oracle)
  3. NVD (NIST)CVE-2025-61757 (opis skutków, „easily exploitable”, przejęcie OIM). (NVD)
  4. SANS ISC DiaryOracle Identity Manager Exploit Observation from September (CVE-2025-61757) (wczesne obserwacje skanów/prób). (SANS Internet Storm Center)
  5. Dark ReadingCritical Flaw in Oracle Identity Manager Under Exploitation (szerszy kontekst ostatnich kampanii wobec ekosystemu Oracle). (Dark Reading)

CVE-2025-0111 — PAN‑OS: Authenticated File Read w interfejsie zarządzania (web)

TL;DR

Luka CVE‑2025‑0111 pozwala uwierzytelnionemu napastnikowi z dostępem sieciowym do interfejsu zarządzania PAN‑OS odczytywać pliki systemowe czytelne przez użytkownika nobody. Ryzyko rośnie przy wystawieniu interfejsu na Internet (np. port 4443 na interfejsie dataplane z profilem management). Producent udostępnił wydania naprawcze oraz sygnatury Threat ID 510000/510001 (pakiet Apps&Threats ≥ 8943). W praktyce: załataj, ogranicz źródła IP do zaufanych, sprawdź, czy nie doszło do łańcuchowej eksploatacji z CVE‑2025‑0108/CVE‑2024‑9474, i zrotuj sekrety, jeśli masz podejrzenie naruszenia.


Krótka definicja techniczna

Authenticated File Read w portalu zarządzania PAN‑OS: błąd kontroli ścieżki (CWE‑73), który umożliwia po zalogowaniu oraz z dostępem sieciowym do UI odczyt plików z systemu plików urządzenia, o ile są one czytelne przez konto systemowe nobody. To naruszenie poufności bez bezpośredniego wpływu na integralność/ dostępność.


Gdzie występuje / przykłady platform

  • Fizyczne NGFW (PA‑Series) oraz VM‑Series (on‑prem/ESXi, AWS/Azure/GCP) — jeśli interfejs zarządzania dostępny z niezaufanej sieci.
  • CN‑Series (Kubernetes) — gdy profil management nadany interfejsowi dataplane/Service LB i port mgmt (typ. 4443) dostępny publicznie.
  • Nie dotyczy: Cloud NGFW i Prisma Access.

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

Wadliwa walidacja/normalizacja ścieżek w webowym interfejsie zarządzania PAN‑OS pozwala po pomyślnym uwierzytelnieniu wykonywać zapytania skutkujące odczytem plików (zakres: pliki czytelne przez nobody). Skuteczność ataku rośnie, gdy:

  1. Interfejs mgmt jest osiągalny z Internetu (bez filtrów źródeł); 2) napastnik dysponuje ważnymi poświadczeniami (np. uzyskanymi inną techniką); 3) podatność jest łączona w łańcuch z innymi błędami (np. CVE‑2025‑0108 i CVE‑2024‑9474), co obserwowano w praktyce. Ujawnione pliki mogą zawierać metadane/konfiguracje ułatwiające eskalację i dalsze działania (rekonesans, wyciek).

Status i ocena producenta: CVSS‑BT 7.1 (HIGH), Exploitation: ATTACKED. Producent wydał poprawki dla gałęzi 10.1, 10.2, 11.1, 11.2 oraz wskazał, że starsze EoL (9.x/10.0/11.0) uznaje się za podatne i nie będą łatane.


Artefakty i logi

Źródło/warstwaTyp/plik/logWskaźniki/kluczeUwagi
PAN‑OS Threat logSygnatury Threat ID 510000/510001threatid, action, src, dst, app, ruleWydane w Apps&Threats ≥ 8943 — blokada/alert prób eksploatacji.
PAN‑OS System logZdarzenia logowania/administracjianomalne logowania do UI, zmiany w profilu mgmtDo korelacji z dostępem z zewnętrznych ASN.
PAN‑OS web‑server access (mp‑log)Dostępy do /php/* / UINietypowe źródła, wzorce żądańW praktyce forwardowane przez syslog lub inspekcja na urządzeniu.
PAN‑OS Traffic logRuch do portów 443/4443 na IP zarządzaniadst_port in (443,4443), action=allow, źródła spoza RFC1918Służy do wykrywania ekspozycji/nieautoryzowanych źródeł.
AWS CloudTrailAuthorizeSecurityGroupIngress, CreateLoadBalancerListenersOtworzenie 443/4443 na 0.0.0.0/0Wczesny sygnał błędnej ekspozycji UI w chmurze.
K8s auditcreate/patch Service/IngressService typu LoadBalancer/NodePort eksponujący 4443Dot. CN‑Series/środowisk PoC.
M365/Entra[brak danych]Nie dotyczy tej luki.
Windows (EID)[brak danych]Nie dotyczy — luka po stronie urządzenia PAN‑OS.

Detekcja (praktyczne reguły)

Sigma — wykrycie sygnatur producenta (Threat log)

title: PAN-OS CVE-2025-0111 — Threat ID detection
id: 0d6b9c2a-5d0e-4e77-98a7-24d0a1c9a111
status: experimental
logsource:
  product: pan-os
  service: threat
detection:
  sel_ids:
    threatid|endswith:
      - '510000'
      - '510001'
  sel_text:
    threatname|contains: 'CVE-2025-0111'
  condition: sel_ids or sel_text
fields:
  - src
  - dst
  - app
  - rule
  - action
  - threatid
level: high
tags:
  - cve.CVE-2025-0111
  - attack.T1190

Sigma — dostęp do UI zarządzania z Internetu (Traffic log)

title: PAN-OS Management UI from External IPs (443/4443)
id: 3b1aaf9e-1f76-4e4d-9b86-b3c59a4d4443
status: experimental
logsource:
  product: pan-os
  service: traffic
detection:
  sel:
    action: 'allow'
    dst_port|in:
      - 443
      - 4443
  not_internal_src:
    src_ip|cidr:
      - '10.0.0.0/8'
      - '172.16.0.0/12'
      - '192.168.0.0/16'
  condition: sel and not not_internal_src
fields:
  - src_ip
  - dst_ip
  - rule
  - app
  - vsys
level: medium
tags:
  - hardening.exposure

Splunk (SPL)

Wykrycie Threat ID / prób eksploatacji:

(index=pan* sourcetype=pan:threat)
| eval threatid_str=tostring(threatid)
| where threatid_str IN ("510000","510001") OR like(threat_name, "%CVE-2025-0111%")
| stats count min(_time) as first_seen max(_time) as last_seen by src dst app rule action threatid threat_name vsys

Dostęp do UI mgmt z Internetu:

(index=pan* sourcetype=pan:traffic action=allowed)
  (dest_port IN (443,4443))
  NOT (cidrmatch("10.0.0.0/8", src_ip) OR cidrmatch("172.16.0.0/12", src_ip) OR cidrmatch("192.168.0.0/16", src_ip))
| lookup firewall_mgmt_ips ip as dest_ip OUTPUTNEW device role
| search role="mgmt"
| stats dc(src_ip) as uniq_sources values(src_ip) as sources count by dest_ip rule app vsys

KQL (Microsoft Sentinel / AMA + CEF)

// Threat IDs 510000/510001 (CEF -> DeviceEventClassID)
CommonSecurityLog
| where DeviceVendor =~ "Palo Alto Networks"
| where DeviceEventClassID in ("510000","510001") or AdditionalExtensions contains "CVE-2025-0111"
| summarize count(), min(TimeGenerated), max(TimeGenerated) by SourceIP, DestinationIP, DeviceEventClassID, Activity, DeviceAction
// Ruch do UI mgmt z Internetu (443/4443) -> wymaga listy IP mgmt w watchliście
let MgmtIPs = dynamic(["198.51.100.10","203.0.113.5"]); // przykład
CommonSecurityLog
| where DeviceVendor =~ "Palo Alto Networks" and Activity has_cs "TRAFFIC"
| where DestinationPort in ("443","4443") and DestinationIP in (MgmtIPs)
| where ipv4_is_private(SourceIP) == false
| summarize by TimeGenerated, SourceIP, DestinationIP, DestinationPort, DeviceAction

AWS CloudTrail Lake (SQL) — ekspozycja mgmt przez SG/ELB

-- Zmiany otwierające 443/4443 na 0.0.0.0/0
SELECT eventTime, eventSource, eventName,
       userIdentity.sessionContext.sessionIssuer.arn AS actor,
       requestParameters
FROM aws_cloudtrail_events
WHERE eventName IN ('AuthorizeSecurityGroupIngress','CreateSecurityGroup','CreateLoadBalancerListeners','ModifyLoadBalancerAttributes')
  AND (requestParameters LIKE '%0.0.0.0/0%')
  AND (requestParameters LIKE '%443%' OR requestParameters LIKE '%4443%')
ORDER BY eventTime DESC;

Elastic / EQL

any where event.dataset == "panw.threat" and
         (panw.threat.id in ("510000","510001") or message =~ "CVE-2025-0111")

Heurystyki / korelacje

  • Dostęp do UI z zewnętrznych ASNlogowanie adminaodczyt/zmiany konfiguracji (System log).
  • Wyzwolenie Threat ID 510000/510001ciągłe próby z jednego źródłabrak wcześniejszej aktywności tego IP.
  • Nagłe upublicznienie portu 4443/443 (CloudTrail/K8s audit) ⟺ nowe alerty Threatzmiany haseł/kluczy w krótkim oknie czasu.

False positives / tuning

  • Ruch z monitoringu/NAC/VPN podszywający się pod „zewnętrzny” (np. testy dostępności).
  • Maintenance (serwis dostawcy) — jednorazowy dostęp spoza korp.
  • Dla sygnatur — testowe skanery i pentesty w labie.
    Tuning: listy zaufanych źródeł, mapowanie IP mgmt w SIEM, korelacja z oknami serwisowymi.

Playbook reagowania (IR)

  1. Triage/izolacja ekspozycji
    • Zidentyfikuj, czy UI mgmt jest publicznie dostępny; jeśli tak, zablokuj/ogranicz źródła (ACL, SG, WAF) do zaufanych IP.
  2. Patching
    • Zaktualizuj do wersji naprawczej: 10.1.14‑h9+, 10.2.x‑h21/h24/h14/h12/h6/… (wg tabeli), 11.1.6‑h1+/11.1.4‑h13+/11.1.2‑h18+, 11.2.4‑h4+ lub 11.2.5+. Starsze EoL — migracja/wymiana.
  3. Zabezpieczenia prewencyjne
    • Włącz/zweryfikuj subskrypcję Threat Prevention i sygnatury Threat ID 510000/510001 (Apps&Threats ≥ 8943).
  4. Hunting
    • Przejrzyj logi Threat/System/Traffic pod kątem prób/udanych dostępów.
    • Oceń korelację z CVE‑2025‑0108/CVE‑2024‑9474 (możliwe łańcuchy).
  5. Remediacja sekrety (gdy podejrzenie nadużycia):
    • Zmień master key (AES‑256‑GCM), hasła/PSK/secrety, unieważnij i wydaj ponownie certyfikaty z kluczami prywatnymi na urządzeniu.
  6. Edukacja i kontrola zmian
    • Wymuś politykę „jump‑box only” do UI mgmt; przegląd SG/ACL/Ingress.

Przykłady z kampanii / case studies

  • Eksploatacja łańcuchowa: producent i niezależne raporty wskazały próby łączenia CVE‑2025‑0108 + CVE‑2024‑9474 + CVE‑2025‑0111 na niezałatanych i źle zabezpieczonych interfejsach mgmt.
  • Advisory/monitoring: Armis i HKCERT klasyfikują ryzyko jako wysokie; zalecają priorytetowy patching i ograniczenie ekspozycji.
  • Bazy podatności: NVD/CVE.org/Tenable/Rapid7 dokumentują charakter luki, wektor i brak wpływu na Cloud NGFW/Prisma Access.

Lab (bezpieczne testy) — przykładowe kroki/komendy

Tylko w odizolowanym labie. Nie wykonuj testów wobec cudzych systemów. Scenariusz ma zweryfikować detekcje i hardening, nie eksploatować luki.

  1. Weryfikacja wersji i contentu (CLI PAN‑OS):
    • show system info → sprawdź sw-version.
    • request content upgrade check / request content upgrade download latest / request content upgrade install version <>=8943 (upewnij się, że Threat ID 510000/510001 są obecne).
  2. Tymczasowe logowanie dostępu do UI
    • Skonfiguruj forwarding System/Threat/Traffic do SIEM.
    • Z dozwolonego hosta wewnętrznego wygeneruj benign ruch do UI: curl -k https://<fw-mgmt>:4443/ (sprawdź, czy powstają zapisy w Traffic/System).
  3. Testy detekcji w SIEM
    • Uruchom podane zapytania Splunk/KQL/Elastic; w razie braku rzeczywistych zdarzeń skorzystaj z generatorów logów testowych (np. sample CEF) z symbolicznym threatid=510000 (bez faktycznej próby eksploatacji).
  4. Hardening
    • Zaimplementuj listę zaufanych źródeł (ACL/SG) i regułę „jump‑box only”; potwierdź, że ruch spoza listy nie dociera do UI.

Mapowania (Mitigations, powiązane techniki)

Mitigations (ATT&CK)

  • M1051 — Update Software (aktualizacje PAN‑OS do wersji naprawczych).
  • M1037 — Filter Network Traffic (restrykcja źródeł do UI, tylko zaufane IP).
  • M1030 — Network Segmentation (dostęp przez jump‑host/VPN).
  • M1042 — Disable or Remove Feature or Program (wyłączenie profilu mgmt na interfejsach dataplane, jeśli zbędny).
  • M1027 — Password Policies / M1026 — Privileged Account Management (rotacja sekretów/mk, least privilege).

Techniki (ATT&CK)

T1190 — Exploit Public‑Facing Application

Dotyczy nadużycia błędu w aplikacji web wystawionej publicznie (UI mgmt). Tu: wymaga PR:L (zalogowanego aktora), ale wektor nadal AV:N i kanał webowy.

T1078 — Valid Accounts

Warunek konieczny: ważne konto z dostępem do UI mgmt (np. po phishingu/wycieku). Korelować logowania z nietypowych ASN.

T1005 — Data from Local System

Odczyt plików z systemu plików urządzenia w celu pozyskania informacji pomocnych do dalszych faz ataku.


Źródła / dalsza lektura

  • Palo Alto Networks — Advisory (CVE‑2025‑0111): opis, wersje naprawcze, Threat ID 510000/510001, zalecenia dot. master key/rotacji sekretów. (Palo Alto Networks Security)
  • NVD (nist.gov) — karta CVE. (NVD)
  • CVE.org — rekord producenta. (CVE)
  • Tenable / Rapid7 — podsumowania ryzyka i przypomnienie o ograniczeniu dostępu do UI. (Tenable®)
  • FortiGuard / H‑ISAC / HKCERT / Armis — doniesienia o łańcuchach eksploatacyjnych i „in‑the‑wild”. (FortiGuard)
  • MITRE ATT&CK — Version history (v18.1). (MITRE ATT&CK)

Checklisty dla SOC / CISO

SOC (operacyjne):

  • Czy posiadamy watchlistę IP mgmt i aktywne reguły dla portów 443/4443?
  • Czy SIEM odbiera Threat/System/Traffic z NGFW i wzbogaca o ASN/CIDR?
  • Czy alertujemy na Threat ID 510000/510001 (wysoki priorytet)?
  • Czy działają korelacje: zdalny dostęp do UIlogowanie adminazmiana config?
  • Czy przeprowadzono hunt pod kątem prób łańcuchowych (CVE‑2025‑0108/2024‑9474/2025‑0111)?

CISO / właściciel ryzyka:

  • Czy interfejs mgmt nie jest dostępny z Internetu (architektura „jump‑box only”)?
  • Czy wszystkie instancje mają wersje naprawcze (wg tabeli producenta)?
  • Czy mamy proces rotacji sekretów/master key/certyfikatów po incydencie?
  • Czy SLA na Apps&Threats content gwarantuje ≥ 8943 i autoupdate?
  • Czy polityki least privilege dotyczą również kont administracyjnych NGFW?

CVE-2023-27997 – Krytyczna podatność typu heap‑based buffer overflow w FortiOS/FortiProxy (SSL‑VPN, FortiGate)

TL;DR

  • Co: Pre‑auth RCE w FortiOS/FortiProxy SSL‑VPN (FortiGate) — CVE‑2023‑27997 („XORtigate”).
  • Jak: nadpisanie bufora (heap) poprzez parametr enc w endpointzie /remote/hostcheck_validate, co umożliwia wykonanie kodu bez logowania.
  • Ryzyko: krytyczne, aktywnie wykorzystywane, w KEV (CISA).
  • Naprawa: aktualizacja co najmniej do FortiOS 6.0.17 / 6.2.15 / 6.4.13 / 7.0.12 / 7.2.5 oraz odpowiednie wersje FortiProxy; w razie potrzeby tymczasowo wyłączyć SSL‑VPN.
  • ATT&CK: T1190 (Initial Access). Wskazane korelacje z T1133 (External Remote Services) oraz T1210 (Exploitation of Remote Services) dla ruchu/powykorzystaniowych zachowań.

Krótka definicja techniczna

CVE‑2023‑27997 to błąd heap‑based buffer overflow (CWE‑122/CWE‑787) w komponencie SSL‑VPN FortiOS/FortiProxy umożliwiający zdalne wykonanie kodu na urządzeniu bez uwierzytelnienia poprzez „specjalnie spreparowane” żądania HTTP/HTTPS do publicznego interfejsu VPN.


Gdzie występuje / przykłady platform

  • Network Devices (FortiGate/FortiProxy) — urządzenia brzegowe z włączonym SSL‑VPN. (Matryca ATT&CK obejmuje „Network Devices”).
  • Chmura/edge: gdy FortiGate stoi za ALB/WAF (AWS/Azure/GCP), ślady ataków w logach ALB/WAF/Load Balancer. [Mimo że sama podatność dotyczy urządzenia, telemetria może być w logach chmurowych.]
  • Windows/AD/Azure/M365/K8s/ESXi: pośrednio — jako dalsze cele po początkowym włamaniu (lateral movement), nie jako wektor podatności.

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

Atakujący składa pre‑auth żądania HTTP(S) do portalu SSL‑VPN FortiGate. Kluczową rolę odgrywa endpoint /remote/hostcheck_validate i parametr enc, którego długość i dekodowanie są błędnie weryfikowane. Błąd pozwala na nadpisanie pamięci sterty i w konsekwencji wykonanie kodu. Badanie LEXFO opisuje też zależności od /remote/info (do pobrania „salt”) oraz charakter „XOR‑overflow” wykorzystywany do manipulacji pamięcią. W praktyce umożliwia to początkowy dostęp (Initial Access) i często ominięcie MFA, ponieważ atak następuje przed uwierzytelnieniem.

Fortinet potwierdził krytyczność problemu (FG‑IR‑23‑097), publikując łatki i zalecając niezwłoczną aktualizację; CISA dodała CVE do KEV (Known Exploited Vulnerabilities).


6) Artefakty i logi (tabela)

Źródło/warstwaKluczowe pola / wzorcePrzykładowe wartości / IOCUwagi
FortiGate system/sslvpn logstype=event, subtype=vpn/daemon, msg, service=sslvpn, logid, eventtimeBłędy invalid enc data length, restarty/„sslvpnd daemon crash/watchdog timeoutCrashe/timeouty sslvpnd są sygnałem ostrzegawczym.
FortiGate HTTP/HTTPS accessurl, http_method, status, user="" (pre‑auth), srcipŻądania do /remote/hostcheck_validate z parametrem enc=; skoki 4xx/5xxNajlepiej zbierać jako syslog/CEF do SIEM.
FortiGate Event (log IDs)logid, action, userZalew SSL‑VPN login fail (np. ...user-ssl-login-fail...) lub niestandardowe wzorcePrzydatne do korelacji szumu skanowania z exploitami.
Crashlogdiag debug crashlog readWpisy o sslvpnd, sygnały, restartyMateriał dowodowy na awarie procesu.
ALB/WAF/Reverse Proxyrequest_uri, user_agent, status, bytes/remote/hostcheck_validate, enc=; piki z pojedynczych IPGdy urządzenie stoi za LB/WAF.
Windows EID[nie dotyczy]Bezpośrednio brak artefaktów Windows.
AWS CloudTrail[nie dotyczy]CloudTrail nie rejestruje treści HTTP; szukaj w ALB/WAF (CloudWatch Logs).
K8s audit[nie dotyczy]
M365 audit[nie dotyczy]

Detekcja (praktyczne reguły)

Sigma (FortiGate / proxy logs)

title: FortiGate SSL-VPN hostcheck_validate enc Anomaly (CVE-2023-27997)
id: 4d6f70b0-6b8a-4a3a-9be1-enc-hostcheck
status: experimental
description: Wykrywa żądania do /remote/hostcheck_validate z parametrem enc= (pre-auth) – możliwe wykorzystanie CVE-2023-27997.
references:
  - https://nvd.nist.gov/vuln/detail/cve-2023-27997
  - https://blog.lexfo.fr/xortigate-cve-2023-27997.html
  - https://www.cisa.gov/news-events/alerts/2023/06/13/cisa-adds-one-known-exploited-vulnerability-catalog
tags:
  - attack.t1190
  - cve.2023-27997
logsource:
  category: firewall
  product: fortinet
detection:
  sel_path:
    url|contains: "/remote/hostcheck_validate"
  sel_param:
    url|contains: "enc="
  # alternatywne pola spotykane w CEF/LEEF
  sel_alt1:
    cs-uri-stem|contains: "/remote/hostcheck_validate"
  sel_alt2:
    cs-uri-query|contains: "enc="
  condition: (sel_path and sel_param) or (sel_alt1 and sel_alt2)
fields:
  - src_ip
  - dst_ip
  - url
  - http_method
  - http_status
falsepositives:
  - Starsze klienty FortiClient wykonujące host-check (rzadkie)
level: high

Splunk (SPL)

Wyszukaj podejrzane żądania i skoki błędów:

index=network (sourcetype=fortigate* OR sourcetype=proxy*)
("|/remote/hostcheck_validate" OR cs_uri_stem="/remote/hostcheck_validate")
("enc=" OR cs_uri_query="*enc=*")
| bin _time span=5m
| stats count count(eval(http_status>=400 AND http_status<600)) AS errs
        values(http_method) AS methods
        values(http_status) AS statuses
        by _time, src_ip, dest_ip, uri, user
| where count>=5 OR errs>=3

Crashes sslvpnd (system events):

index=network sourcetype=fortigate:syslog ("sslvpnd" OR "SSL VPN Watchdog" OR "daemon crash")
| stats count latest(msg) AS any_message by _time, host

KQL (Microsoft Sentinel — CommonSecurityLog lub CEF z FortiGate)

let t = 5m;
CommonSecurityLog
| where DeviceVendor =~ "Fortinet"
| where RequestURL has "/remote/hostcheck_validate" and RequestURL has "enc="
| summarize cnt = count(), statuses = make_set(FlexString1) by bin(TimeGenerated, t), SourceIP, DestinationIP, RequestURL
| where cnt >= 5

AWS — CloudWatch Logs Insights (ALB/WAF access logs; nie CloudTrail)

fields @timestamp, @message, httpRequest.clientIp as src
| filter requestURI like /\/remote\/hostcheck_validate/ and @message like /enc=/
| stats count() as hits, countif(elb_status_code like /5\d\d|4\d\d/) as errs by bin(5m), src, requestURI
| filter hits >= 5 or errs >= 3

Elastic (Kibana KQL + EQL)

KQL (HTTP/Proxy index):

url.path : "/remote/hostcheck_validate" and url.query : "*enc=*"

EQL (jeśli parsowane do pól http/url):

sequence by source.ip with maxspan=5m
  [ network where url.path == "/remote/hostcheck_validate" and url.query : "*enc=*" ]
  [ any where process.name == "sslvpnd" and event.action in ("crash","restart") ]

Heurystyki / korelacje

  • Wzorzec żądań: burst żądań do /remote/hostcheck_validate z enc= z pojedynczego IP + wysoki udział 4xx/5xx → koreluj z restartem/crashem sslvpnd w ±5 min.
  • Pre‑auth charakter: brak user w logu, brak sesji, nietypowy User‑Agent (skanery/custom).
  • Post‑exploitation: nagłe utworzenie/zmiana konta admina (np. fortigate-tech-support) lub odczyt konfiguracji — sygnał znany z incydentów wokół CVE‑2023‑27997.
  • Trwałość na urządzeniu: modyfikacje w przestrzeni plików SSL‑VPN (np. katalog językowy) i techniki „symlink” opisywane przez Fortinet jako metoda ukrywania artefaktów po wcześniejszych exploitach — warto hunting.

False positives / tuning

  • Prawdziwe host‑checki starych klientów FortiClient mogą dotykać hostcheck_validate, jednak wolumen jest niewielki i statusy HTTP są zazwyczaj 200/302.
  • Skanery bezpieczeństwa/VAS mogą generować pojedyncze hity.
  • Tuning: whitelisty źródeł administracyjnych, progi wolumetryczne (np. ≥5 w 5 min), statusy ≥400, brak user, nietypowe geolokalizacje/GEO‑ASN.

Playbook reagowania (IR)

  1. Identyfikacja ekspozycji
    • Zbierz listę FortiGate/FortiProxy z włączonym SSL‑VPN i sprawdź wersje (get system status).
    • Jeżeli urządzenie podatne i dostępne z Internetu — podnieś priorytet.
  2. Doraźne ograniczenie ryzyka (jeśli patch niedostępny)
    • Wyłącz SSL‑VPN do czasu aktualizacji (Fortinet wskazuje to jako obejście).
  3. Patch & Verify
    • Zaktualizuj co najmniej do FortiOS 6.0.17 / 6.2.15 / 6.4.13 / 7.0.12 / 7.2.5; FortiProxy do odpowiednich wersji (≥7.2.4 lub ≥7.0.10).
  4. Hunting (±30 dni)
    • Przeszukaj SIEM pod kątem /remote/hostcheck_validate + enc=; wysoki wolumen/4xx/5xx.
    • Sprawdź crashlog/system events (sslvpnd crash/watchdog).
    • Zweryfikuj kontrolę administracyjną: nieautoryzowane konta admin (np. fortigate-tech-support), anomalie w konfiguracji.
  5. Forensyka na urządzeniu
    • Sprawdź katalogi językowe SSL‑VPN pod kątem podejrzanych plików/symlinków (wątek post‑exploitation opisany przez Fortinet).
  6. Remediacja haseł/kluczy
    • Po kompromitacji: rotacja poświadczeń, kluczy VPN, certyfikatów; sprawdź integracje LDAP/Radius.
  7. Hardening
    • Ogranicz ekspozycję panelu/portu VPN do zaufanych adresów; włącz WAF/geo‑IP rate‑limit/DoS‑policy.
  8. Zgłoszenie i lessons learned
    • Odnotuj w rejestrze incydentów; zaktualizuj reguły, dashboardy, runbooki.

Przykłady z kampanii / case studies

  • CISA KEV: CVE‑2023‑27997 dodane 13 czerwca 2023 do katalogu KEV — wymóg szybkiej remediacji.
  • Fortinet PSIRT (06.2023): ograniczone przypadki wykorzystania „in the wild”; zalecenie natychmiastowego upgrade, brak powiązania z Volt Typhoon w dacie publikacji.
  • Raporty branżowe (2024–2025): CVE pojawia się w zestawieniach „routinely exploited”; organy rządowe ostrzegały przed utrzymaną obecnością na FortiOS po patchach (konieczny threat hunting).

Lab (bezpieczne testy)

Tylko w kontrolowanym labie (izolowane FortiGate/FortiProxy). Celem jest detekcja, nie eksploatacja.

  1. Przygotowanie:
    • Urządzenie testowe FortiGate z włączonym SSL‑VPN, wersja podatna (offline, bez Internetu).
    • SIEM (np. Splunk/Elastic/Sentinel) z odbiorem syslog/CEF.
  2. Generowanie normalnego ruchu:
    • Z klienta FortiClient zestaw połączenie → powstaną logi tunnel-up / tunnel-down (do porównania).
  3. Generowanie podejrzanych wzorców (bez exploitów):
    • Wyślij wielokrotne żądania GET do /remote/hostcheck_validate?enc=AA z różnych IP źródłowych (np. z testowych kontenerów) — celem jest wygenerowanie charakterystycznego wzorca URI i 4xx w logach (nie dostarczać Keystream/PoC).
    • Zweryfikuj, czy reguły z pkt 7 aktywują alerty, a dashboardy pokazują piki 4xx/5xx.
  4. Symulacja awarii procesu:
    • (Opcjonalnie) ręcznie zrestartuj usługę SSL‑VPN, aby przetestować korelację z logami „daemon restart/crash” bez wymuszania błędu w pamięci.
  5. Walidacja:
    • Przejrzyj korelacje: burst /remote/hostcheck_validate + restart sslvpnd + brak user + 4xx.

Mapowania (Mitigations, powiązane techniki)

Technika główna: T1190 – Exploit Public‑Facing Application (Initial Access).

Techniki powiązane:

  • T1133 – External Remote Services (VPN jako brama zdalna; logika detekcji dostępowej).
  • T1210 – Exploitation of Remote Services (ew. późniejsze ruchy boczne).

Mitigations (ATT&CK):

  • M1030 — Network Segmentation (DMZ dla usług publicznych).
  • M1035 — Limit Access to Resource Over Network (allow‑list do portalu VPN).
  • M1042 — Disable or Remove Feature or Program (wyłącz SSL‑VPN, jeśli nieużywany).
  • M1050 — Exploit Protection (ochrony przed exploitami, w tym IPS/WAF).
  • M1016 — Vulnerability Scanning (ciągła walidacja wersji).

Źródła / dalsza literatura

  • NVD: opis, wersje dotknięte, CVSS 9.8. (NVD)
  • CISA KEV: dodanie CVE‑2023‑27997 do katalogu (2023‑06‑13). (CISA)
  • Fortinet PSIRT (blog, 12.06.2023): kontekst, zalecenia, brak bezpośredniego powiązania z Volt Typhoon w dacie publikacji. (Fortinet)
  • FortiGuard CVRF FG‑IR‑23‑097: opis, workaround „disable SSL‑VPN”. (FortiGuard)
  • LEXFO (XORtigate): szczegóły techniczne błędu (/remote/hostcheck_validate, enc). (blog.lexfo.fr)
  • Rapid7: wersje naprawcze (6.0.17/6.2.15/6.4.13/7.0.12/7.2.5), IOCs (np. fortigate-tech-support). (Rapid7)
  • Fortinet (04.10.2025): technika symlink post‑exploitation na FortiOS. (Fortinet)
  • Fortinet community: watchdog/crash sslvpnd — jak rozpoznać w logach. (Fortinet Community)

Checklisty dla SOC / CISO

SOC (operacyjna):

  • Alert na /remote/hostcheck_validate + enc= (pre‑auth) z progami wolumetrycznymi.
  • Korelacja z sslvpnd crash/restart i pikami 4xx/5xx.
  • Hunting kont admina (np. fortigate-tech-support) i zmian konfiguracji.
  • Dashboard narażonych wersji (parsing get system status).
  • Logi z ALB/WAF, jeśli FortiGate za load balancerem.

CISO (strategiczna):

  • Patch policy: SLA dla urządzeń brzegowych (≤7 dni dla CVE krytycznych, w KEV).
  • Segmentacja/DMZ dla serwisów publicznych (M1030).
  • Dostęp warunkowy do paneli VPN (M1035/M1042) + geofencing.
  • Testy kontrolne: cykliczne skany podatności (M1016) i symulacje IR.

VPN Hardening Cookbook

Dlaczego to ma znaczenie?

VPN jest bramą do firmowej sieci – ułatwia pracę zdalną, ale dla atakujących stanowi atrakcyjny cel. Wystarczy jedno przejęte konto lub luka w VPN, by intruz zyskał dostęp do zasobów wewnętrznych. Przykładowo, głośny atak na Colonial Pipeline w 2021 rozpoczął się od wykradzionych danych dostępowych VPN bez wymuszonego MFA, co sparaliżowało krytyczną infrastrukturę. To pokazuje, że kompromitacja VPN niesie poważne konsekwencje – od wycieku danych po zatrzymanie działalności firmy.

Czytaj dalej „VPN Hardening Cookbook”

Dziesiątki tysięcy routerów ASUS przejętych w kampanii „WrtHug”. Co wiemy i jak się bronić

Wprowadzenie do problemu / definicja luki

Nowo ujawniona kampania Operation WrtHug kompromituje dziesiątki tysięcy domowych i SOHO routerów ASUS WRT, przede wszystkim urządzenia EoL (poza wsparciem). Badacze ze STRIKE (SecurityScorecard) szacują, że ponad 50 tys. unikatowych adresów IP należących do zainfekowanych routerów było widocznych w ciągu ostatnich 6 miesięcy. Wspólnym wskaźnikiem infekcji jest identyczny, samopodpisany certyfikat TLS na usłudze AiCloud z nietypowym 100-letnim terminem ważności od kwietnia 2022 r.. Kampania łączy się taktykami i zasięgiem z operacjami klasy ORB (Operational Relay Box), które służą do skrytego pośredniczenia w ruchu na potrzeby cyber-szpiegostwa.

W skrócie

  • Skala: ≥50 000 zainfekowanych routerów ASUS, głównie w Tajwanie i Azji Płd-Wsch., ale również w USA, Rosji i Europie.
  • Wektor: łańcuch n-day na AiCloud + zestaw błędów OS command injection i auth bypass w starszych firmware’ach ASUS WRT.
  • IoC: wspólny self-signed cert (AiCloud) z ważnością 100 lat.
  • Powiązania: zbieżność TTP z wcześniejszą kampanią AyySSHush na routery ASUS (GREYNOISE).
  • Kluczowe CVE: CVE-2023-41345/6/7/8, CVE-2023-39780, CVE-2024-12912, CVE-2025-2492 (AiCloud).

Kontekst / historia / powiązania

W maju 2025 r. GreyNoise opisał cichą kampanię AyySSHush: trwałe tylne wejście w tysiącach routerów ASUS, z wykorzystaniem CVE-2023-39780, modyfikacji konfiguracji SSH oraz przechowywania artefaktów w NVRAM (przetrwanie restartów i aktualizacji). WrtHug dzieli część TTP (wykorzystanie tych samych rodzin błędów i celów), ale STRIKE notuje zaledwie 7 hostów z nakładającą się infekcją, więc traktuje WrtHug jako oddzielną kampanię – potencjalnie tego samego lub skoordynowanych aktorów.

Analiza techniczna / szczegóły luki

Łańcuch ataku w WrtHug opiera się na publicznie znanych (n-day) błędach w ASUS WRT oraz podatnościach AiCloud:

  • OS command injection:
    • CVE-2023-41345 / 41346 / 41347 / 41348 – rodzina błędów powiązana z mechanizmami tokenowymi oraz „apply” w panelu, w praktyce skorelowana z CVE-2023-39780 (RT-AX55; wstrzyknięcie komend po uwierzytelnieniu).
  • AiCloud (arbitrary command / auth bypass):
    • CVE-2024-12912 – błąd w AiCloud pozwalający na wykonanie poleceń (CVSS 7.2, NVD).
    • CVE-2025-2492improper authentication control w AiCloud (CVSS 9.2); możliwe wywołanie funkcji bez autoryzacji przygotowanym żądaniem.

Artefakt/kondensator IoC: na zainfekowanych urządzeniach usługa AiCloud prezentuje ten sam certyfikat TLS, samopodpisany, z okresem ważności 100 lat (od 04.2022). To najprostszy punkt zaczepienia dla huntów i detekcji.

Modele na celowniku: raporty wymieniają m.in. 4G-AC55U/860U, DSL-AC68U, GT-AC5300, GT-AX11000, RT-AC1200HP/1300G+/1300UHP i inne starsze/EoL wersje. (Lista może nie być kompletna; kluczowe jest sprawdzenie statusu wsparcia danego modelu).

Praktyczne konsekwencje / ryzyko

  • Skryte proxy/relay (ORB): urządzenia stają się węzłami ukrywającymi ruch na potrzeby eksfiltracji i rozpoznania – mniejsze ryzyko DDoS, większy nacisk na szpiegostwo i pivoting.
  • Trwałość: atak często przetrwa aktualizacje firmware’u (konfiguracja w NVRAM, zmiany SSH), więc „patch ≠ remediacja”.
  • Ekspozycja MŚP i domów: domowe/SoHo routery bywają pomijane w procesach hardeningu, a AiCloud bywa wystawiony do Internetu bez MFA i segmentacji.

Rekomendacje operacyjne / co zrobić teraz

  1. Szybki hunting IoC
    • Sprawdź, czy AiCloud prezentuje nietypowy, samopodpisany cert z datą ważności do 2122 r.. Jeśli tak – traktuj jako wysoki wskaźnik kompromitacji.
  2. Weryfikacja AiCloud i dostępu zdalnego
    • Jeżeli urządzenie jest EoL lub brak łatki – wyłącz AiCloud i każdy zdalny dostęp z Internetu (HTTP/HTTPS, SSH, WAN admin).
  3. Remediacja trwałości
    • Jeżeli podejrzewasz kompromitację: pełny factory reset, następnie ręczna, czysta konfiguracja (nie przywracaj kopii!), sprawdź authorized_keys, porty SSH (GREYNOISE raportował niestandardowy TCP/53282), usuń obce klucze.
  4. Aktualizacje firmware’u
    • Zastosuj najnowsze firmware’y naprawiające m.in. CVE-2025-2492 (AiCloud) oraz luki z 2023 r. W przypadku EoL – wymiana urządzenia.
  5. Hardening
    • Zmień hasła admina, włącz MFA (jeśli wspierane), ogranicz panel do LAN/VPN, wyłącz UPnP, stosuj ACL/geo-IP na brzegu, segmentuj sieć (IoT/Wi-Fi gości oddzielnie). (Dobre praktyki na bazie ogólnych zaleceń i obserwacji z raportów).
  6. Monitoring i bloki
    • Blokuj znane IP/porty z raportów (np. 53282/TCP dla SSH), loguj odwołania do AiCloud, ustaw alerty na zmiany certyfikatów i włączenie SSH.

Różnice / porównania z innymi przypadkami (jeśli dotyczy)

  • WrtHug vs. AyySSHush: oba celują w ASUS WRT i łączą CVE-2023-39780, ale WrtHug ma wyraźny IoC TLS (100-letni cert) na AiCloud i inną dystrybucję geograficzną; AyySSHush akcentował trwałość przez NVRAM/SSH. Mało hostów z podwójną infekcją → różne klastry/etapy jednego lub skoordynowanych aktorów.
  • Botnet vs. ORB: klasyczne botnety = hałaśliwe DDoS/kripto-koparki; ORB = ciche szlaki ruchu dla operacji APT (maskowanie źródła, pivot). WrtHug ma profil ORB-like.

Podsumowanie / kluczowe wnioski

  • Słabe ogniwo #1: EoL routery z włączonym AiCloud i zdalnym dostępem.
  • Najprostsza detekcja: sprawdzenie certyfikatu TLS AiCloud (100 lat).
  • Remediacja ≠ patch: przy podejrzeniu infekcji reset do fabrycznych + ręczna rekonfiguracja, dopiero potem aktualizacja; dla EoL – wymiana.
  • Zagrożenie strategiczne: rosnący trend ORB na urządzeniach brzegowych – cichsze, długotrwałe kampanie.

Źródła / bibliografia

  1. SecurityScorecard STRIKE – Operation WrtHug, The Global Espionage Campaign Hiding in Your Home Router (19.11.2025). (SecurityScorecard)
  2. The Register – Tens of thousands more ASUS routers pwned by suspected, evolving China operation (19.11.2025). (The Register)
  3. GreyNoise – Stealthy Backdoor Campaign Affecting Thousands of ASUS Routers (28.05.2025). (greynoise.io)
  4. NVD – CVE-2023-39780 (ASUS RT-AX55 OS command injection). (nvd.nist.gov)
  5. NVD – CVE-2025-2492 (ASUS AiCloud improper authentication control). (nvd.nist.gov)

CVE‑2025‑42944 – SAP NetWeaver AS Java

TL;DR

Krytyczna podatność deserializacji w SAP NetWeaver AS Java (RMI‑P4) pozwala nieautoryzowanemu napastnikowi zdalnie wykonać dowolne komendy systemowe przez wysłanie złośliwych obiektów Java na otwarty port P4 (5NN04/50004). Należy załatać wg not SAP #3634501 oraz wdrożyć dodatkowe filtrowanie deserializacji JVM wg #3660659, a także ograniczyć ekspozycję portu P4 tylko do zaufowanych sieci. Brak publicznych dowodów eksploatacji/PoC w momencie publikacji dostawców, ale ryzyko jest maksymalne (CVSS 10).


Krótka definicja techniczna

CVE‑2025‑42944 to błąd deserializacji niezaufanych obiektów Java w module RMI‑P4 SAP NetWeaver AS Java. Wystawiony port P4 (np. 50004) przyjmuje obiekty, które po zdeserializowaniu mogą uruchomić dowolny kod/komendy OS w kontekście procesu aplikacyjnego — bez uwierzytelnienia.


Gdzie występuje / przykłady platform

  • Windows / Linux: serwery z SAP NetWeaver AS Java (procesy java, jstart, sapstartsrv).
  • AD / ESXi: pośrednio — jeśli hosty SAP są członkiem domeny/VM; wektor RMI‑P4 pozostaje usługą aplikacyjną.
  • Chmury (AWS/Azure/GCP): NetWeaver na IaaS — krytyczne są Security Groups/NSG, które mogą otworzyć 5NN04 na świat.
  • Kubernetes: rzadkie, ale jeśli AS Java działa w kontenerze, zagrożeniem jest Service/LoadBalancer/NodePort wystawiający 5NN04.
  • M365: brak bezpośredniego wpływu; telemetryka MDE może pomóc w detekcji skutków (procesy).
    Porty P4/P4S/P4HTTP zgodnie z dokumentacją SAP.

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

RMI‑P4 to protokół zdalnych wywołań w AS Java. Usługa nasłuchuje na porcie 5NN04 (np. 50004) i obsługuje obiekty Java przesyłane do deserializacji. W CVE‑2025‑42944 brak właściwej walidacji powoduje, że przesłany złośliwy obiekt (tzw. gadget chain) zostaje zdeserializowany, co może zakończyć się wykonaniem komend systemowych (np. powłoki), skutkując pełnym naruszeniem C/I/A aplikacji. SAP wydał poprawkę (#3634501) oraz późniejsze zalecenia utwardzające z #3660659 — w tym zastosowanie JVM‑wide jdk.serialFilter dla klas dozwolonych/blokowanych, co ogranicza powierzchnię gadgetów.

Uwaga kontekstowa: niektóre źródła branżowe raportowały brak obserwacji PoC/eksploatacji w czasie publikacji, lecz historycznie luki RCE w SAP są szybko weaponizowane po ujawnieniu poprawek. Priorytet: patch + segmentacja + filtracja P4.


Artefakty i logi

ŹródłoCo zbieraćEID / polaWzorce / wskazówkiUwagi
SAP AS Java defaultTrace.* / logi RMIBłędy RMI‑P4, nieudane żądania, przeciążenia kolejkicom.sap.engine.services.rmi_p4.*Wpisy o przetwarzaniu żądań P4, błędach połączeń, anomalie kolejkiPrzykładowe komunikaty RMI‑P4 potwierdza KBA SAP (P4/50004, kolejka).
Windows SecurityTworzenie procesów po udanej RCE4688Rodzic: java.exe/jstart.exe/sapstartsrv.exeDziecko: cmd.exe/powershell.exe/wscript.exeKorelować z czasem ruchu na P4
SysmonStart procesu / sieć1, 3, 10ParentImage jak wyżej; połączenia z/do *:5NN04
Linux auditdexecve/fork potomków Javytype=EXECVEppid/exe = java/jstart/sapstartsrv + sh/bash
Zeek / FWRuch przychodzący na P4dest_port50004–59904 i końcówka …04 (wzorzec 5NN04)Segmentacja i allowlista źródeł
AWS CloudTrailZmiany SG otwierające P4AuthorizeSecurityGroupIngress/Egress, CreateSecurityGrouptoPort w [50004..59904] (w przybliżeniu wzorzec 5NN04)Wykrywa „otwarcie świata” na P4 w chmurze
K8s auditWystawienie P4 z klastracreate/patch Service/Ingressspec.ports.port: 5NN04 / nodePort kończący się …04Jeśli NetWeaver w kontenerach
M365 Unified Audit Log[brak zastosowania]Detekcja skutków via MDE (telemetria endpoint)

Detekcja (praktyczne reguły)

Sigma (Windows – proces potomny od Javy/SAP)

title: SAP NetWeaver AS Java -> podejrzany interpreter poleceń (CVE-2025-42944)
id: 4c7b3c8b-7b5f-4f5f-9f1a-jnr-p4-rce
status: experimental
description: Wykrywa uruchomienie cmd/PowerShell przez procesy java/jstart/sapstartsrv (skutek RMI-P4 RCE).
references:
  - https://nvd.nist.gov/vuln/detail/CVE-2025-42944
  - https://onapsis.com/blog/sap-security-patch-day-october-2025/
logsource:
  product: windows
  category: process_creation
detection:
  parent_java:
    ParentImage|endswith:
      - '\java.exe'
      - '\jstart.exe'
      - '\sapstartsrv.exe'
  child_shell:
    Image|endswith:
      - '\cmd.exe'
      - '\powershell.exe'
      - '\wscript.exe'
      - '\cscript.exe'
  condition: parent_java and child_shell
fields:
  - Image
  - CommandLine
  - ParentImage
  - ParentCommandLine
  - User
falsepositives:
  - Rzadkie zadania serwisowe/upgrade AS Java wywołujące skrypty systemowe
level: high
tags:
  - attack.t1059
  - attack.t1190
  - attack.t1210

Wariant Linux/auditd (skrót):

logsource:
  product: linux
  service: auditd
detection:
  parent_java: selection where exe endswith "java" or "jstart" or "sapstartsrv"
  child_shell: selection where a0 in ("sh","bash","zsh","ksh")
  condition: parent_java and child_shell

Splunk (SPL)

A. Proces potomny od Javy/SAP (Win Security 4688 lub Sysmon 1)

(index=win* (sourcetype=WinEventLog:Security EventCode=4688)
 OR (sourcetype=XmlWinEventLog:Microsoft-Windows-Sysmon/Operational EventCode=1))
| eval parent=coalesce(ParentImage, ParentProcessName)
| eval child=coalesce(Image, NewProcessName)
| where match(lower(parent), "(\\\\|/)java\\.exe$|(\\\\|/)jstart\\.exe$|(\\\\|/)sapstartsrv\\.exe$")
  AND match(lower(child), "(\\\\|/)cmd\\.exe$|(\\\\|/)powershell\\.exe$|(\\\\|/)wscript\\.exe$|(\\\\|/)cscript\\.exe$")
| stats count min(_time) max(_time) values(CommandLine) by host parent child user

B. Połączenia przychodzące na P4 (Zeek/FW)

(index=net* OR index=zeek* OR index=firewall*)
| eval port_str=tostring(dest_port)
| where dest_port>=50004 AND dest_port<=59904 AND like(port_str,"%04")
| stats dc(src_ip) as uniq_src count by dest_ip dest_port
| sort - count

KQL (Microsoft Defender/Defender for Cloud)

A. Proces potomny od Javy/SAP

DeviceProcessEvents
| where InitiatingProcessFileName in~ ("java.exe","jstart.exe","sapstartsrv.exe")
| where FileName in~ ("cmd.exe","powershell.exe","wscript.exe","cscript.exe","sh","bash")
| summarize cnt=count(), firstSeen=min(Timestamp), lastSeen=max(Timestamp) 
  by DeviceName, InitiatingProcessAccountName, InitiatingProcessFileName, FileName, ProcessCommandLine

B. Ruch na P4 (wejściowy)

DeviceNetworkEvents
| where RemotePort between (50004 .. 59904) and RemotePort % 100 == 4
| where Direction in ("Inbound","Listen") or Action =~ "Allowed"
| summarize cnt=count(), sources=dcount(RemoteIP) by DeviceName, RemotePort, Protocol, InitiatingProcessFileName

CloudTrail (AWS) — otwarcie portu 5NN04 w SG (CloudTrail Lake SQL)

SELECT eventTime, eventName, userIdentity.type AS actor, 
       requestParameters.groupId AS sg,
       json_extract_scalar(requestParameters, '$.toPort') AS toPort,
       sourceIPAddress
FROM aws_cloudtrail_events
WHERE eventSource='ec2.amazonaws.com'
  AND eventName IN ('AuthorizeSecurityGroupIngress','AuthorizeSecurityGroupEgress','CreateSecurityGroup')
  AND CAST(json_extract_scalar(requestParameters, '$.toPort') AS INT) BETWEEN 50004 AND 59904
  AND LIKE(json_extract_scalar(requestParameters, '$.toPort'), '%04')
ORDER BY eventTime DESC;

Elastic / EQL

Proces potomny od Javy/SAP → interpreter poleceń

process where event.type == "start" and 
  (process.parent.name in ("java","jstart","sapstartsrv") or
   process.parent.executable : "*\\java.exe") and
  process.name in ("cmd.exe","powershell.exe","sh","bash","zsh","ksh")

Heurystyki / korelacje (co łączyć)

  • Inbound na P4 (5NN04/50004) z Internetu ⟶ w krótkim czasie dziecko cmd/sh od procesu java/jstart.
  • Nietypowe argumenty potomnych (/c, -c, wget, curl, nc, zapisy do /tmp/%TEMP%).
  • Nagły wzrost błędów RMI‑P4 w defaultTrace koreluje z ruchem na P4 i alertami EDR.
  • Zmiany Security Group/NSG odsłaniające P4 ⟶ pierwsze próby skanowania/połączeń (Zeek).
  • Brak P4S (SSL) i brak ACL/allowlist dla P4 w ICM/WAF ⟶ ryzyko wyższe.

False positives / tuning

  • Legalne działania administracyjne/upgrade’owe AS Java mogą krótkotrwale wywoływać skrypty systemowe.
  • Ogranicz do hostów SAP, kont serwisowych (<SID>adm), okien zmian i baseline’u procesów.
  • Whitelistuj znane źródła administracyjne (jump‑hosty), a alertuj Internet/nieznane ASN.
  • W regułach sieciowych uwzględnij fakt, że P4 = 5NN04, więc dopasowanie końcówki …04 zwiększa precyzję.

Playbook reagowania (IR)

  1. Identyfikacja/triage: potwierdź alert (proces potomek od Javy + ruch na 5NN04).
  2. Izolacja: odetnij host/y SAP od niezaufanych sieci; tymczasowo zablokuj 5NN04 na brzegu/WAF.
  3. Forensics wstępne:
    • Windows: pobierz 4688/Sysmon oraz C:\usr\sap\*\J00\work\defaultTrace*.
    • Linux: journalctl/auditd, /usr/sap/<SID>/J*/work/defaultTrace*.
  4. Weryfikacja ekspozycji portu:
    • Linux: ss -lntp | awk '$4 ~ /:5[0-9]{2}04/ {print}'
    • Windows (PS): Get-NetTCPConnection | ? { $_.LocalPort -ge 50004 -and $_.LocalPort -le 59904 -and ($_.LocalPort % 100 -eq 4) }
  5. Patche / hardening: zastosuj SAP Note #3634501 (fix) i #3660659 (JVM serialFilter).
  6. Rekonesans kompromitacji: szukaj anomalii w kontach, nietypowych plikach w %TEMP%//tmp, połączeń wychodzących C2.
  7. Eradykacja/odzyskanie: po patchu uruchom kontrolę integralności, rotację haseł/kluczy, przywrócenie zaufanej konfiguracji ICM/WAF.
  8. Lessons learned: zamknij ekspozycje P4, egzekwuj allowlist, monitoruj porty 5NN**.

Przykłady z kampanii / case studies

  • Materiały branżowe (Arctic Wolf) wskazywały brak obserwowanej eksploatacji i publicznego PoC w chwili publikacji, choć luki SAP są atrakcyjne i szybko weaponizowane po patchach.
  • Dodatkowy hardening (JVM jdk.serialFilter) został opisany przez Onapsis i powiązany z notą SAP #3660659 — warto wdrożyć nawet po aktualizacji.
  • Komunikaty prasowe/serwisy bezpieczeństwa szeroko opisywały wagę CVE‑2025‑42944 (CVSS 10.0) oraz że został ujęty w wrześniowych i październikowych poradnikach SAP.

Lab (bezpieczne testy) — przykładowe komendy

Tylko w odizolowanym labie. Celem jest weryfikacja detekcji, nie wykorzystanie luki.

  • Symulacja dziecka cmd od Javy (Windows): # skompiluj prostą klasę Java uruchamiającą bezpieczną komendę echo @" public class P4Echo { public static void main(String[] args) throws Exception { new ProcessBuilder("cmd.exe","/c","echo lab-test").inheritIO().start().waitFor(); } } "@ | Set-Content .\P4Echo.java javac P4Echo.java java P4Echo Oczekiwany efekt: trigger reguł Sigma/Splunk/KQL (rodzic java.exe → dziecko cmd.exe).
  • Ruch na port P4 (bez payloadu), do testu korelacji sieciowej: # Linux/WSL: próba TCP handshake do P4 nc -vz <host_sap> 50004 Oczekiwany efekt: wpisy w logach FW/Zeek; brak błędów aplikacji (brak payloadu).
  • Weryfikacja portów SAP wg dokumentacji: sprawdź, że P4 to 5NN04 (np. 50004).

Mapowania (Mitigations, powiązane techniki)

Mitigations (ATT&CK):

  • M1051 – Update Software: szybkie wdrożenie not #3634501 (fix) + #3660659 (serialFilter).
  • M1030 – Network Segmentation: ogranicz zasięg P4 do VLAN‑ów admin/jump‑host; brak dostępu z Internetu.
  • M1037 – Filter Network Traffic: WAF/NGFW — allowlista do P4/P4S, TLS preferowany (P4S).
  • M1031 – Network Intrusion Prevention: sygnatury/analiza protokołu, blokowanie anomalii RMI/P4.
  • M1048 – Application Isolation & Sandboxing: ograniczenie uprawnień konta procesu AS Java.

Powiązane techniki ATT&CK:

  • T1190,
  • T1210,
  • T1059

Źródła / dalsza lektura

  • NVD: opis, wektor, daty → CVE‑2025‑42944. (NVD)
  • SAP Security Notes: #3634501 (fix), #3660659 (hardening jdk.serialFilter). (strony wymagają dostępu) — linki referencyjne z NVD. (NVD)
  • Onapsis (Oct 2025 Patch Day): tło hardeningu i jdk.serialFilter. (Onapsis)
  • Arctic Wolf (Sep 2025): przegląd luki, brak PoC/eksploatacji w momencie publikacji. (Arctic Wolf)
  • The Hacker News (Oct 2025): kontekst i wzmianka o dodatkowym utwardzeniu. (The Hacker News)
  • Tenable (Nessus Plugin 270696): detale skanera i potwierdzenie zakresu (AS Java, CVSS 10). (Tenable®)
  • SAP Help (AS Java Ports): P4 = 5NN04, P4S/P4HTTP. (SAP Help Portal)
  • MITRE ATT&CK v18 — wersje i techniki: wersja bieżąca, T1190/T1210/T1059. (MITRE ATT&CK)

Checklisty dla SOC / CISO

SOC (operacyjna)

  • Reguły: Sigma (proc‑child Java→cmd/sh), SPL/KQL/EQL wdrożone.
  • Korelacje: ruch na 5NN04 + proces potomny cmd/sh.
  • Telemetria SAP: zbieranie defaultTrace.* i logów RMI‑P4.
  • Monitoring chmury: alerty na AuthorizeSecurityGroupIngress/Egress dla portów 50004–59904.
  • Wizualizacja źródeł z Internetu próbujących P4 (Zeek/FW).

CISO (strategiczna)

  • Patch wg SAP #3634501 + hardening #3660659 na wszystkich krajobrazach.
  • Segmentacja: P4 tylko z sieci admin/jump‑host; brak ekspozycji publicznej.
  • WAF/NGFW: allowlista + wymuszenie P4S (TLS) tam gdzie możliwe.
  • Ćwiczenia IR: scenariusz RCE w SAP; gotowe playbooki i retencja logów ≥ 90 dni.
  • Przegląd uprawnień dla kont procesu AS Java; zasada najmniejszych uprawnień.

CVE-2019-11580 — Atlassian Crowd/Crowd Data Center RCE przez pdkinstall

TL;DR

Krytyczna luka w Atlassian Crowd i Crowd Data Center umożliwiała (bez uwierzytelnienia) przesłanie i zainstalowanie arbitralnego pluginu przez endpoint administracyjny — w efekcie zdalne wykonanie kodu (RCE). Wpływ: pełne przejęcie hosta aplikacyjnego/Tomcata, często zakończone doinstalowaniem webshella i dalszą penetracją sieci. Naprawa: aktualizacja do wersji 3.0.5/3.1.6/3.2.8/3.3.5/3.4.4 lub nowszej; doraźnie usunięcie paczki pdkinstall-plugin. Detekcja: szukaj żądań do /crowd/admin/uploadplugin.action oraz anomalii „java → sh/cmd” na hoście.


Krótka definicja techniczna

CVE‑2019‑11580 wynika z błędnie pozostawionego w buildach produkcyjnych pluginu developerskiego pdkinstall, który pozwalał (także bez autoryzacji) na upload i instalację komponentów OSGi/JAR. Umożliwia to instalację złośliwego pluginu i wykonanie kodu w kontekście procesu aplikacyjnego (Tomcat/Java), co skutkuje RCE.


Gdzie występuje / przykładowe platformy

  • Systemy: Linux/Unix (typowo), Windows (usługa Crowd/Tomcat).
  • Środowiska: bare metal, VM (ESXi/Hyper‑V), kontenery/K8s (Crowd w kontenerze lub jako Helm chart), reverse proxy (NGINX/Apache), WAF.
  • Chmury: AWS (EC2 + ALB/WAF), Azure (VM + App Gateway/WAF), GCP (Compute Engine + HTTP(S) LB).
  • Tożsamość: Crowd integruje się z AD/LDAP/Azure AD/M365, ale sama luka dotyczy Crowd, nie tych usług.

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

  • Przyczyna: w buildach Crowd błędnie włączono pdkinstall development plugin. Pozwalał on na instalację pluginów również na instancjach produkcyjnych.
  • Wektor: żądanie HTTP do endpointu administracyjnego odpowiedzialnego za upload pluginów (np. ścieżka zawierająca /crowd/admin/uploadplugin.action). Po stronie serwera plugin jest ładowany i wykonywany w kontekście aplikacji.
  • Skutki: wykonanie dowolnego kodu (Java/serwlety), możliwość dropu webshella, ruchu bocznego, kradzieży poświadczeń i pivotu. W praktyce technika była powszechnie wykorzystywana do instalacji webshelli.
  • Zasięg wersji: dotyczy wersji 2.1.0 ≤ v < 3.0.5, 3.1.0 ≤ v < 3.1.6, 3.2.0 ≤ v < 3.2.8, 3.3.0 ≤ v < 3.3.5, 3.4.0 ≤ v < 3.4.4; naprawione w 3.0.5 / 3.1.6 / 3.2.8 / 3.3.5 / 3.4.4. CVSS v3.1: 9.8 (CRITICAL).

Artefakty i logi (SOC „punkty zaczepienia”)

ŹródłoEID / typCo obserwowaćPrzykłady / uwagi
Web access (NGINX/Apache/ALB/WAF)HTTP accessŻądania do /crowd/admin/uploadplugin.action, metody POST/PUT, wzrost 4xx/5xx przed sukcesemEndpoint potwierdzony w analizach; logi WAF/ALB/AGW zawierają URI/metodę.
Aplikacja Crowd (atlassian-crowd.log)log4jWpisy dot. instalacji/ładowania pluginów, błędów UPM, wyjątków OSGiLokalizacja/konfiguracja logów Crowd.
Tomcat (catalina.out)logNiespodziewane błędy serwletów/przeładowanie klas tuż po podejrzanym żądaniuCrowd loguje zarówno do własnego logu, jak i Tomcata.
Windows4688 (Process Create), 7045 (Service Install), Sysmon 1/3/11ParentImage=java.exe uruchamia cmd.exe/powershell.exe, sieć wychodząca, tworzenie JAR w katalogach pluginówKorelować z czasem żądań HTTP
Linuxauditd EXECVE / EDRPPID=java uruchamia /bin/sh, curl/wget, „reverse shell” artefakty
K8s (jeśli Crowd w K8s)Ingress/Nginx accessURI jak wyżej; wzrost 5xx; nietypowe źródła
AWSWAF/ALB logs (CloudWatch/S3)httpRequest.uri zawiera ścieżkę; metoda POSTCloudWatch Logs Insights/Athena do analizy
AzureApp Gateway/WAFrequestUri_s zawiera ścieżkę; httpMethod_s = POSTDane w AzureDiagnostics
M365nie dotyczy bezpośrednioCrowd integruje się z M365/IdP, ale luka jest po stronie Crowd
CloudTrailnie dotyczy (aplikacyjny HTTP, nie API AWS)Traktuj CloudTrail pobocznie (zmiany infra)

Detekcja (praktyczne reguły)

Sigma (webserver → próby uploadu pluginu)

title: Atlassian Crowd CVE-2019-11580 - Podejrzany upload pluginu
id: 4c8f5ee1-7f6a-4a7c-9b8e-cc9a2cfe9e9a
status: experimental
description: Wykrywa żądania do endpointu uploadu pluginów Crowd często nadużywanego w CVE-2019-11580.
references:
  - https://confluence.atlassian.com/crowd/crowd-security-advisory-2019-05-22-970260700.html
  - https://nvd.nist.gov/vuln/detail/CVE-2019-11580
  - https://www.rapid7.com/db/modules/exploit/multi/http/atlassian_crowd_pdkinstall_plugin_upload_rce/
logsource:
  category: webserver
detection:
  sel_path:
    url|contains: '/crowd/admin/uploadplugin.action'
    cs-uri-stem|contains: '/crowd/admin/uploadplugin.action'
  sel_method:
    http_method|contains:
      - POST
      - PUT
    cs-method|contains:
      - POST
      - PUT
  condition: sel_path and sel_method
fields:
  - src_ip
  - url
  - http_user_agent
  - http_referer
  - status
falsepositives:
  - Legalna instalacja/aktualizacja pluginu przez admina (okno serwisowe)
level: high
tags:
  - attack.T1190
  - cve.2019-11580

(endpoint/metoda potwierdzone w źródłach)

Splunk (SPL) — logi www

index=web (sourcetype=access_combined OR sourcetype=aws:alb:accesslogs OR sourcetype=nginx:ingress)
| eval uri=coalesce(cs_uri_stem, uri_path, request, uri)
| eval method=coalesce(cs_method, method, http_method)
| search uri="/crowd/admin/uploadplugin.action" method IN ("POST","PUT")
| stats count min(_time) as first max(_time) as last values(status) as http_status by src_ip, uri, method, useragent
| where count>=1

KQL (Azure) — App Gateway/WAF

AzureDiagnostics
| where Category in ("ApplicationGatewayAccessLog","ApplicationGatewayFirewallLog")
| where requestUri_s has "/crowd/admin/uploadplugin.action"
| where httpMethod_s in ("POST","PUT")
| project TimeGenerated, clientIP_s, requestUri_s, httpMethod_s, httpStatus_d, userAgent_s

AWS — CloudWatch Logs Insights (WAF/ALB)

fields @timestamp, httpRequest.clientIp, httpRequest.uri, httpRequest.httpMethod, terminatingRuleId
| filter httpRequest.uri like '/crowd/admin/uploadplugin.action'
| filter httpRequest.httpMethod in ['POST','PUT']
| sort @timestamp desc

Elastic / EQL — post‑exploitation na hoście (Java → shell)

process where event.type == "start" and
  process.parent.name : ("java","java.exe","tomcat","catalina.sh","catalina.bat") and
  process.name : ("bash","sh","cmd.exe","powershell.exe","curl","wget","nc","socat")

Heurystyki / korelacje (co łączyć)

  • Łańcuch czasowy: (1) żądanie do /crowd/admin/uploadplugin.action(2) nagły 200/302 lub 5xx→200 → (3) na hoście java uruchamia sh/cmd(4) połączenie wychodzące na nietypowe IP/port.
  • Integracja z WAF: wysoki odsetek 4xx/5xx na tej ścieżce + próby multipart POST od pojedynczego źródła.
  • FIM/baseline: nowe .jar w katalogach pluginów Crowd; nagłe zmiany w atlassian-bundled-plugins.zip.

False positives / tuning

  • Legalne okna administracyjne (instalacja/aktualizacja pluginów) — stosuj allowlist IP/adminów oraz korelację z change window.
  • Skanery podatności/Nuclei — zwykle GET/HEAD i brak dalszych artefaktów hostowych.
  • Reverse proxy health checks — nie używają POST/PUT na admin‑endpointach.
    Tuning: ogranicz alerty do POST/PUT + 2xx/3xx i wyklucz znane sieci adminów; koreluj z host‑EDR (Java→shell).

Playbook reagowania (IR) — kroki & komendy

Kontekst tylko defensywny. Wykonuj wyłącznie w środowisku, którego jesteś administratorem.

  1. Triage & potwierdzenie
    • Sprawdź wersję Crowd (podatne pasma); jeżeli poniżej 3.4.4 (lub odpowiedni fix dla linii), traktuj jako incydent krytyczny.
    • Przejrzyj WAF/ALB/NGINX: żądania do /crowd/admin/uploadplugin.action.
  2. Izolacja
    • Tymczasowo zablokuj dostęp do ścieżki na WAF/reverse proxy (rule deny URI).
    • Rozważ odłączenie hosta od Internetu (zachowując dostęp IR).
  3. Zachowanie dowodów
    • Zrzut logów: web, atlassian-crowd.log, catalina.out; snapshot VM.
    • Hash/backup katalogów pluginów.
  4. Łowiectwo zagrożeń (host)
    • Linux: grep -E "uploadplugin|multipart|pdkinstall" /var/log/nginx/access.log* grep -i "plugin" $CROWD_HOME/logs/atlassian-crowd.log find $CROWD_HOME -type f -name "*.jar" -mmin -4320
    • Windows (PowerShell/Sysmon): filtruj EventID 1 (ParentImage=java.exe) → cmd.exe/powershell.exe.
  5. Eradykacja
    • Patch do wersji z poprawką (3.0.5/3.1.6/3.2.8/3.3.5/3.4.4 lub nowszej).
    • Jeżeli patch odroczony: usuń pdkinstall-plugin z instalacji i bundla (instrukcja vendor).
    • Usuń nieznane pluginy, przywróć baseline, zrestartuj usługę (kontrolując logi po starcie).
  6. Odzyskiwanie i weryfikacja
    • Testy funkcjonalne, monitorowanie podwyższone przez 7–14 dni, rotacja haseł/kluczy używanych przez Crowd (integracje AD/LDAP).
  7. Lekcje / hardening
    • WAF rule per‑URI, segmentacja DMZ, wymuszenie SSO/AdminVPN, FIM katalogów pluginów.

Przykłady z kampanii / case studies

  • CISA (AA21‑209A): luka była rutynowo wykorzystywana do instalacji webshelli na serwerach ofiar.
  • KEV: CVE‑2019‑11580 ujęty w CISA Known Exploited Vulnerabilities — zalecana pilna aktualizacja.
  • Detekcje rynkowe: dostawcy NDR/IDS publikowali sygnatury/artefakty dla tego CVE (m.in. opis ryzyka i łańcucha eksploatacji).

Lab (bezpieczne testy) — przykładowe komendy

Uwaga: Poniższe testy nie eksploatują luki. Służą do walidacji detekcji w kontrolowanym labie.

  1. Generowanie śladu www (WAF/NGINX/ALB)
# symulacja niegroźnego ruchu do admin-URI (powinno zwrócić 401/403/404/405)
curl -I -X POST https://lab.example.com/crowd/admin/uploadplugin.action
  1. Walidacja korelacji hostowej (Linux)
# kontrolowany start i szybkie zakończenie powłoki, do sprawdzenia korelacji "java -> sh"
sudo -u crowd bash -c 'true'   # wygeneruj bezpieczny event exec
  1. FIM (plik JAR w katalogu pluginów — lab only)
# NIE w produkcji: sprawdź, czy FIM łapie nowe JAR-y
touch $CROWD_HOME/shared/plugins/test-fim.jar

Mapowania (Mitigations, powiązane techniki)

Mitigations (ATT&CK Enterprise):

  • M1051 — Update Software: szybka aktualizacja Crowd do wersji zawierającej fix.
  • M1042 — Disable or Remove Feature or Program: usunięcie pdkinstall-plugin i zbędnych komponentów.
  • M1030 — Network Segmentation: odseparowanie Crowd w DMZ/segmencie publikacyjnym.
  • M1047 — Audit: stały przegląd logów aplikacyjnych i kontroli integrity komponentów.

Powiązane techniki ATT&CK:

  • T1190,
  • T1505.003,
  • T1105,
  • T1059 .

Źródła / dalsza literatura

  • Atlassian: Crowd Security Advisory 2019‑05‑22 — wersje podatne, wersje naprawcze, mitigacja. (Atlassian Documentation)
  • NVD: opis i CVSS dla CVE‑2019‑11580. (NVD)
  • Rapid7 (opis modułu wykrywającego endpoint uploadu pluginu). (Rapid7)
  • CISA: Top Routinely Exploited Vulnerabilities — użycie do instalacji webshelli; KEV. (CISA)
  • Atlassian: lokalizacja i konfiguracja logów Crowd/Tomcat. (Atlassian Documentation)
  • ATT&CK: T1190, T1505.003, T1105, T1059 (wersje i zakres). (MITRE ATT&CK)

Checklisty dla SOC / CISO

SOC (operacyjna):

  • Monitoruj POST/PUT na /crowd/admin/uploadplugin.action (www/WAF/ALB).
  • Koreluj z hostem: javash/cmd, nowe *.jar w katalogach pluginów.
  • Wdróż reguły Sigma/SPL/KQL z §7 i testy z §12.
  • Ustal allowlist IP adminów Crowd i okna serwisowe.
  • Myślistwo: poszukaj webshelli/serwletów nietypowych (hash/baseline).

CISO/Architekt (strategiczna):

  • Patch policy: Crowd ≥ naprawione wersje (3.0.5/3.1.6/3.2.8/3.3.5/3.4.4) lub nowsze.
  • Segmentacja DMZ i WAF z regułą blokującą wrażliwy URI.
  • FIM katalogów pluginów i podpisywanie komponentów (jeśli możliwe).
  • Przeglądy audit logów UPM i retencja logów aplikacyjnych.
  • Procedury IR: izolacja, backup artefaktów, rotacja sekretów systemów zintegrowanych (AD/LDAP/M365).

Status vendor: aktualizacja opublikowana 22 maja 2019; patche dostępne dla linii 3.0.x–3.4.x; problem jest ujęty w KEV.