红队免杀系列之自动化Loader解读(二)

admin 2024年9月28日13:36:20评论0 views字数 2985阅读9分57秒阅读模式

你我皆是红尘客,何不浊酒忘忧愁

01

PELoader

上一篇简单讲了D1rkLdr加载器的实现,本篇简单的分析一下Peloader,以及构成的技术:

红队免杀系列之自动化Loader解读(二)

https://github.com/Hagrid29/PELoader

本质上Peloader是一个分离式shellcode打包器,将一个完整的EXE转换为shellcode文件后,再使用AES加密Shellcode文件,利用PEloader进行加载加密之后的shellcode文件,期间穿插了作者整合的各种技术。
总体而言,这个方法用于规避杀毒会比较简单,只要是文件结构是完整的PE文件,均可以通过这种方法处理,并且由于AES加密了Shellcode而且拆分成了两份,一份是加密的文件,一份白文件PeLoader.exe,可以很容易的处理大多数的渗透工具。

红队免杀系列之自动化Loader解读(二)

简单的翻译一下简介:
PELoader实现了多种Shellcode注入技术,并使用libpeconv库来加载加密的PE文件,而不是将Shellcode注入远程线程。
以下是实现的技术:
  1. 模块篡改(LoadLibrary):通过欺骗系统加载一个假的DLL文件,从而执行恶意代码。

  2. 模块篡改(NtMapViewOfSection):通过创建一个新的可执行区段,并将其映射到目标进程的地址空间,来实现加载恶意代码。

  3. 事务式挖空(Transacted Hollowing):利用Windows事务机制,在目标进程中创建一个挂起的事务,然后将事务链接到一个已存在的进程,最终实现恶意代码的执行。

  4. 虚拟空壳挖空(Ghostly Hollowing):创建一个虚拟内存空间,并将恶意代码复制到其中,然后通过修改线程上下文来执行虚拟空间中的代码。

  5. Herpaderply Hollowing:一种介于Process Hollowing和Process Herpaderping之间的混合技术 。

  6. NtMapViewOfSection(RWX-RW-RX):使用NtMapViewOfSection函数在目标进程中创建一个可读、可写、可执行的区段,然后将恶意代码复制到这个区段,并执行它。

  7. NtAllocateVirtualMemory(RW-RX):使用NtAllocateVirtualMemory函数在目标进程中分配一块可读、可写、可执行的虚拟内存,然后将恶意代码写入其中,并执行它。

02

代码结构以及解析

使用方法:
先使用pe2shc,将Pe文件转换为shellcode文件;再使用Peloader对文件加密处理。

红队免杀系列之自动化Loader解读(二)

这里运用的技术较多,建议读者自行研究解读,相关代码实现,实现原理图以及原作者链接地址在下面均已给出。

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学习与研究》这篇

红队免杀系列之自动化Loader解读(二)

Module Overloading

https://github.com/hasherezade/module_overloading

红队免杀系列之自动化Loader解读(二)

  1. Payload mapped as MEM_IMAGE:这意味着某个有效负载(通常是代码或数据)被映射到内存中,就好像它是与磁盘上的一个合法映射文件关联的一样。通常出于隐蔽性的考虑,会这样做以避免被检测。

  2. Impersonating a legitimate DLL:看起来这个有效负载旨在伪装成合法的动态链接库(DLL),并且伪装得好像它与磁盘上的一个文件相关联。DLL是包含代码和数据的库,多个程序可以使用它们,它们通常在Windows系统中被广泛使用。

  3. Sections mapped with original access rights (no RWX):这表示有效负载的各个部分(分区)被映射到内存中,并且它们的访问权限与原始文件相同,通常意味着它们没有被标记为可读/可写/可执行(RWX),这是为了避免引起怀疑或触发安全机制。

  4. *Not connected to the list of modules (invisible for Module32First/Module32Next)**:看起来有效负载被设计成不会出现在已加载模块的列表中,这个列表可以通过Module32First和Module32Next等函数查询。

  5. May be connected if the 'classic DLL hollowing' was selected:这表明,在某些条件下或使用特定设置(称为“经典DLL挖空”)时,有效负载可能会连接到模块列表。

  6. 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  

红队免杀系列之自动化Loader解读(二)

Transacted Hollowing

https://github.com/hasherezade/transacted_hollowing

Transacted Hollowing is a PE injection technique. A hybrid between Process Hollowing and Process Doppelgänging.  

红队免杀系列之自动化Loader解读(二)

Process Doppelgänging

https://github.com/hasherezade/process_doppelganging

本项目没有用到Process Doppelgänging技术,方便理解还是把项目放到这里。

作者在2017年详细讲解这个技术的视频:

03

效果

Defender

随手试试defender的查杀:

红队免杀系列之自动化Loader解读(二)

目前还是可用的,左边弹窗的原因,呵呵,自己看

红队免杀系列之自动化Loader解读(二)

红队免杀系列之自动化Loader解读(二)

微步沙箱
丢到微步沙箱看看检出率
https://s.threatbook.com/report/file/64cfd53f513c88a2454e1376940771717c481396bb13fe391f40e7bd40b68df3红队免杀系列之自动化Loader解读(二)
已经标记可疑了,看来已经被关注过了。

Virustotal沙箱

放到vt沙箱看看效果
https://www.virustotal.com/gui/file/64cfd53f513c88a2454e1376940771717c481396bb13fe391f40e7bd40b68df3?nocache=1
红队免杀系列之自动化Loader解读(二)
检出率还是挺高,毕竟是公开的工具,学学方法就行。

红队免杀系列之自动化Loader解读(二)

说明其实还需要做一点处理,具体如何处理,仁者见仁智者见智啦。

04

后话

未完待续,随缘更新,开划!

红队免杀系列之自动化Loader解读(二)

END
红队免杀系列之自动化Loader解读(二)

原文始发于微信公众号(JC的安全之路):红队免杀系列之自动化Loader解读(二)

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年9月28日13:36:20
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   红队免杀系列之自动化Loader解读(二)http://cn-sec.com/archives/1984428.html

发表评论

匿名网友 填写信息