欢迎来到 黑吧安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

Osiris中使用的Process Doppelgänging和Process Hollowing技术

来源:本站整理 作者:佚名 时间:2018-09-03 TAG: 我要投稿

模仿合法进程通常是恶意软件作者最喜欢使用的技术,因为这可以允许他们运行恶意模块而不被杀毒软件察觉。多么多年来,各种各样的技术层出不穷,他们也更加接近了这个目标。这个话题也被研究者和逆向工程师所津津乐道,因为其对于Windows API的使用也非常有创意。

Process Doppelgänging是一种模仿进程的新技术,该技术于去年Black Hat会议公开,在此之后,一个叫SynAck的勒索软件被发现利用这种技术实现恶意目的,尽管Process Doppelgänging在野并不常见,我们最近还是在Osiris银行木马(Kronos的新版本)中发现了一些类似特征。仔细分析后,我们发现原始的技术已经被进一步定制化了。
实际上,恶意软件作者已将ProcessDoppelgänging和Process Hollowing中的技术结合使用,并选择两种技术的最佳部分来创建更强大的组合。在这篇文章中,我们仔细研究了如何在受害机器上部署Osiris,这要归功于一个有趣的Loader。
概览
Osiris按三个步骤加载,如下图所示:

第一阶段加载器使用了ProcessDoppelgänging技术。然后由于第二阶段的加载器,Osiris被分发。
加载额外的NTDLL
运行时,初始dropper会创建一个新的进程wermgr.exe。

查看注入器的进程空间中所加载的模块,我们可以看到NTDLL的一个副本:

这是一种众所周知的技术,一些恶意软件作者使用这种技术来避免被监控并隐藏他们所调用的API。当我们仔细研究额外NTDLL调用了哪些函数时,发现更多有趣的细节。它调用了几个与NTFS事务相关的API。很容易猜到,这里采用了依赖于这种机制的Process Doppelgänging技术。
NTDLL是一个特殊的低级DLL。基本上,它只是系统调用的封装。它与系统中的其他DLL没有任何依赖关系。由于这个原因,它可以方便地加载。其他的系统DLL(如Kernel32)在很大程度上依赖于从NTDLL导出的函数。这就是为什么许多用户区的监视工具hook并拦截NTDLL导出的函数:检查正在调用的函数,并监视是否存在任何可疑活动。
恶意软件作者显然知道这一点,所以有时,为了绕过这种机制,他们从磁盘加载新的且未hook的NTDLL副本。有几种方法可以实现这一点。我们来看看Osiris的作者是如何做到的。
通过内存映射,我们看到NTDLL副本作为image加载,与其他DLL一样。这种类型的映射是常见的由LoadLibrary函数加载DLL,或者NTDLL的低级版本LdrLoadDll的映射。不过NTDLL默认加载到每个可执行文件中,并且官方API无法再次加载相同的DLL。
通常,恶意软件作者都会手动映射副本,但这会提供不同的映射类型,并和正常加载的DLL中不一样。在这里,作者想出一个解决方法:他们使用以下函数将文件作为一个部分加载:
ntdll.NtCreateFile – 打开ntdll.dll文件
ntdll.NtCreateSection – 在文件外创建一个section
ntdll.ZwMapViewOfSection – 将此部分映射到进程地址空间

这种做法很聪明,因为DLL被映射为一个image,所以它看起来像是以典型的方式加载的。
该DLL被进一步使用,以使注入载荷行为更加隐蔽,拥有NTDLL的新副本,所以从那里使用的功能没有被安全产品所发现。
与Process Doppelgänging和Process Hollowing的比较
Loader将载荷注入新进程的方式与Process Dopplegänging显示出一些重要的相似之处。但是,如果我们仔细分析它,也可以看到与去年Black Hat所提出的存在不同之处。不同点更像Process Hollowing。
经典的Process Doppelgänging:

Process Hollowing:

Osiris Loader:

创建一个新进程
Osiris loader首先创建它将要注入的进程。该过程由Kernel32:CreateProcessInternalW中的函数创建:

新进程(wermgr.exe)是在原始文件的挂起状态下创建的。它让我们想起了Process Hollowing,这是一种更古老的进程模仿技术。在Process Dopplegänging算法中,创建新流程的步骤需要很长,并使用不同的,未记录的API:NtCreateProcessEx:

[1] [2] [3]  下一页

【声明】:黑吧安全网(http://www.myhack58.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱admin@myhack58.com,我们会在最短的时间内进行处理。
  • 最新更新
    • 相关阅读
      • 本类热门
        • 最近下载