
Utilizando callbacks TLS para executar um payload sem criar threads em um processo remoto
Novo Módulo 34: TLS Callbacks Para Anti-Debugging
Novo Módulo 35: Threadless Injection
Este método utiliza callbacks TLS para executar um payload sem criar threads em um processo remoto. Este método é inspirado por Threadless Injection, já que o RemoteTLSCallbackInjection não invoca nenhuma chamada de API para disparar o payload injetado.
O PoC segue estas etapas:
CreateProcessViaWinAPIsW (ex.: RuntimeBroker.exe).g_FixedShellcode e o payload principal.O shellcode g_FixedShellcode garantirá então que o payload principal seja executado apenas uma vez, restaurando o endereço original do callback TLS antes de chamar o payload principal. Um callback TLS pode ser executado várias vezes durante a vida de um processo, portanto, é importante controlar o número de vezes que o payload é disparado, restaurando a execução do caminho de código original para a função de callback TLS original.
A imagem a seguir mostra nossa implementação, RemoteTLSCallbackInjection.exe, gerando um cmd.exe como seu payload principal.
