跳转至

反射代码加载

对手可能会反射性地将代码加载到进程中,以隐藏恶意有效负载的执行。反射加载涉及在进程的内存中直接分配然后执行有效负载,而不是创建由磁盘上的文件路径支持的线程或进程(例如,共享模块)。 反射性加载的有效负载可能是编译的二进制文件、匿名文件(仅存在于 RAM 中),或只是无文件的可执行代码片段(例如:位置无关的 shellcode)。(引用: Introducing Donut)(引用: S1 Custom Shellcode Tool)(引用: Stuart ELF Memory)(引用: 00sec Droppers)(引用: Mandiant BYOL) 例如,PowerShell 执行的 Assembly.Load() 方法可能会被滥用以将原始代码加载到正在运行的进程中。(引用: Microsoft AssemblyLoad) 反射性代码注入与进程注入非常相似,不同之处在于“注入”将代码加载到进程自己的内存中,而不是单独的进程中。反射性加载可能会规避基于进程的检测,因为任意代码的执行可能会被掩盖在合法或其他无害的进程中。直接将有效负载反射性加载到内存中还可以避免在磁盘上创建文件或其他工件,同时还可以使恶意软件在执行之前保持这些有效负载加密(或以其他方式混淆)。(引用: Stuart ELF Memory)(引用: 00sec Droppers)(引用: Intezer ACBackdoor)(引用: S1 Old Rat New Tricks)