Skip to content

Glossar

EXECVE-Eintrag

Der audit.log-Eintrag mit den Argumenten eines ausgeführten Programms, argc und a0..aN, hex-kodiert bei Leerzeichen oder Sonderzeichen.

Ein EXECVE-Eintrag ist der audit.log-Eintrag mit der Argumentliste eines ausgeführten Programms. Wenn eine auditd-Regel den Systemaufruf execve überwacht, erzeugt jede Ausführung mehrere Einträge mit demselben Stempel msg=audit(sec.msec:serial): SYSCALL (wer es ausgeführt hat, mit auid, uid, ses und exe), EXECVE (argc und ein Feld a0, a1… pro Argument), CWD (das Arbeitsverzeichnis), einen oder mehrere PATH-Einträge und PROCTITLE, abgeschlossen durch EOE.

Argumentwerte gibt es in drei Formen. In doppelten Anführungszeichen stehen sie im Klartext. Ohne Anführungszeichen sind sie hex-kodiert, weil das Argument ein Leerzeichen, ein doppeltes Anführungszeichen, ein Steuerzeichen oder Nicht-ASCII-Bytes enthält. Lange Argumente werden in aN_len= und Teilstücke aN[0]=, aN[1]=… zerlegt, und eine sehr lange Befehlszeile kann sich über mehrere EXECVE-Einträge desselben Ereignisses erstrecken.

Warum es in Ermittlungen wichtig ist

Der EXECVE-Eintrag ist der genaueste Beleg für Befehlszeilen auf einem Linux-Host. Er erfasst Befehle, die in einer Root-Shell eingegeben wurden und die auth.log nie sieht, und er beseitigt Mehrdeutigkeiten: Die sudo-Zeile in auth.log zeigt /srv/finance/Q3 close, ohne zu verraten, ob das ein Argument ist oder zwei; die Hex-Kodierung in EXECVE klärt das. PROCTITLE enthält die Befehlszeile ebenfalls, wird vom Kernel bei langen Zeilen aber abgeschnitten, daher hat EXECVE Vorrang, wenn beide vorhanden sind.

Beispiel

type=EXECVE msg=audit(1789381120.086:181322): argc=4 a0="tar" a1="czf" a2="/tmp/.f.tgz" a3=2F7372762F66696E616E63652F513320636C6F7365

a3 dekodiert zu /srv/finance/Q3 close, einem einzigen Argument mit Leerzeichen. Gruppieren Sie Einträge nach dem vollständigen Stempel, nicht nur nach der Seriennummer, denn diese beginnt bei jedem Systemstart neu.

Verwandte Begriffe

  • auid: der angemeldete Benutzer im zugehörigen SYSCALL-Eintrag.
  • auditd: der Daemon und seine Regeln.

Linux Log Parser setzt hex-kodierte und zerlegte Argumente automatisch zusammen. Mehr in der auditd-EXECVE-Forensik.