1. 赛事背景与参赛准备
2022年美亚杯资格赛是亚太地区最具影响力的电子取证与网络安全竞赛之一,主要面向公检法系统技术人员、企业安全工程师和高校相关专业学生。这项赛事以高度仿真的实战场景著称,参赛者需要在限定时间内完成电子证据提取、数据恢复、日志分析等系列任务。
作为连续三年参赛的老兵,我习惯在赛前做好三方面准备:
- 硬件层面:准备两台高性能笔记本(一台Win10+VMware Workstation,一台Kali Linux物理机),配备至少1TB的移动固态硬盘
- 工具集:更新FTK Imager到v4.7.1、Autopsy到v4.19.3,特别准备了Volatility3的定制插件集
- 环境配置:在虚拟机中预装SQLite Database Browser、Wireshark 3.6.8等分析工具,并测试了与取证设备的兼容性
关键提示:比赛现场往往禁止互联网访问,所有工具必须提前下载离线安装包,包括依赖库文件。建议将常用工具按功能分类存储在移动硬盘的不同分区。
2. 资格赛题目架构解析
本届资格赛采用典型的CTF赛制,包含五大类题型:
- 存储介质取证(30%分值)
- 内存取证分析(25%分值)
- 网络流量分析(20%分值)
- 移动设备取证(15%分值)
- 综合应用题(10%分值)
2.1 存储介质取证题突破要点
拿到赛题硬盘镜像后,我的标准操作流程是:
- 使用
md5sum验证镜像完整性 - 通过
mmls查看分区表结构 - 对每个分区分别用
fls和icat提取文件系统元数据
在分析某EXT4分区时发现异常:
bash复制$ fls -o 2048 evidence.img
r/r 4-128-4: $OrphanFiles
r/r * 5-128-2: .hidden_config.conf
通过icat提取隐藏配置文件后,发现其中包含base64编码的字符串,经解码得到关键flag:MA2022{EXT4_metadata_h1dden}
2.2 内存取证高阶技巧
面对8GB大小的内存转储文件,常规的Volatility命令耗时过长。我采用分阶段分析法:
第一阶段快速筛查:
bash复制$ python3 vol.py -f memory.dmp windows.pslist | grep -i "explorer"
0xffffa50d3f45c080 explorer.exe 3800 2712 25 875 1 0 2022-11-05 03:45:21
第二阶段深度提取:
powershell复制$ python3 vol.py -f memory.dmp windows.dumpfiles --physaddr 0x3f45c080
提取出可疑的临时文件后,使用yara规则扫描发现注入代码:
rule Shellcode_2022 {
strings: $a = {6A 40 68 00 30 00 00 6A 14 8D 91}
}
3. 网络流量分析实战记录
比赛提供的pcap文件包含超过50万条数据包,我的分析策略是:
- 先用
tshark -r traffic.pcap -Y "http" | head -n 100快速定位可疑HTTP请求 - 发现异常POST请求指向
/upload.php,其User-Agent显示为"WVS_Test" - 提取上传文件:
bash复制$ tshark -r traffic.pcap -Y "http.request.method==POST" --export-objects "http,./export"
- 对提取出的ZIP文件进行爆破,使用rockyou.txt字典成功解压后获得关键证据
避坑指南:Wireshark 3.6.x版本存在TCP流重组bug,建议同时使用NetworkMiner进行交叉验证。
4. 移动设备取证难点突破
本次赛题包含一个加密的Android备份文件(.ab格式),需要特殊处理:
- 使用
abe.jar转换备份格式:
java复制java -jar abe.jar unpack backup.ab backup.tar
- 解压后发现
shared_prefs目录包含com.tencent.mm.xml文件 - 分析微信数据库时遇到加密问题,通过
sqlite3提取关键表:
sql复制SELECT name FROM sqlite_master WHERE type='table' AND name LIKE '%chat%';
- 最终在
EnMicroMsg.db的message表中找到Base64编码的图片,解码后显示flag
5. 综合应用解题思路
压轴题要求分析一起APT攻击事件,我的解题路径是:
- 时间线重建:将硬盘镜像、内存转储和网络流量时间戳对齐
- 攻击链还原:
- 初始访问:钓鱼邮件(在Outlook PST文件中发现)
- 执行:恶意JS脚本(内存中提取出PowerShell命令)
- 持久化:注册表Run键值修改(通过hivexsh工具确认)
- 证据关联:将C2服务器IP(10.211.55.3)与内存中的网络连接、流量日志匹配
最终提交的报告包含:
- IOCs清单(SHA256哈希、IP、域名)
- 攻击时间轴图表
- 数字证据出处说明(如"内存偏移0x3f45c080")
这次比赛最大的收获是掌握了多源证据关联分析的方法,特别是在处理TB级数据时,合理使用grep -m 100等限制性命令可以显著提升效率。对于明年参赛的同学,建议重点练习Plaso等日志分析工具的使用,这在今年决赛阶段发挥了关键作用。
