CVE-2026-109618 oraz CVE-2026-109619: Luki RCE w PHP2Shell
Detection stack
- AIDR
- Alert
- ETL
- Query
Podsumowanie
Dwie krytyczne luki umożliwiające zdalne wykonanie kodu w PHP, śledzone jako CVE-2026-109618 i CVE-2026-109619, zostały ujawnione online przed ich oficjalnym ogłoszeniem. Luki te mogą pozwolić atakującym na wykonanie dowolnych poleceń na podatnych serwerach WWW. Wady te mogą dotyczyć wielu wersji PHP, potencjalnie w tym nieobsługiwanych gałęzi końca życia.
Śledztwo
Badacze z watchTowr potwierdzili luki i pomyślnie odtworzyli CVE-2026-109618. Huntress również monitorował ujawnienie i ocenił prawdopodobieństwo wykorzystania, zauważając, że do momentu zgłoszenia, nie zaobserwowano żadnych ataków w środowiskach partnerskich. Mimo to ryzyko pozostaje znaczące ze względu na powszechne użycie PHP. Badacze skupili się na pospolitych wskaźnikach eksploatacji, w tym procesach PHP generujących nietypowe procesy potomne.
Środki zaradcze
Organizacje powinny natychmiast zinwentaryzować wszystkie wdrożenia PHP, w tym przypadki zintegrowane z oprogramowaniem dostawców zewnętrznych. Administratorzy powinni być przygotowani do zastosowania oficjalnych poprawek bezpieczeństwa PHP, jak tylko zostaną wydane 21 października. Systemy działające na wersjach PHP, które nie otrzymają poprawek, powinny być izolowane od internetu lub chronione za pomocą VPN lub Zapory Aplikacji Webowej (WAF).
Reakcja
Jeśli zostanie wykryta podejrzana aktywność, w tym procesy PHP uruchamiające powłoki, interpretery lub narzędzia sieciowe, administratorzy powinni natychmiast odizolować zaatakowany serwer. Zachowanie dzienników serwera WWW i PHP jest kluczowe dla dochodzenia kryminalistycznego. Zespoły bezpieczeństwa powinny również przeszukać katalog główny witryny pod kątem nowo utworzonych web shelli, nieautoryzowanych plików, podejrzanych zadań cron, zaplanowanych zadań lub nowo dodanych kont użytkowników.
Przepływ ataku
Nadal aktualizujemy tę część.
Detekcje
Możliwe wykorzystanie serwera WWW lub aplikacji webowej [Windows] (via cmdline)
Możliwy wyciek danych / Odwrotna powłoka przez Bash (via cmdline)
Możliwy proces niestandardowy zainicjowany przez pracownika PHP (via cmdline)
Możliwa kontrola i sterowanie aplikacją PHP przez odwrotną powłokę wykonywaną inline (via cmdline)
Tworzenie specjalnego pliku FIFO (via cmdline)
Wykrywanie potencjalnego RCE za pomocą nieoczekiwanych procesów potomnych z PHP [Utworzenie procesu na Linuxie]
Symulacyjne Wykonanie
-
Scenariusz i komendy ataku: Atakujący pomyślnie wykorzystał lukę w aplikacji webowej działającej na PHP-FPM. Aby uzyskać punkt zaczepienia i rozpocząć rozpoznanie, napastnik używa skryptu PHP do wykonania polecenia systemowego. Celem atakującego jest zidentyfikowanie kontekstu aktualnego użytkownika, aby określić poziom dostępnych uprawnień do dalszego ruchu lateralnego. Atakujący uruchamia
whoamiprzez procesphp-fpm, co powinno uruchomić logikę reguły detekcjiImage|endswith: 'whoami'. -
Skrypt testu regresji:
#!/bin/bash # Skrypt symulacyjny wyzwalający regułę detekcji PHP RCE. # Ten skrypt symuluje proces PHP-FPM generujący komendę rozpoznawczą. # 1. Sprawdź, czy możemy symulować proces nadrzędny. # W rzeczywistym środowisku jest to demon php-fpm. # Dla symulacji użyjemy podpowłoki, aby naśladować to zachowanie. echo "[+] Rozpoczęcie Symulacji: Wyzwalanie detekcji PHP-FPM RCE..." # Używamy 'sudo -u www-data', aby naśladować użytkownika WWW, # i opakowujemy wykonanie, aby naśladować relację procesu potomnego. # Uwaga: Aby idealnie dopasować 'ParentImage|endswith: php-fpm', # test musi być uruchomiony na systemie, na którym działa php-fpm. # Naśladowanie zachowania przez bezpośrednie wykonanie jeśli php-fpm nie działa: # W prawdziwym laboratorium uruchomiłbyś to przez zapytanie sieciowe do prawdziwego pliku PHP. # Polecenie do wyzwolenia: whoami # Symulujemy oczekiwaną przez regułę relację z drzewa procesów. # Ponieważ nie możemy łatwo 'stać się' php-fpm bez prawdziwej usługi, # wykonamy polecenie, aby zapewnić telemetrię 'potomka'. # PRAWDZIWE POLECENIE TESTOWE (wymaga działającego php-fpm): # php-fpm-cli-simulated-trigger # Na potrzeby tego skryptu, wykonujemy docelowy binarny: whoami echo "[+] Komenda symulacyjna wykonana. Sprawdź SIEM dla 'whoami' wywołanej przez PHP." -
Komendy czyszczenia:
# Żadne trwałe pliki nie zostały utworzone przez tę symulację. # Wyczyść historię powłoki, aby usunąć ślady symulacji. historia -c echo "[+] Czyszczenie zakończone."