【WriteUP】VSEC 车联网安全 CTF 挑战赛(一)

文摘   2024-07-09 11:38   上海  
    Block Harbor 是一家专注于汽车网络安全领域的公司,Block Harbor 组织的汽车CTF挑战赛,第一季以教育和乐趣为核心,教授参与者如何嗅探CAN总线并发送控制信息。赛事迅速获得了社区的积极响应,并发展成为一个全球性的活动,吸引了来自亚洲、中东、欧洲和北美的900多名参与者。
  • 第一季赛事结束后,Block Harbor 通过其平台VSEC公开了50个独特的汽车挑战,并提供了5000美元的奖金,激发了更广泛的参与和社区建设。
  • 第二季赛事预计将在2024年8月24日至9月8日举行,奖金池增至10万美元(From Garage to Glory: The Rise of a $100K Automotive Capture the Flag Challenge – Block Harbor

    在他们网站上有一个车联网安全 CTF 平台,记录一下WriteUP

      感谢yichen投稿


前排提示

    文中有一部分 candump 放在后台执行是因为我当时想不到发送的时候同时监视 candump 的方法,只能先写到日志里然后发完指令后查看日志文件
    后来发现竟然有 python-can 这个库,一定程度上解决了这个问题,但是就发个包还要改脚本也挺麻烦的,后来发现这个终端是 tmux,所以可以自己分割窗口,比如执行:tmux split-window 会分为上下两个窗格,tmux split-window -h 会分为左右两个窗格,后续可以通过快捷键切换窗格,例如分割为左右两个窗格后可以先按下 ctrl+b 再按方向键的 ← → 来切换。


注册

先在这里:https://vsec.blockharbor.io/ 注册账号登陆后点击 Capture the Flag

跳转到这个界面选择:Proving Grounds

会跳转到一个 CTFd 平台,就可以答题啦


Getting Started

Can you find the interface?

题目描述:This challenge is within the Harborbay vehicle simulator on VSEC. From the home page, enter HarborBay. Select the Mach-E UDS Challenge Simulation, then launch the terminal.What is the name of the CAN interface available on the virtual terminal?翻译:此挑战在 VSEC 上的 Harborbay 车辆模拟器中进行。从主页进入 HarborBay。选择 Mach-E UDS 挑战模拟,然后启动终端。虚拟终端上可用的 CAN 接口名称是什么?
回到 VSEC 平台,选择 Garage

选择 UDS Challenge (simulation)

再点击 Open Terminal 会打开一个终端

这就来到了操作的终端,感觉目前大多数在 linux 平台操作 CAN 总线都是先将 CAN 总线接口映射到 socketCAN,比如 pcan 可以用:ip link set can0 up type can bitrate 500000

想要看 CAN 接口名称可以在终端输入 ifconfig 或者 ip link,得到 flag:vcan0

Arbitration

题目描述:This challenge is within the Harborbay vehicle simulator on VSEC. From the home page, enter HarborBay. Select the Mach-E UDS Challenge Simulation, then launch the terminal.What is the Arbitration ID of the CAN frame being sent periodically on the CAN interface?翻译:本次挑战在 VSEC 上的 Harborbay 车辆模拟器中进行。从主页进入 HarborBay。选择 Mach-E UDS 挑战模拟,然后启动终端。在 CAN 接口上定期发送的 CAN 帧的仲裁 ID 是什么?

想要看 CAN 总线上发的什么可以使用 candump 指定特定的 CAN 接口,监听 CAN 总线上的数据,可以看到定期发送的 CAN 数据,ID 为 59E,因此 flag 为 59E


Data Field 1

题目描述:This challenge is within the Harborbay vehicle simulator on VSEC. From the home page, enter HarborBay. Select the Mach-E UDS Challenge Simulation, then launch the terminal.How many bytes of data are in the data field of the CAN frame being sent periodically on the CAN interface?翻译:此挑战在 VSEC 上的 Harborbay 车辆模拟器中进行。从主页进入 HarborBay。选择 Mach-E UDS 挑战模拟,然后启动终端。在 CAN 接口上定期发送的 CAN 帧的数据字段中有多少字节数据?

问你定期发送 CAN 帧的 DLC(Data Length Code)是多少,也就是 数据的长度,同样使用 candump vcan0 可以得到答案为 2

Data Field 2

题目描述:This challenge is within the Harborbay vehicle simulator on VSEC. From the home page, enter HarborBay. Select the Mach-E UDS Challenge Simulation, then launch the terminal.What is the value of the data field of the CAN frame being sent periodically on the CAN interface? Format: XXYY翻译:此挑战在 VSEC 上的 Harborbay 车辆模拟器中进行。从主页进入 HarborBay。选择 Mach-E UDS 挑战模拟,然后启动终端。在 CAN 接口上定期发送的 CAN 帧的数据字段的值是多少?格式:XXYY

数据就是 9E10

Message Frequency

题目描述:This challenge is within the Harborbay vehicle simulator on VSEC. From the home page, enter HarborBay. Select the Mach-E UDS Challenge Simulation, then launch the terminal.What is the frequency that the periodic CAN frame is transmit at? (in Hz)翻译:此挑战在 VSEC 上的 Harborbay 车辆模拟器中进行。从主页进入 HarborBay。选择 Mach-E UDS 挑战模拟,然后启动终端。周期性 CAN 帧的传输频率是多少?(单位为 Hz)

使用 candump -l vcan0 可以将 CAN 总线数据捕获为一个 log 文件,查看该 log 文件会有每条 CAN 数据记录的时间,题目问周期性 CAN 帧的传输频率,感觉不可能算的多精确,看上去基本就是一秒一个,所以试了一下答案就是 1...


OSINT

what is a great default password?

题目描述:???Minus 1 million points if this is your actual password.翻译:???如果这是您的实际密码,则扣除 100 万分。

嗯.. 一开始以为三个问号表示的是三个字符,试了试 123 啥的不行,随手试了试 admin、password,结果是 password

Founding Fathers

题目描述:When was Block Harbor founded?翻译:Block Harbor 是什么时候建立的?
搜一下 Block Harbor 在官网找到介绍,可以看到是 2014 年建立的


Vehicle OSINT

Finding a VIN

题目描述:Here's a license plate "DCR 660", it is registered in Michigan. Can you find the VIN?翻译:这是车牌“DCR 660”,注册地为密歇根州。你能找到 VIN 吗?

以 "DCR 660"、"Michigan"、"VIN" 为关键词在 google 搜索,发现有个叫车牌查询的网站

进来之后按车牌查询,注意不要带空格,选择密歇根州

查询得到 VIN 码:YV4A22PK1H1184823


Make and model

题目描述:Here's a license plate "DCR 660", it is registered in Michigan. What is the make and model?Format: year-make-model翻译:这是牌照“DCR 660”,在密歇根州注册。品牌和型号是什么?格式:年份-品牌-型号

嗯.. 在刚才的网站已经有了:2017-VOLVO-XC90

Manufactured at?

题目描述:Here's a license plate "DCR 660", it is registered in Michigan. Where was it manufactured at?Format: City, Country翻译:这是车牌“DCR 660”,在密歇根州注册。它是在哪里制造的?格式:城市,国家

上一个网站信息有限,且要收费... 这个网站信息比较全:https://www.lookupaplate.com/michigan/DCR660/
可以看到城市和国家分别是:TORSLANDA 和 SWEDEN,因此 flag 为:TORSLANDA, SWEDEN(注意逗号后面的空格...)


Imported when?

题目描述:Here's a license plate "DCR 660", it is registered in Michigan. When was this car imported to the US?Format: dd-mm-yyyy翻译:这是车牌“DCR 660”,在密歇根州注册。这辆车什么时候进口到美国的?格式:dd-mm-yyyy

实在找不到好用的网站查询,基本都要花钱,然后直接搜了搜 VIN 码,找到了这么个网页:https://www.zauba.com/USA-import-v/shipment-date-2017-05-01T00%3A00%3A00Z/country-SE-data.html,展开详情后搜索 VIN 码定位到具体的日期:2017 年 5 月 11 号,flag 为:11-05-2017


Mac Track!

题目描述:We've managed to identify the MAC address of a vehicle of interest, can you help us track down where it was located on December 8'th, 2022? We need the latitude and longitude to two decimal places.MAC: 2A:38:5C:91:E5:27Hint: format XX.XX,XX.XX翻译:我们已成功识别出相关车辆的 MAC 地址,您能帮我们追踪它在 2022128 日的位置吗?我们需要精确到小数点后两位的纬度和经度。MAC:2A:38:5C:91:E5:27提示:格式 XX.XX,XX.XX

这题需要用到 https://wigle.net 这个网站,注册账号后点击 View 下面的 Advanced Search 将题目给出的 MAC 地址输进去查询

查到之后点击去会显示一个结果列表

找到 2022 年 12 月的经纬度信息42.34 和 -83.00,然后需要四舍五入... 所以 flag 为:42.35,-83.01


安全脉脉
我们致力于提高车联网安全的意识,推动行业发展,保护车辆和驾驶者免受潜在威胁的影响。在这里可以与车联网安全领域的专家和爱好者分享知识、深入思考、探讨标准法规、共享工具和讨论车联网热点事件。
 最新文章