Spacebar Campaigns

AWS-001 CloudTrail S3 Data Event

Log ID:
AWS-001
Source:
AWS CloudTrail
Representative Path:
s3://aws-cloudtrail-logs-028523748408-23e2bb3d/AWSLogs/028523748408/CloudTrail/
Dataset:
aws.cloudtrail
Kibana Data View:
logs-*
Format:
JSON, CloudTrail event version 1.11, ECS-normalized in ELK
Primary Use:
S3 PutObject 기반 archive 업로드 확인

공격 행위 요약

공격자는 침해된 배포/운영 지점에서 수집 자료를 archive 파일로 압축한 뒤, AWS CLI를 이용해 private S3 bucket으로 업로드했다. CloudTrail S3 Data Event에서는 이 행위가 s3.amazonaws.comPutObject 이벤트로 기록된다.

로그 발생 위치

S3 object-level API 호출은 CloudTrail Data Event 설정이 활성화되어 있을 때 기록된다. CloudTrail 로그 파일은 S3 로그 버킷에 .json.gz 형태로 저장되고, Elastic Agent AWS integration이 SQS 알림을 기준으로 로그 파일을 읽어 ELK에 적재한다.

주요 필드

Field의미
@timestampS3 업로드 API 호출 시간
event.actionAWS API action, S3 업로드는 PutObject
event.provider이벤트 발생 서비스, S3는 s3.amazonaws.com
event.outcomeAPI 호출 성공 여부
user.nameAPI를 호출한 IAM 사용자
aws.cloudtrail.user_identity.arnAPI 호출 주체의 IAM ARN
source.ipAPI 요청 출발지 IP
user_agent.nameAPI 요청 클라이언트, AWS CLI는 aws-cli
aws.cloudtrail.event_categoryCloudTrail 이벤트 범주, S3 Data Event는 Data
aws.cloudtrail.read_only읽기 전용 여부, PutObjectfalse
aws.cloudtrail.resources.arn대상 S3 bucket 또는 object ARN
aws.cloudtrail.flattened.request_parameters.key업로드된 object key

탐지 포인트

T1567.002는 클라우드 저장소로 파일을 업로드하는 행위가 핵심이다. 다음 조건을 중심으로 확인한다.

KQL 또는 탐지 쿼리

data_stream.dataset:"aws.cloudtrail" and event.action:"PutObject"
data_stream.dataset:"aws.cloudtrail" and event.action:"PutObject" and aws.cloudtrail.resources.arn:*sb05-k8s-drain-20260504*
data_stream.dataset:"aws.cloudtrail" and event.action:"PutObject" and user_agent.name:"aws-cli"
data_stream.dataset:"aws.cloudtrail" and event.action:"PutObject" and user.name:"sb05-s3-uploader"

Investigation Pivot