
Utilisation des callbacks TLS pour exécuter une charge utile sans créer de threads dans un processus distant.
Nouveau Module 34 : Callbacks TLS pour l'anti-débogage
Nouveau Module 35 : Injection sans thread
Cette méthode utilise les callbacks TLS pour exécuter une charge utile sans créer de threads dans un processus distant. Cette méthode est inspirée par Threadless Injection car RemoteTLSCallbackInjection n'invoque aucun appel API pour déclencher la charge utile injectée.
La preuve de concept suit ces étapes :
CreateProcessViaWinAPIsW (par exemple RuntimeBroker.exe).g_FixedShellcode et la charge utile principale.Le shellcode g_FixedShellcode veillera ensuite à ce que la charge utile principale ne s'exécute qu'une seule fois en restaurant l'adresse d'origine du callback TLS avant d'appeler la charge utile principale. Un callback TLS peut s'exécuter plusieurs fois pendant la durée de vie d'un processus, il est donc important de contrôler le nombre de fois que la charge utile est déclenchée en restaurant l'exécution du chemin de code d'origine vers la fonction de callback TLS d'origine.
L'image suivante montre notre implémentation, RemoteTLSCallbackInjection.exe, qui lance un cmd.exe comme charge utile principale.
