0x00 前言
自从badusb在黑帽大会出现过后,就被炒得很火.
带着连之前不太被看重的HID入侵也渐渐浮了起来。
而目前国内能直接找到的相关资料非常少.
所以这里我把过程也贴了一些上来,希望大牛们不要见怪。
在看到null_whoami牛的帖子之后,
果断冒着砍手的风险在某宝买了一块teensy2.0++开发板来high一把。
先来铺一张图
顺便说一下我对HID入侵和badusb的理解,如有不对请大牛们指正:
HID入侵是将手中的硬件模拟为键盘鼠标之类的人体学输入设备。
然后通过发出与物理输入设备相同的信号给操作系统使得预先编译在其中的代码得以执行,整个过程是在前台完成的;
而badusb是将usb设备的固件驱动进行修改,使其被识别为其他设备以达成目的,是静默进行的,而且不受设备类型限制,使用方式也更灵活。
但是现在还没有成型的exp公布出来。
相比之下各有优劣。
准备的工具如下:
系统环境:kali、win8;
硬件:Teenst2.0++开发板;
软件:arduino 1.0.5(用于将代码写入开发板)
Teensyduino(用于使arduino支持teensy系列设备)
文件:49-teensy.rules(与Teensyduino在同一页面下载)
0x01 先砍自己磨把刀
Kali本来是自带有arduino 1.0.4的。
可是版本却低于找到的teensyduino支持的版本(1.0.5以上)。
于是就只能自己重新下载了。
话说这里还有点奇妙的事情发生(arduino的官网在翻墙前能上而翻墙后却不能上)。
(官网下载其实是个坑,几个下载链接都下不了,最后面的source跳到github得编译安装,麻烦麻烦真麻烦)
于是我翻山越岭终于找到一个1.0.5的包。。。
在心爱的kali里面安装好arduino之后再拷贝49-teensy.rules到/etc/udev/rules.d/
sudo cp 49-teensy.rules /etc/udev/rules.d/
然后再安装Teensyduino就OK了。
安装时要选择的文件夹是arduino的安装文件夹。
之后要准备的就是pde或者ino来编译进去了,这里有几个途径:
一个是自己写(这尼玛不是废话么),使用的是arduino单片机编程语言;
第二就是使用kali自带的setoolkit生成,里面提供了部分攻击向量;
第三还可以用国外大牛做的生成程序Kautilya-master来生成,这个程序里面提供了更多的功能,也比setoolkit支持的平台更多,带有linux和mac os x的攻击向量。
测试时我使用setoolkit生成pde
然后将pde拖到arduino里面。
注意这里拖进arduino里面的时候名字要改掉,因为arduino不允许名字中有空格。
最后将pde编译到teensy,这个过程大家可以参考一下null_whoami的帖子。
然后把teensy拔下再重新插到自己电脑上,就可以默默的看它砍自己电脑了。
这里大概介绍一下在终端机上比较好用的几个反弹shell的攻击向量。
1、Powershell HTTP GET MSF Payload(in setoolkit):通过powershell下载执行可执行文件;
2、WSCRIPT HTTP GET MSF Payload(in setoolkit):通过写一个vbs下载执行可执行文件;
3、Binary 2 Teensy Attack(Deploy MSF payloads)(in setoolkit):
4、Kautilya下的众多小型攻击向量如粘滞键后门,加用户,灵活运用起来效果也很不错,详见null大牛的帖子。
5、这个是一种方法,搭建一个WEB服务器,给teensy烧入相关下载执行代码。
这个方法在可行的时候因为修改方便所以达成目的的速度远超前面的几个。
0x02 先礼于人
为了能顺利从外网攻入内网,我先在teensy上烧录了个小后门,带去图书馆踩点看看。
杂志浏览终端ABC:
LED大显示屏(装逼、求交往神器):
小显示屏AB:
借阅终端AB:
在杂志浏览终端那边随便翻了翻,发现需要下载杂志、
脑测和外网有直接通信,插上teensy完全无响应,限制这么死我真是需要安慰。。。
不过后面的电源露出来了,拔掉再插上可以直接重启,重启后会有几秒的空隙。
然后插LED屏和小显示屏,能弹出窗口正常写代码,但是被前面的内容挡住了。
幸好最后借阅终端给了我些许自信,直截了当前台走起~
然后,呵呵~~~~小显示屏和它都有这破玩意儿
这间接把我吓尿了。。。I need AAV!!!!!!!!!!!!!
能直接接触usb的差不多就这些东西了,收拾收拾回家。
整理下收集到的信息
1、杂志浏览终端是个难啃的骨头,下次从重启到开杂志程序中间的空隙找突破;
2、借阅终端和小显示屏以及LED可以直接插,可是360令人蛋疼,下次用Veil生成meterpreter再干掉360种远控;
0x03 上刀,表哥帮我砍它
新的一天到来了,激情满满的我带上我的teensy小刀上路了。
进门第一个是杂志浏览终端,就跟着之前设想的步伐上吧,利用重启后那个空隙。
首先拔掉电源再插回去,终端开始重启 x03 上刀,表哥帮我砍它
新的一天到来了,激情满满的我带上我的teensy小刀上路了。
进门第一个是杂志浏览终端,就跟着之前设想的步伐上吧,利用重启后那个空隙。
首先拔掉电源再插回去,终端开始重启
重启完成后自己弹出来一个日志文件t.log,顺手点住其标题栏卡住,成功卡下。
然后翻翻菜单栏找一下能不能有运行的地方。
用打开运行不了EXE,直接以文本形式加载了。
翻翻翻翻翻翻翻翻翻翻翻翻翻翻翻翻翻翻翻翻翻翻翻翻翻翻翻翻翻翻翻
打印机这里不能显示所有文件,也运行不了。
翻翻翻翻翻翻翻翻翻翻翻翻翻翻翻翻翻翻翻翻翻翻翻翻翻翻翻翻翻翻翻
噢,字体这里有个姿势可以摆,点下显示更多字体。
哇喔,可以直接跳到资源管理器,然后就愉快的打开cmd,然后插入teensy小刀执行命令咯,
小刀里面带的是一个利用vbs下载执行meterpreter的代码。
可是结果我悲伤的发现它竟然报错了。。。报错是说第五行,也就是XMTHTTP.send()需要的一个dll没有。
我这个大白菜又不懂vbs。。只有先搁着了。。
来显示屏这边看看吧,显示屏没有触控,只有完全靠小刀了。
写个代码看看ip,发现是完全内网。
然后我就想到了一个极其猥琐的做法:
先去楼下的杂志浏览终端,在后面把网线拔下来插自己电脑上配置好。
用小刀插到显示屏让显示屏msf连接自己电脑。
然后种远控利用杂志终端把远控转发到外网,这样就可以愉快回宿舍来爆图书馆的菊了。
说干就干,这里还要感谢一下机油的帮忙,一直在终端后面帮我插线拔线看电脑。
一切准备完毕后,在自己电脑上配一个内网的HTTP服务器。
把刚下的Veil生成的Payload放进去,小刀上写上下载链接,我就快乐的跑出去到处乱插了。
插遍各个usb后回来,发现没有上线,真是郁闷伤心,本机测试了下发现是Veil生成的Payload连不上我在虚拟机里的kali,具体原因还没弄清楚。
本文始发于微信公众号(T00ls):秉烛夜读—论终端机内网的出与入(HID做入口)
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论