Auditd-Decoder in Wazuh erweitern: PROCTITLE korrekt extrahieren
Einleitung
Auditd-Logs gehören zu den wichtigsten Telemetriedaten für Sicherheits-Monitoring, Incident Response und forensische Analysen. Besonders in Linux-Umgebungen liefern sie reichhaltige Informationen zu Systemaufrufen, Ausführungsparametern und Prozessmetadaten. Eine Herausforderung in Wazuh ist dabei die Decodierung von PROCTITLE, dem Feld, das die vollständige Prozess-Commandline enthält. Dieser Artikel zeigt, wie Sie Ihre auditd-Decoder in Wazuh so erweitern, dass PROCTITLE zuverlässig extrahiert wird – basierend auf Best Practices und offiziellen Quellen.
Ausgangslage / Problemstellung
Auditd erzeugt pro Audit-Event mehrere Record-Typen (z. B. SYSCALL, EXECVE, PATH, PROCTITLE). Diese können – wie im Beispiel unten – in einer einzigen Logzeile zusammenlaufen. Standardmäßig parsen viele Wazuh-Rulesets SYSCALL und EXECVE, lassen aber oft das PROCTITLE-Feld außen vor, obwohl es für die Rekonstruktion der vollständigen Commandline essenziell ist.
Beispiel (gekürzt):
type=SYSCALL ... type=EXECVE ... type=PATH ... type=PROCTITLE msg=audit(...): proctitle=7368002D6300...
Ohne einen passenden Decoder bleibt audit.proctitle in Wazuh leer, was die Erkennungs- und Analysequalität mindert.
Technische Analyse
Auditd-Logs bestehen aus mehreren Feldern, die über Schlüssel-Werte paare repräsentiert werden. PROCTITLE tritt meist am Ende eines zusammengesetzten Events auf und enthält die Prozess-Commandline in hex-kodierter Form – Standardverhalten von auditd, da NUL-Bytes und Sonderzeichen sonst Parsing-Probleme bereiten würden. (Docs Red Hat Security Guide, Abschnitt Audit-Log-Dateien)
Wazuh-Decoder arbeiten hierarchisch: Basismatcher (<prematch>) identifizieren Events, <parent>-Deklarationen ordnen Child-Decoder zu, und <regex> mit Offsets steuern, in welcher Reihenfolge Felder extrahiert werden. Wenn der PROCTITLE-Regex zu früh im Decodierfluss steht oder nicht auf den korrekten Event-Block zielt, wird das Feld nicht gefüllt.
Die gängige Problemlage ist daher: Der Decoder für SYSCALL ist vorhanden und extrahiert viele Felder, aber der Regex für proctitle=… ist nicht korrekt positioniert bzw. nutzt keinen passenden Offset.
Lösung / Best Practices
Um audit.proctitle zuverlässig zu extrahieren, erweitern Sie Ihren bestehenden auditd-syscall-Decoder um einen zusätzlichen Child-Decoder, der speziell auf proctitle zielt. Der folgende XML-Block ist korrekt positioniert nach dem Basismatcher und extrahiert das Feld unmittelbar aus dem zusammengesetzten Log:
<!-- SYSCALL - proctitle -->
<decoder name="auditd-syscall">
<parent>auditd-syscall</parent>
<regex offset="after_parent">proctitle=(\S+)</regex>
<order>audit.proctitle</order>
</decoder>
Warum diese Version funktioniert
- Der
<parent>-Eintrag bindet diesen Decoder an den bestehendenauditd-syscall-Block. offset="after_parent"sorgt dafür, dass dieses Regex erst nach dem Erkennen desSYSCALL-Events angewendet wird.\S+erfasst die hex-kodierte Zeichenkette ohne Whitespace.- Durch
<order>wird das Feldaudit.proctitlein das Wazuh-Event injiziert und steht für Rules/Decoders zur Verfügung.
Testen mit Wazuh-Tools
Nutzen Sie das Tool wazuh-logtest zum Testen Ihrer Decodierung – es zeigt auf, welche Felder erfolgreich extrahiert wurden und vermeidet so Blindarbeit beim Regeln-Tuning (Tools-Dokumentation). Ebenso kann wazuh-regex helfen, regex-Muster allein gegen Beispielzeilen zu prüfen.
Lessons Learned / Best Practices
- Reihenfolge beachten: Die Reihenfolge der Child-Decoder entscheidet, ob ein Feld gelesen wird. Platzieren Sie
proctitle-Decoder nach relevanten anderen Extraktionen im selben Event. - Hex ist normal: Auditd liefert
proctitlehex-kodiert. Für menschenlesbare Darstellung sollten Sie eine nachgelagerte Transformation in Ihrem SIEM/Indexer erwägen. - Testen nicht raten: Nutzen Sie stets
wazuh-logtestund reale Logbeispiele, da Online-Regex-Tester nicht die gleiche Engine wie Wazuh verwenden. - Custom Decoder File: Legen Sie solche Anpassungen in einem Custom Decoder File ab, damit Upgrades des Wazuh-Rulesets Ihre Änderungen nicht überschreiben.
Fazit
Die Ergänzung eines gezielten proctitle-Decoders in den auditd-syscall-Block erlaubt es, in Wazuh das essenzielle Feld audit.proctitle zuverlässig zu extrahieren. Die korrekte Positionierung und Nutzung von offset="after_parent" sind dabei die Schlüssel zum Erfolg. Mit diesem Setup steht Ihnen die vollständige Prozess-Commandline für Erkennungsregeln, Alerting und forensische Analysen zur Verfügung.
https://wazuh.slack.com/archives/C0A933R8E/p1766748829291749
Mehr zu Wazuh … https://wazuh.com/?utm_source=ambassadors&utm_medium=referral&utm_campaign=ambassadors+program
Mehr zum Wazuh Ambassador Program … https://wazuh.com/ambassadors-program/?utm_source=ambassadors&utm_medium=referral&utm_campaign=ambassadors+program
Quellen / Referenzen
- Red Hat Enterprise Linux Security Guide – Understanding Audit Log Files: https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/7/html/security_guide/sec-understanding_audit_log_files
- Wazuh Decoder Syntax und Best Practices: https://documentation.wazuh.com/current/user-manual/ruleset/ruleset-xml-syntax/decoders.html
- Wazuh Tools –
wazuh-logtest: https://documentation.wazuh.com/current/user-manual/reference/tools/wazuh-logtest.html
Quelle
Dieser Artikel stammt aus dem Wazuh-Blog von m.a.x. it (veröffentlicht am 16. Januar 2026).
Unterstützung von m.a.x. it
Bei Einführung, Betrieb und Feintuning von Wazuh (SIEM) unterstützt Sie m.a.x. it mit SIEM-Services auf Open-Source-Basis.
Über m.a.x. it Die m.a.x. Informationstechnologie AG ist seit über 30 Jahren IT-Partner mittelständischer und großer Unternehmen in München und bietet maßgeschneiderte Lösungen und Services in den Bereichen Cloud, Cybersecurity, Netzwerk, Windows, Linux und Softwareentwicklung. Sie haben eine Frage zu diesem Artikel oder brauchen Unterstützung?
