来自 CC防护 2021-05-03 03:05 的文章

防cc攻击_阿里云高防ip黑洞_零元试用

防cc攻击_阿里云高防ip黑洞_零元试用

特洛伊滴管的故事3在以前的帖子中(特洛伊木马的故事第一部分,二) 我们对威胁进行了静态和动态分析,并对恶意软件在其初始阶段所做的工作有了一个大致的了解Adobe.exe)同时我们想从这个特定的恶意软件中检索有效负载样品分析: 让我们继续调试这个文件。此文件("Adobe.exe)被发现是打包的(自定义变体),解包例程与本文第二部分中详细介绍的方法类似,所以让我们跳过所有血腥的细节,直接深入讨论。在将整个二进制文件解包到内存后,控制权被转移到地址"0x401634"处的新解包区域。现在从这里开始,我们得到第一个解密例程,这是一个简单的1字节的XOR,带有静态密钥,如下图所示,它显示了更多的代码图1:如果我们仔细查看下面的新代码,则解密代码,我们可以观察到它充满了JMP指令,偶尔我们会发现一些垃圾值。代码是以这样一种方式精心设计的,它可以抵抗反汇编的尝试,这使得反向工程样本更加困难,也有些痛苦。在这些JMP之间隐藏着一条我们现在很熟悉的指令(即获取PEB(进程环境块)地址的指令)。图2:获取PEB的地址此时我们只能推测为什么恶意软件需要PEB地址。在代码中进一步,我们会遇到另一个与第一个完全相同的解密点,它解密更多的代码。现在控制权被转移到新解密的代码。图3:NtGlobalFlag(反调试)在上图中,awsddos防御多少g,我们有一段有趣的代码。回想一下,恶意软件已经收集了PEB的地址。此时,使用指令CMP DWORD PTR DS:[EDI+68],ECX(这里EDI保持PEB的地址为"0x7FFD4000",ECX保持一个常量0x70)执行比较,阿里云收到ddos攻击如何防御,然后JNZ指令决定控制流的命运。在这里,高防CDN评价,我们第一次看到这个恶意软件使用的反调试技术。指令CMP DWORD PTR DS:[EDI+68],ECX将ECX寄存器(即0x70)的值与PEB结构中名为"NtGlobalFlag"的位置进行比较。如果进程是在调试器下生成的,则该字段设置为值"0x70"。在我们的例子中,这是真的,因为我们正在调试文件。最后,不执行"0x401511"处的JNZ指令,这会将我们置于内存中的一个无效区域,从而触发反调试。让我们跳到这里继续我们的分析。我们现在有了另一层解密,高防cdn哪个好,它揭示了更多的代码,之后,像往常一样,控制权被转移到这个区域。然后我们到达另一段代码,只有在我们跟上控制流的情况下才会显示出来。图4:文件路径,名称标识(anti-debug)上述代码使用"strstrstr"在当前调试文件的文件路径中的任何位置查找名为"sample"的字符串。如果找到,"strstrstr"将返回指向文件路径中第一次出现的搜索字符串(即"sample")的指针,否则返回零。恶意软件随后检查EAX中的返回值,并在"0x401135"处以JE指令的形式执行条件跳转。如果不执行跳转,代码将降落在"exitprocesss"中,这是一个终止进程的调用。这是恶意软件使用的第二种反调试技术,尽管在我看来,考虑到包含名称"sample"的文件路径或恶意软件名称的几率,这不是一种有效的方法。图5:GetVolumeinformation,Volumeserial(反调试),这里我们有另一种反调试技术,恶意软件使用API GetVolumeinformation检索卷序列号,并将其与"0CD1A40"和"70144646"进行比较。如果两个比较匹配,则代码跳转到exitprocesss调用。另一种反调试技术紧接着以"EnumSystemLocalesA"的形式出现。"EnumSystemLocalesA"接受的第一个参数是指向回调函数的指针。在这里,恶意软件做了一个巧妙的把戏。如果我们看下面的代码,在地址"0x401179"处,一个常量"0x2"被推到堆栈上,紧接着是一个调用。当执行此调用时,它将返回地址推到堆栈顶部(即"0x401180"),EIP(指令指针)现在到达"EnumSystemLocaleESA"调用。现在,如果我们观察堆栈,堆栈顶部的值就是返回地址,它自然成为"EnumSystemLocalesA"的回调函数地址。当执行"EnumSystemLocalesA"API时,控制权落在回调函数上,它继续执行代码。离这里不远,还发现了另一种反调试技术。这一次恶意软件从注册表中检索"Diskname"。图7:Diskname(anti-debug)"RegOpenKeyExA"(HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Disk\Enum)和"RegQueryValueExA"然后使用"strstr"并搜索虚拟环境的标志,如"Xen"、"Vmware","Qemu"并查找字符串"virtual"。一旦虚拟机检测到一个虚拟机控制区(虚拟机和反病毒程序控制区)发生变化,反病毒程序就会在虚拟机中检测到。如果我们一起玩,我们可以在这里观察到一些有趣的东西。图9:Adobe.exe快来吧。我们终于可以重现在分析的第一阶段发生的崩溃。好吧,所以一个穿透二进制分析毕竟不是那么直接的!!!图10:沙盒识别(反调试)让我们继续看看这次恶意软件有什么惊喜。下面,我们可以看到另一段代码,它检查名为"sbiedll"的DLL名称。在这里,恶意软件检查它是否运行在一个名为"sandboxie"的流行沙盒中。如果被发现,像往常一样,恶意软件会自动消失。紧接着,恶意软件执行一个解密例程来显示压缩数据,ddos防御安全用智能,这些数据又被aplib打包,下面我们可以观察到aplib解压例程,它将数据解压缩到PE文件中。图11:Aplib解压例程不久,控制权被传递到新解压的文件。下面,我们可以看到正在执行的新文件。图12:新的PE文件内存调试进一步,我们可以观察到恶意软件揭示了它的最后一个窍门,我将在本系列的下一篇文章中解释这一点。 Zscaler_媒体_中心2_博客_发布_1-R1