该方法利用 TLS 回调在远程进程中执行载荷,无需生成任何线程。该方法的灵感来自 无线程注入,因为 RemoteTLSCallbackInjection 在触发注入的载荷时不会调用任何 API。
PoC 遵循以下步骤:
CreateProcessViaWinAPIsW 函数(即 RuntimeBroker.exe)创建一个挂起的进程。g_FixedShellcode 和主载荷。然后,g_FixedShellcode shellcode 将通过恢复原始 TLS 回调的原始地址,确保主载荷只执行一次,然后再调用主载荷。TLS 回调在进程整个生命周期中可能执行多次,因此通过恢复原始代码路径执行到原始 TLS 回调函数来控制载荷触发的次数至关重要。
下图展示了我们的实现 RemoteTLSCallbackInjection.exe 生成一个 cmd.exe 作为其主载荷。
