CobaltStrike python免杀shellcode加载器 –加密混淆系列

项目介绍

一、Python加载shellcode免杀介绍

由于python使⽤比较简单⽅便,所以现在很多免杀都是使用python来对shellcode进行处理,做一些加密、混淆,用python来实现各种加密也比较简单而且免杀效果相对不错,唯⼀不足的地方就是py编译生成的exe文件比较大(本实验将介绍如何缩小python代码)。
免杀工具Avet、Python-Rootkit、Avoidz、Winpayloads、BackDoor-Factory都使⽤了把shellcode嵌入python代码中,然后编译py文件为exe,从而达到免杀的效果。

二、通过py源码编译exe

(可过DF、火绒、360、virustotal:7/66过卡巴斯基、迈克菲等)

1、利用CS生成shellcode

1.1 开启CS Server,并使用CS Client进行登录

d2b5ca33bd185253

d2b5ca33bd185517

1.2 创建监听器

d2b5ca33bd185836

1.3 生成后门,选择raw格式的shellcode,并将文件保存格式为.raw后缀

d2b5ca33bd190031

d2b5ca33bd190223

1.4 利用base64编码shellcode(VT免杀率16/70),并将payload.raw中的值替换jiami.py中payload,也就是第二十四行 sc=’payload’

base64 -w 0 -i payload.raw > payload.bs64

d2b5ca33bd190815

d2b5ca33bd191404

1.5 python3运行base64编码shellcode,会生成一个aes-xor.txt的文件,复制文件里的值(经过XOR和AES加密后),复制的值替换main.py中的payload 也就是第四十一行 jiami_sc=’payload’

python3 jiami.py

d2b5ca33bd192024

d2b5ca33bd192204

1.6 缩小python代码

pyminify main.py --output main-mini.py

d2b5ca33bd192543

1.7 混淆main-mini.py中的python代码,将混淆后的代码保存到一个文件中,比如文件名为:main-mini-ob.py

https://pyob.oxyry.com/ 在线混淆

d2b5ca33bd193241d2b5ca33bd193044

1.8 生成exe程序

pyinstaller.exe -Fw -i Google.ico --key=leslie main-mini-ob.py

参数说明:-F 打包为单文件;-w 不显示窗口;-i ico图标文件;–key 加密字节码的密钥,接下来等待打包完成…….打包好后的可执行程序在dist目录中

d2b5ca33bd193725

d2b5ca33bd193750

d2b5ca33bd193857

三、将软件更名为Google.exe,并使用测试机进行测试,CS成功上线

d2b5ca33bd194349

d2b5ca33bd194437

d2b5ca33bd194512

免杀测试

d2b5ca33bd195128

d2b5ca33bd085737

项目地址

免责声明

仅供安全研究与教学之用,如果使用者将其做其他用途,由使用者承担全部法律及连带责任,本人不承担任何法律及连带责任。

© 版权声明
THE END
喜欢就支持一下吧
点赞10 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容