Auf Linux gehostete Webanwendungen und Anwendungsserver können wertvolle Telemetrie zu Aktivitäten nach der Ausnutzung bereitstellen, wenn Audit-Protokollierung verfügbar ist. Ein erfolgreicher RCE erzeugt nicht zwingend eine eindeutige Malware-Datei oder einen offensichtlichen Alarm zu Angriffscode. Stattdessen kann er sich so zeigen, dass ein Webanwendungskontext plötzlich Shells, Download-Werkzeuge, Interpreter oder Befehle zur Systemerkundung ausführt.
Die Quelle definiert eine verhaltensbasierte Suche, die genau nach dieser Art von Aktivität sucht.
Wonach die Erkennung sucht
Die Abfrage durchsucht Linux-Audit-Telemetrie nach Befehlen, die üblicherweise mit Shell-Zugriff, Erkundung, Zustellung von Schadcode und Folgeausführung verbunden sind. Dazu gehören:
sh,bash,dashundzsh;curlundwget;nc,ncatundsocat;python,python3undperl;chmodundchown;whoami,idunduname.
Die Suche wird gezielter, wenn diese Befehle aus Web- oder Anwendungsverzeichnissen wie /var/www, /srv/www, Tomcat, SAP, webapps, public_html, Node-Modulen, Next.js oder Langflow-Verzeichnissen ausgeführt werden.
Die Quelle bringt diese Abdeckung mit RCE in SAP NetWeaver, React und Next.js, Langflow, ActiveMQ, cPanel, WordPress, Joomla, Oracle-Anwendungen, Geräten und anderen Java-, Python-, PHP- oder Node-Diensten in Verbindung.
Erkennungsabfrage
rule.groups:*audit* and data.audit.command:(*sh* or *bash* or *dash* or *zsh* or *curl* or *wget* or *nc* or *ncat* or *socat* or *python* or *python3* or *perl* or *chmod* or *chown* or *whoami* or *id* or *uname*) and data.audit.cwd:(/var/www* or /srv/www* or /opt/tomcat* or /opt/sap* or /usr/sap* or /opt/*/webapps* or */public_html* or */node_modules* or */next* or */langflow*)
Eine breitere Version aus der Quelle entfernt die Bedingung zum Arbeitsverzeichnis:
rule.groups:*audit* and data.audit.command:(*sh* or *bash* or *dash* or *zsh* or *curl* or *wget* or *nc* or *ncat* or *socat* or *python* or *python3* or *perl* or *chmod* or *chown* or *whoami* or *id* or *uname*)
Die breitere Suche lieferte 3,746 Ereignisse in den vorangegangenen 30 Tagen.
Warum der Kontext des Arbeitsverzeichnisses hilft
Ein Befehl wie curl oder python3 ist auf vielen Linux-Systemen üblich. Der Wert der ersten Abfrage ergibt sich aus der Kombination des Befehls mit dem Ausführungskontext.
Beispielsweise ist eine aus einem Verzeichnis einer Webanwendung gestartete Shell interessanter als dieselbe Shell, die aus dem Home-Verzeichnis eines bekannten Administrators gestartet wird. Ebenso können whoami, id oder uname, die unerwartet aus einem Webanwendungsverzeichnis ausgeführt werden, nützliche Aufklärungsindikatoren sein.
Das Arbeitsverzeichnis hilft daher, die Lücke zwischen einer generischen Befehlssuche und einer anwendungsbezogenen Erkennung von Aktivitäten nach der Ausnutzung zu verringern.
Vorgehen bei der Untersuchung
Wenn ein Treffer gefunden wird, sollten Analysten Folgendes prüfen:
den Pfad der ausführbaren Datei;
aktuelles Arbeitsverzeichnis;
den effektiven Benutzer und den ursprünglichen Audit-Benutzer;
übergeordneter Prozess;
die vollständige Befehlszeile;
Netzwerkverbindungen nach der Ausführung;
erstellte oder geänderte Dateien;
Anwendungsprotokolle um denselben Zeitstempel.
Eine Abfolge, bei der ein Anwendungskontext whoami ausführt, gefolgt von curl und anschließend einer Shell, ist deutlich interessanter als ein einzelner isolierter Befehl.
Feinabstimmung und Aufbau einer Basislinie
Die Anzahl der Ergebnisse in der Quelle deutet darauf hin, dass die breite Befehlsliste erhebliches Rauschen erzeugen kann. Die Feinabstimmung sollte daher mit der Trennung anwendungsspezifischer Ausführung von normaler Systemadministration beginnen.
Nützliche Dimensionen für die Zulassungsliste können sein:
bekannte Automatisierungskonten;
genehmigte Skripte;
Wartungsfenster;
erwartete Anwendungsverzeichnisse;
bekannte Bereitstellungswerkzeuge;
bekannte Paketverwaltungsjobs.
Das Ziel ist nicht, die Sichtbarkeit von Befehlszeilen zu entfernen, sondern ungewöhnliche Kombinationen aus Befehl, Verzeichnis, Benutzer und Anwendungskontext zu erhalten.
Praktischer Nutzen
Diese Erkennung ist nützlich, weil sie nicht von der Identifizierung eines bestimmten Schadcodes abhängt. Sie sucht nach Verhalten, das nach vielen verschiedenen Schwachstellen in Webanwendungen auftreten kann.
Für Linux-Server, die mit Wazuh und Audit-Telemetrie überwacht werden, kann dieser Ansatz helfen, den Übergang von der verwundbaren Anwendung zur Ausführung auf Betriebssystemebene zu erkennen und eine praxisnahe Ebene des Threat Huntings über mehrere Technologien hinweg bereitzustellen.

