Ponad 900 instancji Sangoma FreePBX z web shellem: kampania wykorzystuje CVE-2025-64328 i pozostawia trwały dostęp - Security Bez Tabu

Ponad 900 instancji Sangoma FreePBX z web shellem: kampania wykorzystuje CVE-2025-64328 i pozostawia trwały dostęp

Wprowadzenie do problemu / definicja luki

W ekosystemie VoIP/PBX „wystawienie panelu administracyjnego do Internetu” to wciąż jeden z najszybszych sposobów na trwałe przejęcie infrastruktury telefonicznej i uzyskanie przyczółka do dalszej penetracji sieci. Najnowszy przykład: ponad 900 instancji Sangoma FreePBX ma pozostać skompromitowanych poprzez web shelle, wdrożone w ramach aktywnej kampanii nadużywającej podatności CVE-2025-64328.

CVE-2025-64328 dotyczy modułu Endpoint Manager i umożliwia post-auth OS command injection (wstrzyknięcie poleceń systemowych po uwierzytelnieniu) w obszarze administracyjnym (filestore). Poprawka jest dostępna (m.in. wersja naprawiająca: 17.0.3).


W skrócie

  • Skala: Shadowserver raportuje ponad 900 instancji FreePBX nadal zainfekowanych web shellem; najwięcej wykryć w USA (401), potem m.in. Brazylia, Kanada, Niemcy, Francja.
  • Wektor: eksploatacja CVE-2025-64328 (Endpoint Manager / filestore) prowadząca do wykonania komend na hoście.
  • Złośliwy ładunek: Fortinet opisał web shell nazwany EncystPHP, wiązany z operacją/cyberfraudem określanym jako INJ3CTOR3.
  • Priorytet ryzyka: podatność trafiła do CISA Known Exploited Vulnerabilities (KEV), co jest mocnym sygnałem „patch now” dla wszystkich organizacji, nie tylko administracji USA.

Kontekst / historia / powiązania

Według opisu incydentów, kampania trwa co najmniej od początku grudnia 2025, a część zainfekowanych systemów pozostaje widoczna i dostępna (web shell nadal działa).

Kluczowy detal: CVE-2025-64328 to podatność post-auth – czyli atakujący musi mieć jakąś drogę do uzyskania sesji/użytkownika w panelu (np. przejęte hasła, słabe hasła, wcześniejsza kompromitacja, błędna ekspozycja lub łańcuch z inną podatnością). Sama „post-auth” etykieta nie obniża ryzyka, jeśli panel admina jest publicznie dostępny i źle chroniony.


Analiza techniczna / szczegóły luki

CVE-2025-64328 (Endpoint Manager / filestore)

  • Komponent: Endpoint Manager w FreePBX (moduł do zarządzania endpointami/telefonami).
  • Mechanizm: command injection po uwierzytelnieniu w interfejsie administracyjnym; w opisie NVD wskazano ścieżkę związaną z funkcjonalnością testowania połączenia (m.in. testconnection -> check_ssh_connect()), co finalnie umożliwia wykonanie poleceń na systemie.
  • Skutek: atakujący może uzyskać zdalny dostęp jako użytkownik asterisk (co w praktyce bywa wystarczające do dalszej eskalacji i utrzymania).
  • Status „w naturze”: wpis w katalogu CISA KEV potwierdza aktywną eksploatację.

EncystPHP (web shell) – charakterystyka operacyjna
Fortinet opisał EncystPHP jako web shell z rozbudowanymi możliwościami (zdalne wykonywanie komend, mechanizmy utrzymania, wdrażanie kolejnych komponentów) oraz wskazał, że był dostarczany poprzez eksploatację CVE-2025-64328.

Dlaczego „web shell na PBX” jest szczególnie groźny?
PBX/VoIP często ma:

  • połączenia do sieci wewnętrznej (np. VLAN voice + routowanie do LAN),
  • konfiguracje trunków/SIP z danymi uwierzytelniającymi,
  • integracje (CRM, billing, systemy nagrywania rozmów),
  • realną „wartość natychmiastową” dla przestępców: nadużycia połączeń (toll fraud), podsłuch, pivot do AD.

Praktyczne konsekwencje / ryzyko

  1. Toll fraud i koszty finansowe – przejęcie PBX to klasyczny wektor do generowania drogich połączeń i monetyzacji.
  2. Podsłuch/wyciek danych – w zależności od konfiguracji: nagrania, metadane połączeń, dane kontaktowe, integracje.
  3. Trwały przyczółek (persistence) – web shell + możliwość dogrywania kolejnych komponentów daje atakującemu „zapasowy dostęp” nawet po częściowym sprzątaniu.
  4. Pivot do sieci – PBX bywa traktowany jako „urządzenie peryferyjne”, słabiej monitorowane, ale z realnym dostępem do zasobów.

Rekomendacje operacyjne / co zrobić teraz

1) Patch i weryfikacja wersji

  • Jeśli używasz Endpoint Manager/FreePBX – sprawdź, czy nie dotyczy Cię zakres wersji wskazany w opisie CVE i czy masz wdrożoną poprawkę (m.in. 17.0.3 jako wersja naprawiająca wg NVD).
  • Traktuj temat jako pilny – obecność w CISA KEV to sygnał, że ataki są realne i powtarzalne.

2) Ogranicz ekspozycję panelu administracyjnego

  • Zablokuj dostęp do panelu admina z Internetu (VPN/ZTNA, allowlista IP, reverse proxy z MFA).
  • Jeśli musi być zdalny dostęp: co najmniej allowlista + MFA + rate limiting + WAF/reverse proxy.

3) Kontrola kompromitacji (triage IR)

  • Przeszukaj system pod kątem nietypowych plików PHP (web shell), zmian w katalogach webowych i podejrzanych endpointów.
  • Sprawdź harmonogramy zadań (cron), nowe konta, klucze SSH, nietypowe procesy oraz połączenia wychodzące.
  • Zweryfikuj logi aplikacyjne i systemowe wokół funkcji „test connection”/operacji Endpoint Manager (tam, gdzie podatność się ujawnia).

4) Rotacja tajemnic i twarde uwierzytelnianie

  • Rotuj hasła kont administracyjnych i technicznych, klucze API, hasła trunków SIP.
  • Wymuś unikalne, silne hasła i (jeśli możliwe) MFA. Pamiętaj: podatność jest post-auth, więc kradzież/zgadnięcie hasła nadal jest „kluczem” do ataku.

5) Monitoring

  • Dodaj detekcje na anomalie w ruchu HTTP do panelu, uruchamianie poleceń, nietypowe odpowiedzi, wzrost 500/404 w panelu.
  • Koreluj: logowania do panelu + działania w Endpoint Manager + nowe pliki w webroot.

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

Warto odróżnić CVE-2025-64328 (post-auth command injection) od podatności typu authentication bypass / unauth RCE, które eliminują konieczność posiadania konta.

Dla przykładu, w 2025 opisywano podatność CVE-2025-57819, gdzie niewystarczająca walidacja danych wejściowych mogła umożliwiać nieautoryzowany dostęp do FreePBX Administrator i prowadzić do manipulacji bazą oraz RCE (w zależności od scenariusza).

W praktyce obie klasy błędów są krytyczne, ale:

  • unauth bypass/RCE zwykle daje „natychmiastowe” masowe skanowanie i kompromitacje,
  • post-auth injection bardzo dobrze „pracuje” w środowiskach, gdzie panel admina jest wystawiony i słabo chroniony (lub gdzie atakujący ma już jakieś dane dostępowe) – i często kończy się web shellem/persistence, jak w tej kampanii.

Podsumowanie / kluczowe wnioski

  • Ponad 900 instancji FreePBX pozostaje skompromitowanych web shellem, co pokazuje, że w praktyce „patch availability” nie oznacza „patch adoption”.
  • CVE-2025-64328 to post-auth OS command injection w Endpoint Manager; poprawka jest znana, a podatność jest aktywnie wykorzystywana (CISA KEV).
  • Web shell EncystPHP oraz powiązania z INJ3CTOR3 wskazują na scenariusze nastawione na trwały dostęp i monetyzację (np. toll fraud) oraz potencjalny pivot do sieci.
  • Największą redukcję ryzyka daje połączenie: aktualizacja + ograniczenie dostępu do panelu + szybki triage pod kątem web shelli + rotacja sekretów.

Źródła / bibliografia

  1. The Hacker News – „900+ Sangoma FreePBX Instances Compromised in Ongoing Web Shell Attacks” (27 lutego 2026) (The Hacker News)
  2. Fortinet FortiGuard Labs – „Unveiling the Weaponized Web Shell EncystPHP” (28 stycznia 2026) (Fortinet)
  3. NVD (NIST) – CVE-2025-64328 (NVD)
  4. CISA – Known Exploited Vulnerabilities (KEV) Catalog (wpis dla CVE-2025-64328) (CISA)
  5. NVD (NIST) – CVE-2025-57819 (NVD)