AL-002 CloudTrail Secrets/RDS Discovery Log
공격 행위 요약
AL-002는 공격자가 획득한 AWS 임시 자격증명으로 Secrets Manager와 RDS API를 조회한 행위를 설명하는 CloudTrail 로그이다.
공격자는 ListSecrets API로 Secrets Manager에 저장된 Secret 목록을 조회하고, GetSecretValue API로 nodefall-rds-credential Secret 값을 조회했다. 이후 DescribeDBInstances API를 호출하여 RDS 인스턴스 메타데이터를 확인했다.
CloudTrail에서 ListSecrets, GetSecretValue, DescribeDBInstances가 같은 AssumedRole 세션으로 확인되므로, EC2 Instance Profile 기반 임시 자격증명이 내부 DB 접속정보와 RDS 자산 식별에 사용되었음을 판단할 수 있다.
로그 발생 위치
| 구분 | 위치 | 설명 |
| AWS | CloudTrail | AWS API 호출 이벤트 기록 |
| Storage | CloudTrail S3 | CloudTrail 원본 JSON 저장 |
| Wazuh | Wazuh-AWS | Wazuh가 수집한 CloudTrail 로그 확인 |
수집 방식
| 구분 | 방식 |
| AWS | CloudTrail이 Secrets Manager 및 RDS 관리 이벤트를 기록 |
| Destination | CloudTrail 원본 JSON 로그를 S3 버킷에 저장 |
| Collector | Wazuh manager의 aws-s3 모듈이 CloudTrail S3 로그를 수집 |
| Parsing | Wazuh가 수집 로그를 integration="aws" 형식으로 파싱 |
| Storage | 수집된 이벤트를 Wazuh archives에 저장 |
| Analysis | eventName="ListSecrets", GetSecretValue, DescribeDBInstances 기준으로 AL-002 이벤트 확인 |
로그 출력 명령어
sudo docker exec single-node_wazuh.manager_1 grep -R 'vuln-eks-node-role' /var/ossec/logs/archives \
| grep -E '"eventName": "(ListSecrets|GetSecretValue|DescribeDBInstances)"' \
| grep '2026-05-27T08:59'
실제 관측 로그
{
"integration": "aws",
"aws": {
"eventTime": "2026-05-27T08:59:31Z",
"eventSource": "secretsmanager.amazonaws.com",
"eventName": "ListSecrets",
"requestParameters": {
"maxResults": 20
},
"userIdentity": {
"type": "AssumedRole",
"arn": "arn:aws:sts::814871720550:assumed-role/vuln-eks-node-role/i-0fceb9d1e28db3cd7",
"sessionIssuer": "vuln-eks-node-role",
"credentialsIssuedTo": "arn:aws:ec2:ap-northeast-2:814871720550:instance/i-0fceb9d1e28db3cd7"
},
"sourceIPAddress": "13.125.8.139",
"source": "cloudtrail"
}
}
{
"integration": "aws",
"aws": {
"eventTime": "2026-05-27T08:59:46Z",
"eventSource": "secretsmanager.amazonaws.com",
"eventName": "GetSecretValue",
"requestParameters": {
"secretId": "nodefall-rds-credential"
},
"userIdentity": {
"type": "AssumedRole",
"arn": "arn:aws:sts::814871720550:assumed-role/vuln-eks-node-role/i-0fceb9d1e28db3cd7",
"sessionIssuer": "vuln-eks-node-role",
"credentialsIssuedTo": "arn:aws:ec2:ap-northeast-2:814871720550:instance/i-0fceb9d1e28db3cd7"
},
"sourceIPAddress": "13.125.8.139",
"source": "cloudtrail"
}
}
{
"integration": "aws",
"aws": {
"eventTime": "2026-05-27T08:59:58Z",
"eventSource": "rds.amazonaws.com",
"eventName": "DescribeDBInstances",
"requestParameters": null,
"userIdentity": {
"type": "AssumedRole",
"arn": "arn:aws:sts::814871720550:assumed-role/vuln-eks-node-role/i-0fceb9d1e28db3cd7",
"sessionIssuer": "vuln-eks-node-role",
"credentialsIssuedTo": "arn:aws:ec2:ap-northeast-2:814871720550:instance/i-0fceb9d1e28db3cd7"
},
"sourceIPAddress": "13.125.8.139",
"source": "cloudtrail"
}
}
주요 필드
| 필드 | 의미 | 예시 |
location | Wazuh 수집 위치 | wazuh->Wazuh-AWS |
eventTime | AWS API 호출 발생 시각 | 2026-05-27T08:59:31Z |
eventName | 호출된 AWS API | ListSecrets, GetSecretValue, DescribeDBInstances |
requestParameters | 조회 대상 또는 요청 조건 | {"secretId": "nodefall-rds-credential"} |
userIdentity.arn | API 호출에 사용된 Role 세션 | arn:aws:sts::814871720550:assumed-role/vuln-eks-node-role/i-0fceb9d1e28db3cd7 |
커버 대상 Techniques Used
| Primary Log | Technique | Mapping Reason |
| AL-002 | T1213.006 Data from Information Repositories: Databases | AWS API로 Secret 및 RDS 메타데이터를 조회한 행위를 설명한다. |
| FL-006 | T1213.006 Data from Information Repositories: Databases | 확보한 접속정보로 MySQL을 실행해 RDS에 접근한 행위를 설명한다. |
탐지 포인트
| Technique | 관찰 행위 | 주요 필드 |
| T1213.006 Data from Information Repositories: Databases | Wazuh에 CloudTrail 로그가 Wazuh-AWS 위치로 수집되었는지 확인한다. | location |
| T1213.006 Data from Information Repositories: Databases | ListSecrets 호출을 통해 Secrets Manager 목록 조회가 발생했는지 확인한다. | eventName, eventTime |
| T1213.006 Data from Information Repositories: Databases | GetSecretValue 호출에서 nodefall-rds-credential Secret이 조회되었는지 확인한다. | eventName, requestParameters |
| T1213.006 Data from Information Repositories: Databases | DescribeDBInstances 호출을 통해 RDS 인스턴스 메타데이터 조회가 발생했는지 확인한다. | eventName, eventTime |
| T1213.006 Data from Information Repositories: Databases | 해당 API 호출이 vuln-eks-node-role AssumedRole 세션으로 수행되었는지 확인한다. | userIdentity.arn |