sudo cscli collections install crowdsecurity/auditdInstalls 1 parser and 6 scenarios.
View Auditd - Post-Exploitation Detection →sudo cscli parsers install crowdsecurity/auditd-logsThen reload CrowdSec: sudo systemctl reload crowdsec
Sign in to see which of your engines run it →Hover a line or a note to see what each field does.
#type=SYSCALL msg=audit(1672330955.273:4433): arch=c000003e syscall=263 success=no exit=-2 a0=ffffff9c a1=557162396590 a2=0 a3=0 items=1 ppid=144571 pid=145400 auid=1000 uid=1000 gid=1000 euid=1000 suid=1000 fsuid=1000 egid=1000 sgid=1000 fsgid=1000 tty=pts0 ses=79 comm="rm" exe="/usr/bin/rm" key="file_modification"name: crowdsecurity/auditd-logsdescription: "Parse auditd logs"filter: "evt.Parsed.program == 'auditd'"onsuccess: next_stagepattern_syntax:FLOAT: '[0-9\.]+'nodes:#SYSCALL 59 on x86_64 -> execve- filter: ParseKV(evt.Parsed.message, evt.Unmarshaled, "auditd") == nil # == nil is required because ParseKV does not return a valuenodes:- grok:pattern: '%{WORD:msg_type}\(%{FLOAT:timestamp}:%{INT:event_inc_id}\):'expression: evt.Unmarshaled.auditd.msgnodes:- filter: evt.Unmarshaled.auditd.type == "SYSCALL" and evt.Unmarshaled.auditd.arch == "c000003e" and evt.Unmarshaled.auditd.syscall == "59"statics:- meta: log_typevalue: execve#let's hydrate with ppid process if we can :)- target: evt.Meta.parent_prognameexpression: GetFromStash("auditd_pid_progname", evt.Unmarshaled.auditd.ppid)#let's capture process name if we canstash:- name: auditd_pid_prognamekey: evt.Unmarshaled.auditd.pidvalue: evt.Unmarshaled.auditd.exettl: 1msize: 100- filter: evt.Unmarshaled.auditd.type == "ANOM_ABEND"statics:- meta: log_typevalue: anom_abendstatics:- target: evt.StrTimeexpression: evt.Parsed.timestamp- meta: ppidexpression: evt.Unmarshaled.auditd.ppid- meta: exe
Sign in to see the Security Engines that run this log parser, the version they run and whether it was modified locally.