你我皆是红尘客,何不浊酒忘忧愁
上一篇简单讲了D1rkLdr加载器的实现,本篇简单的分析一下Peloader,以及构成的技术:
https://github.com/Hagrid29/PELoader
本质上Peloader是一个分离式shellcode打包器,将一个完整的EXE转换为shellcode文件后,再使用AES加密Shellcode文件,利用PEloader进行加载加密之后的shellcode文件,期间穿插了作者整合的各种技术。
总体而言,这个方法用于规避杀毒会比较简单,只要是文件结构是完整的PE文件,均可以通过这种方法处理,并且由于AES加密了Shellcode而且拆分成了两份,一份是加密的文件,一份白文件PeLoader.exe,可以很容易的处理大多数的渗透工具。
-
模块篡改(LoadLibrary):通过欺骗系统加载一个假的DLL文件,从而执行恶意代码。
-
模块篡改(NtMapViewOfSection):通过创建一个新的可执行区段,并将其映射到目标进程的地址空间,来实现加载恶意代码。
-
事务式挖空(Transacted Hollowing):利用Windows事务机制,在目标进程中创建一个挂起的事务,然后将事务链接到一个已存在的进程,最终实现恶意代码的执行。
-
虚拟空壳挖空(Ghostly Hollowing):创建一个虚拟内存空间,并将恶意代码复制到其中,然后通过修改线程上下文来执行虚拟空间中的代码。
-
Herpaderply Hollowing:一种介于Process Hollowing和Process Herpaderping之间的混合技术 。
-
NtMapViewOfSection(RWX-RW-RX):使用NtMapViewOfSection函数在目标进程中创建一个可读、可写、可执行的区段,然后将恶意代码复制到这个区段,并执行它。
-
NtAllocateVirtualMemory(RW-RX):使用NtAllocateVirtualMemory函数在目标进程中分配一块可读、可写、可执行的虚拟内存,然后将恶意代码写入其中,并执行它。
使用方法:
先使用pe2shc,将Pe文件转换为shellcode文件;再使用Peloader对文件加密处理。
这里运用的技术较多,建议读者自行研究解读,相关代码实现,实现原理图以及原作者链接地址在下面均已给出。
Herpaderply Hollowing
https://github.com/Hagrid29/herpaderply_hollowing
Herpaderply Hollowing is a hybrid between Process Hollowing and Process Herpaderping
不了解Process Hollowing技术的建议读一读https://forum.butian.net/share/2100《Process Hollowing学习与研究》这篇
Module Overloading
https://github.com/hasherezade/module_overloading
-
Payload mapped as MEM_IMAGE:这意味着某个有效负载(通常是代码或数据)被映射到内存中,就好像它是与磁盘上的一个合法映射文件关联的一样。通常出于隐蔽性的考虑,会这样做以避免被检测。
-
Impersonating a legitimate DLL:看起来这个有效负载旨在伪装成合法的动态链接库(DLL),并且伪装得好像它与磁盘上的一个文件相关联。DLL是包含代码和数据的库,多个程序可以使用它们,它们通常在Windows系统中被广泛使用。
-
Sections mapped with original access rights (no RWX):这表示有效负载的各个部分(分区)被映射到内存中,并且它们的访问权限与原始文件相同,通常意味着它们没有被标记为可读/可写/可执行(RWX),这是为了避免引起怀疑或触发安全机制。
-
*Not connected to the list of modules (invisible for Module32First/Module32Next)**:看起来有效负载被设计成不会出现在已加载模块的列表中,这个列表可以通过Module32First和Module32Next等函数查询。
-
May be connected if the 'classic DLL hollowing' was selected:这表明,在某些条件下或使用特定设置(称为“经典DLL挖空”)时,有效负载可能会连接到模块列表。
-
Only self-injection supported:这种技术只支持自我注入,有效负载将自身注入到一个进程中,通常用于恶意目的。
Ghostly Hollowing
https://github.com/hasherezade/transacted_hollowing#ghostly-hollowing
Ghostly Hollowing is a hybrid between Process Hollowing and Process Ghosting
Transacted Hollowing
https://github.com/hasherezade/transacted_hollowing
Transacted Hollowing is a PE injection technique. A hybrid between Process Hollowing and Process Doppelgänging.
Process Doppelgänging
https://github.com/hasherezade/process_doppelganging
本项目没有用到Process Doppelgänging技术,方便理解还是把项目放到这里。
作者在2017年详细讲解这个技术的视频:
先使用pe2shc,将Pe文件转换为shellcode文件;再使用Peloader对文件加密处理。
这里运用的技术较多,建议读者自行研究解读,相关代码实现,实现原理图以及原作者链接地址在下面均已给出。
Herpaderply Hollowing
https://github.com/Hagrid29/herpaderply_hollowing
Herpaderply Hollowing is a hybrid between Process Hollowing and Process Herpaderping
不了解Process Hollowing技术的建议读一读https://forum.butian.net/share/2100《Process Hollowing学习与研究》这篇
Module Overloading
https://github.com/hasherezade/module_overloading
-
Payload mapped as MEM_IMAGE:这意味着某个有效负载(通常是代码或数据)被映射到内存中,就好像它是与磁盘上的一个合法映射文件关联的一样。通常出于隐蔽性的考虑,会这样做以避免被检测。
-
Impersonating a legitimate DLL:看起来这个有效负载旨在伪装成合法的动态链接库(DLL),并且伪装得好像它与磁盘上的一个文件相关联。DLL是包含代码和数据的库,多个程序可以使用它们,它们通常在Windows系统中被广泛使用。
-
Sections mapped with original access rights (no RWX):这表示有效负载的各个部分(分区)被映射到内存中,并且它们的访问权限与原始文件相同,通常意味着它们没有被标记为可读/可写/可执行(RWX),这是为了避免引起怀疑或触发安全机制。
-
*Not connected to the list of modules (invisible for Module32First/Module32Next)**:看起来有效负载被设计成不会出现在已加载模块的列表中,这个列表可以通过Module32First和Module32Next等函数查询。
-
May be connected if the 'classic DLL hollowing' was selected:这表明,在某些条件下或使用特定设置(称为“经典DLL挖空”)时,有效负载可能会连接到模块列表。
-
Only self-injection supported:这种技术只支持自我注入,有效负载将自身注入到一个进程中,通常用于恶意目的。
Ghostly Hollowing
https://github.com/hasherezade/transacted_hollowing#ghostly-hollowing
Ghostly Hollowing is a hybrid between Process Hollowing and Process Ghosting
Transacted Hollowing
https://github.com/hasherezade/transacted_hollowing
Transacted Hollowing is a PE injection technique. A hybrid between Process Hollowing and Process Doppelgänging.
Process Doppelgänging
https://github.com/hasherezade/process_doppelganging
本项目没有用到Process Doppelgänging技术,方便理解还是把项目放到这里。
作者在2017年详细讲解这个技术的视频:
Defender
随手试试defender的查杀:
目前还是可用的,左边弹窗的原因,呵呵,自己看
微步沙箱
丢到微步沙箱看看检出率
https://s.threatbook.com/report/file/64cfd53f513c88a2454e1376940771717c481396bb13fe391f40e7bd40b68df3
已经标记可疑了,看来已经被关注过了。
丢到微步沙箱看看检出率
https://s.threatbook.com/report/file/64cfd53f513c88a2454e1376940771717c481396bb13fe391f40e7bd40b68df3
已经标记可疑了,看来已经被关注过了。
Virustotal沙箱
https://www.virustotal.com/gui/file/64cfd53f513c88a2454e1376940771717c481396bb13fe391f40e7bd40b68df3?nocache=1
检出率还是挺高,毕竟是公开的工具,学学方法就行。
说明其实还需要做一点处理,具体如何处理,仁者见仁智者见智啦。
未完待续,随缘更新,开划!
原文始发于微信公众号(JC的安全之路):红队免杀系列之自动化Loader解读(二)
- 左青龙
- 微信扫一扫
- 右白虎
- 微信扫一扫
评论