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
Nemesis — Moniteur de processus .NET qui accroche le CLR au niveau natif, extrait les assemblys réflexifs de la mémoire et vérifie l'intégrité AMSI/ETW par rapport aux binaires sur disque. | Kitploit
Outils/GitHubGitHub/zypherion-technologies/nemesis
Outils DéfensifsAnalyse Dynamique (Sandboxing)Criminalistique MémoireRétro-ingénierieAnalyse de Malware
GitHubzypherion-technologies/nemesis

Nemesis

Moniteur de processus .NET qui accroche le CLR au niveau natif, extrait les assemblys réflexifs de la mémoire et vérifie l'intégrité AMSI/ETW par rapport aux binaires sur disque.

Voir le dépôt
41432il y a 11 joursVé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

Nemesis

Website Discord Telegram X

outil windows que j'ai fait parce que j'en avais marre de fixer les forks de jlaive dans les échantillons de malware sans rien de public pour réellement les démonter à l'exécution.

en bref, c'est un moniteur de processus .net qui hook le clr au niveau natif, suit les chargements d'assembly par réflexion, et dump automatiquement les pe directement depuis la mémoire. il vérifie aussi l'intégrité d'amsi et d'etw par rapport aux binaires originaux sur disque tout en détectant les techniques de bypass telles que le patch de chaînes dans clr.dll et l'utilisation directe de LoadFromBuffer.

où trouver des échantillons ? je recommande de jeter un œil à https://tria.ge (pas une pub) et tu peux télécharger n'importe quel échantillon que tu veux et filtrer par famille

pourquoi ce nom ?

tu te demandes peut-être pourquoi le nom nemesis ?

parce qu'il représente exactement le but de l'outil. un nemesis est quelque chose qui constitue un défi constant ou une perte pour un adversaire et c'est l'idée derrière ce projet.

dans la mythologie grecque nemesis était l'esprit de la vengeance divine, celui qui rendait la monnaie de leur pièce à tous ceux qui devenaient trop arrogants ou qui se croyaient intouchables. un peu trop à propos pour des malwares qui se vantent d'être "fud" si tu veux mon avis.

pourquoi ça existe

je suis analyste malware. si tu fais ce boulot (un loisir pour moi) assez longtemps tu commences à voir les mêmes chaînes de loader encore et encore surtout depuis que jlaive (aussi appelé crybat) a explosé et que chaque script kiddy l'a forké.

le schéma est bête comme chou mais pénible comme pas possible à gérer :

something.bat  →  obfuscated powershell  →  csharp stub  →  your actual payload

tu double-cliques un .bat qui ressemble à de la salade de mots. cmd lance powershell avec un mur de bruit. powershell déchiffre/décompresse un stub .net (aes, gzip, base64). ce stub patche amsi + etw, charge par réflexion le vrai exe/dll en mémoire, et c'est fini rien de sympathique n'atteint jamais le disque sous une forme utile.

ça m'a agacé. il n'y a pas vraiment de bon outil public visant à combattre cette chaîne spécifique : hooker là où la payload .net se matérialise réellement, la dumper avant que le processus ne se bouffe lui-même, attraper les patchs amsi/etw que ces stubs font toujours. donc j'ai construit nemesis.

pas une solution miracle. pas pour remplacer ton sandbox. mais ça te donne quelque chose de concret à exécuter contre un .bat suspect sur une machine de test et à en extraire réellement des artefacts.

ce que ça fait concrètement

launcher (Launcher.exe)

  • crée ta cible en suspendu (exe, bat, cmd, peu importe)
  • injecte Nemesis.dll avant que le thread principal ne s'exécute
  • attend que nemesis dise qu'il est prêt
  • reprend. si la cible lance des processus powershell enfants, le launcher peut aussi les injecter

nemesis dll (Nemesis.dll)

  • hook les chemins de chargement du clr que les stubs de style jlaive touchent réellement :
    • nLoadImage
    • nLoadFile
    • AssemblyNative::LoadFromBuffer (pattern résolu à partir de nLoadImage)
  • quand un pe par réflexion apparaît en mémoire -> met en file un dump vers %TEMP%\Nemesis_dumps
  • compare les exports vivants de amsi.dll / ntdll.dll avec les copies sur disque (attrape le patch classique ret sur AmsiScanBuffer / EtwEventWrite)
  • la vérification amsi regarde aussi les chaînes .rdata du clr quand le clr est chargé (certains bypass patchent celles-ci à la place, il y a un excellent papier vxug là-dessus appelé ; 2024-11-21 - New AMSI Bypss Technique Modifying CLRDLL in Memory.pdf )
  • log vers la console (colorée) + %TEMP%\Nemesis.log il a aussi ENABLE_VIRTUAL_TERMINAL_PROCESSING pour éviter les problèmes avec une console disons bizarre :D

en gros : laisse la chaîne du bat s'exécuter, attrape la payload là où le crypter la charge réellement, et log les astuces d'évasion en chemin.

Preuve :

image image image

build

il faut visual studio 2022+ avec c++ desktop + masm (x64).

ouvre Nemesis.slnx, choisis Release | x64, build la solution.

exécuter sur une vraie cible

c'est le cas d'usage réel : pointe-le vers un bat suspect et regarde ce qui en sort :

cd x64\Release
.\Launcher.exe "C:\path\to\suspicious.bat"

les arguments supplémentaires après -- sont passés à la cible :

.\Launcher.exe myapp.exe -- --some-flag

chemin de dll personnalisé :

.\Launcher.exe --dll C:\path\Nemesis.dll myapp.exe

artefacts :

  • logs → %TEMP%\Nemesis.log
  • pe dumpés → %TEMP%\Nemesis_dumps

ce que nemesis est / n'est pas

est :

  • un assistant d'analyse à l'exécution pour les crypters de style jlaive (chaînes bat → ps1 → csharp)
  • utile sur une vm de lab quand tu as un échantillon et que tu veux des dumps en mémoire + de la télémétrie amsi/etw
  • ouvert aux autres analystes pour l'utiliser, l'étendre, s'en plaindre

n'est pas :

  • un remplacement d'edr
  • garanti d'attraper chaque variante de fork (changements d'obfuscation, nouveaux bypass, ex. amsi/etw sans patch car ce n'est pas fait pour ça pour l'instant et je prévois de changer ça à l'avenir peut-être que ça deviendra une sorte de toolkit pour langages managés)

notes

  • x64 uniquement pour les detours asm du clr pour l'instant
  • les hôtes cmd.exe n'ont souvent pas de clr, nemesis signale qu'il est prêt de toute façon pour que le launcher ne bloque pas, le vrai travail se fait quand powershell/dotnet apparaît
  • le rebuild échoue avec LNK1104 ? quelque chose a encore nemesis.dll chargé, tue la cible et rebuild
  • le bruit vcpkg de pwsh.exe pendant le build est inoffensif, ignore-le

lectures complémentaires (l'écosystème jlaive)

si tu veux comprendre ce que tu combats :

  • Trend Micro on BatCloak / Jlaive — le gâteau bat → ps1 → csharp
  • Fortinet on ScrubCrypt — le successeur pénible de jlaive si tu veux savoir ce qui était un peu différent avec scrubcrypt c'était le fait qu'ils redirigeaient les commandes avec le signe pipe dans le .bat ça marche plutôt bien...
  • Unprotect.it — ScrubCrypt — décryptage de la technique
  • https://github.com/backdoorskid/ClrAmsiScanPatcher - trouve la chaîne .net comme mentionné précédemment je recommande de lire ce fichier .pdf :)

avertissement

en utilisant nemesis tu acceptes ceci. il est fourni tel quel avec aucune garantie — tu assumes tous les risques.

Télécharger l’outil