PwnPigPig
免杀篇
免杀流程介绍
首先这里先说下pyc反编译,正常我们通过pyinstaller打包好exe后,是可以被在线pyc反编译平台反编译后拿到源码,从而知道我们的shellcode是怎么实现的加载和执行
通过pyinstxtractor.py反编译exe程序获得pyc
特别是打红队被蓝队分析的一览无余
所以,这里的方法是通过对pyinstaller.exe --key加密参数作用于import的加密,我们可以将shellcode的加载和执行过程放到python的第三方库里面
如下图:
准备两个py文件,分别是Pigpng.py和casear.py
casear.py定义一个def函数,里面写shellcode的加载和执行,并且这个文件作为第三方库,从而--key加密参数编译时进行保护,实现pyc反编译不会逆向出来我们的第三方库代码,而第三方库的这个py文件正好是我们shellcode的东西不想被蓝队看到的,之后我们的Pigpng.py就导入from casear import casear的第三方库
并通过casear()调用第三方库的def函数,从而加载并执行shellcode
之后我们来看看效果
通过pyinstaller.exe -F -w -i Icon6.ico --key PwnPigPig Pigpng.py打包exe
通过pyinstxtractor.py反编译exe程序
可以看到出现的Error的异常
虽然可以依旧看到我们的Pigpng.pyc,但是我们的第三方库是加密的
已经加密变成了encrypted文件格式,而我们的shellcode在casear中,蓝队无法直接分析,只是看了我们给他看的Pigpng.pyc,从而通过这种方式实现我们的防反编译
接下来就是讲下整体的实现:
(公众号回复免杀003获取源码)
Pigpng.py这个文件
就是导入第三方库和调用casear()函数,剩下的全是加花干扰杀软分析
然后是Pigcrypto.py文件
这里用到一张base64加密的shellcode藏在图片中,再通过对整个shellcode加载器进行凯撒密码加密
将凯撒加密好的放入casear.py文件,如下图
增加杀软分析特征难度
最后凯撒解密后exec执行shellcode加载器
最后说下图片shellcode的制作
通过MSF生成shellcode后,改成如下形式
再通过在线base64网址加密
加密好的base64另存为hacks.png(运行时要和exe放在一起)即可,这样base64的shellcode图片就做好了
免杀效果:
(不免杀了是因为上传沙箱或者VT这些记录了该exe文件的hash值,重新编译生成即可,或者换个ico图标加数字签名就又免杀了)
核晶防护下正常反弹MSF
获取源代码
链接:https://pan.quark.cn/s/403ae6466ea1
提取码:UJPN
/ END /
原文始发于微信公众号(PwnPigPig):Python免杀shellcode-凯撒加密+防反编译+图片分离+加花干扰
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论