Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
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é.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
Chimera — Outil automatisé de chargement latéral de DLL avec capacités d'évasion d'EDR | Kitploit
Outils/GitHubGitHub/georgesotiriadis/chimera
Génération de PayloadsExploitationShellcodeRed Teaming
GitHubgeorgesotiriadis/chimera

Chimera

Outil automatisé de chargement latéral de DLL avec capacités d'évasion d'EDR

Voir le dépôt
5075826il y a 2 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 →
Partager

Chimera Unlea$ed 

Contexte de l'outil


Bien que le DLL sideloading puisse être utilisé à des fins légitimes, comme le chargement de bibliothèques nécessaires au fonctionnement d'un programme, il peut également être utilisé à des fins malveillantes. Les attaquants peuvent utiliser le DLL sideloading pour exécuter du code arbitraire sur un système cible, souvent en exploitant des vulnérabilités dans des applications légitimes utilisées pour charger des DLL.

Pour automatiser le processus de DLL sideloading et le rendre plus efficace, Chimera a été créé, un outil qui inclut des méthodes d'évasion pour contourner les produits EDR/AV. Cet outil peut automatiquement chiffrer un shellcode via XOR avec une clé aléatoire et créer des images template pouvant être importées dans Visual Studio pour créer une DLL malveillante.

De plus, les appels système dynamiques de SysWhispers3 sont utilisés, ainsi qu'une version assembleur modifiée pour échapper au motif recherché par l'EDR, des NOP sled aléatoires sont ajoutés et les registres sont déplacés. En outre, l'injection Early Bird est également utilisée pour injecter le shellcode dans un autre processus que l'utilisateur peut spécifier, avec des mécanismes d'évasion de sandbox comme la vérification du disque dur et si le processus est débogué. Enfin, une attaque temporelle est placée dans le chargeur qui utilise des minuteurs d'attente pour retarder l'exécution du shellcode.

Cet outil a été testé et s'est avéré efficace pour contourner les produits EDR/AV et exécuter du code arbitraire sur un système cible.

La version mise à jour de Chimera Unleashed a démontré des avancées significatives dans l'évasion des analyses statiques et dynamiques, en particulier dans le contexte du système Endpoint Detection and Response (EDR) de Microsoft 365. Les techniques de sideloading de l'outil, même appliquées à des binaires bien connus comme OneDrive, ont réussi à échapper à la détection. Cependant, il est à noter que si l'aspect sideloading est resté non détecté, le processus d'injection Early Bird employé par l'outil a été identifié par le système EDR. Cela souligne un domaine à améliorer pour renforcer les capacités globales de furtivité de l'outil.

Utilisation de l'outil


Principales mises à jour et fonctionnalités :

  • Structure reformatée : L'ensemble du programme a été restructuré pour faciliter le développement et la maintenabilité future.
  • Intégration de code polymorphe : Incorporation de code polymorphe, améliorant considérablement les capacités d'évasion et rendant l'outil plus résistant à l'analyse statique.
  • Intégration de SysWhispers 3 : Passage de SysWhispers 2 à une version modifiée de SysWhispers 3. Cette mise à jour améliore la capacité de l'outil à échapper aux mécanismes de reconnaissance de motifs employés par les systèmes EDR, en utilisant des appels système dynamiques et des techniques d'assemblage modifiées.
  • Chiffrement AES : Implémentation du chiffrement AES pour sécuriser le shellcode, ajoutant une couche supplémentaire de sécurité et d'obscurcissement.
  • Injection Early Bird : L'outil utilise des techniques d'injection Early Bird, permettant une exécution de code plus furtive dans les processus cibles.
  • Module Stomping : Sera ajouté à l'avenir ; vous pouvez également implémenter votre propre technique d'injection de code dans l'outil.

Chimera est écrit en python3 et il n'est pas nécessaire d'installer de dépendances supplémentaires.

Chimera prend actuellement en charge deux options de DLL : Microsoft Teams ou Microsoft OneDrive.

On peut créer userenv.dll, une DLL manquante de Microsoft Teams, et l'insérer dans le dossier spécifique :

⁠%USERPROFILE%/Appdata/local/Microsoft/Teams/current

Pour Microsoft OneDrive, le script utilise version.dll, courante car elle est manquante dans le binaire, par exemple onedriveupdater.exe.

Arguments en ligne de commande

Chimera Unleashed utilise argparser pour l'analyse des arguments en ligne de commande. Les arguments suivants sont disponibles :

  • --raw ou -r : Chemin vers le fichier contenant le shellcode. Requis.
  • --path ou -p : Chemin de sortie pour le fichier template C. Requis.
  • --pname ou -n : Nom du processus dans lequel injecter le shellcode. Requis.
  • --dexports ou -d : Spécifier les exports DLL à utiliser ('teams' ou 'onedrive'). Requis.
  • --enc ou -e : Spécifier le chiffrement préféré (XOR / AES). Requis.
  • --inj ou -i : Spécifier la technique d'injection préférée (EB / MS). Requis.
  • --rshell ou -s : [Optionnel] Remplacer le nom de la variable shellcode par un nom unique. Par défaut : 'encoded_shell'.
  • --rxor ou -x : [Optionnel] Remplacer le nom du chiffrement xor par un nom unique. Par défaut : 'do_xor'.
  • --rkey ou -k : [Optionnel] Remplacer le nom de la variable clé par un nom unique. Par défaut : 'key'.
  • --rsleep ou -z : [Optionnel] Temps de pause total à inclure pendant l'exécution (en secondes). Par défaut : 4000.
  • --size ou -f : [Optionnel] Taille du fichier de données factices en Ko. Zéro (0) désactive, un (1) donne une taille aléatoire. Par défaut : 0.

Exemple d'utilisation : python Chimera.py --raw <chemin_vers_shellcode> --path <chemin_sortie> --pname <nom_processus> --dexports <fichier_exports> --enc AES --inj EB --rshell mon_shellcode

Note utile

Une fois le processus de compilation terminé, une DLL sera générée, qui doit inclure soit "version.dll" pour OneDrive, soit "userenv.dll" pour Microsoft Teams. Ensuite, il est nécessaire de renommer les DLL d'origine.

Par exemple, la DLL d'origine "userenv.dll" doit être renommée "tmpB0F7.dll", tandis que la DLL d'origine "version.dll" doit être renommée "tmp44BC.dll". De plus, vous avez la possibilité de modifier le nom de la DLL proxy comme vous le souhaitez en modifiant le code source des exports DLL au lieu d'utiliser les noms par défaut du script.

Le fichier code.h contient le shellcode.

Configuration du projet Visual Studio


Étape 1 : Création d'un nouveau projet Visual Studio avec le template DLL

  1. Lancez Visual Studio et cliquez sur "Créer un nouveau projet" ou allez dans "Fichier" -> "Nouveau" -> "Projet".
  2. Dans la fenêtre des modèles de projet, sélectionnez "Visual C++" sur la gauche.
  3. Choisissez "Projet vide" parmi les modèles disponibles.
  4. Donnez un nom et un emplacement appropriés au projet, puis cliquez sur "OK".
  5. Dans la fenêtre des propriétés du projet, accédez à "Propriétés de configuration" -> "Général" et définissez "Type de configuration" sur "Bibliothèque dynamique (.dll)".
  6. Configurez autres paramètres du projet selon vos souhaits et enregistrez le projet.

Étape 2 : Importation des fichiers dans le projet Visual Studio

Télécharger l’outil