网站谨防_阿里云高防ip数据丢失_打不死-墨者安全-墨者盾
DDOS防御_CC防护_高防CDN服务器_【墨者安全】—墨者盾墨者盾—你的网站贴身保镖!

QQ:800185041
高防免费接入:400-0797-119

渠道合作:156 2527 6999

主页 > 网站防护 > 网站谨防_阿里云高防ip数据丢失_打不死

网站谨防_阿里云高防ip数据丢失_打不死

小墨安全管家 2021-09-08 06:29 网站防护 89 ℃
DDoS防御
最近,在分析一具目标攻击时,CrowdStrike发觉了一种有味的代码调用技术,我们想在那个地点描述一下。这种特殊的技术能够用来调用基本注入的代码资源治理器.很多有针对性的攻击都涉及执行恶意代码。无论目标怎么被感染,在某个时光,对手通常都会执行某种远程访咨询工具(RAT),接着使用远程访咨询工具(RAT)过滤受害者的关键信息。此外,恶意软件通常追求持久性和隐蔽性。在32位Windows上实现持久性和隐蔽性的一种流行想法是将恶意软件注入进程中资源治理器. 因为资源治理器.exe总是在运行,而且由于被以为是良性的,恶意软件有更高的机遇持续存在。执行注入代码的差不多过程包括两个步骤:代码注入和代码调用。首先,要执行的代码必须注入到目标进程中,例如资源治理器. 接着,必须触发注入的代码才干执行。Windows提供了多种想法将代码注入另一具进程并执行这些代码,其中很多技术是众所周知的。例如,实现这一目标的一种更简单的想法是:恶意软件猎取目标进程的句柄,例如使用OpenProcess()。它在目标进程中分配内存空间,并将要执行的代码写入目标进程,例如使用WriteProcessMemory()。最终,恶意软件能够使用函数CreateRemoteThread()来执行新注入的代码。可是,反病毒解决方案懂这种特定的想法,并将适当地处理它。所以,对手倾向于使用更微妙的注入和调用想法。使用窗口处理过程举行调用最近,crowdsteck注意到一种不太明显的代码调用技术的使用越来越多。尽管这种技术本身至少从2012年底就基本为安全界所知,但它并不像其他技术那么被普遍观看到,同时见证了一具熟练的对手。在这种事情下,代码注入到运行资源治理器.exe过程是经过共享部分来实现的。例如,恶意进程将创建一具新节,并将此节的视图映射到它自身和资源治理器. 随后,当恶意进程将代码写入此共享部分时,该代码也将从目标进程内部获得。作为映射的一部分,中共享节视图的基地址资源治理器.exe能够获得。稍后,当预备触发注入的代码时,需要如此做。一旦注入成功,就需要执行注入的代码,CC防御,这时制造力就开始发挥作用了。简而言之,恶意软件的目标是覆盖任务栏窗口处理过程使用的函数指针。更准确地讲,Windows具有一种称为额外窗口内存的特性。额外窗口内存为使用额外窗口内存特性的窗口类的每个实例分配最多40字节的内存。为了访咨询和修改额外窗口内存的数据,能够使用函数GetWindowLong()和SetWindowLong()。在恶意软件的上下文中,那个额外的窗口内存特性能够在某些事情下用于调用。为了实现这一点,恶意软件猎取一具指向任务栏窗口的句柄,该窗口是窗口类"Shell_TrayWnd"的唯一窗口。此窗口始终与资源治理器. 所以,恶意软件调用FindWindowA(className="Shell_TrayWnd")来猎取对应窗口的句柄。下一步,防DDoS,调用函数SetWindowLong()。如上所述,DDoS防御,此函数旨在更改特定窗口的属性,并允许恶意软件更改额外窗口内存中的值。任务栏窗口使用额外的窗口内存,并在偏移量0处存储函数指针。下面的反汇编显示了任务栏窗口处理过程的相应部分,位于资源治理器. 任务栏的窗口处理过程利用额外内存(包含在ESI中)中偏移量为0的函数指针:01001b48 mov eax,[esi];esi是指向函数指针的指针01001b4a推esi01001b4b呼叫[eax]经过使用任务栏的窗口句柄(偏移量为0)和指向注入代码入口点的指针作为参数调用SetWindowLong(),恶意软件能够有效地替换任务栏窗口处理程序使用的函数指针。入口点的相对虚拟地址(RVA)需要调整为目标进程中共享部分的基址。在调用MapViewOfSection()时,那个基址存储在一具指针参数中。为了确保触发窗口处理程序的修改函数指针,恶意软件向窗口发送消息,例如使用SendNotifyMessageA()或PostMessageA()。实际上,这将导致注入的代码在资源治理器. 有味的是,只允许从任务栏处理长窗口的dproc()过程(资源治理器). 然而,如上所述,覆盖偏移量为0的函数指针并不受此限制。总之,下面的伪代码片段显示了此调用技术中使用的典型API调用序列://创建一具共享部分,并将其映射到当前进程中的这两个//以及资源治理器ntdll.NtCreateSection(..)ntdll.MapViewOfSection(当前流程…)ntdll.MapViewOfSection(六边形过程…)//找到任务栏窗口并覆盖函数指针//用于其窗口处理程序hTaskbarWnd=user32.FindWindowA(..)用户32.SetWindowLong(hTaskbarWnd,0,ppMalwareEP)//触发任务栏窗口处理过程PostMessageA(..)或SendNotifyMessageA(..)最近的目标攻击示例让我们看一具最近在目标攻击中使用的示例。其实,MD5散列为111ed2f02d8af54d0b982d8c9dd4932e的PE二进制文件已被观看到,这是一起据称针对中东首都大使馆的攻击的一部分。有味的是,那个示例使用了上述调用技术。尽管示例使用各种想法来妨碍分析,但我们要紧对恶意软件的代码注入和调用感兴趣资源治理器. 在这种事情下,恶意软件的运行与上述彻底相同。首先,它创建一具共享部分,如下面的反汇编所示: 接着,恶意软件将该部分的视图映射到它自个儿的进程和资源治理器. 下图显示了对MapViewOfSection的第二次调用的反汇编,其中指向共享节视图基址的指针存储在EDX中。接着,它然后使用FindWindowA()检索任务栏窗口的句柄,类名为Shell_TrayWnd。类名字符串经过用0x2E对每个字符举行异或解密,接着用注入的代码的入口点覆盖窗口处理函数使用的指针,并使用PostMessageA()触发它。技术变化和改进这种调用技术存在于多种变体中。例如,一旦触发注入的代码,一具变量保存(使用GetWindowLong())并恢复指向任务栏窗口的窗口处理过程的原始指针。这种特殊的变种基本在被称为Powerloader的恶意软件、Hesperbot银行特洛伊木马和Gapz恶意软件家族中观看到。我们观看到另一具相关的变体,以幸免创建新的节,而是打开一具现有的共享节,例如BaseNamedObjectsShimSharedMemory。使用现有的共享分区能够幸免将新创建的分区的视图映射到资源治理器.exe所以就更不明显了。这种技术的一具更高级的变体试图经过面向返回的编程(ROP)来处理DEP。总之,这篇博客文章研究了一种调用注入到资源治理器.exe重写任务栏窗口处理过程使用的函数指针。有味的是,这种特定的技术基本在网络犯罪领域(Powerloader、Hesperbot banking特洛伊木马、Gapz)中选定的恶意软件家族以及至少一次最近的目标攻击中被观看到。有关过程注入技术或使用该技术的对手的更多信息,CC防御,包括检测逻辑或CrowdStrike跟踪的任何对手,请联系:intelligence@crowdsteck.com并询咨询我们的情报订阅。

网站谨防_阿里云高防ip数据丢失_打不死


DDoS防御

当前位置:主页 > 网站防护 > 网站谨防_阿里云高防ip数据丢失_打不死

标签列表
DDoS防御
网站分类
X
 

QQ客服

400-0797-119