来自 安全 2022-05-06 16:20 的文章

香港高防_服务器高防是什么意思_精准

香港高防_服务器高防是什么意思_精准

Andromeda是迄今为止运行时间最长、最流行的恶意软件家族之一。

我们看到Andromeda通过垃圾邮件传播,awsddos防御多少g,附带受感染的文件(doc、xls、pdf、zip.),通过非法下载网站、warez(受感染的裂缝、密钥等),或通过其他钓鱼活动感染用户。

最近几个月,作者主要集中在通过位于受损网站或广告服务上的漏洞工具包(中微子、核能、垂钓者等)传播仙女座菌株。这些漏洞工具包主要存在于可疑网站(p0rn、warez、视频流网站、共享网站等),但偶尔也会出现在受信任的网站上。

Andromeda二进制文件几乎总是存储在被黑客攻击的网站上,但我们也发现了一些仅承载恶意软件的专用服务器上的文件。我们不仅看到Andromeda出现在被黑客攻击的网站上,还看到它的插件在SourceForge.net上分发,SourceForge.net是一个存储库,托管7zip、VLC player、OpenOffice、FileZilla和其他流行的开源项目。

此分析涵盖了Andromeda示例的最新变体,从今年年初开始蔓延。作者并没有对Andromeda的核心二进制文件做太多更改,但他们一直在更改最顶层的PE封隔器/模糊器。Andromeda使用不同质量的PE封隔器来避免AV检测。一些打包程序还包含其他反vm/emul/debug技巧。我们已经看到一个与Zbot非常相似的打包机(基于其源代码),混淆的Visual Basic和.NET二进制文件,甚至还有一些定制打包机,让人想起Andromeda变体中包含的Dridex。

Andromeda的作者投入了大量精力使其感染滴管组合多样化,并禁用,或者至少使AV公司之间的样品提交和交换及其用于扫描和彻底分析文件的常规流程复杂化。为了实现这一点,他们每天更新自定义打包程序,作为奖励,他们用超过70MB的垃圾填充二进制文件。此策略可能会显著延长样本上载时间(在慢速连接上),或导致某些防病毒扫描引擎(或在线扫描服务)的扫描/提交限制溢出。另一方面,这个技巧是可疑的,它可以帮助试探性地检测文件。

Andromeda的顶层封隔器很有趣,值得仔细研究。基于源代码,打包器与Zbot非常相似。加密的有效负载作为"原始数据"存储在".rsrc"部分中。

仙女座流星雨有效负载使用自定义加密进行两次加密,并通过RtlCompressBuffer API函数使用LZ压缩(0x002-压缩格式\ LZNT1)进行压缩。自定义加密使用随机种子值和带有大量SMC(自修改代码)和垃圾指令的通用模糊处理。

第一个有效负载自定义加密:

第二个加密:

然后解密的数据准备通过重要的RtlDecompressBuffer API函数进行解压缩。

在所有模糊层下,我们发现了一个典型的仙女座装载机。整个加载程序非常简单(~20kB),包括压缩(Aplib)和加密(RC4)形式的最终恶意软件负载和硬编码配置结构。

该结构在加密负载之前硬编码,长度为0x28h(40)字节,包含七个值:

整个配置结构位于".rdata"部分(VA偏移量:0x00402000h)。

有趣的是,Andromeda的加载程序二进制文件没有导入(在PE目录中)。有效负载加载程序仅使用ntdll.dll库,所有导入的API函数都硬编码为自定义哈希值。

恶意软件通过PEB_LDR_数据(包含ntdll的基址和内核32)骗局获得ntdll.dll库的句柄,从许多外壳代码中众所周知:

哈希算法很简单,它结合了对API名称(ASCII)的XOR和ROL操作。

所有API哈希都以DWORD值形式存储在".text"部分(VA偏移量0x00401000h)的开头。

作者似乎是非常有经验的本地子系统和低级程序员,并且对AV有着深刻的了解检测方法。此恶意软件使用非常罕见的低级形式(Nt/Rtl)API函数,这可能是为了避免使用标准API监视器/跟踪程序,沙盒和其他具有预定义API列表或众所周知的API组合模式的动态分析工具。

哈希值

API功能

0AB48C65

LdrLoadDll

DE604C6A

RTLDOSPATHNAME TONTPATHNAME

925F5D71

RTLFREANSISTRING

EFD32EF6

LdrProcessRelocationBlock

B8E06C7D

RTLCRC32

831D0FAA

RtlExitUserThread

A62BF608

NtSetInformationProcess

102DE0D9

LLOTIVEREMOREMORY

CD8CRC32

831DF 197NFNtQueryDirectoryFile

64C4ACE4

NtClose

028C54D3

memcpy

82D84ED3

memset

最终的仙女座有效载荷用Aplib压缩并用RC4流密码加密。加密的有效载荷用硬编码的CRC32哈希进行验证,如果该检查通过,则继续解密。

RC4解密,然后Aplib解压缩:

一次有效负载被解密和解包,有必要将其重新定位到新的基址,因为它不是位置独立的代码。这是通过另一个不常见的API调用(LdrProcessRelocationBlock)实现的。LdrProcessRelocationBlock是一个仅在系统内部用于重新定位加载的PE模块的函数。

API函数使用指向重新定位记录的指针以及有关新旧基址的信息。第一条重定位记录存储在有效负载数据段的开头。