Archiwa: Admin - Strona 23 z 33 - Security Bez Tabu

GitLab.com – najnowsze zmiany i poprawki (17 listopada 2025)

Wprowadzenie do problemu / definicja zmian

GitLab w modelu SaaS (GitLab.com) publikuje funkcje w trybie ciągłym, a raz w miesiącu dostarcza paczki dla Self-Managed. Najświeższy pakiet nowości (data publikacji: 17 listopada 2025) przynosi istotne usprawnienia dla wyszukiwania kodu, CI/CD, polityk zatwierdzania i integracji IDE z GitLab Duo. Równolegle w październiku–listopadzie ukazały się łatki bezpieczeństwa linii 18.5/18.4/18.3, adresujące m.in. ujawnienia informacji przez GraphQL oraz scenariusze DoS. Wiosną GitLab ogłosił również nowe limity szybkości (rate-limits) dla kluczowych endpointów API, co ma konsekwencje dla automatyzacji i integracji.


W skrócie

  • Duo Chat w IDE: wybór modelu (Claude, GPT i inne) bezpośrednio w VS Code/JetBrains – kontrolowane przez adminów.
  • Dokładne wyszukiwanie kodu (Exact code search) – domyślnie włączone na GitLab.com; oparte o Zoekt; obsługuje tryb regex i exact-match; dla Self-Managed wymaga instalacji Zoekt i włączenia funkcji.
  • CI/CD Components mogą odwoływać się do własnych metadanych przez spec:component – koniec z twardym kodowaniem wersji.
  • Dynamiczne zależności w needs:parallel:matrix dzięki wyrażeniom $[[matrix.VARIABLE]] (Beta) – prostsze, skalowalne matryce buildów.
  • Code Owners akceptuje dziedziczone członkostwo grup jako właścicieli – mniej administracji, ten sam poziom kontroli.
  • Webhooki odróżniają teraz systemowe resetowanie aprobat (np. po pushu) – bardziej precyzyjna automatyzacja.
  • Bypass polityk zatwierdzania z pełnym audytem i podaniem powodu – kontrolowany „tryb awaryjny”.
  • Zaostrzone limity API (projekty, grupy, użytkownicy; wybrane endpointy 60–2000 RPS/min) – konieczny backoff i obsługa 429.
  • Łatki bezpieczeństwa (X-X/2025): m.in. DoS w JSON validation, DoS przy uploadzie, ujawnienie przez GraphQL subscriptions. Aktualizacje 18.5.2/18.4.4/18.3.6 i 18.5.1/18.4.3/18.3.5.

Kontekst / historia / powiązania

W ostatnich kwartałach GitLab intensywnie rozwija komponenty AI (Duo) i wyszukiwarkę kodu, jednocześnie wzmacniając governance (Code Owners, approval policies) oraz stabilność platformy (rate-limiting). Na tle wcześniejszych wydań 17.x/18.x obecny pakiet zmian kontynuuje kierunek „bezpieczne skalowanie” – lepsze narzędzia dla dużych organizacji (audyt, limity, precyzyjne webhooki) oraz poprawa ergonomii dla developerów (IDE, wyszukiwanie, CI/CD matrix). Również cykl patch releases pozostaje intensywny, co jest reakcją na stale raportowane CVE. Poza ogłoszeniami GitLab, część biuletynów CERT potwierdza zagregowane ryzyka.


Analiza techniczna / szczegóły

1) Duo Chat: wybór modelu w IDE

  • Integracja VS Code/JetBrains pozwala użytkownikowi wybrać model (np. Claude, GPT) z listy w panelu Duo. Dostępność modeli kontroluje administrator (policy-based access). W organizacjach o restrykcjach compliance to ułatwia standaryzację stosu AI.

2) Exact code search (Zoekt)

  • Na GitLab.com funkcja jest włączona domyślnie. Dla Self-Managed wymagana jest instalacja Zoekt i aktywacja.
  • Wspiera dokładne dopasowanie i wyrażenia regularne, działa na poziomie instancji / grupy / projektu.
  • Implementacja opiera się o odrębny indeksujący silnik (Zoekt), co wpływa na wymogi zasobów w Self-Managed (CPU/RAM/dysk na indeksy).

3) CI/CD Components i spec:component

  • Komponent może odczytać własny kontekst (np. wersję, commit SHA) i wykorzystać go do tagowania artefaktów (obrazy Docker, paczki), co eliminuje rozjazdy wersji.
  • Ułatwia semantykę „build once, run many” oraz atomiczne wydania komponentów.

Przykład – publikacja obrazu Dockera z wersją komponentu:

# .gitlab-ci.yml (fragment w komponencie)
stages: [build, release]

variables:
  IMAGE_REGISTRY: "$CI_REGISTRY_IMAGE"

build:
  stage: build
  image: docker:25
  services: [docker:25-dind]
  script:
    - echo "$CI_REGISTRY_PASSWORD" | docker login -u "$CI_REGISTRY_USER" --password-stdin "$CI_REGISTRY"
    # tag wykorzystuje metadane komponentu
    - docker build -t "$IMAGE_REGISTRY/app:${spec:component.version}" .
    - docker push "$IMAGE_REGISTRY/app:${spec:component.version}"

4) Dynamiczne zależności w needs:parallel:matrix (Beta)

  • Nowe wyrażenie $[[matrix.VARIABLE]] pozwala tworzyć 1-do-1 zależności między równoległymi jobami.
  • Upraszcza skomplikowane matryce (np. multi-platform buildy, Terraform w wielu środowiskach).

Przykład – matryca z dynamicznymi zależnościami:

stages: [build, test]

build:
  stage: build
  parallel:
    matrix:
      - OS: ["linux", "windows"]
        ARCH: ["amd64", "arm64"]
  script:
    - make build OS=$OS ARCH=$ARCH
  artifacts:
    paths: ["dist/${OS}-${ARCH}/app"]

test:
  stage: test
  needs:
    - job: build
      parallel:
        matrix:
          - OS: ["$[[matrix.OS]]"]
            ARCH: ["$[[matrix.ARCH]]"]
  script:
    - make test OS=$OS ARCH=$ARCH

5) Code Owners: dziedziczone członkostwo grup

  • Grupy z dostępem odziedziczonym (np. z grupy nadrzędnej) są uznawane za właścicieli kodu przy włączonych akceptacjach Code Owners – bez zapraszania ich do każdego projektu. Mniej ręcznej administracji, ten sam poziom bezpieczeństwa.

6) Webhooki a systemowe resety aprobat

  • Payload zawiera teraz system: true i system_action (np. approvals_reset_on_push), co pozwala integracjom rozróżnić akcje użytkownika od automatyki GitLab i budować precyzyjne playbooki (np. powiadomienia tylko dla „manual”).

Przykład – filtr w odbiorniku webhooków (Node.js/Express):

app.post('/gitlab/mr-webhook', (req, res) => {
  const evt = req.body;
  if (evt.object_kind === 'approval' && evt.system === true &&
      evt.system_action === 'approvals_reset_on_push') {
    // zignoruj systemowe resetowanie aprobat
    return res.status(200).end();
  }
  // ...przetwarzaj normalnie
  res.status(200).end();
});

7) Bypass approval policies z audytem

  • Wyznaczeni użytkownicy/role mogą awaryjnie ominąć polityki (merge/push) z obowiązkowym uzasadnieniem; każdy przypadek trafia do dzienników audytu. To bezpieczniejsza alternatywa dla globalnego wyłączania zasad podczas incydentów.

Praktyczne konsekwencje / ryzyko

  • Bezpieczeństwo i zgodność: tryb awaryjny z audit-trail ułatwia kontrolowane hotfixy. Jednocześnie nowe webhooki redukują „fałszywe alarmy” w SIEM/SOAR, bo rozróżniają akcje systemowe.
  • Skalowalność CI/CD: dynamiczne zależności i komponentowe metadane upraszczają rozbudowane potoki (wielowariantowe buildy, multi-env Terraform), zmniejszając złożoność plików .gitlab-ci.yml.
  • Produktywność devów: exact search na Zoekt realnie skraca czas wyszukiwania wzorców i referencji w dużych monorepo.
  • Stabilność platformy: nowe rate-limits API wymagają backoffu, paginacji i cache po stronie klientów; inaczej integracje będą trafiały w 429 (Too Many Requests).
  • Zarządzanie podatnościami: wydania 18.5.1–18.5.2 i wcześniejsze patch-releases naprawiają m.in. DoS i ujawnienia informacji (GraphQL, upload). Opóźnienie aktualizacji zwiększa powierzchnię ataku (również dla Self-Managed).

Rekomendacje operacyjne / co zrobić teraz

1) Aktualizacje i hardening

  • SaaS: zweryfikuj dostępność funkcji w Twojej grupie/planie; dla zgodności rozważ ograniczenie modeli AI do zatwierdzonych przez dział ryzyka.
  • Self-Managed: zaplanuj aktualizację do najnowszych łat (18.5.2 / 18.4.4 / 18.3.6). Priorytet dla instancji z otwartym dostępem i integracjami GraphQL/REST.

2) Exact code search (Self-Managed)

  • Zainstaluj Zoekt i włącz funkcję; oceń rozmiar indeksów (I/O, miejsce na dysku). Zaktualizuj monitoring (prometheus) o metryki opóźnień i obciążenia indeksowania.

3) CI/CD i matryce

  • Refaktor matryc do $[[matrix.*]] w złożonych pipeline’ach (platformy/architektury).
  • W komponentach używaj spec:component do tagów artefaktów i numeracji.

4) Code Owners i governance

  • Przejrzyj pliki CODEOWNERS; zastąp lokalne zaproszenia grup dziedziczonymi – mniejszy nakład administracyjny, ten sam poziom kontroli.

5) Webhooki i automatyzacja

  • Zaktualizuj odbiorniki, by ignorowały systemowe resety aprobat (system: true, system_action). Zmniejszy to szum w alertach.

6) Rate-limits: dostosuj klientów

  • Dodaj exponential backoff + jitter, obsługę HTTP 429 i Retry-After; włącz paginację i cache rezultatów rzadko zmienianych (np. listy członków). Poniżej wzorzec:
# Przykładowy retry z backoffem (bash + curl + jq)
retry_with_backoff() {
  local url="$1" token="$2" attempt=0 max=6 delay=1
  while :; do
    http_code=$(curl -sS -H "PRIVATE-TOKEN: $token" -w "%{http_code}" -o resp.json "$url")
    if [ "$http_code" -eq 200 ]; then cat resp.json; return 0; fi
    if [ "$http_code" -eq 429 ] && [ $attempt -lt $max ]; then
      retry_after=$(jq -r '."Retry-After" // empty' <(jq -n))
      sleep_time=$((retry_after>0?retry_after:delay))
      sleep "$sleep_time"
      delay=$((delay*2)) # exponential
      attempt=$((attempt+1))
    else
      echo "HTTP $http_code"; return 1
    fi
  done
}
# użycie:
# retry_with_backoff "https://gitlab.com/api/v4/projects/:id/members/all" "$TOKEN"

7) Monitorowanie i detekcja (SOC/SIEM)

  • Koreluj eventy auditowe bypassu polityk z incydentami; ustaw alert, gdy liczba bypassów > bazowej linii trendu.
  • Reaguj na gwałtowny wzrost 429 z endpointów członków projektów/grup – to może wskazywać na źle działający integrator lub nadużycie.

8) Patch management (Self-Managed)

  • Zweryfikuj, czy instancje są na 18.5.2/18.4.4/18.3.6 (GraphQL subscriptions info disclosure itp.) i 18.5.1/18.4.3/18.3.5 (DoS JSON/upload). Ustal SLO: ≤7 dni od ogłoszenia łatki.

Różnice / porównania z innymi przypadkami

  • Względem 17.x: nacisk przeszedł z „doganiania” funkcji w AI/search do dojrzałego governence (bypass z audytem, precyzyjne webhooki) i stabilności (rate-limits), co jest krytyczne w enterprise. Patch-releases 18.x adresują nowsze wektory (GraphQL, JSON validation), mniej obecne w 17.x.
  • Względem poprzednich miesięcy 2025: kumulacja poprawek DoS i disclosure, co sugeruje wzrost testów fuzzing/abuse scenariuszy w interfejsach API – dobra wiadomość dla obrony, wymaga jednak dyscypliny aktualizacji.

Podsumowanie / kluczowe wnioski

  • GitLab.com dostarczył zestaw funkcji, które jednocześnie poprawiają ergonomię (IDE, search) i twardnieją governance (bypass z audytem, webhooki).
  • Zmiany w rate-limits to obowiązkowa rewizja integracji – bez backoffu i cache pojawią się 429 i degradacja.
  • Patch-releases z X–XI 2025 zamykają kilka istotnych wektorów (GraphQL info disclosure, DoS) – aktualizuj natychmiast Self-Managed; na SaaS funkcje bezpieczeństwa i łatki są wdrożone po stronie dostawcy.

Źródła / bibliografia

  1. GitLab – Available now on GitLab (SaaS, 17 listopada 2025) – oficjalne ogłoszenie funkcji (Duo Chat w IDE, exact search (Zoekt), CI/CD Components, matrix needs, Code Owners dziedziczenie, webhooki, bypass). (about.gitlab.com)
  2. Patch Release 18.5.2 / 18.4.4 / 18.3.6 (12 listopada 2025) – m.in. GraphQL subscriptions info disclosure i inne CVE. (about.gitlab.com)
  3. Patch Release 18.5.1 / 18.4.3 / 18.3.5 (22 października 2025) – DoS w JSON validation i upload. (about.gitlab.com)
  4. Rate limitations announced for Projects, Groups, and Users APIs (30 kwietnia 2025) – oficjalny wpis o limitach z tabelą endpointów. (about.gitlab.com)
  5. HKCERT – GitLab Multiple Vulnerabilities (13 listopada 2025) – niezależny biuletyn agregujący podatności. (HKCERT)

Finger.exe & ClickFix: jak stary protokół Finger (TCP/79) wraca w nowoczesnych atakach

Wprowadzenie do problemu / definicja luki

W najnowszym wpisie SANS ISC zwrócono uwagę, że w kampaniach ClickFix napastnicy znów nadużywają starego, zapomnianego protokołu Finger oraz wbudowanego w Windows klienta finger.exe do pobierania skryptów i komend z Internetu. Finger działa po TCP/79, a klient systemowy nie obsługuje proxy, co bywa kluczowe dla obejścia polityk egress w firmach polegających na explicit proxy. Rezultat: polecenia kopiowane ręką użytkownika (esencja ClickFix) mogą ściągać i uruchamiać payloady z pominięciem części kontroli sieciowych.

W skrócie

  • ClickFix = socjotechnika „zrób to sam”: strona-lurka prowadzi ofiarę do ręcznego uruchomienia polecenia (np. w cmd/PowerShell), które pobiera i uruchamia złośliwy kod. Microsoft opisał wzorzec ataku i jego obejścia zabezpieczeń.
  • W najnowszej odsłonie atakujący używają finger.exe (Windows) do pobrania skryptu przez Finger/TCP 79 – często z serwerów kontrolowanych przez napastnika lub z serwisów skompromitowanych. Temat nagłośnił również BleepingComputer.
  • Finger to stary protokół zdefiniowany w RFC 1288; port nie jest konfigurowalny (zawsze 79/TCP).
  • finger.exe to LOLBIN: narzędzie wbudowane, znane społeczności obronnej i opisane w projekcie LOLBAS – dostępne ścieżki, przypadki nadużyć i reguły Sigma.
  • Dla SOC: patrz sekcja „Rekomendacje” – gotowe KQL/Sigma/Splunk, przykładowe reguły Suricata (TCP/79), blokady AppLocker/WDAC, kontrola egress oraz TTPs do huntów.

Kontekst / historia / powiązania

Technika ClickFix była szeroko opisywana w 2024–2025 jako sposób „ominięcia” części automatów antymalware poprzez włączenie człowieka do łańcucha ataku: ofiara sama kopiuje komendę, która robi „resztę”. To redukuje sygnał detekcyjny (mniej klasycznego „drop & exec”). Microsoft szczegółowo rozebrał ten łańcuch, wskazując m.in. malvertising, fałszywe strony „naprawy błędu” i presję czasu na ofierze. W 2025 r. media branżowe odnotowały odświeżoną falę ataków, m.in. z użyciem Finger.

Analiza techniczna / szczegóły luki

Finger: właściwości protokołu

  • Transport: TCP
  • Port: stały 79/tcp (klient łączy się na 79)
  • Model zapytań: jedna linia zapytania → odpowiedź serwera (RUIP)
  • Brak TLS/uwierzytelniania, mechanizm archaiczny, projektowany do informacji o użytkownikach/hostach.
    Te cechy pochodzą z definicji protokołu w RFC 1288.

finger.exe w Windows jako LOLBIN

  • Lokalizacje: C:\Windows\System32\finger.exe, C:\Windows\SysWOW64\finger.exe.
  • Kluczowa obserwacja obrońców: nie powinien wykonywać się na typowych stacjach końcowych; jego aktywność sieciowa do Internetu to anomalia.
  • W projekcie LOLBAS znajdziesz reguły Sigma i znane nadużycia (np. pobieranie treści jako „komunikatu” finger i pipowanie do interpretera).

Łańcuch ClickFix z użyciem Finger (przykład)

  1. Wejście: phishing/malvertising → landing z instrukcjami „naprawy” (np. „skopiuj to polecenie i wklej do Run/PowerShell”).
  2. Pobranie: finger.exe łączy się do attacker[.]domain:79, pobiera „odpowiedź” zawierającą komendy/payload (np. Base64 PowerShell). SANS ISC zwraca uwagę, że finger.exe nie jest proxy-aware (łatwiej ominąć explicit proxy) i portu 79 nie da się zmienić.
  3. Wykonanie: odpowiedź Finger bywa przekierowana do shella/interpretera (np. | powershell -), co finalnie uruchamia loader/infostealer. O samej fali nadużyć Finger w kampaniach ClickFix informował BleepingComputer.

Uwaga: Finger widziano też jako kanał eksfiltracji/transferu (LOLBIN living-off-the-land) — warto to uwzględnić w hypothesach podczas huntów. (Dobry przegląd ryzyka dają materiały analityczne i praktyka DFIR).

Praktyczne konsekwencje / ryzyko

  • Omijanie egress przez proxy: jeśli organizacja bazuje na explicit proxy i blokuje „direct to Internet”, to brak proxy-awareness w finger.exe powoduje po prostu brak wyjścia — to akurat dobra wiadomość. Jednak w sieciach z transparent proxy lub źle egzekwowanym egress (np. brak deny-all + allow-list) ruch TCP/79 może przejść.
  • Niska widoczność: wiele IDS/NGFW nie obserwuje dziś intensywnie portu 79, bo usługa jest historyczna; to czyni z Finger atrakcyjny kanał niszowy.
  • Living-off-the-land: użycie narzędzia wbudowanego (finger.exe) utrudnia polityki „block-by-default” oparte wyłącznie na hashach/znanych loaderach; trzeba sięgnąć po AppLocker/WDAC, EDR i kontrole kontekstowe.

Rekomendacje operacyjne / co zrobić teraz

1) Szybkie twardnienie (hardening)

Sieć (egress):

  • Jeśli polityka organizacji nie wymaga Finger – zablokuj TCP/79 na brzegu i w segmentach użytkowników (deny-all → allow-list).
  • W transparent proxy/NGFW dodaj reguły blokujące tcp/79 outbound.
  • (Opcjonalnie) NLA: monitoruj jakiekolwiek połączenia do zewnętrznych IP:79 w NetFlow/Zeek.

Endpoint:

  • AppLocker (EXE Rule):
    • Deny dla %WINDIR%\System32\finger.exe i %WINDIR%\SysWOW64\finger.exe w „Unrestricted → Deny unless needed”.
  • WDAC: umieść finger.exe w polityce „Deny-List” (FileNameRule albo podpis/hashe).
  • SRP: „Disallowed” dla ścieżek finger w regułach Additional Rules.

Windows Firewall (host-based) – przykład (cmd jako admin):

netsh advfirewall firewall add rule name="Block Outbound TCP 79 (Finger)" dir=out action=block protocol=TCP localport=any remoteport=79

2) Detekcja — gotowe reguły i zapytania

Sigma (proc creation – finger.exe):

title: Suspicious Use of finger.exe
id: 3d2f2f5a-isc-clickfix-finger
status: experimental
logsource:
  product: windows
  category: process_creation
detection:
  sel:
    Image|endswith:
      - '\finger.exe'
  condition: sel
fields:
  - Image
  - CommandLine
  - ParentImage
  - User
  - ComputerName
level: high
tags:
  - attack.command_and_control
  - attack.t1105

(W projekcie LOLBAS znajdziesz też oficjalną regułę Sigma dla finger.exe — zaadaptuj do swojej telemetrii.)

Defender for Endpoint / KQL (wykrycie użycia + ruchu na 79/tcp):

// Procesy finger.exe
DeviceProcessEvents
| where Timestamp > ago(14d)
| where FileName =~ "finger.exe"
| project Timestamp, DeviceName, InitiatingProcessAccountName, FolderPath, ProcessCommandLine, InitiatingProcessFileName, InitiatingProcessParentFileName

// Połączenia sieciowe inicjowane przez finger.exe do publicznych IP (port 79)
DeviceNetworkEvents
| where Timestamp > ago(14d)
| where InitiatingProcessFileName =~ "finger.exe"
| where RemotePort == 79 and RemoteIPType == "Public"
| summarize dcount(RemoteIP) by DeviceName

Splunk (Sysmon EventID=1 + net connection EventID=3):

index=win* (EventCode=1 OR EventCode=3) 
| eval is_finger=if(like(Image,"%\\finger.exe"),1,0)
| search is_finger=1 OR (EventCode=3 dest_port=79 process_name="finger.exe")
| table _time host user Image CommandLine parent_process_name dest_ip dest_port

Suricata (prosty port-based; w praktyce lepiej TLS/JA3/treść, jeśli możliwe):

alert tcp $HOME_NET any -> $EXTERNAL_NET 79 (msg:"Egress Finger protocol (TCP/79)"; flow:to_server,established; classtype:policy-violation; sid:790001; rev:1;)

Zeek (conn.log szybki hunt):

# filter: outbound connections to port 79
cat conn.log | zeek-cut id.orig_h id.resp_h id.resp_p proto service | awk '$3==79 && $4=="tcp"'

3) Reagowanie (IR)

  • Izoluj host i zbierz artefakty procesu rodzica finger.exe (kto zainicjował? cmd.exe, powershell.exe, przeglądarka?) oraz stronę/lurkę (artefakty przeglądarki, DNS Cache, Prefetch).
  • Artefakty łańcucha ClickFix: zrzuty schowka, historia RunMRU, TypedPaths, PowerShell Operational (Event ID 4104/4103), Shell-Core (ShellExecute).
  • Blokuj i burnuj: domeny/IP na 79/tcp, usuń reguły wyjątków w proksy/NGFW, zaktualizuj listy blokad w EDR.
  • User awareness: szybki komunikat do użytkowników o NIEKOPIOWANIU poleceń z pop-upów/stron „naprawczych”.

4) Testy kontrolne (Purple Team)

  • W bezpiecznym labie sprawdź, czy finger.exe w ogóle „wyjdzie” na Internet w Twojej sieci (explicit vs transparent proxy).
  • Wygeneruj kontrolowany ruch do hosta testowego na TCP/79 i upewnij się, że alertują: EDR (proc creation), NDR/IDS (port 79), SIEM (korelacja).
  • Przejrzyj atakowy playbook ClickFix z bloga Microsoft — od symulacji malvertising po ręczne wykonanie komendy — i dopasuj własne kontrolki.

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

  • Wcześniej ClickFix częściej polegał na powershell/bitsadmin/certutil czy „curl w PowerShell” — dziś widzimy „egzotyczne” kanały jak Finger. To obniża skuteczność sygnatur i allowlist tworzonych „pod modne TTP”.
  • W przeciwieństwie do bitsadmin lub curl, finger.exe jest rzadko używany w środowiskach korporacyjnych, więc jego anomalia jest bardziej oczywista, ale jednocześnie bywa nieprzefiltrowany w egress.
  • Jako LOLBIN finger.exe pozostaje w tym samym koszyku co inne narzędzia „żyjące na systemie”, ale ma sztywny port 79 i brak proxy-awareness, co daje zarówno wektor obejścia, jak i łatwy wskaźnik do blokady.

Podsumowanie / kluczowe wnioski

  • ClickFix nadal rośnie — powrót do Finger/TCP 79 to sprytne wykorzystanie niszy. Zablokuj 79/tcp, zabroń finger.exe, dołóż telemetrię i hunting na anomalie LOLBIN.
  • Wprowadź kontrolki procesowe (AppLocker/WDAC), korelację proces→sieć, oraz edukację użytkowników przeciwko „kopiuj–wklej”.
  • Od dziś: deny 79/tcp, alert na finger.exe, review egress i proxy, zapytania w SIEM — gotowce masz wyżej.

Źródła / bibliografia

  • SANS ISC Diary — Finger.exe & ClickFix (port 79, brak proxy-awareness, użycie w ClickFix). (SANS Internet Storm Center)
  • Microsoft Security Blog — ClickFix: łańcuch ataku, socjotechnika i obejście zabezpieczeń. (Microsoft)
  • BleepingComputer — nadużycie Finger w kampaniach ClickFix (2025-11). (BleepingComputer)
  • RFC 1288 — specyfikacja protokołu Finger (TCP/79). (IETF Datatracker)
  • LOLBAS — strona Finger.exe (LOLBIN, lokalizacje, detekcje). (lolbas-project.github.io)

Microsoft Patch Tuesday — listopad 2025. Zero-day w jądrze Windows (CVE-2025-62215), krytyczne RCE (GDI+) i poprawki dla Office, SQL, WSL

Wprowadzenie do problemu / definicja luki

Microsoft opublikował listopadowy pakiet poprawek zabezpieczeń obejmujący 63 luki (CVE) w Windows i komponentach ekosystemu (Office, Edge (Chromium), Azure Monitor Agent, Dynamics 365, Hyper-V, SQL Server, WSLg itd.). Wśród nich znajduje się jeden zero-day aktywnie wykorzystywanyCVE-2025-62215 (eskalacja uprawnień w jądrze Windows), a także kilka krytycznych RCE (m.in. GDI+ CVE-2025-60724) oraz podatności dotykających workflow deweloperskich i rozszerzeń z obszaru Copilot/Agentic AI.


W skrócie

  • Skala: 63 CVE (wg ZDI/Tenable). 4–5 CVE ocenionych jako Critical, reszta Important.
  • Zero-day: CVE-2025-62215Windows Kernel EoP (wyścig zdarzeń/race condition). Wymaga lokalnego dostępu, ale często łączony z RCE w łańcuchu ataku. Priorytet 1 do patchowania.
  • Krytyczne RCE:
    • CVE-2025-60724 (GDI+)CVSS 9.8, możliwa zdalna eksploatacja przez przetwarzanie specjalnie spreparowanych plików/metafili; ryzyko dla usług parsujących dokumenty bez interakcji użytkownika.
    • CVE-2025-62199 (Office) – RCE; „Preview Pane jako wektor” (ostrożnie: Microsoft wskazuje wymaganą interakcję użytkownika).
  • Inne istotne: Azure Monitor Agent RCE (CVE-2025-59504), WSLg RCE (CVE-2025-62220), DirectX/CLFS EoP, podatności CoPilot/Agentic AI (RCE/SFB, np. CVE-2025-62222).
  • Produkcyjne wskazówki: szybkie wdrożenie aktualizacji, czasowe wyłączenie Preview Pane w Outlook/Explorer, izolacja pracy z plikami Office, aktualizacja AMA/WSLg z linii poleceń, kontrola polityk makr i niepodpisanych rozszerzeń VS/VS Code. (Dowody w sekcjach niżej).

Kontekst / historia / powiązania

W październiku 2025 Microsoft łatał rekordowe 172 luki, w tym kilka aktywnie wykorzystywanych. Listopad przynosi wyraźne uspokojenie liczby CVE, ale charakter błędów (kernel EoP, GDI+ 9.8, Office/Preview Pane, elementy chmury/agentów) sprawia, że ich priorytet operacyjny pozostaje wysoki. Różne serwisy raportują rozbieżne liczby (63/66/68/80) – wynika to m.in. z uwzględniania/nie uwzględniania CVE chromium/Edge, komponentów zewnętrznych i aktualizacji dokumentacyjnych. Najbardziej spójne i techniczne podsumowania dla adminów publikują ZDI i Tenable – w tym materiale opieramy się głównie na nich oraz na przeglądzie Briana Krebsa.


Analiza techniczna / szczegóły luki

1) Zero-day: CVE-2025-62215 — Windows Kernel EoP (race condition)

  • Typ: Elevation of Privilege (lokalne, wymaga uwierzytelnienia).
  • Opis: warunek wyścigu w jądrze Windows, pozwalający atakującemu „wygrać” przełączenie stanu i uzyskać SYSTEM.
  • Zastosowanie w praktyce: łączone z RCE (phishing/dokument/serwis www) → post-exploitation: trwała eskalacja i obejście EDR przez uruchamianie implantów z uprawnieniami jądra/procesu krytycznego.
  • Status: aktywnie wykorzystywana w środowisku (zero-day). CVSS v3: 7.0, Important (niska zdalność, wysoka waga po połączeniu).

Wskazówka laboratoryjna (blue team): w telemetrii EDR szukaj anomalii w przełączaniu integrities (Low/Medium → SYSTEM), nietypowych uchwytów do urządzeń jądra i „daisy-chain” tuż po uruchomieniu niepodpisanego binarium z katalogów tymczasowych.


2) CVE-2025-60724 — GDI+ RCE (CVSS 9.8)

  • Wektor: przetwarzanie specjalnie spreparowanych metafili/obrazów (GDI+).
  • Ryzyko: potencjalna eksploatacja bez interakcji po stronie usług, które parsują dokumenty (np. previewer, usługi konwersji/ekstrakcji metadanych, serwerowe procesory plików).
  • Dlaczego istotne: GDI+ bywa bramką do RCE w aplikacjach serwerowych oraz pecetach skanujących pliki przychodzące (DLP, AV, indeksowanie).

Higiena: sandboxing parserów dokumentów i ograniczenie uprawnień kont usługowych wykonujących podgląd/konwersję.


3) CVE-2025-62199 — Microsoft Office RCE (Preview Pane)

  • Fakt kluczowy: Preview Pane wskazany jako wektor; jednocześnie Microsoft opisuje wymóg interakcji użytkownika (niespójność noty). Praktycznie: rozważ wyłączenie podglądu w Outlook/Explorer do czasu wdrożenia poprawek.

GPO (wyłączenie podglądu w Outlook):

Windows Registry Editor Version 5.00
; Outlook – wyłącz okienko podglądu
[HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Outlook\Preferences]
"ReadingPaneOptions"=dword:00000000

(W środowiskach korporacyjnych preferuj ADMX/Group Policy zamiast pojedynczych wpisów rejestru.)


4) Azure Monitor Agent (AMA) — RCE (CVE-2025-59504)

  • Charakter: nieuwierzytelnione RCE możliwe do wywołania z sieci przy podatnej konfiguracji.
  • Znaczenie: AMA jest szeroko stosowany w zbieraniu logów/telemetrii; kompromitacja może dać pivot do zasobów IaaS/serwerów hybrydowych.
  • Działanie: aktualizacja agenta i walidacja ekspozycji portów.

Aktualizacja AMA z linii poleceń (Windows):

# Aktualizacja rozszerzenia Azure Monitor Agent na VM z Azure (Az module)
$vm = Get-AzVM -Name "prod-app-01" -ResourceGroupName "RG-Prod"
Set-AzVMExtension -ResourceGroupName $vm.ResourceGroupName -VMName $vm.Name `
  -Name "AzureMonitorWindowsAgent" -Publisher "Microsoft.Azure.Monitor" `
  -Type "AzureMonitorWindowsAgent" -TypeHandlerVersion "1.29" -AutoUpgradeMinorVersion $true

5) WSLg — Windows Subsystem for Linux GUI RCE (CVE-2025-62220)

  • Opis: RCE w komponencie GUI WSL. Wymaga interakcji użytkownika (otwarcie przygotowanego pliku/akcji).
  • Patchowanie: aktualizacja WSL z poziomu wiersza poleceń (poza klasycznym Windows Update).

Aktualizacja WSL:

wsl.exe --update
wsl.exe --status

6) DirectX / CLFS — kolejne EoP

  • DirectX (EoP) i CLFS (EoP): historycznie CLFS bywało wielokrotnie wykorzystywane przez ransomware i APT do podniesienia uprawnień. Nie są oznaczone jako „exploited”, ale to wysoki priorytet twardnienia.

7) Copilot / Agentic AI / VS Code — RCE i SFB (np. CVE-2025-62222)

  • Trend: pierwsze wzmianki o lukach określanych jako dotyczące „Agentic AI” i integracji narzędzi deweloperskich.
  • Ryzyko: remote code execution na repozytoriach ofiary połączone ze spoofingiem/prompt-injection i niewystarczającą walidacją wygenerowanych artefaktów.
  • Reakcja: wymuś review i podpisywanie rozszerzeń/agentów, ogranicz automatyczne wykonywanie skryptów generowanych przez narzędzia asystujące.

Praktyczne konsekwencje / ryzyko

  • Łańcuchy ataku „phish → RCE → kernel EoP”: CVE-2025-62199 (Office/Preview Pane) lub CVE-2025-60724 (GDI+) daje inicjalny kod, CVE-2025-62215 zapewnia SYSTEM i trwałość.
  • Ryzyko serwerowe: serwisy przetwarzające pliki (skanery, konwertery, DLP, podglądy) narażone na GDI+ 9.8; hosty z AMA eksponowane na sieć — RCE bez auth.
  • DevSecOps: IDE/VS/VS Code i rozszerzenia Copilot/Agentic AI — nowy wektor: supply-chain w procesie developerskim.

Rekomendacje operacyjne / co zrobić teraz

1) Patch management (priorytet A — 24/48 h):

  • Windows/Office/SQL/WSLg/AMA na wszystkich hostach. Zacznij od systemów z ekspozycją internetową oraz stacjach z wysokim ryzykiem (helpdesk, finanse, GRC).

2) Twardnienie pod „Preview Pane”:

  • Tymczasowo wyłącz Preview Pane (Outlook/Explorer) polityką.
  • Zastosuj MOTW enforcement i politykę blokady makr z Internetu. (Microsoft od miesięcy promuje ten kierunek).
  • Włącz Protected View i otwieranie w trybie „Application Guard for Office”, jeśli licencje pozwalają.

3) Segmentacja parserów i usług plikowych:

  • Sandboxy dla serwisów podglądu/przetwarzania dokumentów; AppContainer/WDAC na hostach skanujących.
  • Uruchamiaj parsery na kontach niskoprzywilejowych z ograniczonym dostępem do sieci.

4) WSLg i AMA:

  • WSL: wsl.exe --update w zadaniu harmonogramu po patchach OS.
  • AMA: zaktualizuj rozszerzenie na VM w Azure i zweryfikuj reguły NSG — AMA nie powinien być bezpośrednio osiągalny z Internetu.

5) Dev tooling (VS/VS Code/Copilot):

  • Wymuś Allow-listę rozszerzeń, podpisy i minimalne wersje; odetnij uruchamianie skryptów z nieufnych źródeł (Set-ExecutionPolicy AllSigned).
  • Edukuj devów o prompt-injection i zasadzie „review przed run”.

6) Detections/telemetria (przykłady KQL/PowerShell):

  • Wzorzec EoP po RCE (pliki tymczasowe → SYSTEM) – Microsoft Defender for Endpoint (KQL):
DeviceProcessEvents
| where InitiatingProcessIntegrityLevel in ("Low","Medium")
| where ProcessIntegrityLevel == "System"
| where Timestamp > ago(3d)
| summarize count(), any(ProcessCommandLine) by DeviceName, InitiatingProcessFileName, ProcessName
  • Podejrzane preview/parsowanie plików Office:
DeviceFileEvents
| where Timestamp > ago(3d)
| where FileName matches regex @"\.(docx|xlsx|rtf|emf|wmf)$"
| where InitiatingProcessFileName in ("splwow64.exe","mspreview.exe","prevhost.exe","outlook.exe")
| summarize count() by DeviceName, InitiatingProcessFileName, FileName
  • Odnalezienie stacji z włączonym okienkiem podglądu (Outlook) – zapytanie PowerShell/Remoting, raport do CSV:
$computers = Get-ADComputer -Filter * | Select-Object -Expand Name
$results = foreach($c in $computers){
  Invoke-Command -ComputerName $c -ScriptBlock {
    Get-ItemProperty -Path "HKCU:\Software\Microsoft\Office\16.0\Outlook\Preferences" `
      -Name ReadingPaneOptions -ErrorAction SilentlyContinue
  } | Select-Object PSComputerName, ReadingPaneOptions
}
$results | Export-Csv .\outlook_previewpane_status.csv -NoTypeInformation

Różnice / porównania z innymi przypadkami

  • Mniej CVE vs. październik 2025, ale większa „jakość” ryzyka: zero-day w kernelu, GDI+ 9.8, łańcuchy z Office/Preview i elementy agentów/AI.
  • Rozbieżności liczby CVE (63 vs. 66/68/80) wynikają z liczenia komponentów Chromium, Edge, czasem Adobe lub dokumentowanych wcześniej poprawek; dla operacji patchowania najwierniejsze bywają listy ZDI/Tenable zsynchronizowane z MSRC.

Podsumowanie / kluczowe wnioski

  1. Patchuj teraz – szczególnie systemy narażone i stacje użytkowników wysokiego ryzyka. CVE-2025-62215 (kernel EoP) jest aktywnie wykorzystywana i często domyka łańcuch po RCE.
  2. Zamknij Preview Pane i ogranicz otwieranie dokumentów zewnętrznych do czasu pełnego wdrożenia łatek. Office RCE (CVE-2025-62199) i GDI+ (CVE-2025-60724) to realne wektory.
  3. Zaktualizuj AMA i WSLg osobno, przejrzyj ekspozycję usług i uprawnienia kont serwisowych.
  4. Ucywilizuj narzędzia Dev (VS/VS Code/Copilot/Agentic AI): allow-listy, podpisy, zasada „review przed run”, egzekwuj AllSigned.

Źródła / bibliografia

  • Brian Krebs, „Microsoft Patch Tuesday, November 2025 Edition” — przegląd miesiąca i kontekst wdrożeniowy. (Krebs on Security)
  • Zero Day Initiative (Trend Micro), „The November 2025 Security Update Review” — lista CVE, omówienia GDI+/Office/AMA/WSLg/Agentic AI, wskazanie zero-day CVE-2025-62215. (Zero Day Initiative)
  • Tenable, „Microsoft’s November 2025 Patch Tuesday Addresses 63 CVEs (CVE-2025-62215)” — metryki i zestawienie dotkniętych komponentów. (Tenable®)
  • BleepingComputer, „Microsoft November 2025 Patch Tuesday fixes 1 zero-day, 63 flaws” — potwierdzenie skali i statusu 0-day. (BleepingComputer)
  • SANS Internet Storm Center, „Microsoft Patch Tuesday for November 2025” — ujęcie operacyjne i komentarz do krytycznych poprawek. (SANS Internet Storm Center)

Windows 10: aktualizacja ESU KB5068781 może kończyć się błędem 0x800f0922 — co się dzieje i jak reagować

Wprowadzenie do problemu / definicja luki

Microsoft potwierdził, że listopadowa aktualizacja bezpieczeństwa Windows 10 w ramach ESU — KB5068781 — może nie instalować się na części urządzeń firmowych, kończąc się błędem 0x800f0922 (CBS_E_INSTALLERS_FAILED). Problem ma dotyczyć komputerów aktywowanych poprzez Windows Subscription Activation (WSA) zarządzane z Microsoft 365 Admin Center. Na dziś producent bada sprawę i nie opublikował obejścia (workaroundu).


W skrócie

  • Kogo dotyczy? Wybrane urządzenia z Windows 10 22H2 objęte Extended Security Updates (ESU) i aktywowane subskrypcyjnie (WSA) z Microsoft 365 Admin Center. Instalacja KB5068781 może się wycofywać z kodem 0x800f0922.
  • Status producenta: Problem potwierdzony, w trakcie dochodzenia, brak obejścia.
  • Kiedy wydano KB5068781? 11 listopada 2025 r., jako pierwszą aktualizację ESU dla Windows 10.
  • Powiązane zmiany: Równolegle Microsoft wypuścił KB5071959 (out-of-band) naprawiający proces rejestracji do ESU (inną usterkę, sprzed wydania KB5068781). To nie jest naprawa błędu 0x800f0922, ale warto o niej wiedzieć w kontekście enrolmentu do ESU.

Kontekst / historia / powiązania

Windows 10 zakończył standardowe wsparcie 14 października 2025 r., a Microsoft uruchomił program ESU (w tym wariant bezpłatny na rok w określonych regionach/ścieżkach) zapewniający jeszcze poprawki bezpieczeństwa. Pierwszym pakietem w tym cyklu dla Windows 10 22H2 jest KB5068781. Chwilę wcześniej Microsoft publikował KB5071959 — aktualizację poza harmonogramem, która naprawia problemy z samą rejestracją/enrolmentem do ESU (m.in. błędy kreatora zapisu). To inny wątek niż bieżący błąd 0x800f0922 przy instalacji KB5068781.


Analiza techniczna / szczegóły usterki

Symptom: instalator KB5068781 przebiega, po restarcie następuje rollback i w Windows Update widzimy 0x800f0922. W dziennikach CBS.log błąd mapuje się do CBS_E_INSTALLERS_FAILED.

Zakres: Microsoft wskazuje, że przypadłość jest izolowana do urządzeń aktywowanych przez Windows Subscription Activation (WSA) z poziomu Microsoft 365 Admin Center. WSA to mechanizm “step-up” licencjonowania (np. z Pro do Enterprise) oparty o przypisanie subskrypcji w Entra ID/M365, bez klasycznej aktywacji KMS/MAK.

Co to oznacza technicznie?
Aktualizacja LCU (KB5068781) instaluje także sklejony SSU (KB5068780). Błąd 0x800f0922 to kod generowany przez komponent CBS, gdy jedna z faz instalacji/konfiguracji pakietu kończy się niepowodzeniem. W opisywanym case’ie Microsoft zawęża problem do interakcji z mechanizmem subskrypcyjnej aktywacji Windows, a nie do klasycznych przyczyn 0x800f0922 (np. brak miejsca w System Reserved, problemy z .NET czy brak łączności do WU/WSUS). Na dziś producent nie publikuje obejścia, jedynie status “investigating”.


Praktyczne konsekwencje / ryzyko

  • Brak łatek bezpieczeństwa z 11.2025 na części floty = zwiększona powierzchnia ataku (ESU zawiera poprawki na świeże CVE). Priorytetem jest kontrola ekspozycji i tymczasowe zabezpieczenia tam, gdzie deployment utknął.
  • Ryzyko niespójności zgodności (compliance) — urządzenia niezgodne z polityką patchowania mogą wywołać alerty w audytach.
  • Potencjalne opóźnienia w ring-based deployment — konieczność pauzy/holda dla segmentu WSA.

Rekomendacje operacyjne / co zrobić teraz

1) Natychmiastowe działania “higieniczne”

  1. Zidentyfikuj wpływ – odfiltruj urządzenia z Windows Subscription Activation: # Czy urządzenie jest Enterprise via Subscription Activation? (Get-ComputerInfo).WindowsEditionId slmgr /dlv # W Event Viewer sprawdź aktywację: Applications and Services Logs > Microsoft > Windows > Security-SPP
  2. Oznacz ring “on hold” dla WSA-aktywnych urządzeń względem KB5068781, utrzymując rollout na maszynach bez WSA (o ile brak incydentów). Polityka WSUS/WUfB: tymczasowy safeguard hold dla danej grupy.
  3. Wymuś instalację SSU/LCU w poprawnej kolejności (jeśli stosujesz obrazy offline/WSUS Catalog). KB5068781 zawiera SSU (KB5068780), ale przy serwisowaniu obrazów offline zwróć uwagę na wymagania w sekcji “How to get this update”.

2) Walidacja enrolmentu ESU (osobny wątek, ale ważny)

  • Upewnij się, że enrolment ESU jest zakończony sukcesem. Jeśli wcześniej miałeś błąd kreatora zapisu do ESU: zastosuj KB5071959 (OOB) — dotyczy rejestracji, nie naprawia błędu 0x800f0922 przy instalacji KB5068781.

3) Diagnostyka na hostach dotkniętych 0x800f0922 (playbook)

Uwaga: to nie są oficjalne obejścia bieżącej usterki WSA→KB5068781, ale dobra praktyka diagnostyczna przy 0x800f0922 i aktualizacjach LCU.

  • Zbierz logi do analizy: # CBS, DISM, WindowsUpdate, Setup md C:\Temp\WUlogs copy C:\Windows\Logs\CBS\CBS.log C:\Temp\WUlogs\ Get-WinEvent -LogName "Setup" -MaxEvents 200 | Export-Csv C:\Temp\WUlogs\Setup.csv -NoTypeInformation Get-WinEvent -LogName "Microsoft-Windows-WindowsUpdateClient/Operational" -MaxEvents 500 | Export-Csv C:\Temp\WUlogs\WUClient.csv -NoTypeInformation
  • Weryfikacja łączności do usług MS (proxy/SSL inspection):
    • Zezwól na wymagane end-pointy aktualizacji i CRL, szczególnie jeśli w środowisku jest TLS inspection. (Microsoft podkreśla znaczenie łańcucha certyfikatów/CRL przy SSU/LCU.)
  • Reset komponentów Windows Update (bezpieczne): net stop wuauserv net stop bits net stop cryptsvc ren C:\Windows\SoftwareDistribution SoftwareDistribution.bak ren C:\Windows\System32\catroot2 catroot2.bak net start cryptsvc net start bits net start wuauserv
  • Sprawdzenie i naprawa komponentów systemowych: DISM /Online /Cleanup-Image /RestoreHealth sfc /scannow
  • Test instalacji z Microsoft Update Catalog (poza WUfB/WSUS), tylko na pilotażu: # Przykład: instalacja ręczna pobranego .msu wusa.exe C:\Temp\windows10.0-kb5068781-x64_*.msu /quiet /norestart

4) Tymczasowe polityki zabezpieczające, jeśli host nie łapie łatki 11/2025

  • Zwiększ twardość konfiguracji:
    • Wymuś ASR rules, atak-surface reduction (MDfE/Defender for Endpoint).
    • Włącz/zaostrz Controlled Folder Access, Smart App Control lub AppLocker/WDAC gdzie to możliwe.
    • Zaostrzone blokady makr i WDAC/Applocker w stacjach o podwyższonym ryzyku.
  • Segmentacja: ogranicz dostęp z hostów niezałatanych do systemów krytycznych (ZTA/Conditional Access).
  • Telemetria i detekcje: dodatkowe alerty na LSA Protection, Credential Guard, WinRM/PowerShell Remoting i anomalia w procesach instalatora.

5) Komunikacja i change management

  • Zgłoś wyjątek patchowania z uzasadnieniem (vendor-confirmed issue) i planem aktualizacji zaraz po opublikowaniu poprawki przez MS.
  • Ustal monitoring: reguły, które wyłapią pojawienie się “Resolved KB” w karcie aktualizacji KB5068781 / Release Health.

Różnice / porównania z innymi przypadkami (0x800f0922)

Klasyczny 0x800f0922 w historii Windows bywał skutkiem m.in.:

  • Za małej partycji System Reserved (brak miejsca na instalację komponentów),
  • Problemów z .NET Framework podczas konfiguracji,
  • Braku łączności do WU/WSUS lub punktów CRL (proxy/inspection),
  • Uszkodzonych zadań Harmonogramu utrudniających konfigurację pakietu.

W bieżącym incydencie Microsoft jednoznacznie wskazuje na urządzenia z WSA (aktywowane subskrypcyjnie z M365 Admin Center). To zawęża troubleshooting i odróżnia przypadek od “typowego” 0x800f0922.


Podsumowanie / kluczowe wnioski

  • KB5068781 (ESU, 11.2025) może nie instalować się na części urządzeń firmowych i zwracać 0x800f0922. Dotyczy aktywacji WSA (M365 Admin Center). Brak obejścia, Microsoft prowadzi analizę.
  • Zatrzymaj rollout dla ringów WSA, utrzymaj łatanie pozostałych maszyn, wzmocnij kontrole kompensacyjne i monitoruj kartę KB pod kątem “Resolved KB”.
  • Pamiętaj o oddzielnym wątku enrolmentu do ESU — tu pomóc może KB5071959 (OOB), ale nie rozwiązuje omawianego błędu instalacji.

Źródła / bibliografia

  1. Microsoft Support — KB5068781 (Windows 10 22H2, 11.11.2025) — sekcja Known issues (0x800f0922; WSA/M365 Admin Center; status “investigating”). (Microsoft Support)
  2. BleepingComputer — potwierdzenie problemu, relacje administratorów, kontekst ESU. (BleepingComputer)
  3. Microsoft Learn — Windows Subscription Activation (WSA) — definicja i sposób działania aktywacji subskrypcyjnej. (Microsoft Learn)
  4. Microsoft Support — KB5071959 (Out-of-band) — naprawa problemów enrolmentu ESU (osobny wątek). (Microsoft Support)

Utrzymuj obserwację karty KB5068781/Release Health. Gdy Microsoft opublikuje “Resolved KB” lub obejście, wdrożenie na ringach WSA można wznowić zgodnie z polityką organizacji.

SSA Holdings (Amarillo, TX) — incydent naruszenia danych z 15 września 2025 r.: co wiemy, ryzyko dla poszkodowanych i działania obronne

Wprowadzenie do problemu / definicja luki

SSA Holdings, LLC — podmiot z Amarillo (Teksas), działający jako apteka (m.in. „Amarillo Pharmacy”) — poinformował organy nadzorcze o incydencie bezpieczeństwa, w którym nieuprawniona osoba uzyskała dostęp do systemów i 15 września 2025 r. skopiowała pliki firmy. Analiza danych zakończyła się 24 października 2025 r., a zgłoszenie do prokuratora generalnego stanu Kalifornia opublikowano 13 listopada 2025 r. W listach do osób poszkodowanych spółka oferuje bezpłatny pakiet monitoringu tożsamości od Kroll. Źródła urzędowe potwierdzają daty i zakres reakcji, natomiast precyzyjny katalog atrybutów danych różni się w zależności od adresata powiadomienia.

W skrócie

  • Data zdarzenia: 15.09.2025 (skopiowanie plików po uzyskaniu dostępu do systemów).
  • Potwierdzenie obecności danych osobowych w plikach: 24.10.2025.
  • Zgłoszenie/regulatory: wpis w rejestrze naruszeń CA AG z datą publikacji 13.11.2025.
  • Profil firmy: podmiot medyczny/apteczny z Amarillo, TX (NPI z adresem 6010 S Western St, Amarillo).
  • Typy danych: listy notyfikacyjne używają placeholdera („<>”), co oznacza, że zakres różni się per odbiorca; źródła branżowe wskazują m.in. nazwiska i numery SSN (informacja wtórna, nie z listu urzędowego).
  • Wsparcie dla poszkodowanych: monitoring tożsamości Kroll (kredytowy, ubezpieczenie do 1 mln USD, konsultacje, odzyskiwanie tożsamości).

Kontekst / historia / powiązania

W 2025 r. sektor ochrony zdrowia i usług okołomedycznych pozostaje jednym z najczęściej atakowanych — z uwagi na wysoką wartość danych PII/PHI i rozproszoną infrastrukturę. Choć SSA Holdings formalnie nie ujawnił publicznie pełnej listy atrybutów, charakter działalności (apteka/świadczenia farmaceutyczne) i wzorce incydentów w branży zwiększają prawdopodobieństwo obecności w plikach danych identyfikacyjnych o wysokiej wrażliwości (np. SSN). Rejestr CA AG potwierdza harmonogram incydentu i notyfikacji, co jest zgodne z typowym cyklem IR (containment → forensics/triage → data mining → notyfikacje).

Uwaga o skali: serwis branżowy ClaimDepot podaje, że w samym Teksasie powiadomienia otrzymało 1 639 osób. To liczba wtórna (nie z dokumentu urzędowego) i może ulec zmianie w miarę aktualizacji rejestrów stanowych.

Analiza techniczna / szczegóły luki

List notyfikacyjny zdradza kilka kluczowych faktów o przebiegu incydentu:

  1. Nieuprawniony dostęp do „niektórych systemów” i aktywne skopiowanie plików jednego dnia (15.09). To silnie wskazuje na exfiltrację plikową po wcześniejszej kompromitacji konta/usługi (np. VPN, RDP, M365, serwer plików, EHR/PM). 2) Brak wzmianki o szyfrowaniu/ransomware w liście (co zwykle jest akcentowane), a nacisk na „acquired copies of certain files” sugeruje scenariusz data theft bez destrukcji. 3) Po zdarzeniu wdrożono monitoring tożsamości — organizacje często decydują się na tę ofertę, gdy w wektorze mogły znaleźć się SSN/PII.

Co mogło zawieść? (hipotezy IR oparte na wzorcach branżowych)

  • Kompromitacja poświadczeń (phishing MFA-fatigue, infostealer, reuse haseł) i pivot na zasoby plikowe.
  • Błędy w kontrolach DLP i brak reguł anomalii dla hurtowego kopiowania danych z udziałami SMB/SharePoint.
  • Niedomknięte EDR/telemetria dla serwerów plików (słabsza widoczność na NAS).
  • Brak segmentacji między strefą biurową a systemami przetwarzającymi dane wrażliwe.

Co sprawdzić w śledztwie (checklista Blue Team)

  • Korelacja logów AD/Entra ID (logon patterns, Impossible Travel, liczba tokenów refresh).
  • SMB telemetry/Windows Security/FSRM: duże wolumeny ReadFile/Create/Copy w krótkim oknie.
  • M365/Azure: FileDownloaded, SearchQueryPerformed, eDiscovery/Export.
  • VPN/NAC: niecodzienne ASN, profile urządzeń, brak zgodności postur.
  • EDR: procesy narzędzi do archiwizacji (7z, rar, winzip), skrypty PowerShell z Compress-Archive, nietypowe ścieżki temp.

Przykładowa reguła Sigma (wykrywanie masowego kopiowania do archiwum ZIP na hostach Windows):

title: Suspicious Bulk File Compression
id: 2b4a3f6c-8a1c-4f1f-9e3f-ssa-holdings-zip
status: experimental
logsource:
  product: windows
  category: process_creation
detection:
  sel_parent:
    ParentImage|endswith:
      - '\cmd.exe'
      - '\powershell.exe'
  sel_proc:
    Image|endswith:
      - '\7z.exe'
      - '\7za.exe'
      - '\winzip64.exe'
      - '\powershell.exe'
    CommandLine|contains:
      - 'Compress-Archive'
      - '.zip'
  condition: sel_parent and sel_proc
fields:
  - CommandLine
  - ParentCommandLine
  - Image
falsepositives:
  - Admin/backup tasks
level: high

Przykładowe kwerendy KQL (M365/Azure Audit)

AuditLogs
| where TimeGenerated between (datetime(2025-09-15) .. datetime(2025-09-16))
| where OperationName in ("FileDownloaded", "SearchQueryPerformed", "ExportCreated")
| summarize count(), FirstEvent=min(TimeGenerated), LastEvent=max(TimeGenerated) by UserId, OperationName, ClientIP

Praktyczne konsekwencje / ryzyko

  • Ryzyko kradzieży tożsamości (otwieranie kont kredytowych, fraud podatkowy), zwłaszcza jeśli wśród atrybutów były SSN — na co wskazują doniesienia branżowe.
  • Spear phishing/Smishing z użyciem prawdziwych danych identyfikacyjnych.
  • Wejście danych do obiegu brokerskiego (sprzedaż paczek PII w dark/neon).
  • Ryzyko wtórnych ataków na świadczeniodawców/ubezpieczycieli, jeśli w plikach znalazły się identyfikatory pacjentów (tu brak oficjalnego potwierdzenia typu PHI w rejestrze CA).

Rekomendacje operacyjne / co zrobić teraz

Dla osób poszkodowanych (praktyka + „gotowe komendy”)

  1. Włącz monitoring Kroll z listu notyfikacyjnego (adres portalu i numer członkowski w piśmie).
  2. Zamrożenie kredytu („security freeze”) w 3 biurach (Equifax, Experian, TransUnion).
  3. Alerty oszustwa (fraud alert) i ciągły przegląd raportów (AnnualCreditReport).
  4. Blokady kont w SSA („my Social Security”) i bankowości — jeżeli obserwujesz anomalię.
  5. Zachowaj kopię korespondencji — przydatne przy ewentualnych roszczeniach.

Przykładowe komendy do szybkiej weryfikacji wycieków haseł (lokalnie, bez ich ujawniania; Pwned Passwords k-Anonimity):

# Mac/Linux: sprawdź SHA1 hasła w k-anonimity (nie wysyłaj pełnego hash)
read -s -p "Hasło: " P; echo -n $P | shasum | awk '{print toupper($1)}' | \
  awk '{print substr($0,1,5)" "substr($0,6)}' | \
  while read prefix rest; do curl -s https://api.pwnedpasswords.com/range/$prefix | grep -i $rest; done

Dla zespołów bezpieczeństwa SSA Holdings (lub podmiotów podobnych)

  • EDR na serwerach plików / NAS telemetry + blokady exfilu (DLP, FSRM quotas, deny archive tools).
  • MFA odporne na phishing (FIDO2/Passkeys), kontrola sesji i re-autoryzacja przy dostępie do danych wrażliwych.
  • Segmentacja sieci (oddzielne strefy dla systemów z danymi wrażliwymi).
  • Honeytokens/Honeyfiles w kluczowych udziałach; alert na odczyt.
  • Playbook IR z krokami: izolacja hosta, rotacja tajemnic, przeszukanie wskaźników exfiltracji, retencja logów ≥ 180 dni.
  • Ciągłe testy scenariuszowe (purple team) pod kątem „stealth exfiltration” (SMB → archiwizacja → HTTPS put).

Przykładowa reguła Zeek (anomalie objętościowe SMB/HTTP) — szkic:

event file_over_new_connection(f: fa_file) {
  if ( f$source == "SMB" && f$info?$totalsize && f$info$totalsize > 500*1024*1024 )
    NOTICE([$note=Notice::INFO, $msg=fmt("Large SMB read: %s bytes", f$info$totalsize)]);
}

Różnice / porównania z innymi przypadkami

  • „Copy-out without crypto” vs. klasyczny ransomware: brak wzmianek o szyfrowaniu i przestojach produkcyjnych — scenariusz bliższy cichym kradzieżom danych (low-noise) niż głośnym kampaniom szyfrującym.
  • Sektor medyczny/apteczny — nawet gdy zgłoszenie nie mówi wprost o PHI, profil działalności zwiększa wagę danych i skutki regulacyjne. Zgłoszenie w CA AG potwierdza typowy cykl „data mining → notyfikacje”.

Podsumowanie / kluczowe wnioski

  • Incydent w SSA Holdings miał charakter exfiltracji plikowej 15.09.2025; 24.10.2025 potwierdzono obecność danych osobowych; 13.11.2025 opublikowano wpis w rejestrze CA. Firma oferuje monitoring Kroll. Zakres danych różni się per osoba; źródła branżowe sygnalizują m.in. SSN. Wdrożenie MFA odpornych na phishing, segmentacji i detekcji exfiltracji jest kluczowe, podobnie jak security freeze i monitoring kredytowy po stronie osób poszkodowanych.

Źródła / bibliografia

  • List notyfikacyjny SSA Holdings złożony u Prokuratora Generalnego Kalifornii (PDF). Potwierdza datę incydentu, datę zakończenia analizy i ofertę Kroll.
  • Rejestr naruszeń danych — Office of the Attorney General, California (pozycja „SSA Holdings, LLC” z datami 09/15/2025 i 11/13/2025). (California Attorney General)
  • Rejestr NPI (Centers for Medicare & Medicaid Services) — profil „SSA HOLDINGS LLC / Amarillo, TX”. Potwierdza naturę podmiotu i adres. (npiregistry.cms.hhs.gov)
  • ClaimDepot — notatka o naruszeniu SSA Holdings, w tym liczba 1 639 powiadomień w Teksasie oraz wzmianka o SSN (źródło wtórne, nieurzędowe). (Claim Depot)

Towne Mortgage potwierdza wyciek danych po ataku ransomware BlackByte (2025)

Wprowadzenie do problemu / definicja luki

Towne Mortgage Company (pełnoprofilowy pożyczkodawca hipoteczny z Michigan) poinformował o naruszeniu bezpieczeństwa danych po ataku ransomware przypisywanym grupie BlackByte. W wyniku nieautoryzowanego dostępu doszło do skopiowania plików z danymi osobowymi klientów, w tym m.in. imion i nazwisk, numerów Social Security (SSN), dat urodzenia, adresów, danych dokumentów tożsamości, informacji medycznych i finansowych. Spółka uruchomiła dla poszkodowanych 24-miesięczny pakiet monitoringu kredytowego przez Cyberscout (TransUnion). Źródła stanowe wskazują na formalne zgłoszenia do organów nadzorczych.


W skrócie

  • Atakujący: BlackByte (model „double extortion” – szyfrowanie + kradzież i publikacja danych).
  • Wykrycie nieautoryzowanego dostępu: 7 czerwca 2025 r. (UTC-5).
  • Potwierdzenie wycieku plików: 14 października 2025 r. po przeglądzie śledczym.
  • Zgłoszenie publiczne (m.in. MA AG): 14 listopada 2025 r.
  • Claim na „leak site”/darknecie: 30 lipca 2025 r. (BlackByte ogłosił żądania i próbki danych).
  • Zakres danych: PII + możliwe elementy medyczne i finansowe.
  • Wsparcie dla ofiar: 24 mies. monitoringu kredytu (Cyberscout/TransUnion).

Kontekst / historia / powiązania

W 2024–2025 r. sektor hipoteczny w USA był regularnie celem grup ransomware ze względu na bogate zbiory PII + dane finansowe oraz złożone łańcuchy dostaw (serwisowanie pożyczek, dostawcy IT, kancelarie, biura tytułów). BlackByte pozostawał aktywny także w połowie 2025 r., a 30 lipca 2025 r. na portalach śledzących wycieki odnotowano wpis o Towne Mortgage. Niektóre analizy wiążą aktywność BlackByte z nowszymi wariantami/ewolucją operacyjną (np. Crux jako afiliacja/odmiana z połowy 2025 r.), choć konkretne TTP w sprawie Towne nie zostały publicznie potwierdzone.


Analiza techniczna / szczegóły luki

Co wiemy oficjalnie:

  • Zidentyfikowano nieautoryzowany dostęp do sieci 7 czerwca 2025 r.
  • Po forensic + manual review spółka 14 października 2025 r. potwierdziła, że pliki z danymi klientów mogły zostać skopiowane (exfiltracja).
  • Zawiadomienia do organów – m.in. Massachusetts AG – od 14 listopada 2025 r.
  • Oferta 24 mies. monitoringu kredytu (Cyberscout) dla konsumentów.

TTP BlackByte (typowe, branżowe):

  • Podwójne wymuszenie: kradzież + szyfrowanie; publikacja „próbek” na blogu wycieków dla presji negocjacyjnej.
  • Techniki utrzymania/eskalacji (obserwowane w rodzinie/afiliacjach): wyłączanie mechanizmów odzyskiwania (np. bcdedit), uruchamianie szyfrowania po wstępnej enumeracji udziałów, czasem wykonywanie z procesów systemowych (np. svchost.exe), lateral movement po AD. Uwaga: te cechy opisują grupę/rodzinę, a nie są oficjalnie potwierdzone w sprawie Towne.

Potencjalne wektory (hipotezy branżowe, brak publicznych potwierdzeń dla tego incydentu):

  • Kradzież/stosowanie poświadczeń domenowych (phishing, stealer, RDP/VPN bez MFA).
  • Eksploatacja znanych podatności w edge (VPN, MDM, serwery plików, Veeam, VMware, Citrix).
  • Niewłaściwe segmentacje i brak EDR/NDR na serwerach pomocniczych.

Praktyczne konsekwencje / ryzyko

Dla klientów:

  • Wysokie ryzyko kradzieży tożsamości (SSN, DoB, adresy) i fraudów kredytowych/ubezpieczeniowych.
  • Możliwe targetowane smishing/phishing podszywające się pod Towne, TransUnion/Cyberscout czy biura kredytowe.
  • Ryzyko synthetic ID i nadużyć podatkowych.

Dla organizacji:

  • Koszty powiadomień i usług ochronnych, ewentualne postępowania AG dot. terminowości i treści notyfikacji, oraz przegląd zgodności z wymogami stanowymi (MA, TX, OR itd.).

Rekomendacje operacyjne / co zrobić teraz

Dla użytkowników/klientów Towne Mortgage

  1. Zarejestruj monitoring kredytowy (24 mies.) w oknie wskazanym w liście – to bezpłatne.
  2. Zamróź kredyt (Credit Freeze) w Equifax, Experian, TransUnion – skuteczniejsze niż alerty.
  3. Włącz „fraud alert” i pobierz raporty kredytowe (co najmniej kwartalnie).
  4. Uważaj na phishing: korespondencja o „dopłatach”, „aktualizacji danych po incydencie” itp.
  5. Jeśli doszło do nadużyć: FTC IdentityTheft.gov (plan działań) + zgłoszenie na policję.

Dla zespołów SOC/IR w instytucjach finansowych (checklista hunt & hardening)

  • Hunting (Windows/AD)
    • Nietypowe użycia bcdedit, vssadmin, wbadmin (wyłączanie kopii w tle).
    • Wzorce exfiltracji (duży outbound, rclone, mega, curl na TOR/proxy).
    • Wstrzyknięcia/uruchomienia z svchost.exe, cmd.exe w nietypowych ścieżkach.
    • Nienormalne Kerberoasting/AS-REP i masowe LDAP/SMB enumeracje.
  • Kontrole prewencyjne
    • MFA wymuszona na RDP/VPN; blokada RDP z internetu; just-in-time admin.
    • EDR na serwerach plików/backup; NDR na segmentach serwerowych.
    • Segmentacja: serwery finansowe/serwisowania pożyczek odłączone od stacji biurowych.
    • Kopie zapasowe offline/immutability, testy przywracania co 30 dni.
    • DLP/monitoring egress i CASB dla chmur (wykrywanie nieautoryzowanych uploadów).

Przykładowe reguły/Sigma (skrót):

title: Possible Ransomware Preparation via Backup Deletion
logsource: { product: windows, category: process_creation }
detection:
  sel:
    Image|endswith: '\bcdedit.exe'
    CommandLine|contains|all:
      - 'recoveryenabled'
      - 'no'
  condition: sel
level: high
tags: [attack.defense_evasion, attack.impact]
# Szybki przegląd nietypowych transferów wychodzących (Windows)
Get-WinEvent -LogName "Microsoft-Windows-Sysmon/Operational" |
  Where-Object { $_.Id -eq 3 -and $_.Properties[8].Value -gt 104857600 } | # >100MB
  Select-Object TimeCreated, @{n='DstIp';e={$_.Properties[5].Value}}, @{n='Bytes';e={$_.Properties[8].Value}}

Różnice / porównania z innymi przypadkami

  • W sektorze hipotecznym widzimy zarówno encrypt-and-exfiltrate, jak i pure-exfiltration (bez szyfrowania) z naciskiem na presję publikacji. BlackByte konsekwentnie stosuje publikację próbek – analogicznie do innych grup (LockBit, Akira), co zwiększa ekspozycję ofiar. W przypadku Towne istnieją publiczne wzmianki o próbkach na blogu wycieków z 30.07.2025, co potwierdza scenariusz „double extortion”.

Podsumowanie / kluczowe wnioski

  • Incydent w Towne Mortgage wpisuje się w szerszy trend ataków na finansowanie hipoteczne, gdzie PII + dane finansowe są kluczowym celem.
  • Oś czasu (06/07 wykrycie → 10/14 potwierdzenie → 11/14 zgłoszenie) oraz 24-miesięczne wsparcie kredytowe wskazują na klasyczny przebieg post-incydentowy.
  • Dla klientów najważniejsze są: freeze kredytu, monitorowanie oraz ostrożność wobec phishingu.
  • Dla firm – MFA wszędzie, twarde segmentacje, EDR/NDR, ochrona kopii i stały threat hunting pod TTP BlackByte.

Źródła / bibliografia

  1. „Towne Mortgage Confirms Data Breach Following Ransomware Attack” – przegląd incydentu, zakres danych, oś czasu, wsparcie Cyberscout. (Claim Depot)
  2. Halcyon – profil grupy BlackByte i potwierdzenia najnowszych ataków/claimów w 2025 r. (halcyon.ai)
  3. Ransomware.live – wpis o Towne Mortgage (claim na blogu wycieków 30.07.2025). (ransomware.live)
  4. Texas OAG / Oregon DOJ – wytyczne dot. obowiązków notyfikacyjnych i wzorców raportowania; kontekst regulacyjny. (Texas Attorney General)

CVE-2025-64446: krytyczna podatność 0-day w Fortinet FortiWeb (path traversal) aktywnie wykorzystywana

W skrócie

  • Co: Path traversal prowadzący do zdalnego wykonania poleceń z uprawnieniami administracyjnymi na FortiWeb.
  • Kto: Atakujący bez uwierzytelnienia (z Internetu).
  • Status: 0-day – wykorzystywany zanim opublikowano advisory; obecnie dostępne poprawki. Wpis w CISA KEV.
  • Wpływ: Pełne przejęcie WAF-a, tworzenie kont admina, modyfikacja polityk, pivot w głąb sieci.
  • Co robić teraz: Natychmiastowy upgrade do wersji naprawionych, ograniczenie ekspozycji HTTP/HTTPS, monitoring logów, polowanie na ślady nadużyć.

Kontekst / historia / powiązania

Pierwsze sygnały o nieznanym exploicie na urządzenia Fortinet pojawiły się na początku października. 13–14 listopada niezależni badacze (m.in. watchTowr) zreprodukowali błąd i opublikowali wstępne ustalenia, po czym Fortinet wydał PSIRT FG-IR-25-910 oraz przypisał CVE-2025-64446. W tym samym czasie liczne firmy (Tenable, Rapid7, Arctic Wolf) ostrzegły o aktywnej eksploatacji; CISA dodała lukę do KEV.


Analiza techniczna / szczegóły luki

Wektor ataku. Błąd to relative path traversal w interfejsie HTTP/HTTPS FortiWeb, który umożliwia napastnikowi odwołanie się do niezamierzonych ścieżek i zasobów aplikacji/OS. Skutkiem jest ominięcie kontroli i możliwość wykonywania komend administracyjnych lub wywoływania wrażliwych funkcji. W praktyce to RCE/privilege abuse osiągalne bez logowania.

Wersje podatne / naprawione (Fortinet PSIRT):

  • Podatne: 7.0.0–7.0.11, 7.2.0–7.2.11, 7.4.0–7.4.9, 7.6.0–7.6.4, 8.0.0–8.0.1
  • Naprawione: 7.0.12+, 7.2.12+, 7.4.10+, 7.6.5+, 8.0.2+
    Fortinet zaleca także ograniczenie dostępu do interfejsu zarządzania HTTP/HTTPS wyłącznie do sieci wewnętrznej (nie wystawiać publicznie).

Starsze gałęzie (ustalenia badaczy). WatchTowr wskazuje, że 6.4 ≤ 6.4.3 oraz 6.3 ≤ 6.3.23 również wykazują podatność w podobnym łańcuchu błędów – co jest ważne dla środowisk, gdzie utrzymuje się EoL-owe wydania. (Traktuj jako dane badawcze; weryfikuj z PSIRT).

Ocena ryzyka (CVSS). NVD klasyfikuje lukę jako krytyczną: niski nakład atakującego, brak interakcji użytkownika, pełne naruszenie C/I/A.


Praktyczne konsekwencje / ryzyko

  1. Przejęcie FortiWeb – tworzenie/zmiana kont admina, zmiana polityk WAF (np. wyłączenie ochrony dla krytycznych aplikacji).
  2. Lateral movement – FortiWeb często „widzi” ruch do aplikacji biznesowych; kompromitacja może dać dane uwierzytelniające i ścieżki pivotu.
  3. Sabotaż bezpieczeństwa aplikacji – atakujący może tolerować własny ruch (np. wstrzyknięcia SQL, SSRF) przez manipulację regułami WAF.
  4. Utrata poufności i integralności logów – możliwość wyciszenia alertów/telemetrii.
  5. Ataki łańcuchowe – po FortiWeb możliwe ataki na CI/CD, ERP, bankowość internetową itp., które WAF chroni.

Rekomendacje operacyjne / co zrobić teraz

1) Patching – priorytet awaryjny

  • Zaktualizuj FortiWeb co najmniej do: 8.0.2 / 7.6.5 / 7.4.10 / 7.2.12 / 7.0.12. Zaplanuj restart/okno serwisowe i weryfikuj wersję po aktualizacji.
    CLI (na FortiWeb): # sprawdzenie wersji execute version get system status # (jeśli używasz HA) sprawdź stan klastra diagnose system ha status

2) Ograniczenie ekspozycji zarządzania

  • Nie wystawiaj HTTP/HTTPS management na Internet. Ogranicz do mgmt-VLAN/VPN (ACL/Firewall policy). Jeżeli musisz, użyj source IP allowlist i MFA w bastionie.

3) Szybka kontrola narażenia (bezpieczna)

  • Z zewnątrz: zweryfikuj, czy porty mgmt nie są dostępne: nmap -p 80,443,8443 <adres_FortiWeb> --script http-enum,http-title
  • Z urządzenia: upewnij się, że admin-scp, telnet, http są wyłączone na interfejsach publicznych.

4) Detekcja i polowanie na oznaki nadużyć

Logi FortiWeb (przykładowe wzorce):

  • Nietypowe żądania z „../” w ścieżce lub parametrach (path traversal).
  • Niespodziewane logowania admin z rzadkich AS/GeoIP.
  • Zmiany polityk/konfiguracji poza oknami serwisowymi.

Splunk (HTTP logs z FortiWeb/syslog):

index=network OR index=forti sourcetype=fortiweb:http
| rex field=uri_path "(?<dotdots>\.\.\/)"
| stats count by src_ip, http_method, uri_path, user, _time
| where dotdots!=""

Sigma (pseudoreg. do konwersji):

title: FortiWeb Suspicious Path Traversal
logsource:
  product: fortinet
  service: fortiweb
detection:
  selection:
    c-uri|contains: "../"
  condition: selection
level: high

Wskazówka: sprawdź tworzenie nowych kont admin w krótkim okresie po nieudanych/niestandardowych żądaniach HTTP. (Kilka raportów wskazuje, że atakujący potrafią tworzyć konta administracyjne po udanym nadużyciu.)

5) Twardnienie (hardening)

  • Wymuś TLS-only na mgmt i certificate pinning po stronie operatorów gdzie to możliwe.
  • Ogranicz dostęp do /api/ i endpointów administracyjnych wyłącznie z sieci zaufanych.
  • Włącz alerting na zdarzenia systemowe: tworzenie kont, zmiana polityk, restart usług, import konfiguracji.
  • W SIEM dodaj rule chain: „żądania z ../” → „event admin create/modify” → „policy change”.

6) Testy bezpieczeństwa (bez PoC exploita)

  • Skany zależności/wersji i porównanie z matrycą podatnych/nienarażonych.
  • Wykorzystaj skanery, które już dodały detekcję (np. wtyczki Tenable; sprawdzaj aktualizacje feedów).

Uwaga operacyjna: Z uwagi na aktywne kampanie i publiczne exploity, tempo skanów i prób nadużyć prawdopodobnie wzrośnie. Wprowadź czasowe reguły rate-limit/geo-block na IP spoza twojej strefy działalności.


Różnice / porównania z innymi przypadkami Fortinet

  • W porównaniu z wcześniejszymi głośnymi błędami (np. CVE-2024-21762 w SSL-VPN czy CVE-2022-40684 bypass autoryzacji) – tutaj wektor to GUI/API FortiWeb, a nie VPN. Jednak skutek jest równie krytyczny: niezalogowany napastnik może osiągnąć admin RCE.
  • Podobnie jak w poprzednich incydentach, luka trafiła do CISA KEV, co jest silnym sygnałem wymogu szybkiej remediacji w sektorze publicznym i komercyjnym.

Podsumowanie / kluczowe wnioski

  1. Krytyczna 0-day (CVSS 9.1) w FortiWeb, aktywnie nadużywana – działaj natychmiast.
  2. Zaktualizuj do 8.0.2 / 7.6.5 / 7.4.10 / 7.2.12 / 7.0.12; nie wystawiaj GUI na Internet.
  3. Monitoruj logi pod kątem path traversal i nieoczekiwanych zmian administracyjnych; rozważ polowanie na artefakty po 13–14 listopada.
  4. Zweryfikuj starsze gałęzie (6.3/6.4) – w części środowisk mogą być podatne wg badań; zaplanuj upgrade ścieżki życia.

Źródła / bibliografia

  • Fortinet PSIRT FG-IR-25-910 – „Path confusion vulnerability in GUI” (listy wersji naprawionych, zalecenia dot. ekspozycji HTTP/HTTPS). (fortiguard.fortinet.com)
  • NVD: karta CVE-2025-64446 (opis, wektor CVSS, wpływ). (NVD)
  • watchTowr Labs: techniczne wnioski i zakres wersji w starszych gałęziach; łańcuch prowadzący do nadużyć admin. (watchTowr Labs)
  • Tenable: przegląd incydentu, ostrzeżenie o aktywnej eksploatacji, odniesienia do wtyczek skanujących. (Tenable®)
  • CISA KEV: potwierdzenie statusu „known exploited”. (CISA)