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
demiguise — Outil de chiffrement HTA pour RedTeams | Kitploit
Outils/GitHubGitHub/nccgroup/demiguise
Outils de PhishingGénération de PayloadsÉvasion IDS/IPSExploitation d'Applications WebRed Teaming
GitHubnccgroup/demiguise

demiguise

Outil de chiffrement HTA pour RedTeams

Voir le dépôt
1.4k2467il 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 →
Partager
Site web

Demiguise - outil de chiffrement HTA

Publié en open source par NCC Group Plc - http://www.nccgroup.trust/

Développé par Richard Warren, richard [point] warren [at] nccgroup [point] trust

http://www.github.com/nccgroup/demiguise

Publié sous licence AGPL, voir LICENSE pour plus d'informations

Qu'est-ce que ça fait ?

Le but de ce projet est de générer des fichiers .html qui contiennent un fichier HTA chiffré. L'idée est que lorsque votre cible visite la page, la clé est récupérée et le HTA est déchiffré dynamiquement dans le navigateur et poussé directement à l'utilisateur. C'est une technique d'évasion pour contourner l'inspection de contenu/type de fichier mise en œuvre par certains dispositifs de sécurité. Cet outil n'est pas conçu pour créer un super contenu HTA. Il existe de nombreux autres outils/techniques qui peuvent vous aider avec cela. Ce qu'il peut vous aider à faire, c'est d'abord d'introduire votre HTA dans un environnement, et (si vous utilisez des clés environnementales) d'éviter qu'il ne soit exécuté dans un sandbox.

Comment ça marche ?

Ceci est réalisé en chiffrant le fichier HTA avec RC4, puis en utilisant navigator.msSaveBlob pour "sauvegarder" le fichier au moment de l'exécution - plutôt que de récupérer le HTA directement depuis le serveur. Cela signifie qu'à aucun moment il n'y a de requête/réponse HTTP contenant votre fichier HTA en texte clair - le proxy verra simplement un fichier text/html contenant votre blob chiffré. Dans la dernière version d'Edge, cela amènera l'utilisateur à être invité à "exécuter" le HTA.

Bien que ce ne soit pas l'objectif principal de cet outil, il existe quelques options de payload pour le HTA sous-jacent. Chaque option utilise des techniques différentes documentées précédemment par Matt Nelson, Matthew Demaske, Ryan Hanson et Etienne Stalmans. L'avantage d'utiliser ces techniques est que votre code ne s'exécute pas en tant qu'enfant de mshta.exe. Comme mentionné précédemment, le contenu du HTA n'est pas l'objectif principal de cet outil. Je vous encourage à modifier le modèle HTA pour y mettre votre propre code :)

Comment l'exécuter ?

Exécutez le fichier demiguise.py, en lui fournissant votre clé de chiffrement, le type de payload, le nom du fichier de sortie et la commande que vous voulez que le HTA exécute.

Exemple : python demiguise.py -k hello -c "notepad.exe" -p Outlook.Application -o test.hta

Clé environnementale

Pour éviter les sandboxes, vous ne devez pas intégrer votre clé directement dans le HTA. Au lieu de cela, vous devez l'obtenir dynamiquement depuis l'environnement de la cible. Un exemple pourrait être d'utiliser l'adresse IP externe du client comme clé. L'avantage est que si le code est exécuté dans un sandbox tiers, le HTA ne se déchiffrera pas. En fait, même le nom du fichier ne se déchiffrera pas, ce qui signifie que personne ne saura ce que votre payload est/fait :)

Quelques exemples de clés environnementales sont donnés dans examples/externalip.js et examples/virginkey.js.

Bonus

Étant donné que l'outil génère un fichier HTML contenant du JavaScript, vous pouvez simplement prendre ce JS et l'héberger où vous voulez. Cela signifie que si le site web de votre client est vulnérable à une XSS réfléchie, vous pouvez l'utiliser pour servir votre fichier HTA depuis leur domaine (hautement fiable).

De plus, Outlook ne bloque pas les pièces jointes .html par défaut, tout comme certaines autres applications - utilisez votre imagination ! :)

Détection

Actuellement, il n'est pas détecté sur VT :

https://www.virustotal.com/en/file/24b86ee6210b2abc446021feacfe25502b60403455aa24a32c80b2e7b0f81a70/analysis/1499880541/

Défense

Bien que les techniques d'obfuscation puissent être difficiles à signer, une façon de se défendre contre les attaques HTA est d'empêcher le HTA lui-même de pouvoir s'exécuter en premier lieu. Cela peut être réalisé soit en utilisant Software Restriction Policy (SRP), Device Guard (sur Windows 10 et Server 2016), ou en modifiant le gestionnaire de fichiers par défaut associé aux fichiers .hta.

Veuillez noter que ces modifications peuvent potentiellement affecter l'exécution des logiciels qui dépendent de l'exécution HTA. Il est donc recommandé de tester complètement une solution dans votre propre environnement.

Utilisation de SRP :

Modification du gestionnaire de fichiers par défaut :

root@kitploit:~
ftype htafile=%SystemRoot%\system32\NOTEPAD.EXE %1

Pour le remettre (x64) :

root@kitploit:~
ftype htafile=C:\Windows\SysWOW64\mshta.exe "%1" {1E460BD7-F1C3-4B2E-88BF-4E770A288AF5}%U{1E460BD7-F1C3-4B2E-88BF-4E770A288AF5} %*

FAQ

  • Est-ce que cela ne s'écrit pas sur le disque ?
    • Les tests dans la dernière version d'Edge montrent que cela ne 's'écrit sur le disque' que de la même manière que servir un HTA normal. De toute façon, il finira comme un fichier temporaire sur le disque.
  • Pourquoi utiliser cet outil alors que j'ai déjà une détection de sandbox pour $produit en vérifiant l'état d'appartenance au domaine / les imprimantes etc. ?
    • L'objectif de l'outil est d'éviter d'être exécuté dans un sandbox en premier lieu. Si vous choisissez vos clés judicieusement, le HTA ne se déchiffrera même pas correctement, et $produit ne saura pas que c'est un fichier HTA - ce qui signifie qu'il ne peut pas être exécuté par le sandbox.
  • Comment trouver une source de clé environnementale sans avoir d'abord accès au réseau cible ?
    • Ceci est laissé comme exercice au lecteur, mais cela peut souvent être découvert avec un bon OSINT. Si vous menez des campagnes de fingerprinting, jetez un œil à WebFEET et BeEF pour vous inspirer.

Remerciements / Travaux antérieurs

  • Matt Nelson - Techniques d'exécution COM WbemScripting.SWbemLocator et ShellBrowserWindow
  • Matthew Demaske - Preuve de concept d'exécution COM WbemScripting.SWbemLocator
  • Ryan Hanson - Technique d'exécution COM Excel.Application.RegisterXLL
  • Etienne Stalmans - Technique d'exécution COM Outlook.Application.CreateObject
  • Brandon Arvanaghi et Chris Truncer's outil CheckPlease.
  • Le projet Empire
Télécharger l’outil