EncystPHP: Waffe des FreePBX-Web-Shells für dauerhafte Administratorenkompromittierung
Detection stack
- AIDR
- Alert
- ETL
- Query
Zusammenfassung
FortiGuard Labs berichtet über eine PHP-Web-Shell namens EncystPHP die auf exponierten FreePBX-Instanzen durch Ausnutzung von CVE-2025-64328eingesetzt wird. Das Implantat ermöglicht die Ausführung von Remote-Kommandos, bietet privilegierte Benutzerkonten und setzt durch Cron-Jobs und nachfolgende Dropper eine mehrschichtige Persistenz. Die Aktivität wird mit der INJ3CTOR3-Crew in Verbindung gebracht und scheint auf Telekommunikationsumgebungen abzuzielen. Veröffentlichte Indikatoren umfassen bösartige IPs, Domains, URLs und mehrere feindliche Dateipfade.
Untersuchung
Ermittler verfolgten den ersten Zugang auf eine nach Authentifizierung auftretende Kommando-Injektionsschwachstelle im FreePBX Endpoint Manager zurück. Nach erfolgreicher Ausnutzung zieht der Betreiber einen Dropper von 45.234.176.202, lockert die Berechtigungen für wichtige PHP-Komponenten, extrahiert Datenbankanmeldedaten, erstellt ein Root-Konto und fügt einen vom Angreifer kontrollierten SSH-Key hinzu. Die Persistenz wird durch Cron-Einträge verstärkt, die wiederholt zusätzliche Dropper abrufen und Artefakte aktualisieren. EncystPHP gibt sich auch als legitime FreePBX-Dateien aus und manipliert Zeitstempel, um die Sichtbarkeit während der routinemäßigen Überprüfung zu reduzieren.
Abmilderung
Patchen Sie den FreePBX Endpoint Manager, um CVE-2025-64328 (und alle damit verbundenen Fixes) so schnell wie möglich zu adressieren. Suchen Sie nach unautorisierten Web-Shell-Dateien, verdächtigen Cron-Planungen und neu erstellten privilegierten lokalen Benutzern. Blockieren Sie ausgehenden HTTP-Verkehr zu bekannten bösartigen Infrastrukturen und erzwingen Sie strenge, minimal notwendige Berechtigungen auf webbasierten Verzeichnissen und PHP-Ressourcen.
Reaktion
Bei Erkennung isolieren Sie den betroffenen PBX-Server, entfernen EncystPHP-Artefakte, löschen unautorisierte Cron-Jobs und setzen lokale Konten und SSH-Schlüssel zurück. Überprüfen Sie Protokolle und Konfigurations-Backups, um Änderungen zu erfassen, und wenden Sie aktuelle Sicherheitsupdates an. Härten Sie die Webschnittstelle. Stellen Sie sicher, dass keine sekundären Dropper oder Persistenzmechanismen verbleiben, bevor Sie den normalen Telefoniebetrieb wiederherstellen.
Angriffsablauf
Erkennungen
Mögliches neues Konto zur Persistenz [Linux] (über cmdline)
Ansehen
Cron-Datei wurde erstellt (über file_event)
Ansehen
Downloads in verdächtige Ordner (über cmdline)
Ansehen
Möglicher SSH Known Hosts Erkennungsversuch [MacOS] (über cmdline)
Ansehen
Mögliche Base64-codierte Zeichenmanipulation (über cmdline)
Ansehen
IOCs (DestinationIP) zur Erkennung: Enthüllung der weaponisierten Web-Shell EncystPHP – Eine persistente FreePBX-Web-Shell, die langfristige administrative Kompromittierung ermöglicht
Ansehen
IOCs (HashSha256) zur Erkennung: Enthüllung der weaponisierten Web-Shell EncystPHP – Eine persistente FreePBX-Web-Shell, die langfristige administrative Kompromittierung ermöglicht
Ansehen
IOCs (SourceIP) zur Erkennung: Enthüllung der weaponisierten Web-Shell EncystPHP – Eine persistente FreePBX-Web-Shell, die langfristige administrative Kompromittierung ermöglicht
Ansehen
Erkennen von Crontab-Einträgen für den persistenten Download von k.php und c Dropper [Linux Prozess-Erstellung]
Ansehen
EncystPHP Web-Shell-Bereitstellung und Persistenz über CVE-2025-64328 [Linux Prozess-Erstellung]
Ansehen
Erkennung der EncystPHP-Web-Shell-Aktivität in FreePBX [Linux Dateievents]
Ansehen
Simulationsausführung
Voraussetzung: Der Telemetrie- & Base-Lining-Pre-Flight-Check muss bestanden werden.
Begründung: Dieser Abschnitt beschreibt die genaue Ausführung der gegnerischen Technik (TTP), die zur Auslösung der Erkennungsregel entwickelt wurde. Die Befehle und Erzählungen MÜSSEN direkt die identifizierten TTPs widerspiegeln und darauf abzielen, die von der Erkennungslogik erwartete Telemetrie genau zu erzeugen.
-
Angriffs-Erzählung & Befehle:
- Laden Sie die EncystPHP-Web-Shell hoch – Der Angreifer erstellt einen Base64-codierten PHP-Payload und liefert ihn über einen HTTP-POST an das FreePBX-Web-UI, wodurch die Datei
ajax.phpim Verzeichnis/var/www/html/admin/views/ajax.php. - geschrieben wird. Setzen Sie restriktive Berechtigungen
– Unmittelbar nach der Bereitstellung führt der Angreifer– Unmittelbar nach der Bereitstellung führt der Angreifer - aus, um die Shell vor normalen Benutzern zu verbergen und die Ausführung unter dem privilegierten Konto des Web-Servers zu erzwingen (T1222.002). Löschen Sie kritische Konfigurationen
– Um die Erkennung zu beeinträchtigen und das System zum erneuten Laden mit der bösartigen Shell zu zwingen, entfernt der Angreifer die– Um die Erkennung zu beeinträchtigen und das System zum erneuten Laden mit der bösartigen Shell zu zwingen, entfernt der Angreifer die - – Um die Erkennung zu beeinträchtigen und das System zum erneuten Laden mit der bösartigen Shell zu zwingen, entfernt der Angreifer die Die Shell auslösen
ajax.php– Ein einfacher HTTP-GET zur neu erstellten
- Laden Sie die EncystPHP-Web-Shell hoch – Der Angreifer erstellt einen Base64-codierten PHP-Payload und liefert ihn über einen HTTP-POST an das FreePBX-Web-UI, wodurch die Datei
-
führt den Payload aus und etabliert eine Rückwärtsschale (T1105, T1059.004). Regressionstest-Skript:
Das Skript reproduziert die Schritte 1‑3 in einem kontrollierten Testverzeichnis (Das Skript reproduziert die Schritte 1‑3 in einem kontrollierten Testverzeichnis () um ein Produktionssystem nicht zu beeinträchtigen. -
Aufräum-Befehle:
# cleanup_encystphp_simulation.sh set -euo pipefail TEST_ROOT="/tmp/freepbx_test" sudo rm -rf "${TEST_ROOT}" echo "Testumgebung bereinigt."