步驟1:獲取OBDII連接器硬件
首先,我們一個可以連接到汽車的ODCII連接器的設備。這里我選擇的是相對便宜的ODBIIELM327藍牙迷你接口,亞馬遜上的價格為8.49美元,可有效地與汽車的CAN網絡通信,并通過藍牙使用Metasploit連接到你的系統。因此你需要配備內置藍牙的計算機或購買USB藍牙適配器。有關藍牙協議的更多信息,請參閱“BluetoothHacking,Part2:BluetoothReconnaissance”一文。
步驟2:安裝SerialPort(串口)
CAN協議是一個串行協議,因此我們需要安裝rubygem“serialport”。
kali>geminstallserialport
步驟3:連接藍牙適配器
接下來,我們需要連接我們的藍牙適配器與我們汽車中的ELM327適配器通信。
要連接到ELM327設備,我們就需要獲取到它的MAC地址。我們可以通過使用內置的hcitool工具,掃描藍牙設備來獲取MAC地址。
kali>hcitoolscan
根據掃描結果,這里我的MAC地址為00:19:6D:36:4A:9D。
現在,我們使用該MAC地址將我們的藍牙適配器連接到ELM327設備。注意:這里要用雙引號將MAC地址括起來,如下所示。
kali>rfcommconnect/dev/rfcomm1"00:19:6D:36:4A:9D"
步驟4:運行ELM327繼電器
下一步是運行ELM327繼電器,使Metasploit能夠與ELM327芯片組通信。你可以在/usr/share/metasploit-framework/tools/hardware目錄下找到它。
kali>cd/usr/share/metasploit-framework/tools/hardwarekali>ls-l
在運行它之前,讓我們先來查看下它的幫助信息。
kali>rubyelm327_relay.rb-h
可以看到,我們只需設置兩個參數;速度(默認值為115200)和串行設備(默認為/dev/ttyUSB0)。這里的串行設備,可以通過dmesg|grepttyS*命令進行確定。
現在,使用串行設備運行elm327繼電器,并將speed保持為默認值,如下所示。
kali>rubyelm327_relay.rb-s/dev/ttyS0步驟5:啟動Metasploit
現在,我們已經將KaliLinux配置為與ELM327設備通信,我們需要創建一個到Metasploit的硬件橋接。Metasploit被構建用于TCP/IP的通信,而我們現在需要它通過串口與汽車原生的CAN協議進行通信
首先,我們啟動Metasploit。
kali>msfconsole
然后,搜索汽車模塊。
kali>searchautomotive
可以看到,只有少數幾個汽車模塊,且功能也非常的有限。
我們選擇使用auxiliary/client/hwbridge/connect模塊。
msf>useauxiliary/client/hwbridge/connect
加載該模塊后,我們可以輸入info命令來獲取有關此模塊的詳細信息。
kali>info
最后,讓我們執行該模塊。
msf>exploit步驟6:使用Metasploit汽車模塊
現在,我們已在車輛中創建了Metasploit和CAN協議之間的硬件橋接。這樣我們就可以開始使用Metasploit中的汽車模塊了。
例如,你想要檢索車輛信息。
msf>usepost/hardware/automotive/getvinfo
該模塊將查詢并收集所有車輛DTC(診斷故障碼)和其他信息,如速度,冷卻液溫度,VIN甚至清除DTC。
現在,我們可以將我們的Linux系統和Metasploit框架直接連接到汽車網絡,直接與汽車的設備進行通信!