Archiwa: Windows - Strona 43 z 65 - Security Bez Tabu

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-2025-0108 — PAN‑OS Authentication Bypass

TL;DR

  • Błąd w WebUI PAN‑OS pozwala bez uwierzytelnienia wywołać określone skrypty PHP, jeśli atakujący ma sieciowy dostęp do portu zarządzania (typowo 443/4443). Nie daje sam w sobie RCE, ale narusza poufność/integralność i bywa łańcuszkowany z innymi lukami (np. CVE‑2024‑9474, CVE‑2025‑0111) do pełnego przejęcia.
  • Największe ryzyko: publicznie dostępny interfejs zarządzania lub profil zarządzania na interfejsie dataplane. GlobalProtect portale/bramy nie są podatne (chyba że ma profil zarządzania).
  • Naprawa: aktualizacje do wersji hotfix wymienionych niżej + ograniczenie dostępu IP/segmentacja. Dodatkowo abonenci Threat Prevention mogą blokować próby sygnaturami Threat ID 510000/510001.
  • ATT&CK: T1190 (Exploitation of public‑facing admin UI). Priorytet: krytyczny, jeśli WebUI jest osiągalne z Internetu.

Krótka definicja techniczna

CVE‑2025‑0108 to obejście uwierzytelniania w WebUI PAN‑OS, umożliwiające niezalogowanemu napastnikowi z dostępem sieciowym do WebUI wywołanie wybranych skryptów PHP. Samo wywołanie nie daje RCE, ale może ujawniać/zmieniać informacje, a w praktycznych łańcuchach z CVE‑2024‑9474 (PE/CI) i CVE‑2025‑0111 (file read) prowadzi do eskalacji.


Gdzie występuje / platformy

  • Palo Alto Networks: PA‑Series, VM‑Series, CN‑Series, Panorama — wersje PAN‑OS wymienione jako podatne; Cloud NGFW i Prisma Accessniepodatne.
  • Środowiska uruchomieniowe: sprzęt on‑prem, ESXi/KVM/Hyper‑V (VM‑Series), chmury AWS/Azure/GCP (VM‑Series).
  • Usługi powiązane: GlobalProtect portale/gateways nie są podatne, ale profil zarządzania na takim interfejsie naraża urządzenie (często port 4443).

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

Atakujący wysyła specjalnie ułożone żądania HTTP/S do publicznie osiągalnego WebUI PAN‑OS. Błąd w ścieżce uwierzytelniania pozwala ominąć kontrolę logowania i wołać część skryptów PHP zaplecza WebUI. Choć producent podkreśla, że samo to nie daje RCE, realnie umożliwia pozyskanie wrażliwych informacji lub zmianę stanu (konf./sesje), co w połączeniu z innymi błędami (np. CVE‑2024‑9474, CVE‑2025‑0111) bywa wykorzystywane do pełnego przejęcia administracyjnego. Lukę uznano za atakowaną (observed exploit attempts) i wpisano do CISA KEV. Skuteczność wynika z: (1) powszechności błędnych ekspozycji WebUI, (2) niska złożoność i brak wymagań uprawnień/UI, (3) możliwość łańcuchowania.

Wersje/fixy (skrót):

  • 10.1: podatne < 10.1.14‑h9; naprawa ≥ 10.1.14‑h9
  • 10.2: podatne niższe niż 10.2.7‑h24 / 10.2.8‑h21 / 10.2.9‑h21 / 10.2.10‑h14 / 10.2.11‑h12 / 10.2.12‑h6 / 10.2.13‑h3; naprawy ≥ tych wersji
  • 11.1: podatne < 11.1.2‑h18 / < 11.1.4‑h13 / < 11.1.6‑h1; naprawy ≥ tych wersji
  • 11.2: podatne < 11.2.4‑h4 / < 11.2.5; naprawy ≥ 11.2.4‑h4 / 11.2.5
  • EoL (11.0/10.0/9.x): domyślnie uważane za podatne, bez planu poprawek.

Artefakty i logi

ŹródłoTyp/ZdarzenieNajważniejsze polaWskazówki / przykład
PAN‑OS Threat logsBlokady sygnatur Threat ID 510000/510001threat_id/threatid, threat_name, action, src, dst, urlDetekcja prób CVE‑2025‑0108 (wymaga subskrypcji Threat Prevention).
PAN‑OS Traffic logsPołączenia do WebUI (443/4443)dst_port, app (ssl/web-browsing), rule, src, dstRuch z niezaufanych ASN/IP do IP zarządzania; brak reguły NAT/SNAT dla mgmt.
PAN‑OS System/Config logsNieoczekiwane zmiany/akcje w WebUItype=SYSTEM/CONFIG, admin, client, cmd, resultZmiany konfiguracyjne z nietypowych adresów źródłowych po ruchu na 4443.
Cortex Data Lake / CEFZnormalizowane pola CEF (CommonSecurityLog)DeviceVendor="Palo Alto Networks", DeviceProduct="PAN-OS", DeviceEventClassIDW Sentinel KQL filtrujemy DeviceProduct has 'PAN-OS'.
CloudTrail (meta‑kontrola)Zmiany SG/VPC odsłaniające 443/4443AuthorizeSecurityGroupIngress, RevokeSecurityGroupIngressWykrywanie ekspozycji WebUI dla VM‑Series w AWS.
K8s audit / M365 / Windows EIDNie dotyczy tej luki (brak lokalnych EID/M365/K8s).

Detekcja (praktyczne reguły)

Sigma — próby CVE‑2025‑0108 (Threat Prevention lub ślady WebUI)

title: PAN-OS WebUI Auth Bypass Attempt (CVE-2025-0108)
id: 0a0d2c8b-3c7a-4d0e-9a7e-0d9b5b7f0108
status: experimental
description: Wykrywa próby obejścia uwierzytelniania WebUI PAN-OS (CVE-2025-0108) na podstawie sygnatur TP lub nietypowych wywołań WebUI.
references:
  - https://security.paloaltonetworks.com/CVE-2025-0108
logsource:
  category: firewall
  product: paloalto
detection:
  tp_ids:
    threat_id|contains:
      - '510000'
      - '510001'
    action|contains:
      - 'block'
      - 'reset'
  webui_suspicious:
    dst_port|in: [443, 4443]
    app|contains:
      - 'ssl'
      - 'web-browsing'
    url|endswith: '.php'
    user|isempty: true
  condition: tp_ids OR webui_suspicious
falsepositives:
  - Skanery podatności/monitoring pochodzące z dozwolonych adresów
level: high
tags:
  - attack.t1190
  - cve.2025-0108

Uwaga: dopasuj nazwy pól do Twojego parsera (np. threatid/threat_id, url, dstport). Sygnatury 510000/510001 wg advisora producenta.

Splunk (SPL)

A) Trafienia sygnatur 510000/510001 (pan:threat)

index=pan_logs sourcetype=pan:threat
| search threatid IN (510000, 510001)
| stats count min(_time) as firstSeen max(_time) as lastSeen values(src_ip) values(dst_ip) by threatid, threat, action

(„threatid”/„threat” mogą się różnić w zależności od Add‑on; sprawdź normalizację pól).

B) Dostępy do WebUI z Internetu (pan:traffic)

index=pan_logs sourcetype=pan:traffic (dest_port=443 OR dest_port=4443)
| eval isPublic=if(cidrmatch("0.0.0.0/0", src_ip) AND 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)), 1, 0)
| where isPublic=1
| stats dc(src_ip) as uniqIPs values(app) values(rule) by dest_ip, dest_port

C) Korelacja: po ruchu na WebUI następuje Config change

(index=pan_logs sourcetype=pan:traffic (dest_port=443 OR dest_port=4443) src_ip!=10.0.0.0/8)
| bin _time span=5m
| stats values(src_ip) as srcs values(dest_ip) as mgmtIPs by _time
| join _time [ search index=pan_logs sourcetype=pan:config result="Succeeded"
              | stats values(admin) as admins values(client) as clients by _time ]
| table _time mgmtIPs srcs admins clients

Microsoft Sentinel / KQL (CommonSecurityLog)

A) Sygnatury TP (CEF)

CommonSecurityLog
| where DeviceVendor =~ "Palo Alto Networks" and DeviceProduct has "PAN-OS"
| where DeviceEventClassID =~ "threat"
| extend kv = parse_kv(AdditionalExtensions, ";", "=")
| where tostring(kv.threatid) in ("510000","510001") or tostring(kv.ThreatID) in ("510000","510001")
| summarize count(), FirstSeen=min(TimeGenerated), LastSeen=max(TimeGenerated) by SourceIP, DestinationIP, tostring(kv.threat_name)

B) Dostęp do WebUI z niezaufanych adresów

CommonSecurityLog
| where DeviceVendor =~ "Palo Alto Networks" and DeviceProduct has "PAN-OS"
| where DestinationPort in ("443","4443") and ApplicationProtocol in ("ssl","http","https")
| where not(ipv4_is_private(SourceIP))
| summarize dcount(SourceIP), make_set(SourceIP, 5) by DestinationIP, DestinationPort

AWS (CloudTrail/CLI/Flow Logs)

A) Zmiany SG otwierające WebUI na świat (CloudTrail)

AWSCloudTrail
| where EventName in ("AuthorizeSecurityGroupIngress","ModifyNetworkInterfaceAttribute")
| extend open443 = tostring(parse_json(RequestParameters).ipPermissions) has "fromPort\":443"
| extend open4443 = tostring(parse_json(RequestParameters).ipPermissions) has "fromPort\":4443"
| where open443 or open4443
| where tostring(parse_json(RequestParameters).ipPermissions) has "0.0.0.0/0"

B) Szybki audyt CLI (EC2 SG)

aws ec2 describe-security-groups \
  --query "SecurityGroups[?IpPermissions[?((FromPort==443||FromPort==4443)&&contains(IpRanges[].CidrIp, '0.0.0.0/0'))]].{GroupId:GroupId,Name:GroupName}" \
  --output table

C) VPC Flow Logs (CloudWatch Logs Insights) – ruch do 4443

fields @timestamp, srcAddr, dstAddr, dstPort, action
| filter dstPort in [443,4443] and action="ACCEPT"
| sort @timestamp desc
| limit 100

Elastic (EQL / KQL)

EQL – ruch do WebUI z Internetu + ślady PHP w URL

any where observer.vendor == "Palo Alto Networks" and
          event.dataset in ("panw.traffic","panw.threat") and
          destination.port in (443, 4443) and
          (url.path regex ".*\\.php(\\?|$)") and
          not cidrmatch(source.ip, "10.0.0.0/8", "172.16.0.0/12", "192.168.0.0/16")

Heurystyki / korelacje

  • Łańcuch czasowy (T1190 → konfiguracja): (1) wzrost 4xx/5xx/nieudanych prób na WebUI → (2) trafienia sygnatur 510000/510001 → (3) Config/System z nietypowych IP → (4) nowe sesje admina/zmiany polityk.
  • Ekspozycja → atak: zdarzenia CloudTrail/SG otwierające 443/4443 dla 0.0.0.0/0 w VPC z VM‑Series + ruch do WebUI + zmiany w PAN‑OS.
  • Łańcuch z innymi CVE: obserwuj następujące wzorce po nieudanym logowaniu: wywołania prowadzące do PE/CI (CVE‑2024‑9474) i file read (CVE‑2025‑0111).

False positives / tuning

  • Skanery podatności / monitoring (np. z adresów skanerów wewnętrznych).
  • Automaty / API do kopii konfiguracji działające z uprzywilejowanych podsieci.
  • CDN/Proxy: pole XFF może maskować źródło — uwzględnij parsowanie XFF.
    Tuning: biała lista skanerów; zawężenie do dest_ip = znane IP zarządzania; korelacja z action != allow lub z sygnaturami TP.

Playbook reagowania (IR)

  1. Izoluj ekspozycję: natychmiast zablokuj dostęp do WebUI z Internetu (ACL/SG/WAF), ogranicz do jump‑boxa/VPN i adresów zaufanych.
  2. Zastosuj poprawki: podnieś PAN‑OS do wersji:
    • 10.1 ≥ 10.1.14‑h9; 10.2 : 10.2.7‑h24 / 10.2.8‑h21 / 10.2.9‑h21 / 10.2.10‑h14 / 10.2.11‑h12 / 10.2.12‑h6 / 10.2.13‑h3; 11.1 : 11.1.2‑h18 / 11.1.4‑h13 / 11.1.6‑h1; 11.2 ≥ 11.2.4‑h4/11.2.5.
  3. Włącz sygnatury: Threat Prevention 510000/510001 (Apps & Threats ≥ 8943). Zweryfikuj trafienia.
  4. Przegląd logów:
    • Threat/Traffic: próby na 443/4443, hosty źródłowe, geolokacja.
    • System/Config: nietypowe admin / client, zmiany reguł, importy konfiguracji.
  5. Hunting łańcucha: wyszukaj wskaźniki wykorzystania CVE‑2024‑9474/CVE‑2025‑0111 po czasie prób CVE‑2025‑0108.
  6. Twarde utwardzanie: odseparuj zarządzanie (VLAN/VRF/DMZ), wymuś MFA dla adminów, wyłącz HTTP, zostaw tylko HTTPS z certyfikatem i restrykcjami IP.
  7. Rotacja poświadczeń / przegląd kont: zmień hasła lokalnych adminów, sprawdź nieznane konta.
  8. Lessons learned: dodaj kontrolę CI/CD zmian SG, testy ekspozycji mgmt (IaC policy), dashboardy SOC.

Wybrane komendy PAN‑OS (CLI) – diagnostyka/bezpieczne

Uruchamiaj w oknie serwisowym, po kopii configu.

show system info
show admins
show config running | match management
show session all filter dst port 4443
show log system direction equal backward query '( subtype eq general )'
show log config direction equal backward

Przykłady z kampanii / case studies

  • Producent: „Palo Alto Networks zaobserwował próby łańcuchowania CVE‑2025‑0108 z CVE‑2024‑9474 i CVE‑2025‑0111 na niezałatanych i źle zabezpieczonych WebUI.”
  • KEV: wpis CISA KEV z datą dodania 2025‑02‑18 potwierdza eksploatację w praktyce.
  • Niezależne analizy: raporty Armis/FortiGuard omawiają aktywne wykorzystanie i łańcuszkowanie.

Lab (bezpieczne testy)

Cel: zweryfikować detekcję i twarde zasady bez ujawniania szczegółów exploitu. Wykonuj w odseparowanym labie.

  1. Topologia: VM‑Series (lab), jump‑host (allowlist), maszyna „Internet” (deny).
  2. Ekspozycja kontrolowana: tymczasowo otwórz 4443 tylko dla jump‑host; potwierdź, że „Internet” jest blokowany.
  3. Generacja ruchu: z „Internet” wyślij neutralne żądania HTTPS do WebUI (np. curl -k https://FW:4443/) i obserwuj logi Traffic/Threat.
  4. Sygnatury: zaktualizuj Applications and Threats do wersji ≥ 8943 i zweryfikuj, że blokady 510000/510001 pojawiają się przy próbach wzorcowych (narzędzie skanujące w labie).
  5. Kwerendy: uruchom reguły SPL/KQL/EQL z pkt 7 i sprawdź alarmy.

(Nie wykonujemy czynności ukierunkowanych na obejście zabezpieczeń ani odtwarzania łańcucha exploitu.)


Mapowania (Mitigations, powiązane techniki)

  • ATT&CK Technika: T1190 Exploit Public‑Facing Application (Initial Access).
  • Mitigations (ATT&CK):
    • M1030 Network Segmentation – izoluj płaszczyznę zarządzania; dostęp tylko z jump‑boxa.
    • M1031 Network Intrusion Prevention – stosuj IPS/WAF do ruchu do WebUI; sygnatury TP 510000/510001.
    • M1050 Exploit Protection – „virtual patching”, blokady behawioralne; polityki hardeningu.
  • Powiązane CVE/techniki do korelacji: CVE‑2024‑9474 (eskalacja/CI), CVE‑2025‑0111 (file read) — korelować jako etap po T1190.

Źródła / dalsza literatura

  • Palo Alto Networks — oficjalny advisory CVE‑2025‑0108 (wersje, sygnatury, status exploitation, mitigation). (Palo Alto Networks Security)
  • NVD CVE‑2025‑0108 — CVSS v3.1=9.1, wpis KEV (data/due date). (NVD)
  • MITRE ATT&CK T1190 (wersja 2.8; modyfikacja 2025‑10‑24). (MITRE ATT&CK)
  • ATT&CK Version History — aktualna wersja v18.1 (od 2025‑10‑28). (MITRE ATT&CK)
  • Armis — łańcuch wykorzystania 0108+9474+0111. (Armis)
  • FortiGuard Labs — aktywna eksploatacja. (FortiGuard)
  • Microsoft — CommonSecurityLog / KQL dla Palo Alto (CEF). (Microsoft Learn)
  • PAN‑OS log fields (Traffic/Threat/System) — dokumentacja. (docs.paloaltonetworks.com)

Checklisty dla SOC / CISO

SOC – dziś

  • Czy żaden WebUI PAN‑OS nie jest dostępny z Internetu? (skan + SG/ACL)
  • Czy mamy aktualizację do naprawionych wersji (patrz lista)?
  • Czy Threat Prevention włączony + sygnatury 510000/510001 działają?
  • Czy działają alerty T1190: ruch na 443/4443 do IP zarządzania, zdarzenia Threat/Config?
  • Korelacja z CVE‑2024‑9474 / CVE‑2025‑0111 po czasie prób.

CISO – w tym kwartale

  • Segmentacja płaszczyzny zarządzania (M1030) i MFA dla adminów.
  • Policy as Code: bloker IaC zmian SG/VPC otwierających 443/4443.
  • Przegląd EoL PAN‑OS (9.x/10.0/11.0) i plan migracji.
  • Testy scenariuszy T1190 w purple‑team (bez exploitu produkcyjnego).

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.

Microsoft wypuszcza aktualizację poza cyklem, która naprawia pętlę instalacji Hotpatch w Windows 11

Wprowadzenie do problemu / definicja luki

Microsoft potwierdził błąd powodujący, że listopadowa aktualizacja Hotpatch KB5068966 dla Windows 11 (25H2) była ponownie oferowana po instalacji, co skutkowało pętlą niekończących się instalacji na część systemów. Aby wyeliminować problem, producent udostępnił aktualizację poza standardowym cyklem (out-of-band): KB5072753. Aktualizacja kumulacyjna OOB zawiera wcześniejsze poprawki oraz dodatkową zmianę usuwającą pętlę reoferty.

W skrócie

  • Co się stało? Hotpatch z 11 listopada 2025 r. (KB5068966) po instalacji był ponownie proponowany przez Windows Update na niektórych urządzeniach z Windows 11 25H2, tworząc pętlę instalacji.
  • Co to naprawia? Aktualizacja KB5072753 (wydana 20 listopada 2025 r.) usuwa błąd i konsoliduje wcześniejsze poprawki bezpieczeństwa i jakości.
  • Kogo dotyczy? Przede wszystkim środowiska korzystające z Hotpatch na Windows 11 (25H2) — funkcji oficjalnie wspieranej na edycjach Enterprise/Education i zarządzanej m.in. przez Windows Autopatch.
  • Co zrobić? Zainstalować KB5072753 na dotkniętych urządzeniach; w razie problemów skorzystać z procedur diagnostycznych Hotpatch (odinstalowanie hotpatcha i instalacja najnowszej standardowej LCU).

Kontekst / historia / powiązania

Hotpatch zdejmuje wymóg każdorazowego restartu po aktualizacji, skracając okna serwisowe. Do niedawna rozwiązanie było kojarzone z Windows Server i Azure Automanage, ale od wersji 24H2/25H2 pojawiło się także na kliencie Windows 11 (Enterprise). W praktyce zmniejsza to przestoje i upraszcza okna utrzymaniowe w firmach.

W ostatnich tygodniach widzieliśmy też incydenty wokół hotpatchowania na serwerach (np. wpływ poprawek WSUS). Choć bieżący problem dotyczy klienta (Windows 11), administratorzy powinni patrzeć na hotpatch całościowo — zarówno po stronie endpointów, jak i serwerów.

Analiza techniczna / szczegóły luki

  • Objaw: po skutecznej instalacji KB5068966 Windows Update ponownie oferował ten sam pakiet, co powodowało cykliczne próby instalacji i niejednoznaczny stan zgodności w narzędziach zarządzania. Microsoft zaktualizował poradnik KB, potwierdzając re-offer błąd.
  • Naprawa:KB5072753 to kumulacyjny hotpatch „out-of-band” dla Windows 11 25H2, który:
    • zawiera poprzednie poprawki bezpieczeństwa i jakości,
    • dodaje dodatkową poprawkę usuwającą pętlę ponownej oferty,
    • jest połączony z najnowszym SSU (servicing stack), więc nie wymaga specjalnej kolejności wdrożenia.
  • Wymagania/zakres: Hotpatch na kliencie wspierany jest oficjalnie na Windows 11 Enterprise / Education w określonych warunkach (m.in. VBS włączone; specyficzne wymagania dla ARM64/CHPE).

Praktyczne konsekwencje / ryzyko

  • Operacyjne zamieszanie: narzędzia zgodności (Intune/ConfigMgr/WSUS/raporty) mogły wskazywać brak pełnej zgodności mimo faktycznej instalacji hotpatcha.
  • Ryzyko „patch fatigue”: częste reoferty zwiększają liczbę cykli skanowania i potencjalnie obciążają łącza/WU.
  • Okna serwisowe: choć Hotpatch minimalizuje restarty, problem mógł wywołać dodatkowe przebiegi instalacyjne w godzinach produkcyjnych.
  • Wrażenie niestabilności: po wcześniejszych incydentach wokół aktualizacji, część organizacji może ostrożniej traktować szybkie zatwierdzanie hotpatchy. (Wnioski na podstawie dokumentacji MS i wcześniejszych raportów o hotpatch/WSUS).

Rekomendacje operacyjne / co zrobić teraz

  1. Priorytetowo wdrożyć KB5072753 w pierścieniach pilotażowych, a następnie w całej organizacji (Windows 11 25H2 z Hotpatch). Zweryfikować zainstalowaną wersję Hotpatch/OS Build (26200.7093).
  2. Odświeżyć zgodność: wymusić skanowanie Windows Update i ponowną ocenę zgodności w Intune/ConfigMgr po instalacji OOB.
  3. Procedury awaryjne Hotpatch: w razie nietypowych symptomów skorzystać z oficjalnej ścieżki: odinstalować hotpatch i zainstalować najnowszą standardową LCU (z restartem), zgodnie z poradnikiem Microsoft.
  4. Komunikacja z użytkownikami: poinformować, że instalacja OOB jest bezpieczna, a restarty nie powinny być wymagane (o ile nie przechodzimy na LCU).
  5. Monitorować release notes Hotpatch i stronę KB5068966 pod kątem kolejnych aktualizacji statusu.

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

  • Ten incydent (Windows 11, klient): błąd dotyczył re-offer/loop po stronie Windows Update i został naprawiony KB5072753 (OOB).
  • Niedawne incydenty serwerowe (WSUS/Hotpatch): miały inny charakter (dystrybucja poprawek i wpływ na hotpatching w Windows Server 2025). Dla zespołów, które zarządzają i klientem, i serwerem, to istotne rozróżnienie.

Podsumowanie / kluczowe wnioski

  • Pętla instalacji Hotpatch dla KB5068966 została usunięta przez KB5072753.
  • Organizacje powinny niezwłocznie wdrożyć OOB w swoich pierścieniach, aby ustabilizować raportowanie zgodności i łańcuch aktualizacji.
  • Utrzymujcie polityki Hotpatch i monitoring release notes — funkcja dojrzewa również na kliencie, a szybkie OOB-y mogą się pojawiać.

Źródła / bibliografia

  1. BleepingComputer — ogłoszenie o OOB i kontekście błędu re-offer (Sergiu Gatlan). (BleepingComputer)
  2. Microsoft Support — KB5072753: „November 20, 2025—Hotpatch (Out-of-band)”. (Microsoft Support)
  3. Microsoft Support — KB5068966: „November 11, 2025—Hotpatch”. (Microsoft Support)
  4. Microsoft — Release notes for Hotpatch on Windows 11 Enterprise (24H2/25H2). (Microsoft Support)
  5. Microsoft — Hotpatch updates: przewodnik dot. wycofywania i rozwiązywania problemów (diagnoza/rollback). (Microsoft Learn)

SolarWinds łatka trzy krytyczne luki RCE w Serv-U (CVE-2025-40547/48/49). Zaktualizuj do 15.5.3

Wprowadzenie do problemu / definicja luki

SolarWinds opublikował poprawki dla trzech krytycznych podatności w Serv-U (rozwiązanie MFT/SFTP), które mogą prowadzić do zdalnego wykonania kodu (RCE). Błędy oznaczono jako CVE-2025-40547 (logic error → RCE), CVE-2025-40548 (broken access control → RCE) oraz CVE-2025-40549 (path restriction bypass → RCE). Wszystkie wymagają uprawnień administratora Serv-U do nadużycia, a na Windows ich ryzyko oceniono niżej (z uwagi na domyślne, mniej uprzywilejowane konta usług). Poprawka dostępna jest w wydaniu Serv-U 15.5.3.

W skrócie

  • Wpływ: potencjalne RCE po stronie serwera Serv-U. Wymagane uprawnienia admina w produkcie.
  • Dotyczy wersji: 15.5.2.2.102. Naprawione w 15.5.3 (wydanie z 18 listopada 2025 r.).
  • CVSS: w advisory podano 9.1 (Critical/High); na Windows zaznaczono niższy poziom ryzyka operacyjnego.
  • Dodatkowo: SolarWinds załatał też podatności open redirect i XSS w Observability Self-Hosted (średnia waga).

Kontekst / historia / powiązania

Produkty SolarWinds – w tym Serv-U – były już wcześniej celem ataków; część ich luk widnieje w katalogu CISA Known Exploited Vulnerabilities (KEV), np. CVE-2024-28995 (path traversal w Serv-U). To potwierdza, że błędy w tym ekosystemie bywają szybko wykorzystywane i wymagają pilnych aktualizacji.

Analiza techniczna / szczegóły luki

Poniżej najważniejsze informacje z advisory producenta:

  • CVE-2025-40547 – Logic Abuse → RCE. Błąd logiki, którego nadużycie przez konto administratora Serv-U może skutkować wykonaniem dowolnego kodu. Na Windows ryzyko operacyjne niższe (często mniej-uprzywilejowane konta usług). Dotyczy: 15.5.2.2.102. Naprawa: 15.5.3. CVSS: 9.1.
  • CVE-2025-40548 – Broken Access Control → RCE. Braki w walidacji dostępu; wymagane uprawnienia admina Serv-U. Windows: niższe ryzyko z powodów jak wyżej. Dotyczy: 15.5.2.2.102. Naprawa: 15.5.3. CVSS: 9.1.
  • CVE-2025-40549 – Path Restriction Bypass → RCE. Obejście ograniczeń ścieżek mogące umożliwić wykonanie kodu w obrębie wskazanego katalogu; wymaga uprawnień admina Serv-U. Dotyczy: 15.5.2.2.102. Naprawa: 15.5.3. CVSS: 9.1 (na Windows zaklasyfikowane niżej).

Według notek wydania Serv-U 15.5.3 został opublikowany 18 listopada 2025 r. i stanowi wersję naprawczą dla tych luk.

Praktyczne konsekwencje / ryzyko

Choć nadużycie każdej z luk wymaga konta admina w Serv-U, w praktyce:

  • Lateral movement & post-exploitation: w środowiskach, gdzie napastnik uzyskał już pewne przywileje (np. po kradzieży poświadczeń), podatności te upraszczają eskalację skutków węzła MFT (np. do persistencji lub pivotu).
  • Wpływ na poufność i ciągłość: serwer MFT bywa centralnym punktem wymiany plików; RCE może oznaczać kradzież lub modyfikację transferowanych danych i zakłócenia procesów biznesowych. (Wniosek na podstawie charakteru RCE i roli Serv-U).
  • Ryzyko zgodności: organizacje regulowane (finanse, zdrowie, sektor publiczny) narażone są na niezgodność z wymogami bezpieczeństwa, gdy usterki RCE nie są łatane priorytetowo. (Wniosek ogólny dla klas podatności RCE).

Dodatkowo warto pamiętać, że luki SolarWinds trafiały już do CISA KEV, więc przy braku aktualizacji należy zakładać możliwość szybkiego weaponization przez grupy APT i cybercrime.

Rekomendacje operacyjne / co zrobić teraz

  1. Natychmiast zaktualizuj Serv-U do 15.5.3 na wszystkich hostach (Windows/Linux). Zweryfikuj wersję po aktualizacji.
  2. Przegląd uprawnień: ogranicz liczbę kont admin Serv-U do minimum; włącz MFA/klucze SSH, a tam gdzie możliwe – least privilege dla kont usług. (Dobre praktyki + wskazania advisory nt. mniejszego ryzyka na kontach mniej-uprzywilejowanych).
  3. Telemetria i detekcja: monitoruj procesy Serv-U i katalogi robocze pod kątem anomalii (nieoczekiwane binarki, skrypty, harmonogramy zadań, nowe usługi). Koreluj z logami uwierzytelniania adminów. (Wniosek operacyjny dla RCE).
  4. Segmentacja i hardening: izoluj serwer MFT w wydzielonej strefie, ograniczaj ruch administracyjny (VPN/jump host), wymuś TLS 1.2+/aktualne szyfry. (Wniosek operacyjny).
  5. Threat hunting poaktualizacyjny: sprawdź ślady potencjalnego nadużycia (nietypowe logowania adminów, modyfikacje konfiguracji, nowe eventy/zdarzenia Serv-U) w okresie przed wdrożeniem 15.5.3. (Wniosek operacyjny).
  6. Śledź komunikaty producenta/CISA: jeśli pojawią się sygnały o aktywnej eksploatacji, CISA doda wpisy do KEV – wtedy aktualizacja ma charakter pilny (emergency).

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

  • Wobec CVE-2024-28995 (path traversal, KEV): tegoroczne RCE różnią się wymaganiem PR=High (admin w produkcie), co podbija wpływ po przejęciu konta, ale zmniejsza ryzyko pre-auth. Z kolei CVE-2024-28995 był pre-auth read-only (odczyt plików), lecz z niższymi wymaganiami wstępnymi i został realnie eksploatowany.
  • Wobec wcześniejszych luk w SolarWinds (Orion/Web Help Desk/ARM): ekosystem SolarWinds historycznie przyciąga atakujących, a pojawienie się nowych RCE – nawet z PR=High – należy traktować priorytetowo w środowiskach o podwyższonych wymaganiach zgodności.

Podsumowanie / kluczowe wnioski

  • Trzy luki (CVE-2025-40547/48/49) w Serv-U umożliwiają RCE po stronie serwera, gdy atakujący ma uprawnienia admina Serv-U. Aktualizacja do 15.5.3 jest obecnie jedynym skutecznym remedium.
  • Historia wcześniejszych incydentów i wpisy w CISA KEV dotyczące SolarWinds sugerują, że opóźnianie poprawek znacząco zwiększa ryzyko.

Źródła / bibliografia

  • SecurityWeek: „SolarWinds Patches Three Critical Serv-U Vulnerabilities”, 20 listopada 2025. (SecurityWeek)
  • SolarWinds Trust Center – Advisory: CVE-2025-40547 (Serv-U Logic Abuse – RCE). (SolarWinds)
  • SolarWinds Trust Center – Advisory: CVE-2025-40548 (Serv-U Broken Access Control – RCE). (SolarWinds)
  • SolarWinds Trust Center – Advisory: CVE-2025-40549 (Serv-U Path Restriction Bypass – RCE). (SolarWinds)
  • SolarWinds Documentation – Serv-U 15.5.3 Release Notes (data wydania: 18.11.2025). (SolarWinds Documentation)

7-Zip pod ostrzałem: aktywne ataki na lukę RCE via symlinki (CVE-2025-11001) — co musisz zrobić teraz

Wprowadzenie do problemu / definicja luki

NHS England Digital poinformowało o aktywnym wykorzystywaniu luki w 7-Zip oznaczonej jako CVE-2025-11001. Błąd dotyczy sposobu obsługi symbolicznych linków (symlinków) w archiwach ZIP i może prowadzić do wykonania dowolnego kodu (RCE) po stronie ofiary w określonych warunkach. Luka została naprawiona w 7-Zip 25.00 (Windows), a dodatkowe wzmocnienia mechanizmów symlinków znalazły się w 25.01. Jeśli wciąż używasz wersji < 25.00, jesteś w strefie ryzyka.


W skrócie

  • Status: aktywnie eksploatowana (potwierdzone przez NHS England Digital 18 listopada 2025 r.).
  • Wpływ: możliwość zapisania plików poza docelowym katalogiem podczas rozpakowywania ZIP (directory traversal), co w sprzyjających warunkach prowadzi do RCE.
  • Platforma: praktycznie Windows; exploit wymaga kontekstu uprzywilejowanego (np. usługa/administrator) lub trybu deweloperskiego.
  • Wersje podatne: przedział 21.02–25.00 (wg autora PoC); oficjalnie łatka w 25.00, dalsze utwardzenie w 25.01.
  • Pilne działanie: aktualizacja do 25.00+ (zalecane 25.01+) oraz wdrożenie kontroli bezpieczeństwa opisanych niżej.

Kontekst / historia / powiązania

Zgłoszenie przygotowała Trend Micro ZDI (Ryota Shiga, GMO Flatt Security, z użyciem narzędzia takumi-san.ai). Publiczny advisory ZDI pojawił się 7 października 2025 r. i wskazuje na CVE-2025-11001 (CVSS 7.0) oraz bliźniaczą CVE-2025-11002 — obie związane z obsługą symlinków w ZIP. 7-Zip 25.00 (lipiec 2025) „naprawia błędy i podatności”, a 25.01 (sierpień 2025) dodatkowo modyfikuje kod obsługi symlinków „dla większego bezpieczeństwa” przy ekstrakcji. 18 listopada 2025 r. NHS potwierdziło aktywną eksploatację CVE-2025-11001.


Analiza techniczna / szczegóły luki

Sednem problemu jest niewłaściwe traktowanie linków symbolicznych znajdujących się w archiwum ZIP. Źle przygotowany ZIP może sprawić, że proces rozpakowywania „wyjdzie” poza katalog docelowy i zapisze pliki w miejscach niezamierzonych przez użytkownika (directory traversal). W kombinacji z uruchomieniem 7-Zip w uprzywilejowanym kontekście (np. jako usługa systemowa) taki zapis może prowadzić do nadpisania plików systemowych / ścieżek wykonywalnych, a w konsekwencji do wykonania kodu podczas późniejszego startu procesu/usługi. ZDI klasyfikuje to jako RCE, choć wektor CVSS to AV:L (wymagana lokalna interakcja/wywołanie). Autor publicznego PoC potwierdza, że eksploatacja sensowna jest głównie na Windows i wymaga uprawnień administracyjnych lub kontekstu konta usługi.


Praktyczne konsekwencje / ryzyko

  • Środowiska build/deploy i stacje narzędziowe (Dev/CI/CD), gdzie 7-Zip działa z wyższymi uprawnieniami, są najbardziej narażone. Atak może nadpisać pliki binarne/skrypty uruchamiane później przez pipeline lub usługę.
  • Serwery Windows wykonujące zadania rozpakowywania z uprawnieniami usługi mogą paść ofiarą eskalacji skutków do RCE poprzez „zatruwanie” ścieżek wykonywalnych lub miejsc ładowania DLL. (Wniosek na podstawie mechaniki luki i opisu ZDI.)
  • Użytkownicy końcowi zwykle są mniej zagrożeni pełnym RCE (brak uprzywilejowanego kontekstu), ale wciąż możliwy jest zapis poza docelowym katalogiem, co stanowi naruszenie integralności i wektory dalszych ataków (np. DLL search order hijacking).

Rekomendacje operacyjne / co zrobić teraz

1) Patch natychmiast:

  • Zaktualizuj 7-Zip na wszystkich hostach do ≥ 25.00; praktycznie rekomendujemy 25.01+, gdzie dodatkowo utwardzono logikę symlinków. Zweryfikuj wersję binarnie (hash/inventory), nie tylko deklarację w MDM/CMDB.

2) Hardening i polityki:

  • Na serwerach/agentach CI zabroń uruchamiania 7-Zip z uprawnieniami admin/system, chyba że jest to absolutnie konieczne; uruchamiaj w zwykłym kontekście użytkownika. (Wniosek wynikający z wymagań exploita.)
  • Waliduj pliki ZIP pochodzące z nieufnych źródeł: rozpakowuj do tymczasowych sandboxów i weryfikuj, czy ścieżki nie wychodzą poza katalog docelowy (kontrola normalizacji ścieżek). (Zgodne z opisem mechanizmu ataku.)
  • Jeżeli automatyzujesz ekstrakcję, odrzucaj wpisy będące symlinkami lub prowadzące do ścieżek absolutnych/„..”. (Best practice wynikająca z advisory ZDI.)

3) Detekcja i reagowanie:

  • Szukaj w EDR/SIEM zdarzeń tworzenia symlinków przez procesy 7-Zip oraz zapisu poza katalogiem docelowym w krótkim oknie czasowym po rozpakowaniu ZIP. (Wniosek z opisu wektora.)
  • Koreluj uruchomienia 7zFM.exe/7z.exe w kontekście kont usług (LocalSystem, gMSA, itp.) — to czerwone flagi dla tej luki.
  • Jeśli podejrzewasz nadużycie, sprawdź ostatnie zmiany w ścieżkach autostartu, usługach i katalogach binarnych systemu (np. C:\Windows\System32, katalogi usług). (Wniosek operacyjny zgodny z profilem ataku.)

4) Ograniczenie wektora:

  • Tam, gdzie to możliwe, zastąp wrażliwe zadania rozpakowywania mechanizmem, który ignoruje symlinki lub rozwiązuje je wyłącznie w bezpiecznym jailu (chroot-like/temp). (Dobór kontrolny wynikający z natury podatności.)

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

Istnieje pokrewna podatność CVE-2025-11002 (również CVSS 7.0), która dotyczy tej samej klasy problemów (symlinki w ZIP) i została naprawiona w tym samym wydaniu 7-Zip (25.00). W praktyce program naprawczy jest identyczny: przejście na 25.00+ i stosowanie dobrych praktyk z tej publikacji.


Podsumowanie / kluczowe wnioski

  • CVE-2025-11001 jest w aktywnych kampaniach. Zaktualizuj do 7-Zip 25.01+ i unikać uruchamiania 7-Zip z uprawnieniami admin/usługi.
  • Wektor to symlinki w ZIP + traversal. Największe ryzyko dotyczy środowisk, gdzie 7-Zip działa uprzywilejowanie lub w pipeline’ach automatyzacji.
  • Detekcja: logi tworzenia symlinków, zapisy poza katalogiem docelowym, użycie 7-Zip przez konta usług. Reakcja: weryfikacja krytycznych ścieżek i autostartów. (Wnioski operacyjne spójne z treścią advisory i PoC.)

Źródła / bibliografia

  1. NHS England Digital — Active Exploitation Reported for CVE-2025-11001 in 7-Zip (18 listopada 2025) — potwierdzenie aktywnej eksploatacji i zalecenia. (NHS England Digital)
  2. Trend Micro Zero Day Initiative — ZDI-25-949 / CVE-2025-11001 — opis luki, CVSS, timeline, „fixed in 25.00”. (zerodayinitiative.com)
  3. Trend Micro Zero Day Initiative — ZDI-25-950 / CVE-2025-11002 — podatność pokrewna, ten sam mechanizm i naprawa. (zerodayinitiative.com)
  4. 7-Zip — history.txt — wpisy dla 25.00 (lipiec 2025) i 25.01 (sierpień 2025) wskazujące poprawki i zaostrzenie obsługi symlinków. (7-zip.org)
  5. GitHub (pacbypass) — CVE-2025-11001 PoC — uwagi o wymogach exploita (Windows, kontekst admin/usługi) i zakres wersji podatnych 21.02–25.00. (GitHub)

EdgeStepper: implant AitM przekierowujący DNS, który podszywa się pod aktualizacje oprogramowania (PlushDaemon)

Wprowadzenie do problemu / definicja luki

Badacze ESET opisali nowy implant sieciowy EdgeStepper, używany przez grupę APT PlushDaemon (powiązaną z Chinami) do ataków adversary-in-the-middle (AitM). Narzędzie działa na urządzeniach brzegowych (np. routerach) i przekierowuje cały ruch DNS na kontrolowany przez atakujących „węzeł przechwycenia”, który podmienia adresy serwerów aktualizacji popularnych aplikacji. W efekcie legalny mechanizm update’u pobiera złośliwe pierwsze etapy (LittleDaemon, DaemonicLogistics), a następnie właściwy backdoor SlowStepper. Informacje ujawniono 19 listopada 2025 r.

W skrócie

  • Wejście: kompromitacja urządzenia sieciowego ofiary (eksploatacja podatności lub słabe hasła), instalacja EdgeStepper.
  • Technika: przechwycenie i przekierowanie DNS (udp/53) do złośliwego węzła; selektywne odpowiadanie na domeny aktualizacji (np. Sogou Pinyin).
  • Łańcuch infekcji: LittleDaemon → DaemonicLogistics → SlowStepper (zbieranie informacji, eksfiltracja, rozbudowany „toolkit”).
  • Zasięg: cele w Chinach, Hongkongu, Tajwanie, Kambodży, Korei Płd., USA, Nowej Zelandii (co najmniej od 2018 r.).
  • Precedensy: PlushDaemon wcześniej zrealizował atak łańcucha dostaw na VPN IPany (2023). Podobną taktykę AitM DNS stosowały Blackwood/NSPX30 i Evasive Panda.

Kontekst / historia / powiązania

Przechwytywanie aktualizacji poprzez manipulację DNS to trend widoczny w wielu klastrach APT powiązanych z Chinami. ESET opisywał Blackwood/NSPX30 (AitM aktualizacji) oraz przypadki, w których Evasive Panda (StormBamboo) kompromitowała operatora ISP i zatruwała DNS na poziomie sieci, aby dostarczać backdoory do systemów Windows i macOS. Z kolei u PlushDaemon ten wektor stał się głównym mechanizmem dostępowym, uzupełnianym o exploity w serwerach www i kampanie supply-chain (IPany).

Analiza techniczna / szczegóły luki

Architektura EdgeStepper

  • Implant napisany w Go (oparty o framework GoFrame) jako ELF dla MIPS32 – targetem są typowe platformy routerowe/edge. Konfigurację odszyfrowuje z /etc/bioset.conf algorytmem AES-CBC z „stałym” kluczem/IV związanym z GoFrame (ciąg znaków „I Love Go Frame!”).
  • Przykładowa konfiguracja zawiera sekcję: [cheat] toPort = 1090 host = "ds20221202.dsc.wcsset[.]com" (w kodzie występuje też blok z test.dsc.wcsset[.]com, historycznie wskazujący na adres 47.242.198[.]250 – węzeł przechwycenia).

Mechanizm przekierowania DNS

  • Moduł Ruler wstawia reguły iptables przekierowujące cały UDP/53 → lokalny port (np. 1090), gdzie działa proxy DNS implant. Pakiety są następnie forwardowane do „malicious DNS node” wskazanego przez konfigurację.

Selektywna podmiana aktualizacji

  • „Złośliwy DNS” rozpoznaje domeny kanałów update (np. info.pinyin.sogou.com, ime.sogou.com, mobads.baidu.com) i zwraca adres węzła hijacking, który instruuje aplikację do pobrania DLL „popup_4.2.0.2246.dll” – to LittleDaemon.

Łańcuch ładunków

  • LittleDaemon: 32-bit PE (DLL/EXE), bez trwałości; komunikuje się z węzłem przechwycenia, pobiera DaemonicLogistics.
  • DaemonicLogistics: shell-code/position-independent, interpretuje kody odpowiedzi HTTP jako komendy (np. 200/207), pobiera pliki (file6.bdat, file2.bdat), a docelowo dostarcza SlowStepper.
  • SlowStepper: rozbudowany backdoor (C++ + moduły Python/Go, >30 komponentów), z C2 inicjalizowanym m.in. przez rekordy DNS TXT (7051.gsm.360safe[.]company), z szerokimi zdolnościami eksfiltracji (przeglądarki, komunikatory, multimedia).

Praktyczne konsekwencje / ryzyko

  • Omijanie kontroli endpointowych: atak odbywa się przed hostem – na urządzeniu brzegowym lub w ścieżce sieciowej. Kontrole EDR/AV mogą nie zadziałać przed pobraniem ładunku przez „legalny” proces aktualizatora.
  • Zaufanie do update’ów: kompromitacja kanału aktualizacji legalnych aplikacji (często popularnych, jak klawiatury czy pakiety biurowe) radykalnie podnosi współczynnik sukcesu infekcji i ułatwia lateral movement.
  • Trudna detekcja w DNS: EdgeStepper działa jak transparentny proxy DNS – z perspektywy hostów zapytania wyglądają zwyczajnie, tylko ścieżka odpowiedzi jest podmieniana.
  • Ryzyko sektorowe: według telemetryki ESET ofiary to m.in. uczelnie, przemysł elektroniczny i motoryzacyjny, oddziały firm w regionie APAC oraz pojedyncze podmioty w USA/NZ.

Rekomendacje operacyjne / co zrobić teraz

Higiena urządzeń brzegowych

  1. Aktualizacje firmware/routerów i wymuszenie MFA + silnych, unikalnych haseł do paneli admina; wyłącz zdalny dostęp administracyjny z Internetu (lub ogranicz go przez VPN/SSH z listy dozwolonych).
  2. Monitoring reguł netfilter/iptables: wykrywaj anomalie typu PREROUTING -p udp --dport 53 -j REDIRECT --to-port 1090 oraz nietypowe procesy nasłuchujące na udp/1090. (Dopasowane do artefaktów EdgeStepper).
  3. Kontrola konfiguracji DNS na brzegach: wymuszaj rezolwery autoryzowane/pinowane (np. DoT/DoH do organizacyjnego resolwera z certificate pinning na kliencie). Uwaga: jeśli implant przechwytuje port 53 na urządzeniu, DoH/DoT z hosta może ograniczyć skuteczność ataku, o ile nie jest breakowany na bramie.

Segmentacja i egress
4. Blokady egress DNS: zezwalaj wyłącznie na DNS z zaufanych resolverów (kontrolowanych przez SOC), drop dla ruchu DNS od hostów bezpośrednio do Internetu.
5. Listy wskaźników: monitoruj/blokuj domeny *.dsc.wcsset[.]com, IP 47.242.198[.]250 (historyczny hijacking node), ścieżki HTTP ime.sogou.com/update/*, oraz niestandardowe DLL np. popup_4.2.0.2246.dll. (Aktualizuj IOC wg najnowszych publikacji).

Kontrole hostowe
6. AppControl/Allow-list dla updaterów: egzekwuj TLS z weryfikacją certów/pinningiem i blokuj połączenia HTTP plaintext w procesach aktualizujących (częsty wektor w opisanym łańcuchu).
7. EDR/YARA: reguły na artefakty LittleDaemon/DaemonicLogistics/SlowStepper; heurystyki na anomalię korzystania z PerfWatson.exe/DLL sideloadingu (znane z kompromitacji IPany).

Detekcja w DNS/NetFlow
8. Anomalie DNS: niespójność odpowiedzi dla domen aktualizacji (częste NXDOMAIN/timeouty, zmiany TTL, brak spójności EDNS), niespodziewane TXT-lookup do *.360safe[.]company itd. (wątek SlowStepper).
9. Telemetryka brzegowa: porównuj sumaryczne QNAME/serwery autorytatywne z referencyjnym resolverem poza siecią (wykrywanie trojanizacji ścieżki).

Procedury
10. Threat hunting: przejrzyj logi od 2019 r. w sieciach o podwyższonym ryzyku (APAC/firmy z chińskojęzycznym łańcuchem dostaw).
11. SBOM/ketchain aktualizacji: wymuś podpisywanie i weryfikację aktualizacji, TLS-pinning oraz re-download fallback wyłącznie z hard-coded domen + cert pinning.

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

  • PlushDaemon / EdgeStepper – przechwycenie przez implant na urządzeniu brzegowym z przekierowaniem całego DNS; multi-stage (LittleDaemon → DaemonicLogistics → SlowStepper).
  • Blackwood / NSPX30 – także AitM aktualizacji, ale inna linia artefaktów (NSPX30) i odrębne TTP/C2; również ataki na popularne chińskie oprogramowanie.
  • Evasive Panda (StormBamboo) – kompromitacja ISP i DNS poisoning na poziomie operatora, trafianie zarówno Windows, jak i macOS; bliskie tematycznie, ale inna infrastruktura i grupa.

Podsumowanie / kluczowe wnioski

EdgeStepper to dojrzały implant AitM dla DNS, który przesuwa punkt przełamania z hosta na urządzenie brzegowe. Dzięki selektywnej podmianie odpowiedzi DNS dla domen aktualizacji atakujący przekształcają zaufany proces update’u w łańcuch infekcji kończący się bogatym funkcjonalnie backdoorem SlowStepper. Organizacje powinny traktować DNS i urządzenia brzegowe jako krytyczny wektor supply-chain, wdrażając monitoring reguł, pinning kanałów update’u, restrykcje egress DNS oraz hunting za IOC wskazanymi przez ESET.

Źródła / bibliografia

  1. The Hacker News – „EdgeStepper Implant Reroutes DNS Queries to Deploy Malware via Hijacked Software Updates”, 19 listopada 2025. (The Hacker News)
  2. ESET WeLiveSecurity – „PlushDaemon compromises network devices for adversary-in-the-middle attacks (EdgeStepper)”, 19 listopada 2025. (We Live Security)
  3. ESET WeLiveSecurity – „PlushDaemon compromises supply chain of Korean VPN service (SlowStepper)”, 22 stycznia 2025. (We Live Security)
  4. ESET WeLiveSecurity – „NSPX30: A sophisticated AitM-enabled implant… (Blackwood)”, 24 stycznia 2024. (We Live Security)
  5. Volexity – „StormBamboo compromises ISP to abuse insecure software update mechanisms”, 2 sierpnia 2024. (Volexity)