
Utilizando callbacks TLS para ejecutar un payload sin generar ningún hilo en un proceso remoto
New Module 34: TLS Callbacks For Anti-Debugging
New Module 35: Threadless Injection
Este método utiliza TLS callbacks para ejecutar un payload sin generar ningún hilo en un proceso remoto. Este método está inspirado en Threadless Injection, ya que RemoteTLSCallbackInjection no invoca ninguna llamada API para activar el payload inyectado.
El PoC sigue estos pasos:
CreateProcessViaWinAPIsW (p.ej. RuntimeBroker.exe).g_FixedShellcode y el payload principal.El shellcode g_FixedShellcode se asegurará de que el payload principal se ejecute solo una vez, restaurando la dirección original del TLS callback antes de llamar al payload principal. Un TLS callback puede ejecutarse múltiples veces durante el ciclo de vida de un proceso, por lo tanto es importante controlar el número de veces que se activa el payload restaurando la ejecución de la ruta de código original a la función TLS callback original.
La siguiente imagen muestra nuestra implementación, RemoteTLSCallbackInjection.exe, generando un cmd.exe como su payload principal.
