DDOS防御专家-提供超强DDoS高防/CC防护/大流量清洗服务!
当前位置:主页 > WEB安全 > 正文

ddos盾_国内高防服务器租用_优惠券

01-12 WEB安全

ddos盾_国内高防服务器租用_优惠券

编者按:这篇博文更新于2020年8月10日。在过去的几个月里,我们观察到一个名为GuLoader(也称为CloudEyE)的新下载程序已经在2020年得到了积极的发布。与原型下载者不同的是,防御cc攻击c源码,华为防火墙能防御DDOS吗,GuLoader使用流行的云服务,如googledrive、OneDrive和Dropbox来托管加密的有效负载。到目前为止,我们已经看到GuLoader被用于交付Formbook、NanoCore、LokiBot和Remcos等。我们观察到GuLoader使用了规避沙箱和减慢(手动)分析的规避技术。2020年6月6日,GuLoader的开发者通知公众他们已经关闭了他们的服务(图1)。尽管暂停服务,我们预计其他恶意软件家族将在不久的将来发展和适应其中一些技术。在这篇文章中,我们将重点介绍GuLoader的技术,重点是沙盒规避和反分析。查看GuLoader的VMRay Analyzer报告声称被犯罪分子利用的公告1:已经关闭。概述和外壳代码在我们的分析中,我们可以看到GuLoader创建了自己的另一个实例(在下面被称为第二个实例)并修改其执行(图2和图3)。图2:VMRay Analyzer–GuLoader样本的过程概述。图3:VMRay Analyzer—进程注入到第二个实例中。第二个实例然后执行进一步的恶意活动,包括下载有效负载的网络活动和其他进程的内存修改(图4)。关于GuLoader的其他报告显示,主要功能是作为外壳代码实现的,因此示例是用VB6编写的32位可执行文件,其中包含加密形式的外壳代码。在执行过程中,嵌入的外壳代码会被解密、执行甚至注入,如前所示(图2)。图4:VMRay Analyzer—显示主机活动为179的第一个实例和主机活动为2564且网络活动为网络活动的第二个实例的行为信息。通过在IDA Pro(我们在偏移量0x001A0000处加载外壳代码)或类似的反汇编程序中加载外壳代码,我们可以看到代码被严重混淆。代码被拆分成更小的代码部分,其中包含附加的垃圾代码(图6),这些代码与调用、返回和(间接)跳转等控制流更改指令相连接。与编译器生成的代码不同,外壳代码将代码指令和字符串等数据组合在一起,linux防御cc,这是位置无关代码的典型做法。这使得静态控制流程分析更加困难,并导致IDA-Pro的自动分析失败。例如,使用call指令将库名称的地址推送到堆栈上(图5)。在编译器生成的代码中,此指令用于将控制流传输到另一个函数,而return指令则将其传输回调用者。图5:将字符串"ntdll"、"advapi32"和"user32"的地址推送到堆栈上的调用指令。djb2和GuLoader在运行时使用所需的函数和GuLoader来查找所需的函数。反分析与规避技术在上述技术的基础上,shell代码包含了更多阻碍自动分析的技术。其中一种技术是搜索虚拟机工件,这些工件作为djb2散列值嵌入。在图6中,我们可以看到这些散列值被推到堆栈的顶部,对函数的连续调用试图在内存中找到相应的构件。图6:推送到堆栈上的虚拟机工件的哈希值。由于这些值是通过单向函数(djb2)计算的,所以它们的预图像是未知的。到目前为止,已经发现表1中的字符串可能是preimages。搞砸前映像笔记7F21185B型"HookLibraryx86.dll"x64dbg的锡拉黑插件A7C53F01型"VBoxTrayToolWndClass"VirtualBox来宾添加B314751D型"vmtoolsdControlWndClass"VMWare,请参见[1]如果在内存中找到这些散列之一,则示例将显示一条错误消息(图7),并终止进程。因此,该示例不会显示进一步的恶意行为,并且不会下载有效负载。图7:检测到虚拟环境时向用户显示的消息。除了虚拟机工件,GuLoader还验证当前屏幕上显示的顶级窗口的数量,以排除在沙箱中运行(图8)。对于每个顶级窗口,回调函数(图9)将计数器增加一个,从而得到顶层窗口的总数。此计数器用于检查0x1A01A6,该检查验证是否至少存在12个顶级窗口。图8:验证屏幕上顶层窗口的数量。图9:对顶层窗口计数的回调函数。如果数字较低,则进程终止,在这种情况下不会显示错误消息。为了进一步防止使用调试器进行手动分析,GuLoader修改了与调试相关的函数(图10)。GuLoader修改了DbgBreakPoint和DbgUiRemoteBreakin这两个函数。对于第一个函数,第一个字节被NOP指令替换,对于第二个函数,代码被exitprocesss调用替换(图11)。图10:VMRay Analyzer—函数DbgUiRemoteBreakin的代码修改图11:[Left]在函数DbgUiRemoteBreakin的代码修改之前。[Right]在函数DbgUiRemoteBreakin的代码修改之后。在DbgUiRemoteBreakin的代码修改之后,将调试器附加到正在运行的进程将导致其终止。除了上述两个函数的修改外,GuLoader还修改导出的其他函数Ntdll.dll(图12)。这些函数是函数挂接的已知候选函数,它允许通过重定向控制流来截获函数调用。一些防病毒软件和沙盒使用函数挂钩来监视给定程序的行为。图12:VMRay Analyzer—有关修改的钩子信息Ntdll.dll功能。在IDA-Pro中验证这种怀疑,GuLoader遍历Ntdll.dll. 当迭代GuLoader试图撤销crowdsteck的分析中提到的通过函数挂钩引入的修改,并禁用Turbo Thunks,参见WoW64内部。为了找到要修改的候选者,GuLoader使用各种字节模式,包括"B8 00 00 00 00 BA"(图13)。图13:反编译函数的一部分,它修改Ntdll.dll基于字节模式搜索的函数。报告禁用Turbo Thunks(图12),并且仍然监视对这些函数的调用,因为VMRay Analyzer不依赖于挂接。此外,GuLoader通过调用函数ntsetinformationthread来隐藏线程,该函数的值为ThreadInformationClass(图14)的HideFromDebugger(0x11)。图14:VMRay函数日志显示了使用NtSetInformationThread和ThreadInformationClass HideFromDebugger参数隐藏线程的情况。除了前面提到的虚拟机工件的散列值之外,GuLoader还检查文件系统上是否存在Qemu客户代理。这两个文件系统字符串在外壳代码(图15)和函数日志(图14)中都是可见的。图15:与Qemu来宾代理相关的字符串。在创建第二个实例之前,或者在第二个实例的情况下,在下载有效负载之前,它通过在循环中频繁地使用指令cpuid和rdtsc来延迟其执行(图16)。指令cpuid提供有关处理器和可用功能的信息,防御ddos攻方法,可用于检测是否存在hypervisor。此外,rdtsc提供自上次重置以来的CPU周期数。图16:指令cpuid和rdtsc的用法。如果cpuid在虚拟机中执行,则该指令会将控制流传输到hypervisor来解析请求。从虚拟机切换到hypervisor再切换回来会带来一个开销,美国高防cdn多久生效,可以用来检测虚拟机。如果沙盒修补rdtsc指令以返回固定值,则图16中的循环是一个无限循环,因为0x001A2506处的寄存器edx始终为0,并且始终执行后续的条件跳转。接下来,示例执行与其阶段相关的操作。在第一个阶段,它自己创建一个新进程,尝试取消映射它的基本映像,映射msvbvm60.dll,然后是前面提到的代码注入。在第二阶段,它使用WinINet的函数InternetOpenURLA和InternetReadFile下载有效负载。我们在VMRay函数日志中检查了两个阶段的行为(图17)。我们在这两个图中都强调了对NtGetContextThread的函数调用,因为对某些特定函数(包括CreateProcessInternalW、NTAllocateVirtualMemory、NTWriteVirtualMemory和NTResumeThread的调用之前都会调用NtGetContextThreat。图17:[Left]VMRay function log,其中显示了使用前面的调试检查来准备第二个实例的函数调用。[Right]VMRay function log,显示了从5[.]206[.]227[.]100]下载负载的函数调用。在手动动态分析期间,这些函数都是断点的候选函数,GuLoader尝试检测这些断点的存在(图18)。在调用NtGetContextThread之后,将研究调试寄存器DR0、DR1、DR3、DR6、DR7的值,以检测硬件断点(请参阅结构上下文)。接下来,根据中断/软件断点(0xCC、0x3CD、0x0B0F)检查所需函数的代码,这些断点通常由调试器设置,然后才最终调用函数(偏移量0x1A2E66)。图18:在动态函数调用之前检测硬件和软件断点。在所有这些规避和反分析尝试之后,第二个实例解密接收到的有效负载,将其映射到内存中,并传输执行。有限公司

版权保护: 本文由 DDOS防御专家 原创,转载请保留链接: /web/61130.html

DDoS防御专家简介孤之剑
国内资深白帽子二十人组成员,前BAT资深网络安全工程师,知名网络安全站点板块大神,每年提交Google及微软漏洞,原sina微博负载插件开发者,现在整体防御复合攻击长期接受1-4.7T攻击,CC防护自主开发指纹识别系统,可以做到99.9999%的无敌防御。
  • 文章总数
  • 8150043访问次数
  • 建站天数

    QQ客服

    400-0797-119

    X