午饭过后,就直接到一楼签到开始攻防了。衰人的地方又来了,对于我们这种第一次参加比赛的队伍,上来就是一台无人车,这里我用代词 E 指这台车。这个无人车的特点是啥呢,我们光是找车辆开关就找了半天,最后没招了去找裁判。E 车的车辆开关在左前轮那里,有个特殊的开关,具体是啥我忘了,因为不是我开的嘛。进了车门后,车上有个大屏幕,然后我们开始分工:我负责 Wi-Fi 协议的信息搜集、钓鱼 Wi-Fi 以及 Web 端渗透;一人负责蓝牙中继重放;一人负责 CAN 总线报文分析;队长负责逆向这一块。但是第一天我们不知道可以要 APP 以及车主账号登录,中控屏也没什么可操控的,需要账号才能进行更多车机操作,要用安全员账号才能连上车机。Wi-Fi 这里也没有密码,车机账号密码弱口令也试过了,我也尝试爆破 Wi-Fi,但是没有爆破出密码。然后我就构建钓鱼 Wi-Fi,试着能不能让车机主动连接我,再做 DNS 劫持,但这里并没有成功。
蓝牙这一块更是没有进展,只看到中控上有个 Wi-Fi 的标志,PIN 码也没办法爆破。接着只能试最后一条路线,就是去找车辆的 CAN 总线接口或者 T-BOX 接口。它那个线在一块板子的里面,由于第一次来,加上赛事规则说不能拆机破坏车辆,我们也就不敢拆了。这个车僵住的时间里我也没有闲着,我去看看其他队有什么突破,顺便看看还有哪些车辆可能比较好打。挨个车标摸过去,这里关于车辆的一些信息都是遮挡的,只能靠自己摸和一些经验判断。看哪些车网上信息稍微多一点,我就一台台摸过去,统计了一些信息,也偷偷看他们用什么工具打,顺便看了一眼榜单。大家好像都没什么成果的样子,分数都不高。
接着我们就利用赛事规则换车了,一天可以更换两次车。E 车对于我们而言实在没有什么攻击面可打,于是我们换到了 W 车,W 车是国外知名品牌的车。终于有一个正常的车辆可以打了,然后我们就按照之前的分工继续干。这里我开始注意比赛手册的规则,AI 搞出车机内置模型就有基础分。这台车的模型终于在多次询问 AI 后拿下来了,是某 G 的配置。CAN 总线分析这边,判断报文成功搞出了 seed 种子,绕过了 0x27 安全访问,让车辆鸣笛、熄火都可以,这里我们算是拿了一些分。Wi-Fi 协议这一块,我目前还是没什么突破,主要还是本人这里搞错了一些东西。W 车也没找到进入工程模式的入口。蓝牙协议方面,我们的蓝牙适配器有点问题,还是没有搞出其他有用的东西,后续还一直跟裁判扯皮这个漏洞。
最后一次换车机会换成了 K 车,也是在 K 车上我们才得知可以要车主 APP,也算是裁判好心跟我说,后面逆向也用起来了。K 车好就好在能用 AI 搞出这个加密算法,利用这个加密算法进入工程模式后,来到 ADB 连接,用了某个 0day,进入 ADB 直接就是 root 权限。再加上这个车机的 AI 也拿了一点分,剩下的时间就是在跟裁判扯皮。然后我搜集了一些其他队伍的信息,还是有挺多人来问我们是哪个队的。第一天大家都没啥分,我们的漏洞也没审完,就此结束了。我印象比较深的是,我们应该是最晚走的那几个队伍。一般来说,晚上七点就可以签退走人了。第一天应该淘汰了四支没有交漏洞的队伍,我们也跟一些和我们组织性质类似的队伍交流聊了一下心得。晚上我自己复盘,还是在整理 Wi-Fi 协议的问题,搞到很晚,实在熬不到了就睡了。
周三起来,一到现场发现我们是第二名了,说明裁判昨晚审核漏洞审核到很晚。今天要打的是 I 车,昨天有一队已经打出来一个远控,直接搞了 5000 分,很夸张。我看着他们在车外让车辆鸣笛和开关灯光。I 车是一个合资车,知道车机型号,并且我连接 Wi-Fi 后抓了包,分析了一会没啥有用的东西,就试着去打内网。内网的东西后续也没什么好的突破。今天是抢分的关键,要淘汰五支队伍,所以大家都打得比较着急。
由于明天是 D 车,然后我们昨天还跟打 D 车的队伍交流了一下。他们那台车跟我们第一天的 E 车一样难打。我们就有队员提议去找汽修店里的老师傅租一套设备回来,看看明天那台 D 车无人车能不能从 CAN 这边突破一下,因为我们带的设备适配性还是不够高。我和其中一个队员挨个给汽修店打电话,问他们有没有这种设备,我们好过去看看再借。终于有一家跨区的店有,虽然比较远,我们还是直接打车过去了。到了那,别看老师傅的店破破烂烂的,什么设备都有,甚至他的电脑看起来很老,但性能很流畅,不输现在的电脑。师傅把他那套设备掏出来给我们看,我们看了之后本来是想拿了就走的。我说:“师傅,你看看能不能在这用一下,试试效果。”然后师傅人挺好的,帮我试了一下这个 CAN 分析仪设备,还帮我们把线缠了,怕明天搭线可能短路。价格也说得过去,反正是我们四个人平摊。就这样,学会用这个设备之后,我们就回酒店休息了。
周四早早到了现场。由于每天的车都是领衣服那天就抽好的,不巧的是,今天又是一台无人车,名为 D 车。昨天测 E 车的时候,打 D 车的那队人好像也打不动,我们也跟他们交流了一下。实际上这台车也确实不好打。我做了 Wi-Fi 的 DNS 劫持,但是车机连了我的热点后没有网,应该是有限制。就好比车机连蓝牙,你要把电脑的 MAC 地址伪装成手机的,不然也容易连接不上。这里没网,我也没能打出这个 APK 的劫持效果。另外这台车的 PCAN 总线也不太行,我们还跟其他队伍借了好用一点的设备来尝试 CAN 这边的报文漏洞,最终无果。这台无人车也问过了,是没有 APP 的。最后好在测了两个 AI 专项出来:一个是大模型的内置型号,一个是在车外呼喊能让 AI 把门打开。但是这次 AI 把门打开没给我们算分,我也不清楚为什么,明明是写在赛事手册上的,这个也没细扯了。
AI 这一块我们这次选得也不太行,毕竟资金有限,电脑配置也有限,对于 AI 框架的利用也不够到位。说白了就是基础不够扎实,你没有好思路,写不出好的攻击工作流去运转,那么 AI 执行的效率就会很低,给你的反馈也不一定能确认看懂。所以还是要紧跟时代潮流,成为让 AI 赋能我们的人,而不是滥用 AI,啥也不懂。当失去真正判断力的那一刻,AI 自然也就没有用了。AI 是会有幻觉的,哪怕再强的 AI 都会有,这个问题是需要时间才能解决的。最后总结一下,赛事手册要阅读明白,实力很重要,有实力其实就不用考虑太多东西,沉淀成长吧。