听说过U盘攻击吗?一个小小的U盘就可以成为黑客手中的利器

一个掉在地上的U盘,许多人捡到了都会插到自己的电脑上试试这个U盘是否好用,或者看看这个U盘里边存放了什么内容。但是你知道吗?这可能面临着电脑被入侵,数据被盗取的风险。许多人看到这里可能觉得小编是危言耸听,认为是不可能的,由于电脑作为USB Host,在USB Mass storage类型的设备中,USB指令的工作流大体是HOST->SLAVE->HOST,所以如果电脑不给相应的指令操作,数据不可能流向U盘。

听说过U盘攻击吗?一个小小的U盘就可以成为黑客手中的利器

当然有些会想到以前的U盘autorun病毒,在当今社会,在系统到防病毒安全软件的各种保护下,autorun病毒几乎毫无用武之地,所以也不难得出前面“不可能”的反应。

但是黑客往往就是在不可能中创造可能的,因此怎么才能让U盘主动发指令给PC,命令PC把数据传向U盘呢?实则这个问题如果深入其中会发现毫无解决方案,因此我们的思维需要跳出这个问题,把问题转换为:

“如何让PC自动处理一个USB设备主动发的指令?”

新的问题可以很容易得到答案,USB设备超级多,如USB网卡,USB鼠标键盘,USB麦克风,USB摄像头等等,这些设备都会主动发送数据给PC,而其中有部分需要打开某一个“开关”才能主动发送数据,如USB摄像头,打开后就可以不停发送视频流给PC。如USB网卡,驱动适配后一旦连接上网络可不停在整个网络中广播数据,但这些都或多或少有一些操作上的限制,由于需要手动参与,并且上层的PC软件负责接收数据后并没有很好的做出“入侵”相关的动作(当然USB网卡可以模拟自动发送网络命令,只需在网络中存在相应的漏洞,网络漏洞说到底也是由于“正常的指令”被PC处理并用于非正常的行为)。

综上,既然已经有了这么多USB设备能够被PC自动处理,那么就可以实现一个更易于攻击的工具,更自动化的USB设备。

最常见的就是USB鼠标键盘设备,由于这一类设备一旦接入PC,随时随地都可以触发操作,不需要手动参与,且操作系统自动接收并直接反馈操作(除非PC系统不支持鼠标键盘,那是真的需要被维修),很容易迷惑用户,列如我们假设一下:

1)一接入USB设备,自动发送WIN+R按键,

2)在短时间内,自动发送字符按键模拟输入cmd.exe,

3)再模拟输入net user add 指令,即可创建用户,进而远程连接

4)利用mshta 执行js脚本,可下载维(MU)护(MA)工具包,再对PC进行远程维(KONG)护(ZHI).等等。

可能看到这里有许多伙伴又有疑问了,真的能实现吗?今天我就给大家讲述一下U盘攻击具体实现过程!! !

一、环境准备

1、先从某宝入手了一个BadUSB板,如下图所示:

听说过U盘攻击吗?一个小小的U盘就可以成为黑客手中的利器

2、准备工具

一个BadUSB_Rubber_Ducky(橡皮鸭)Arduino的IDE – 下载地址:(
https://www.arduino.cc/en/Main/Software)DPinst64驱动(根据电脑型号来,普遍都是64位操作系统)

3、安装工具

Arduino的安装就不讲了,傻瓜式安装:安装包 – 下一步 – 完成!

DPinst64驱动安装的时候要选择始终信任来自Digistump LLC – 安装 – 下一步 – 完成!

听说过U盘攻击吗?一个小小的U盘就可以成为黑客手中的利器

听说过U盘攻击吗?一个小小的U盘就可以成为黑客手中的利器

二、开始配置

第一打开Arduino – 文件 – 首选项 – 附加开发板管理器网址:

听说过U盘攻击吗?一个小小的U盘就可以成为黑客手中的利器

在工具 – 开发板管理器 – 先等待它下载完文件:

听说过U盘攻击吗?一个小小的U盘就可以成为黑客手中的利器

听说过U盘攻击吗?一个小小的U盘就可以成为黑客手中的利器

接着在类型下拉菜单里有一个贡献然后选择Digistump_AVR安装完毕就Ok

听说过U盘攻击吗?一个小小的U盘就可以成为黑客手中的利器

最后选择开发板对应的开发板型号和编程器然后选择Keyboard一个模板:

听说过U盘攻击吗?一个小小的U盘就可以成为黑客手中的利器

听说过U盘攻击吗?一个小小的U盘就可以成为黑客手中的利器

三、代码编写

这是它示例的代码:

#include "DigiKeyboard.h"void setup() { // don't need to set anything up to use DigiKeyboard}void loop() { // this is generally not necessary but with some older systems it seems to // prevent missing the first character after a delay: DigiKeyboard.sendKeyStroke(0); // Type out this string letter by letter on the computer (assumes US-style // keyboard) DigiKeyboard.println("Hello Power_Liu"); // It's better to use DigiKeyboard.delay() over the regular Arduino delay() // if doing keyboard stuff because it keeps talking to the computer to make // sure the computer knows the keyboard is alive and connected DigiKeyboard.delay(5000);}

听说过U盘攻击吗?一个小小的U盘就可以成为黑客手中的利器

上传烧录:

提示:Running Digispark Uploader…Plug in device now… (will timeout in 60 seconds)

这个时候需要60s的时间插入你的BadUSB:

听说过U盘攻击吗?一个小小的U盘就可以成为黑客手中的利器

提示 : Micronucleus done. Thank you! 说明已经上传成功!这个时候插入BadUSB它会一直输入Hello Power_Liu直到拔掉为止:

听说过U盘攻击吗?一个小小的U盘就可以成为黑客手中的利器

接下来手就是写一个”Hello Hacker!”攻击脚本了

先在记事本中写好我们的代码 – 另存为 hacker.txt:

具体脚本可以私信哦!

听说过U盘攻击吗?一个小小的U盘就可以成为黑客手中的利器

使用我们的Python转换脚本吧hacker.txt转换为ino文件:

转换完成后再当前目录下会有一个hacker.ino文件:

听说过U盘攻击吗?一个小小的U盘就可以成为黑客手中的利器

打开后的代码是这样的:

听说过U盘攻击吗?一个小小的U盘就可以成为黑客手中的利器

上传脚本 – 插入BadUSB进行烧录程序:

听说过U盘攻击吗?一个小小的U盘就可以成为黑客手中的利器

上传成功后,它会自动执行我们的操作:会在屏幕上输出Hello Hacker!

最后当电脑插上这样的U盘就会被攻击者轻松入侵了!

看到这里许多小伙伴们都会感受到怕怕了!但是不用 害怕我们还是有防御方法的,接下来我们介绍一下:

四、如何防御U盘攻击?

整体上讲,并没有太好的解决办法,由于USB鼠标键盘几乎可随意接入一台PC并直接操作,除非哪天PC系统和USB硬件双向支持可信计算认证,当然还要保证厂商对此支持并且是讲信用的厂商,总之来说,目前10年甚至20年是不可能的。 现阶段我们假设设备的VID和PID是可信且可识别的(当然残酷的现实是VID和PID可被MPTOOL随意设置),针对不同类型的用户,有以下的提议:

1、个人用户

当我们在拿到一个陌生的USB设备时,尽量不要随意接入PC,如的确 有必要,就接入虚拟机,把需要的数据拷出或拷入,再拔掉即可。当然一旦确认有异常现象,立即停止使用。

2、企业用户

可以安装内网安全管控系统,对USB端口和USB硬件进行策略管控。

感谢大家持续对小编的关注,对安全技术的关注,我们会持续推出更好更专业更有意思的内容,想对技术深度学习的朋友可以私信我的头条号或者加入我们的头条圈子!!!

听说过U盘攻击吗?一个小小的U盘就可以成为黑客手中的利器

专栏

黑客攻防”实战”教程“100讲”

作者:安界

199币

281人已购

查看


© 版权声明
THE END
如果内容对您有所帮助,就支持一下吧!
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容