我有一些行auditd.log
包含密钥,audit_cmd
后跟一长串十六进制。
type=USER_CMD msg=audit(<TIMESTAMP>): pid=<PID> uid=<UID> auid=<AUID> ses=72940 subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
msg='cwd="/home/<account>" cmd=2F62696E2F7368202D63206563686F204<HEX> terminal=pts/2 res=success'
我该如何解析它?
注意:我可能并不总是在最初生成日志的计算机上(在某些情况下,我会查看已转发到 Elasticsearch 服务器的日志)。
答案1
auditd.log
当我通过 SplunkUniversalForwarder 进行收集并在 Splunk 中进行调查时,我遇到了同样的问题。
作为 @汤姆·克里诺已经在下面提到和讨论了auditd execve 参数看起来像编码数据,命令字符串似乎是十六进制编码的 ASCII。
因此可以通过以下方式对其进行解码
echo "<HEX encoded ASCII string>" | xxd -r -p
稍后在远程日志收集器(即 Splunk)上(如果xxd
安装了vim
)。
对我来说更好的方法似乎是预处理日志ausearch -if audit.log -i
并使用Splunk应用程序rlog.sh
。