Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
RefleXXion — RefleXXion is a utility designed to aid in bypassing user-mode hooks utilised by AV/EPP/EDR etc. In order to bypass the user-mode hooks, it first collects the syscall numbers of the NtOpenFile, NtCreateSection, NtOpenSection and NtMapViewOfSection found in the LdrpThunkSignature array. | Kitploit
Outils/GitHubGitHub/hlldz/reflexxion
Defensive ToolsPrivilege EscalationPersistence MechanismsIDS/IPS EvasionPost-ExploitationRed TeamingArchived
GitHubhlldz/reflexxion

RefleXXion

Voir le dépôt
499108il y a 4 ansVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →

À propos

RefleXXion is a utility designed to aid in bypassing user-mode hooks utilised by AV/EPP/EDR etc. In order to bypass the user-mode hooks, it first collects the syscall numbers of the NtOpenFile, NtCreateSection, NtOpenSection and NtMapViewOfSection found in the LdrpThunkSignature array.

Partager

RefleXXion

Introduction

RefleXXion est un utilitaire conçu pour aider à contourner les hooks en mode utilisateur utilisés par les AV/EPP/EDR, etc. Pour contourner les hooks en mode utilisateur, il collecte d'abord les numéros d'appel système de NtOpenFile, NtCreateSection, NtOpenSection et NtMapViewOfSection trouvés dans le tableau LdrpThunkSignature. Ensuite, deux techniques sont offertes à l'utilisateur pour contourner les hooks en mode utilisateur.

Technique-1, lit le fichier NTDLL depuis C:\Windows\System32\ntdll.dll. Après l'analyse, la section .TEXT de la NTDLL déjà chargée (où les hooks sont effectués) en mémoire est remplacée par la section .TEXT de la NTDLL propre.

Dans la Technique-2, NTDLL est lue en tant que Section depuis KnownDlls, \KnownDlls\ntdll.dll. (car les fichiers DLL sont mis en cache dans KnownDlls en tant que Section.) Après l'analyse, la section .TEXT de la NTDLL déjà chargée (où les hooks sont effectués) en mémoire est remplacée par la section .TEXT de la NTDLL propre.

Le flux détaillé de la méthodologie et de toutes les techniques est donné ci-dessous.

RefleXXion Flow

Comment utiliser

Vous pouvez ouvrir et compiler le projet avec Visual Studio. L'ensemble du projet prend en charge l'architecture x64 pour les modes Debug et Release.

La solution RefleXXion-EXE génère l'EXE à des fins de preuve de concept (PoC). Si vous voulez comprendre comment le projet fonctionne étape par étape, cela vous facilitera la tâche. La fonction principale contient les définitions des fonctions Technique1 et Technique2. Commentez l'une d'elles et compilez. N'utilisez pas les deux fonctions en même temps.

La solution RefleXXion-DLL génère la DLL que vous injectez dans le processus pour lequel vous souhaitez contourner les hooks en mode utilisateur de NTDLL. Au début du fichier main.cpp, se trouvent les définitions de la technique à utiliser. Vous pouvez en choisir une et la compiler. Ne définissez pas toutes les valeurs en même temps, définissez uniquement la technique souhaitée. Un exemple de configuration est donné ci-dessous.

root@kitploit:~
// Techniques configuration section
#define FROM_DISK 1 // If you set it to 1, the Technique-1 will be used. For more information; https://github.com/hlldz/RefleXXion
#define FROM_KNOWNDLLS 0 // If you set it to 1, the Technique-2 will be used. For more information; https://github.com/hlldz/RefleXXion

Notes d'utilisation opérationnelle et préoccupations OPSEC

  • RefleXXion ne prend actuellement en charge que l'architecture x64.

  • RefleXXion ne désactive que les hooks des fonctions NTDLL, vous devrez peut-être désactiver également les hooks d'autres DLL (kernel32.dll, advapi32.dll, etc.). Pour cela, vous pouvez facilement modifier les endroits nécessaires dans le projet.

  • RefleXXion utilise uniquement une région mémoire RWX lorsque le processus d'écrasement de la section .TEXT commence. Pour ce processus, aucune nouvelle région mémoire n'est créée ; la région mémoire existante (la section TEXT de la NTDLL déjà chargée) est mise en RWX puis convertie en RX.

    root@kitploit:~
    ULONG oldProtection;
    ntStatus = NtProtectVirtualMemory(NtCurrentProcess(), &lpBaseAddress, &uSize, PAGE_EXECUTE_READWRITE, &oldProtection);
    memcpy()...
    ntStatus = NtProtectVirtualMemory(NtCurrentProcess(), &lpBaseAddress, &uSize, oldProtection, &oldProtection);
    

    P.S. RefleXXion invoque l'API NtProtectVirtualMemory sur la NTDLL installée proprement. Il utilise la fonction CustomGetProcAddress pour cela car la NTDLL propre ne figure pas dans la InLoadOrderModuleList même si elle est chargée en mémoire. Une solution comme celle-ci (https://stackoverflow.com/questions/6734095/how-to-get-module-handle-from-func-ptr-in-win32) ne fonctionnera donc pas. C'est pourquoi la fonction GetProcAddress personnalisée existe et est utilisée.

  • Vous pouvez charger la DLL RefleXXion depuis le disque vers le processus cible. Vous pouvez ne pas préférer une telle exécution pour un travail sensible comme une opération Red Team. Par conséquent, vous pouvez convertir la DLL RefleXXion en shellcode à l'aide du projet sRDI ou intégrer le code RefleXXion dans votre propre chargeur ou projet.

  • Même si NTDLL (en tant que fichier ou en tant que section) est rechargée dans le processus injecté, elle ne reste pas chargée. RefleXXion ferme tous les handles ouverts (handles de fichier et de section) pour ses propres processus.

Remerciements particuliers et crédits

  • Recherche et PoC pour la collecte d'appels système propres avec LdrpThunkSignature par Peter Winter-Smith, @peterwintrsmith. EDR Parallel-asis through Analysis, https://www.mdsec.co.uk/2022/01/edr-parallel-asis-through-analysis/
  • Windows 10 Parallel Loading Breakdown par Jeffrey Tang. https://blogs.blackberry.com/en/2017/10/windows-10-parallel-loading-breakdown
  • https://stackoverflow.com/questions/42789199/why-there-are-three-unexpected-worker-threads-when-a-win32-console-application-s
  • Shellycoat par Upayan, @slaeryan. https://github.com/slaeryan/AQUARMOURY/tree/master/Shellycoat
Télécharger l’outil