来自 网络 2022-05-13 03:00 的文章

网站安全防护_蓝盾云_原理

网站安全防护_蓝盾云_原理

Win32:Reveton XY[Trj]在全球范围内拯救了数百台计算机,网络罪犯也知道这一点!!!

自从我们上次报道Reveton锁屏系列以来已经一年多了。该勒索软件背后的团队仍然非常活跃,并定期提供其勒索软件的新版本。

最近我们获得了一个严重混淆的样本。和大多数其他情况一样,我们从检查样品开始。除了具有高熵的区域与具有常量(通常为零)字节的区域交错之外,我们注意到在模糊可执行文件的主体中有一个有趣的字符串Win32:Reveton XY[Trj]。在不解包或执行模糊文件的情况下,无法判断内部是什么类型的恶意软件,但是在这种情况下,作者指出Reveton可能在内部。

当我们查看上图中的选定区域时,您可以注意到一个标记RSDS,后面是一些二进制数据,关闭ddos防御,之后追加.pdb文件名。根据文档,此数据块在IMAGE_DEBUG_目录结构中引用,它是可执行文件头的一部分。

RSDS格式具有简单的结构,如本文所示。RSDS签名后面是一个16字节的全局唯一标识符、4字节的年龄和一个以零结尾的pdb文件名。每次链接器重新创建项目时,年龄都会增加。从上图中我们可以看到,怎么选择ddos防御大小,Reveton packer在向公众发布之前被重新编译了三次。

不同的防病毒公司对相同或类似的恶意软件系列使用不同的检测名称。RSDS一节中提到Win32:Reveton XY[Trj]的检测可能不是巧合。此检测名称属于AVAST,从每小时和每天的统计数据可以看出,这是一个相当成功的检测,它避免了数百台计算机被锁定。

Reveton XY保存的IP的地理分布显示,以色列防御DDos设备,受影响最严重的国家是西欧国家,尤其是德国、英国、,法国和意大利,其次是美国和澳大利亚,它们是主要的非欧洲英语国家。我们在讲俄语的国家没有发现攻击,这些国家可能就是袭击者的来源国。西欧国家和其他英语国家通常是网络犯罪分子的首选,因为它们更有可能产生更高的收入。

让我们看看Reveton勒索软件本身。快速静态分析表明,密码器是在2013年10月中旬编译的。在执行除臭并获得干净版本的恶意软件后,我们可以看到它是一个动态链接库(.dll),带有一些导出函数,名为GL30X。

首先,调用了DllMain。它将检查文件是否在虚拟环境中运行。此检查通过搜索EnumDisplayDevicesA输出中的可疑字符串来完成。

当发现任何提及的字符串(虚拟、VMWARE、VMBOX)时,恶意软件会自行终止。然后,恶意软件将自身复制到所有用户\%APPDATA%目录中,并通过rundll32.exe再次执行自身。它以随机名称复制自身(扩展名为.plz)。将有多个正在运行的恶意软件实例,因此Reveton创建了一个扩展名为.pff、大小为12600字节的文件,其中存储了将在几个正在运行的Reveton实例之间共享的数据(初始进程的PID、连接到的IP地址…)

GL300导出函数生成了几个线程。有一个线程通过将LNK文件拖放到启动文件夹(%USER%\Start Menu\Programs\startup\)来管理持久性。下图显示了已解析的LNK文件。重新启动后,怎么关闭cc防御,rundll32.exe通过调用其导出的函数GL300启动恶意软件。

第二个持久点通过修改"HKLM\SYSTEM\ControlSet001\Services\winmgmt\Parameters"注册表项实现。旧值"ServiceDll"=%SystemRoot%\system32\wbem\WMIsvc.dll"被替换为恶意软件dll的路径。根据文档,winmgmt是当第一个管理应用程序请求连接到WMI命名空间时自动启动的服务。通过修改这些注册表设置,Reveton确保其通过注册表的持久性不再被注意。大多数恶意软件都会修改运行注册表项(Software\Microsoft\Windows\CurrentVersion\Run in HKLM或HKCU),这是一个众所周知的位置,用户在检查启动时执行哪些程序时会查看该位置。

最重要的线程是下载有效负载的线程,该线程会锁定计算机并显示赎金消息。从network analyzer屏幕截图中,我们可以看到受害者计算机与攻击者服务器之间的通信。通信从受害者的端口1035启动,并到达目标端口443,网络分析仪将其标记为http(http安全)。

我们想到的问题是,"Reveton真的通过SSL通信吗?"快速查看下载的有效负载,ddos防御中心,我们得到了以下答案。第一个双字的值为0x00000068(6800),其中包含三个零,加密数据流不太可能有三个相等的连续字节。以下两个字节是0x0178(78 01),它可能看起来像zlib压缩头。假设第一个数字0x00000068(68 00 00)是以下zlib压缩数据块的长度,我们得到偏移量0x68+4(长度字段的大小)=0x6c,它包含一个双字号0x000da01e(1e a0 0d 00),然后是签名0x0178(78 01)。在下图中,请参见红色长方形中的块长度和绿色长方形中的zlib头。

以下简单python脚本将完成从接收的有效负载中提取和解压缩所有数据的工作。

提取两个文件。第一个文件包含城市、国家和IP地址等基本地理位置信息,第二个文件包含以双字值0x0178(78 01)重新开始的块。可能是zlib压缩吗?