物理入侵之你真的敢用的我的U盘么?

00x0 元旦快乐

这是第一次用Markdown编辑器写东西。感觉还是不错的,可以省下很多排版的时间。@豆瓣将军,夜豆女侠可以尝试着使用呦!然后发现微信公众号的编辑器不支持Markdown,不过一折腾发现是有方法的!

写在文章前面的东西,对,今天是元旦。大家昨天晚上都在跨年,看烟花,约会,看电影。而我,弄着某sb单片机做的傻逼东西,说实话真的是吃力不讨好,具体原因不详。其实对我等对跨年没有什么感觉了,自从台湾回来之后,感觉没有这个气氛了。别的不说,原单快乐吧,然后明天答辩快乐~

00x1 前言

今天要讲述的是一个汉子插我的U盘的血泪史,那天。某超太无聊了就去想着要不要去把某个LED大屏幕给黑掉,没错。。就是那个天天在放视频的,既然内容天天更新又没看到工作人员天天在换单片机,那么肯定是用电脑控制这个大屏幕的。因为天天烧录什么的太麻烦了,有一套软件。做广告的姐夫告诉我的~~~ 然后我就用了一次物理入侵,或者专业一点叫社会工程学。什么是社工这里就不展开了,后面权限是拿到了。但是某牛,也就是我学长说喂小组宣传要注意影响,就没有继续展开了。于是就有了这篇文章,这么制作一个能黑掉人的U盘。

00X2 什么是HID

USB-HID 是Human Interface Device的缩写,由其名称可以了解HID设备是直接与人交互的设备,例如键盘、鼠标与游戏杆等。不过HID设备并不一定要有人机接口,只要符合HID类别规范的设备都是HID设备。 交换的数据存储在称为报表(report)的结构内,设备的固件必须支持HID报表的格式。主机在控制与中断传输中传送与要求报表,来传送与接收数据。报表的格式非常有弹性,可以处理任何类别的数据。

驱动:驱动程序即添加到操作系统中的一小块代码,其中包含有关硬件设备的信息。有了此信息,计算机就可以与设备进行通信。驱动程序是硬件厂商根据操作系统编写的配置文件,可以说没有驱动程序,计算机中的硬件就无法工作。 但是HID有一个特性:就是操作系统自带了HID类的驱动程序,而用户无需去开发很麻烦的驱动程序,只要直接使用API调用即可完成通信。所以很多简单的USB设备,喜欢枚举成HID设备,这样就可以不用安装驱动而直接使用。所以HID设备≠安装驱动。

00x3 HID攻击介绍

HID设备并不一定要有人机接口,只要符合HID类别规范的设备都是HID设备。由于这个特性,一般来讲针对HID的攻击主要集中在键盘鼠标上,因为只要控制了用户键盘,基本上就等于控制了用户的电脑。攻击者会把攻击隐藏在一个正常的鼠标键盘中,当用户将含有攻击向量的鼠标或键盘,插入电脑时,恶意代码会被加载并执行。

00x3 可执行恶意代码的开源设备—TEENSY

(1)TEENSY设备的介绍

TEENSY,比起小小的、微型设备等翻译我更喜欢叫它小熊。 当然笔者开个玩笑,此处是这个设备的专有名词。

其实好多开发板都是基于这款芯片的。这是它的一个官方介绍: http://www.pjrc.com/teensy

上面写着:

The Teensy is a complete USB-based microcontroller development system, in a very small footprint, capable of implementing many types of projects. All programming is done via the USB port.

大意是:TEENSY的是一个基于USB完整的单片机系统(设备),占用很少的空间(资源),能够实现 许多类型的项目。 所有编程是通过USB。 Teensy主要特点如下

AVR处理器,16 MHz 单个按键编程 易于使用的Teensy Loader应用程序 免费软件开发工具 兼容Mac OS X,Linux和Windows 小尺寸,多项目的完美支持

它分为32Bit和8Bit:

(2)BS Micro pro micro leonardo Arduino 开发板

我买来做实验的板是:ATMega32U4 BS Micro pro micro leonardo Arduino 这个板是属于Arduino Leonardo(MCU: ATmega32U4 这个板子有点特殊,刚好支持TEENSY)

貌似UNO没有类似的产品,因为UNO是基于ATmega328。

(3)Arduino简介

Arduino是一款便捷灵活、方便上手的开源电子原型平台。 它构建于开放原始码simple I/O介面版,并且具有使用类似Java、C语言的Processing/Wiring开发环境。主要包含两个主要的部分:硬件部分是可以用来做电路连接的Arduino电路板;另外一个则是Arduino IDE,你的计算机中的程序开发环境。你只要在IDE中编写程序代码,将程序上传到Arduino电路板后,程序便会告诉Arduino电路板要做些什么了。 有人把这被制作成含有恶意代码的U盘叫做BadUSB。BadUSB的威胁在于:恶意代码存在于U盘的固件中,PC上的杀毒软件无法访问到U盘存放固件的区域,因此也就意味着杀毒软件和U盘格式化都无法应对BadUSB的攻击。

00x4 制作过程

(1)环境的准备:

我是win10我就用:http://www.pjrc.com/teensy/td_133/TeensyduinoInstall.exe

Arduino的下载地址:https://www.arduino.cc/en/Main/OldSoftwareReleases#previous

代码主要使用Arduino的Keyboard库,学习使用可以参见以下链接:https://www.arduino.cc/en/Reference/KeyboardPress

我使用的是1.6.x版本的,现在最新版本的是1.8.0。 先安装arduino,然后安装下载后双击运行,安装的时候会有一步安装设备驱动,按提示安装之。 注意,安装时要求手动选择Arduino IDE的安装位置,此时选择之前步骤zip的解压目录即可。 安装成功后运行arduino.exe会发现这里有了许多可选项:

(2)硬件连接IDE

  1. 硬件插入电脑
  2. 打开Arduino IDE
  3. 工具->版->选择“Arduino Leonardo”
  4. 工具->Port->选择“COM* (Arduino Leonardo)”
  5. 现在可以看到IDE右下角出现“Arduino Leonardo on COM*”

(3)代码写入硬件

1、用到的代码:

这段代码的意思:

• 插入后等待五秒

• 按下ctrl+esc,(作用:在任何界面打开开始菜单)

• 等待半秒

• 模拟输入一个字符串,并回车执行(作用:在开始菜单执行命令)

• 等待2.5秒,更改焦点,模拟键盘输入y(作用:绕过uac,得到系统许可)

2.将代码中的http://www.hackvaf.com/index.ps1改成自己的域名
3.点击IDE左上角 对号图标 验证,然后点击 箭头图标 上传代码到硬件,没报错就OK了
4.将硬件重新插入电脑,此时会看到电脑自动执行代码的全部动画过程

当然如果有朋友觉得等待5秒太久的话那么就把delay统统删掉….

(4)服务端的代码

硬件的设置会从域名下面的index.ps1文件下载代码并执行。 以下代码可在github下载:https://github.com/Xyntax/BadUSB-code

1. 下载所需代码,
2. 修改main.ps1的2754行 为上面的域名,
3. 修改main.ps1的2903-2919行 为发送邮件配置 发送邮箱尽量不要用163入口文件为GetPass.ps1
4. 修改GetPass.ps1中的前两行,域名,Getpass.rar实际上是lazagne,用rar下载尽量避免触发安全软件,这个不放心可以百度下载。command.rar实为bat 因为 lazagne注入lsass时会被安全软件拦截,所以用bat避免注入。修改GetPass.ps1中的邮箱配置,同main.ps1中的就行
5. 将这四个文件上传到公网服务器

关于什么是lazagne,可以看看安全客上面的http://bobao.360.cn/learning/detail/412.html

这里设置好收信和发信邮箱。

00x4 测试

值得一提的是,注意键盘的状态和焦点。这个主要是配合社会工程学~~~

如果键盘在中文状态,则会失败。

这里改进了代码,让其锁定为大写状态就ok了。

当然了,这个功能不止这样。理解原理之后,通过修改服务器端代码,利用方式可有很多….

• 反弹shell

• 获取文件

• 录屏、截屏

• 添加用户、开端口

• 下载病毒、木马

• ……

这里提供一段代码….知道怎么搞到*卷了吧….邪恶吧

当然,如果对于arduino 不熟悉或者powershell不熟悉的话,请移步这里!

Kali里面自带~~~

其他的MSF如果搞你们比我懂~~

原文发布于微信公众号 - 晨星先生(MoXuanIT)

原文发表时间:2017-01-01

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏hotqin888的专栏

电子规范管理系统(2)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hotqin888/article/det...

1711
来自专栏逻辑熊猫带你玩Python

Linux | “搭建verilog学习环境”

写这一篇文章的初衷一个是分享给各位想进入IC领域的读者以及感谢一位贵人。VerilogHDL是国内目前最流行的硬件描述语言。关于硬件描述语言的问题,这里并不多谈...

1.3K3
来自专栏刺客博客

魅蓝Note3降级教程

3.9K6
来自专栏FreeBuf

SpyDealer深度剖析:一个广泛针对中国手机APP进行信息窃取的恶意软件

随着Android智能手机的普及和各种功能APP的流行,人们已越来越多地依赖智能手机存储处理个人和商务信息,而这也成为了犯罪份子进行信息窃取的隐蔽途径。近日,P...

3544
来自专栏阮一峰的网络日志

DDOS 攻击的防范教程

7743
来自专栏数据和云

警示:一个专为AIX上12.1版本定制的Bug正在发生

题记:一些用户在使用 Oracle Database 12.1 版本时(包含12.1.0.1 和 12.1.0.2 初始版本),再次遭遇到一个『专门为 AIX ...

3687
来自专栏即时通讯技术

应用保活终极总结(二):Android6.0及以上的保活实践(进程防杀篇)

在Android 4.4及以后的系统中,应用能否常驻内存,一直以来都是相当头疼的事情,尤其移动端IM、消息推送这类应用,为了保证“全时在线”的概念,真是费尽了心...

7531
来自专栏乐沙弥的世界

Oracle 11g RAC oc4j/gsd Offline

    Oracle 11g RAC中,发现oc4j以及gsd服务都处于offline状态,这是Oracle 11g RAC默认情形。即便如此,并不影响数据库的...

1093
来自专栏linux、Python学习

123个Python黑客工具,再也不用问女朋友要手机密码了

今天的文章来源于dloss/python-pentest-tools,本文中列举了123个Python渗透测试工具,当然不仅于渗透~

6132
来自专栏北京马哥教育

123个Python黑客工具,再也不用问女朋友要手机密码了

今天的文章来源于dloss/python-pentest-tools,本文中列举了123个Python渗透测试工具,当然不仅于渗透~ 下面我们就开始吧~ ———...

5094

扫码关注云+社区

领取腾讯云代金券