As part of our proactive monitoring of the web for our client, the multinational shipping company Huge Logistics, we found authentication details for their internal tracking database leaked on Pastebin (https://pastebin.com/raw/Kzs3vpHK). It lists usernames and unencrypted passwords for the application, and the client is worried that attackers may be able to use this information to gain access to their cloud environment. You have been tasked with identifying any malicious IAM activity and any compromised IAM accounts. The tools to be used for this engagement are AWS CloudTrail and Amazon Athena.
题目提供的信息:
ㅤ | |
IAM用户名 | athena-user |
密码 | D3fend3rsA5s3mb13! |
注意本题的 flag 时 user agent 值(MD5 哈希)
真实场景
IAM 爆破攻击时 AWS 云环境的一个真实威胁,攻击者通常通过密码喷洒等方式通过大量账号和密码碰撞出真实密码。通常利用 AWS 提供的 CloudTrail 日志 和 Athena 查询能力来进行对抗
Athena 收费是根据查询时扫描数据量来定的,$5/TB数据,用户可以使用诸如压缩、分类、把数据转换为列格式等方式来减少花销
本实验需要登录自己的 AWS 账户,创建 CloudTrail

跟踪名称随意,我这里写
hl-cloudflare-log1,点击 创建跟踪,状态变为 日志 即可
默认管理事件(控制面)的所有 API 活动(AWS 控制台、SDK、CLI 等)都会被捕捉,不过数据(data)和 Insights 事件默认不启用

控制面(管理事件),比如:
- 在 Amazon S3 中,这些操作会影响结构、配置或资源元数据
- 创建或删除 S3 桶 (
CreateBucket,DeleteBucket) - 修改桶策略或CORS配置
- 设置桶的策略生命周期或版本配置
- 在 AWS Lambda 中,安装、配置或 Lambda 函数的原数据操作
- 创建新的 Lambda 函数 (
CreateFunction) - 在已有的 Lambda 函数中更改配置 (
UpdateFunctionConfiguration) - 删除 Lambda 函数 (
DeleteFunction)
数据面(数据事件)
- Amazon S3,与数据或资源内容直接相关的操作
- 上传对象到桶中 (
PutObject) - 在桶中获取对象 (
GetObject) - 在桶中删除对象 (
DeleteObject)
- AWS Lambda,与调用或执行 Lambda 函数直接相关的操作
- 直接调用 Lambda 函数 (
Invoke)
在数据事件点击 编辑。选择记录所有 Lambda 和 S3 数据事件,最后点 保存更改 即可生效

Insights 事件主要用于分析 管理事件的不寻常操作活动,例如特定 API 调用突增和异常 IP 调用。全选上保存更改即可

配置开启 CloudTrail 之后,就能看到之前的事件记录了,比如正常的账户使用,登录事件不会特别多,最近就 10 来条,一般登录时间相隔不会特别短

点进去后就能看到 JSON 视图,先来看正常的,首先应该多数都是 ConsoleLogin 为 Success 成功的,应该正常来说输入错误密码的应该是少数,然后之间的时间多数不会特别短,并且 userAgent 一般为正常的浏览器头部
来看看异常的,登录量很大,而且时间间隔很短,不像人能实现的登录时间间隔

并且 JSON 视图,ConsoleLogin 多数是失败的,然后 userAgent 是 Go 程序的默认头部
在 CloudTrail 事件历史记录这可以 创建 Athena 表

选择存储位置,点右下角就可以创建了

创建成功后能直接转到 Athena


设置

管理

Browse S3

选择 Athena 这个即可

然后 Encrypt query results 这几个根据需要选不选,我这就没选,保存即可。搞完之后就可以愉快的查询了,不过我们这里没有相关攻击日志,登录题目提供的账户,点 Athena 功能,就跳到 Query Editor tabs 了,因为他帮我们创建好了我们上面的操作
注意区域是
us-east-1 (N. Virginia) 即可,不过登录后的账户是没有日志相关功能的,只能看 WriteUp 了通过 CloudTrail 异常的登录日志,时间主要是 2023年8月30号附近的登录控制台成功的事件,然后写个查询语句
结果,在 195.70.73.130 IP(有的字段需要手动拖动才能看到,毕竟输出的字段很多),
user/pfisher 用户通过控制台登录成功了
查看当天的登录次数
查询登录 IP 和 UA 字段(一般攻击者会选择自定义正常浏览器的UA头以规避检测,或者是伪装成正常流量)
发现有一个
Go-http-client/1.1 UA 头的记录GoAWSConsoleSpray
Github
GoAWSConsoleSpray
Owner
WhiteOakSecurityUpdated
Jan 12, 2026大概到这基本确认这个账户被攻击了
通过 AWS CLI 进行查询,提供了 AKSK,区域为 us-east-1
AKIARQVIRZ4UFWRG2BGX / fzQguVQZ4X41d3U9YwBTGQzytkDjjSZP4ygKdtWv查询 useridentity 和 sourceipaddress
把上面的输出结果,传入
query-execution-id 获取结果一开始题目说 flag 在 UA 里,查 IP 和 UA
直接输出内容有点多,这里做一下去重
并没有找到 flag,看看2023-08-30之后的
就可以拿到 flag 了
