Spacebar Campaigns

LL-002 Linux auditd File Access Log

Log ID:
LL-002
Source:
SB-01 App server
Representative Path:
/var/log/audit/audit.log
Collection:
auditd rule + Filebeat 8.13.4 auditd module
Current Status:
ELK 수집 및 BAS evidence 검증 완료
Primary Use:
App 운영 경로 탐색, 설정/credential 후보 파일 접근, staging 경로 생성, 외부 전송 명령 실행 확인

공격 행위 요약

SSH 인증 로그는 서버에 들어온 사실만 보여준다. 공격자는 App 서버에 들어온 뒤 보통 현재 권한, 서비스 경로, 컨테이너 구성, 설정 파일, 로그 위치, DB 연결 정보를 차례로 확인한다. auditd는 이 중 파일 접근과 명령 실행 흔적을 PATH, SYSCALL, PROCTITLE 이벤트로 남겨, SSH 이후 실제 행위를 설명하는 핵심 로그가 된다.

로그 발생 위치

구분위치설명
App 서버/var/log/audit/audit.logApp 운영 경로, 설정 파일, staging 경로 접근 이벤트
App 서버/opt/spacebar-booking애플리케이션 운영 경로 탐색 여부 확인
App 서버/opt/spacebar-booking/.envDB 접속 정보 등 credential 후보 파일 접근 여부 확인
App 서버/opt/spacebar-booking/docker-compose.yml컨테이너 구성, volume, network, 환경변수 참조 확인
App 서버/tmp, /var/tmp수집 데이터 staging 또는 archive 생성 여부 확인

수집 방식

구분방식
App 서버auditd rule key를 지정해 관심 파일/명령 실행을 수집
App 서버Filebeat 8.13.4 auditd module로 /var/log/audit/audit.log 수집
ELKauditd.log.key, auditd.log.name, process.executable, user.name 기준으로 탐지룰 작성

실제 관측 로그 예시

type=SYSCALL msg=audit(1715153182.123:420): arch=c000003e syscall=257 success=yes exe="/usr/bin/ls" key="sb01_app_path_read"
type=PATH msg=audit(1715153182.123:420): item=0 name="/opt/spacebar-booking" inode=393221 dev=ca:01 mode=040755
type=PROCTITLE msg=audit(1715153182.123:420): proctitle=6C73002F6F70742F73706163656261722D626F6F6B696E67

주요 필드

필드의미예시
auditd.log.sequence같은 행위를 묶는 audit event sequence420
auditd.log.keyaudit rule keysb01_app_path_read
auditd.log.name접근 대상 경로/opt/spacebar-booking
process.executable실행 파일/usr/bin/ls
process.args실행 인자/opt/spacebar-booking
process.working_directory명령 실행 위치/home/deploy
user.audit.name감사 이벤트 기준 사용자deploy
message원본 auditd 로그type=SYSCALL ... key="sb01_app_path_read"

커버하는 Techniques Used

TechniqueMapping Reason
T1083 File and Directory DiscoveryApp 운영 경로, 설정 파일, 컨테이너 구성 파일 등에 대한 탐색 흔적을 PATH, SYSCALL, PROCTITLE 이벤트로 확인한다.
T1552.001 Unsecured Credentials: Credentials In Files.env, app 설정 파일, compose 파일 등 credential 후보 파일에 대한 read 접근을 확인한다.
T1074.001 Data Staged: Local Data Staging수집 데이터를 임시 경로에 모으거나 archive로 묶는 과정에서 발생하는 파일 생성, 읽기, 쓰기 이벤트를 확인한다.

탐지 포인트

Technique관찰할 행위주요 필드
T1083 File and Directory Discoverydeploy 계정이 SSH 이후 /opt/spacebar-booking, nginx/, booking-api/, /var/log/spacebar-booking을 탐색한다. 실제 공격자는 ls, find, pwd, docker ps, docker compose ps처럼 서비스 구조와 실행 상태를 확인하는 명령을 함께 사용한다.auditd.log.key, auditd.log.name, process.executable, process.args
T1552.001 Credentials in Files.env, docker-compose.yml, app 설정 파일에서 POSTGRES, DB, PASSWORD, TOKEN 같은 키워드를 확인한다. 단순 파일 read 하나만으로 단정하지 않고, SSH 직후 탐색 흐름과 함께 본다.auditd.log.name, process.executable, process.args, user.name
T1074.001 Local Data Staging/tmp/sb01-stage 또는 /var/tmp에 결과 파일을 만들고 tar, gzip, zip 등으로 묶는다. DB 조회 직후 archive 생성이 이어지면 우선순위가 높다.auditd.log.key, auditd.log.name, process.executable, file.path
T1048.002 Exfiltration Over Alternative Protocolarchive 생성 직후 scp, sftp, curl, wget 등 정상 프로토콜 기반 전송 도구가 실행되는지 확인한다. VPC Flow Log의 App 서버 outbound 22/443 흐름과 함께 봐야 한다.auditd.log.key, process.executable, process.args, destination.ip

ELK Query 예시

event.module:auditd AND process.executable:"/usr/bin/ls" AND auditd.log.key:*sb01_app_path_read*
event.module:auditd AND auditd.log.name:"/opt/spacebar-booking"
event.module:auditd AND auditd.log.key:*sb01_local_staging*