WeChall - Anderson Application Auditing (AAA)
Challenge
Anderson Application Auditing 是 storyline/realistic 多阶段挑战。背景:VSA 委托 SoftMicro 开发程序、Anderson 负责审计,你作为 hacker 需要劫持 Anderson 与 SoftMicro/VSA 之间的通信,替换被审计程序为恶意版本。过程中收集六段 secret code,拼接后提交。
已知信息:
- SoftMicro 网段:
207.46.197.0 - 你的 public IP:
17.149.160.49 - Anderson 主页:
index2.html
Solution
第一阶段:路由劫持
阅读 tech_spec.txt
获取网络文档,其中泄露了路由器管理凭据 admin/admin。
访问
router_config.html,用默认凭据登录。添加两条路由,将
SoftMicro 和 Anderson 相关网段的流量劫持到你的 public IP:
1 | route add -net 207.46.197.0 netmask 255.255.255.0 gw 17.149.160.49 |
成功添加后获得第一段 secret code。
第二阶段:MD5 碰撞
题目模拟 Anderson 通过 PKI/MD5 验证程序完整性。需要上传两个内容不同但 MD5 相同的文件来替换合法程序。
页面提示使用 MD5 碰撞工具。用 fastcoll(Linux)生成碰撞文件:
1 | echo "prefix" > good.txt |
上传两个碰撞文件后获得第二段 secret code。
第三阶段:SSH Fingerprint
服务只检查 SSH fingerprint 的前 2 字节和最后 1 字节。需要用 fuzzy fingerprint 工具生成满足部分匹配的密钥对。
使用 THC-FuzzyFingerprint(ffp)工具:
1 | # 目标 fingerprint(16 进制,只关心前 2 和后 1 nibble) |
生成后上传 ssh-rsa00.pub(公钥)和
ssh-rsa00(私钥),通过验证后获得第三、四段 secret
code。
第四阶段:清理痕迹
回到 router_config.html,删除之前添加的路由:
1 | route del -net 207.46.197.0 netmask 255.255.255.0 gw 17.149.160.49 |
完成后获得第五、六段 secret code。
最终提交
六段 secret code 按顺序拼接:
routeevilmd5mitmfingerprintgameover