新型多态Python恶意软件:每次执行都会改变自身特征
研究人员发现一款基于Python的远程访问木马nirorat.py,其采用多态行为技术,在每次运行时改变代码特征以规避检测。该恶意软件通过钓鱼邮件或网络共享传播,在内存中解包并注入变异脚本实现持久化。其核心机制包括运行时自修改和垃圾代码注入,使传统基于签名的检测方法失效。防御需依赖行为分析和实时监控。 2025-10-9 10:31:14 Author: www.freebuf.com(查看原文) 阅读量:4 收藏

freeBuf

主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

image

网络安全研究人员近期发现一款基于Python的远程访问木马(RAT),该恶意软件展现出前所未有的多态行为——每次运行时都会改变其代码特征。

低检测率的完整功能木马

这款名为nirorat.py的样本最初在VirusTotal平台上被发现,尽管具备完整的RAT功能套件,但在检测引擎上仅获得26/100的低分。分析人员认为,该恶意软件利用Python的自省和代码修改功能,通过持续变换关键代码段来规避基于签名的检测。

互联网风暴中心(Internet Storm Center)的分析师通过关联样本源代码中的selfmodifyingwrapperdecryptandexecutepolymorphcode等函数名称确认了这一威胁。这些函数通过从内存中提取自身代码、应用随机化的XOR打包技术,并在执行前注入垃圾代码片段来实现规避检测。这种动态变异确保每次执行的指纹都不相同,给静态扫描器带来了巨大挑战。

传播与驻留机制

该RAT主要通过包含看似无害Python脚本的网络钓鱼邮件传播,也会通过受感染的网络共享扩散。执行时,它会完全在内存中解包,避免在磁盘上留下痕迹。为了实现持久化,它会将变异后的脚本副本以随机文件名附加到启动文件夹中。其在VirusTotal上的低检测分数表明,传统的文件哈希签名对这种威胁几乎无效。

核心规避检测技术

该RAT的检测规避主要依赖两大核心机制:自我修改和垃圾代码插入。

运行时自修改技术

selfmodifyingwrapper函数会在运行时使用Python的inspect模块获取目标例程的源代码,通过用随机密钥对每个字节进行XOR编码,然后在执行前在内存中重建代码。这种技术高度模拟了打包器的行为,但不会在磁盘上留下打包文件痕迹。

import inspect, random, marshal, zlib
def selfmodifyingwrapper(func):
  code = inspect.getsource(func).encode()
  key = random.randint(1,255)
  packed = bytes(b ^ key for b in code)
  unpacked = bytes(b ^ key for b in packed)
  codeobj = marshal.loads(zlib.decompress(unpacked))
  exec(codeobj)

垃圾代码注入技术

polymorphcode函数则会在核心例程中注入随机化的垃圾代码——包括未使用的函数、打乱的变量名和无操作循环。通过结合变量重命名和随机代码片段插入,该恶意软件每次运行都会生成几乎唯一的源代码,从而破坏静态签名和启发式方法的有效性。

鉴于这些高级规避策略,防御者必须依赖行为分析和实时监控,而非传统的基于签名的工具。

参考来源:

New Polymorphic Python Malware Repeatedly Mutate its Appearance at Every Execution Time

本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)


文章来源: https://www.freebuf.com/articles/452012.html
如有侵权请联系:admin#unsafe.sh