How-to-search-exploits-in-metasploit-blackMORE-Ops-2.png

Metasploit测试框架现在加入了新功能,让用户更容易地进行硬件设备的分析测试。

Metasploit中已经包含了超过1600个exp和3300个模块,还有一个超大的社区专门研究模块和脚本。

现在,Metasploit能够让用户创建自己的脚本用来对硬件进行测试,更新后的Metasploit中加入了“硬件桥API”,用户可以测试各种硬件,甚至包括汽车里的CAN总线。

如何使用硬件模式?

有两种方式使用Metasploit的硬件测试功能:

将支持直接编译进固件中,使得设备能够兼容Metasploit

建立中继服务

如果设备不能使用以太网进行通信,则必须建立中继服务。很多硬件工具诸如软件无线电(SDR)都只能通过USB来控制。为了要将这种SDR设备与Metasploit连接,就得运行中继服务。使用到的是REST API。

如何进行硬件测试?

新发布的版本支持SocketCAN。如果你有Linux系统和支持SocketCAN的CAN总线嗅探器就可以进行测试了。local_hwbridge模块就是个简易中继服务的示例,你可以在本地或者远程服务器运行。

msf > use auxiliary/server/local_hwbridge
msf auxiliary(local_hwbridge) > run
[*] Auxiliary module execution completed [*] Using URL: http://0.0.0.0:8080/6xOv7GqFs3YTeIE
[*] Local IP: http://10.1.10.21:8080/6xOv7GqFs3YTeIE
[*] Server started.
msf auxiliary(local_hwbridge) >

local_hwbridge模块默认会检测任何SocketCAN数据,不需要输入任何选项。中继服务无需在Metasploit中运行。如果硬件本身支持REST API的话就可以跳过这步。

msf > use auxiliary/client/hwbridge/connect
msf auxiliary(connect) > set rhost 10.1.10.21
rhost => 10.1.10.21 msf auxiliary(connect) > set targeturi 6xOv7GqFs3YTeIE
targeturi => 6xOv7GqFs3YTeIE
msf auxiliary(connect) > run
[*] Attempting to connect to 10.1.10.21...
[*] Hardware bridge interface session 1 opened (127.0.0.1 -> 127.0.0.1) at 2017-01-17 11:02:34 -0800
[+] HWBridge session established
[*] HW Specialty: {"automotive"=>true}  Capabilities: {"can"=>true, "custom_methods"=>true}
[!] NOTICE:  You are about to leave the matrix.  All actions performed on this hardware bridge
[!]          could have real world consequences.  Use this module in a controlled testing
[!]          environment and with equipment you are authorized to perform testing on.
[*] Auxiliary module execution completed
msf auxiliary(connect) > sessions
 
Active sessions ===============
 
  Id  Type                   Information  Connection
  --  ----                   -----------  ----------
  1   hwbridge cmd/hardware  automotive   127.0.0.1 -> 127.0.0.1 (10.1.10.21) 

设备连接后,就会建立一个HWBridge会话。如果你比较熟悉meterpreter的话,你就会习惯使用hwbridge。你可以输入help获取命令列表,或者运行指定模块如getvinfo(获取汽车信息)。

msf auxiliary(connect) > sess 1 [*] Starting interaction with 1...
hwbridge > supported_buses
Available buses
 
can0, can1, can2
 
hwbridge > run post/hardware/automotive/getvinfo CANBUS=can2
[*] Available PIDS for pulling realtime data: 46 pids
[*]   [1, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 24, 25, 28, 31, 32, 32, 33, 44, 45, 46, 47, 48, 49, 50, 51, 60, 61, 64, 65, 66, 67, 68, 69, 70, 71, 73, 74, 76]
[*]   MIL (Engine Light) : OFF
[*]   Number of DTCs: 0 [*]   Engine Temp: 48 °C / 118 °F
[*]   RPMS: 0 [*]   Speed: 0 km/h  /  0.0 mph
[*] Supported OBD Standards: OBD and OBD-II
[*] Mode $09 Vehicle Info Supported PIDS: [2, 4, 6, 8]
[*] VIN: 1G1ZT53826F109149
[*] Calibration ID: UDS ERR: {"RCRRP"=>"Request Correctly Received, but Response is Pending"}
[*] PID 6 Response: ["00", "00", "C4", "E9", "00", "00", "17", "33", "00", "00", "00", "00"]
[*] PID 8 Response: ["00", "00", "00", "00", "00", "00", "00", "00", "00", "00", "00", "00", "00", "00", "00", "00", "00"] 

即将加入更多硬件模式

首个更新的“硬件桥API”专门针对汽车系统的测试,管理Metasploit工具的Rapid7公司表示,之后还会加入其他功能。

Metasploit想要成为大家进行硬件测试的首选工具,包括SCADA和工控系统(ICS)测试、物联网设备测试、软件无线电(SDR)。

“Metasploit将一批软件exp和工具集成到了一个框架中,现在我们希望在硬件方面也能这么做。”

“联网设备的每一次浪潮,无论是汽车还是冰箱,都模糊了软硬件的界限。我们想说,这个‘硬件桥’能够让你退出数字矩阵直接影响到现实、物理的设备。”Rapid7运输研究主任Craig Smith解释道。“我们尝试给安全专家们他们所需的资源,让他们对产品进行测试以保证产品安全。”

*参考来源:SecurityAffairs,本文作者:Sphinx