Auditd-Decoder in Wazuh erweitern: PROCTITLE korrekt extrahieren

Aus maxTechCorner

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 bestehenden auditd-syscall-Block.
  • offset="after_parent" sorgt dafür, dass dieses Regex erst nach dem Erkennen des SYSCALL-Events angewendet wird.
  • \S+ erfasst die hex-kodierte Zeichenkette ohne Whitespace.
  • Durch <order> wird das Feld audit.proctitle in 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 proctitle hex-kodiert. Für menschenlesbare Darstellung sollten Sie eine nachgelagerte Transformation in Ihrem SIEM/Indexer erwägen.
  • Testen nicht raten: Nutzen Sie stets wazuh-logtest und 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

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? Kontakt aufnehmen