auditd.log
키 audit_cmd
와 긴 16진수 문자열이 포함된 줄이 있습니다 .
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 매개변수는 인코딩된 데이터처럼 보입니다., 명령 문자열은 16진수로 인코딩된 ASCII로 나타납니다.
따라서 다음과 같이 디코딩할 수 있습니다.
echo "<HEX encoded ASCII string>" | xxd -r -p
나중에 원격 로그 수집기(예: Splunk)가 xxd
설치된 경우 vim
.
나에게 더 나은 접근 방식은 로그를 전처리 ausearch -if audit.log -i
하고 사용하는 것 같습니다.스플렁크 앱rlog.sh
.