如何使用Metasploit进行汽车安全性测试
前言
针对汽车的攻击和入侵是当前最前沿的领域和最热门的话题之一。随着自动驾驶汽车技术的发展,在未来这个领域将变得更加重要。作为汽车黑客快速发展的一部分,我最喜欢的黑客工具之一Metasploit也开发了连接汽车的功能和模块。

如果你当前使用的Metasploit版本没有硬件模块,请进行版本更新获取最新添加的模块。不得不说的是,这只是Metasploit迈向该领域的一小步,而且框架在汽车黑客方面的能力也相当有限,但我相信在不久的将来会有更多更好的汽车黑客模块被添加进来。现在我们的任务是“如何将Metasploit框架连接到汽车网络上”?

如果你之前已阅读过我关于汽车黑客攻击的相关文章,那么你应该知道汽车的汽车中的主导协议是CAN且为串行协议。我们要做的就是通过串行接口连接到汽车的CAN协议。这样,我们就能够通过Metasploit中的几个预建模块在汽车网络上发送恶意流量了。
步骤 1:获取 OBD II 连接器硬件
首先,我们一个可以连接到汽车的ODC II连接器的设备。这里我选择的是相对便宜的ODB II ELM327 蓝牙迷你接口,亚马逊上的价格为8.49美元,可有效地与汽车的CAN网络通信,并通过蓝牙使用Metasploit连接到你的系统。因此你需要配备内置蓝牙的计算机或购买USB蓝牙适配器。有关蓝牙协议的更多信息,请参阅 “Bluetooth Hacking, Part 2: Bluetooth Reconnaissance”一文。
步骤 2:安装 Serial Port(串口)
CAN协议是一个串行协议,因此我们需要安装 ruby gem “serialport” 。
kali > gem install serialport
步骤 3:连接蓝牙适配器
接下来,我们需要连接我们的蓝牙适配器与我们汽车中的ELM 327适配器通信。
要连接到ELM 327设备,我们就需要获取到它的MAC地址。我们可以通过使用内置的hcitool工具,扫描蓝牙设备来获取MAC地址。
kali > hcitool scan

根据扫描结果,这里我的MAC地址为00:19:6D:36:4A:9D。
现在,我们使用该MAC地址将我们的蓝牙适配器连接到ELM 327设备。 注意:这里要用双引号将MAC地址括起来,如下所示。
kali > rfcomm connect /dev/rfcomm1 "00:19:6D:36:4A:9D"
步骤 4:运行 ELM 327 继电器
下一步是运行ELM 327继电器,使Metasploit能够与ELM 327芯片组通信。你可以在/usr/share/metasploit-framework/tools/hardware目录下找到它。
kali > cd /usr/share/metasploit-framework/tools/hardware
kali > ls -l

在运行它之前,让我们先来查看下它的帮助信息。
kali > ruby elm327_relay.rb -h

可以看到,我们只需设置两个参数;速度(默认值为115200)和串行设备(默认为/dev/ttyUSB0)。这里的串行设备,可以通过dmesg | grep ttyS*命令进行确定。
现在,使用串行设备运行elm327继电器,并将speed保持为默认值,如下所示。
kali >ruby elm327_relay.rb -s /dev/ttyS0
步骤 5:启动 Metasploit
现在,我们已经将Kali Linux配置为与ELM 327设备通信,我们需要创建一个到Metasploit的硬件桥接。Metasploit被构建用于TCP/IP的通信,而我们现在需要它通过串口与汽车原生的CAN协议进行通信
首先,我们启动Metasploit。
kali > msfconsole
然后,搜索汽车模块。
kali > search automotive

可以看到,只有少数几个汽车模块,且功能也非常的有限。
我们选择使用auxiliary/client/hwbridge/connect模块。
msf >use auxiliary/client/hwbridge/connect

加载该模块后,我们可以输入info命令来获取有关此模块的详细信息。
kali > info

最后,让我们执行该模块。
msf >exploit
步骤 6:使用 Metasploit 汽车模块
现在,我们已在车辆中创建了Metasploit和CAN协议之间的硬件桥接。这样我们就可以开始使用Metasploit中的汽车模块了。

例如,你想要检索车辆信息。
msf > use post/hardware/automotive/getvinfo

该模块将查询并收集所有车辆DTC(诊断故障码)和其他信息,如速度,冷却液温度,VIN甚至清除DTC。
现在,我们可以将我们的Linux系统和Metasploit 框架直接连接到汽车网络,直接与汽车的设备进行通信!
有关更多汽车黑客方面的教程,请关注我即将推出的汽车黑客课程!
如何使用Metasploit进行汽车安全性测试的更多相关文章
- OWASP固件安全性测试指南
OWASP固件安全性测试指南 固件安全评估,英文名称 firmware security testing methodology 简称 FSTM.该指导方法主要是为了安全研究人员.软件开发人员.顾问. ...
- 初识App安全性测试
目前手机App测试还是以发现bug为主,主要测试流程就是服务器接口测试,客户端功能性覆盖,以及自动化配合的性能,适配,压测等,对于App安全性测试貌似没有系统全面统一的标准和流程,其实安全性bug也可 ...
- Web系统测试Web安全性测试
WEB安全性测试介绍WEB安全性测试--拒绝服务攻击WEB安全性测试--文件上传漏洞WEB安全性测试--跨站攻击WEB安全性测试--SQL注入一WEB安全性测试--SQL注入二WEB安全性测试--SQ ...
- 安全性测试入门:DVWA系列研究(二):Command Injection命令行注入攻击和防御
本篇继续对于安全性测试话题,结合DVWA进行研习. Command Injection:命令注入攻击. 1. Command Injection命令注入 命令注入是通过在应用中执行宿主操作系统的命令, ...
- 安全性测试入门:DVWA系列研究(一):Brute Force暴力破解攻击和防御
写在篇头: 随着国内的互联网产业日臻成熟,软件质量的要求越来越高,对测试团队和测试工程师提出了种种新的挑战. 传统的行业现象是90%的测试工程师被堆积在基本的功能.系统.黑盒测试,但是随着软件测试整体 ...
- 安全性测试:OWASP ZAP使用入门指南
免责声明: 本文意在讨论使用工具来应对软件研发领域中,日益增长的安全性质量测试需求.本文涉及到的工具不可被用于攻击目的. 1. 安全性测试 前些天,一则12306用户账号泄露的新闻迅速发酵,引起了购票 ...
- H5测试点总结-UI测试、功能测试、兼容性测试、体验相关(弱网、资源、手机操作等)、安全性测试、性能测试
一.概述 1.1 什么是H5 H5 即 HTML5,是最新的 Web 端开发语言版本,现如今,大多数手机 APP 页面会用 H5 实现,包括 PC Web 站点也会用它开发实现.所以 Web 的通用测 ...
- 入门级----黑盒测试、白盒测试、手工测试、自动化测试、探索性测试、单元测试、性能测试、数据库性能、压力测试、安全性测试、SQL注入、缓冲区溢出、环境测试
黑盒测试 黑盒测试把产品软件当成是一个黑箱子,只有出口和入口,测试过程中只要知道往黑盒中输入什么东西,知道黑盒会出来什么结果就可以了,不需要了解黑箱子里面是如果做的. 即测试人员不用费神去理解软件里面 ...
- android手机安全性测试手段
罗列一下自己常用的android手机安全性测试攻击手段: 1. fiddler和tcpdump+wireshark抓包分析,模拟修改http请求参数,检验漏洞 2. 修改AndroidManifest ...
随机推荐
- vs2015配置link.exe环境变量
https://www.cnblogs.com/johnwii/p/4966086.html
- caffe dropout解读
先上caffe dropout_layer.cpp源码,如下: // LayerSetUp DCHECK(threshold_ > 0.); DCHECK(threshold_ < 1.) ...
- 极客时间-左耳听风-程序员攻略-UI/UX设计
程序员练级攻略:UI/UX设计 学习设计新手, 7 steps to become a UI/UX designer 学习设计的一些原则和套路,如配色.平衡.排版.一致性等. 用户体验的 4D 步骤- ...
- 安装android sdk,后出现导出错误,提示命令行找不到解决方案
The steps. Rename android sdk tool folder : [Your Android SDK root]/tools -> toolsXXXX Download S ...
- 【MM系列】在SAP里查看数据的方法
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列]在SAP里查看数据的方法 前言部 ...
- MySQL“Another MySQL daemon already running with the same unix socket”的处理
方法一: rm var/lib/mysql/mysql.sock service mysqld start 方法二: mv /var/lib/mysql/mysql.sock /var/lib/mys ...
- 前端添加视频流rtmp格式
要求:rtmp格式, 在线直播 url地址 效果: 代码:初次打开时间较长, <!DOCTYPE html> <html> <head> <script ty ...
- TCP Socket + UDP Socket
小例子:http://soft.yesky.com/238/2035738.shtml 服务器程序: #include <iostream> #include <WinSock2.h ...
- Longest Line of Consecutive One in Matrix
Given a 01 matrix, find the longest line of consecutive 1 in the matrix. The line could be horizonta ...
- 给内部类对象数组属性赋值时报错:Exception in thread "main" java.lang.NullPointerException
前言 1255: 打怪升级(Java),写这个题目程序的时候,控制台提示如下错误: Exception in thread "main" java.lang.NullPointer ...

