T1620: 反射式代码加载
摘要
攻击者可能将代码反射式加载到进程中,以隐藏恶意有效载荷的执行。反射式加载涉及直接在进程的内存中分配并执行有效载荷,而不是创建由磁盘上文件路径支持的线程或进程(例如:[共享模块](https://attack.mitre.org/techniques/T1129))。 反射式加载的有效载荷可以是编译后的二进制文件、匿名文件(仅存在于 RAM 中),或只是无文件可执行代码的片段(例如:位置无关的 shellcode)。(Citation: Introducing Donut)(Citation: S1 Custom Shellcode Tool)(Citation: Stuart ELF Memory)(Citation: 00sec Droppers)(Citation: Mandiant BYOL) 例如,由 [PowerShell](https://attack.mitre.org/techniques/T1059/001) 执行的 `Assembly.Load()` 方法可能被滥用来将原始代码加载到正在运行的进程中。(Citation: Microsoft AssemblyLoad) 反射式代码注入与[进程注入](https://attack.mitre.org/techniques/T1055)非常相似,不同之处在于“注入”是将代码加载到进程自身的内存中,而不是加载到单独进程的内存中。反射式加载可能规避基于进程的检测,因为任意代码的执行可能被掩盖在合法或原本良性的进程中。将有效载荷反射式直接加载到内存中还可能避免在磁盘上创建文件或其他痕迹,同时使恶意软件能够将这些有效载荷保持加密(或以其他方式混淆)直到执行。(Citation: Stuart ELF Memory)(Citation: 00sec Droppers)(Citation: Intezer ACBackdoor)(Citation: S1 Old Rat New Tricks)
来源归属
来源:MITRE ATT&CK · 置信度:high
平台
- Linux
- macOS
- Windows
战术
Stealth
参考来源
- https://attack.mitre.org/techniques/T1620
- https://0x00sec.org/t/super-stealthy-droppers/3715
- https://www.sentinelone.com/blog/building-a-custom-tool-for-shellcode-analysis/
- https://www.mandiant.com/resources/bring-your-own-land-novel-red-teaming-technique
- https://www.sentinelone.com/blog/teaching-an-old-rat-new-tricks/
- https://learn.microsoft.com/dotnet/api/system.reflection.assembly.load
- https://intezer.com/acbackdoor-analysis-of-a-new-multiplatform-backdoor/
- https://magisterquis.github.io/2018/03/31/in-memory-only-elf-execution.html
- https://thewover.github.io/Introducing-Donut/