专栏首页FreeBufBadUSB橡皮鸭综合利用 | 使用橡皮鸭渗透电脑测试

BadUSB橡皮鸭综合利用 | 使用橡皮鸭渗透电脑测试

前言:

等了3个月期待已久的橡皮鸭终于到货了,在hack5上面买的https://hakshop.com ;44.99美元。(真是心疼啊)。托朋友买的,因为淘宝上的更贵要880好像。

鸭子到手以后的包装还是比较寒掺的,就一个纸袋;里面有优盘的壳子、minSD读卡器、橡皮鸭、minSD卡、一个usb口转换器(这些东西感觉20块就能做出来,简直是暴利啊!!)

下面上图:

0.1: 开搞之前先来说说什么是橡皮鸭和需要的一些准备工作。

0.1:什么是橡皮鸭(有借鉴)

USB RUBBER DUCKY(USB 橡皮鸭)是最早的按键注入工具。自2010年以来,USB橡皮鸭就一直深受黑客、渗透测试人员以及IT专家的欢迎。USB 橡皮鸭最初作为一个IT自动化的POC,通过嵌入式开发板实现的,后来它发展成为一个成熟的商业化按键注入攻击平台。USB橡皮鸭通过简单的脚本语言、强大的硬件以及出色的伪装成功地俘获了黑客的“芳心”。(谁能想到这么可爱的大黄鸭却暗藏杀机)。

不管是笔记本、台式机、平板以及智能手机,几乎每个计算机都通过键盘获得输入。这就是为什么会有一个无处不在的USB标准HID(人机接口设备)。任何一个宣称是键盘HID的设备都能够被大多数操作系统自动的探测和接入。不管它是Windows、Mac或Android系统,键盘就是老大。

简单的说,橡皮鸭就是将自己模拟成usb的键盘,可以执行键盘能执行的操作,以此来逃过安全软件的一些检查,但是在后面的实验中我发现如果对装了安全软件的电脑进行一下危险操作的时候还是会有告警弹出来,但绝大部分操作是不会告警的。

0.2: 需要用的一些网站

橡皮鸭是有官网的,上面提供encode(编译),decode(反编译)和一些payload。上面还有一个自动生成payload的工具,感觉不太好用,就不说了。

地址是:https://ducktoolkit.com/

编译界面:

反编译界面:

Github上面也有很多的payload可以用,也可以下载本地编译的java包。

语法介绍和本地编译文件下载:

https://github.com/hak5darren/USB-Rubber-Ducky/wiki/Duckyscript

各种payload下载:

https://github.com/hak5darren/USB-Rubber-Ducky/wiki/Payloads

1.0 现在我们可以开始搞起了。

1.1 首先我们先脑补一下拓扑:

以上是这个实验的逻辑拓扑:

1、VPS是我在网上租的,用来访问外国网站的,顺便做做其他事情。(VPS是有公网地址的) 2、我的电脑用于连接VPS的进行一些操作和控制被攻击的电脑的。(只有私网地址) 3、被攻击的电脑只要等着被攻击就好。(只有私网地址)

PS:由于楼主比较穷只有一台电脑,所以这里没有被攻击的电脑,所有攻击操作都在我的电脑上进行。

1.2 思路和主要步骤

(1)在VPS上搭建ftp服务器,上传一些软件(包含NC、TeamViewer、tv_dump);开启NC的监听。 (2)利用橡皮鸭对电脑的CMD进行操作,使电脑下载VPS上的文件(包含NC、TeamViewer、tv_dump)并反弹shell给VPS。 (3)在VPS上打开被控端的TeamViewer和tv_dump,获取TeamViewer的用户名密码,如果不需要图形化操作的话可以不打开,就用CMD就好。 (4)用TeamViewer连接被控端。

2.0橡皮鸭的操作

2.1 思路和payload

思路:

(1)用管理员权限打开cmd,进入用户目录,关闭防火墙。 注1:如果用户防火墙开着在下载文件的时候会弹出提示,这样操作就会失败。 注2:如果用户装了安全软件如360这种,关闭防火墙的时候会有告警弹出,也会失败。 (2)只用cmd写一个txt文件,内容包括ftp的地址、用户、下载的文件名。 (3)执行这个txt文件,并在执行完以后删除这个文件。 注:考虑到电脑的执行速度不同,以上步骤要设置一些延时。 (4)关闭刚才的cmd并打开一个新的cmd。 (5)用cmd执行NC绑定cmd反弹的命令(后台执行)。 (6)关闭cmd

Payload如下:

这个payload应该很好理解,我就不解释了。可以通过刚才github的网站上面看到语法的具体讲解。主要要注意的是延时,因为鸭子插到电脑上以后就立刻开始执行padload了,要留点时间给电脑加载驱动之类的。

3.0 VPS

3.1 第一阶段

这里我用的是centOS,百度一下搭了一个ftp服务器,装了一个NC,上传了一些文件。

3.2 开始监听NC的端口

注:这里要注意设置好centOS的防火墙,把9999端口放行,不然NC是看不到东西的。

4.0 tv_dump.exe

这是一个获取teamviewer用户名密码的软件,百度上源码很多,我下了一个自己编译了一下。

5.0 实战

所有工作都做好了,我们来操作一波。

5.1 插入橡皮鸭

PS:左边的CRT是远程的VPS,监控9999端口;右边是我电脑的防火墙和用户目录。

5.2 远程打开teamViewer

5.3 获取teamViewer的ID和密码

本文分享自微信公众号 - FreeBuf(freebuf),作者:Seagull

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-01-18

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • BadUSB的前世今生:USB RUBBER DUCKY和Teensy USB

    一、介绍 前段时间翻译了有关BadUSB的两篇文章《解密BadUSB:世界上最邪恶的USB外设》和《研究人员公布BadUSB攻击测试(exploit)代码》,大...

    FB客服
  • 研究人员演示:用USB设备能够秘密窃取临近USB接口的数据

    只需要用一个稍作伪装过的USB设备,插到电脑的USB口中,它就能监听临近USB接口泄露出出来的电信号,如果临近USB口接了键盘的话,那么通过对其进行分析就能获取...

    FB客服
  • 这年头真的还有USB设备是安全的吗?

    * FreeBuf专题报道,作者/欧阳洋葱,未经许可禁止转载 在正式开谈USB安全之前,还是照例来分享一个很有意思的案例:2014年年末,来自Reddit的报道...

    FB客服
  • ConcurrentHashMap源码学习

    经过对hashMap的学习,现在我们来学习一下ConcurrentHashMap的机理。我们知道juc包是高并发工具包,按照之前提供的高并发集合,那么Concu...

    用户5602455
  • java进阶|TreeMap源码分析

    TreeMap是不是没用过?是的,我也没用过,但是我还是来进行分析它的方法了,因为我要了解一下这个键值对集合的方法有哪些?顺便思考一下它,因为我已经分析过Tre...

    后端Coder
  • c语言中函数参数处理顺序-从右向左

    c语言中函数参数处理顺序-从右向左      下面我们来看2个案例,分析下c语言中函数参数处理顺序。      第一个: #include "stdio....

    _gongluck
  • Netty之缓冲区ByteBuf解读(二)

    这里的 demo 例子还是使用上节《Netty之缓冲区ByteBuf解读(一)》使用的。

    ytao
  • 牛客网剑指offer-2

    输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。

    用户1637228
  • LeetCode 238. Product of Array Except Self

    题意:给你一个数组,让你计算每个位置上除这个位置以外的所有元素的乘积。不能用除法,O(n)的效率,O(1)的空间

    ShenduCC
  • D3DXCreateTextureFromFile

    HRESULT D3DXCreateTextureFromFile( __in LPDIRECT3DDEVICE9 pDevice, _...

    用户1624346

扫码关注云+社区

领取腾讯云代金券