
Intégrer et masquer n'importe quel fichier dans un fichier HTML
============
Auteur : Arno0x0x - @Arno0x0x
Ce que fait cet outil est de prendre un fichier (n'importe quel type de fichier), le chiffrer, et l'intégrer dans un fichier HTML en tant que ressource, avec une routine de téléchargement automatique simulant un clic de l'utilisateur sur la ressource intégrée.
Ensuite, lorsque l'utilisateur navigue sur le fichier HTML, le fichier intégré est déchiffré à la volée, sauvegardé dans un dossier temporaire, puis présenté à l'utilisateur comme s'il était téléchargé depuis le site distant. Selon le navigateur de l'utilisateur et le type de fichier présenté, le fichier peut être automatiquement ouvert par le navigateur.
Cet outil se décline en deux versions, offrant la même fonctionnalité globale mais avec quelques légères différences dans la façon de l'utiliser :
Un script Python qui génère le fichier HTML de sortie basé sur un modèle, en utilisant des routines de chiffrement RC4, et intégrant la clé de déchiffrement dans le fichier de sortie. Le HTML résultant peut soit être consulté par l'utilisateur ciblé, soit être envoyé en pièce jointe.
Un HTML/Javascript dans lequel vous pouvez glisser le fichier à chiffrer, qui génère le fichier HTML de sortie, en utilisant l'API WebCrypto, mais sans intégrer le matériel de déchiffrement (clé et compteur). À la place, le matériel de déchiffrement est affiché sous forme d'un ensemble de paramètres d'URL à ajouter dans une URL pointant vers le fichier HTML résultant : http(s)://hosting.server.com/result.html#hexencodedkey!hexencodedcounter. Ainsi, le fichier HTML résultant ne peut pas être envoyé en pièce jointe.
Le principal avantage de cette technique est que le matériel de déchiffrement n'est pas intégré dans le fichier lui-même, empêchant ainsi l'analyse et même la récupération de la charge utile par tout système ne disposant pas de l'URL complète (par exemple : proxy d'interception).
Remarques :
Cet outil a été inspiré et dérivé du formidable outil 'demiguise' : https://github.com/nccgroup/demiguise
La fonction b64AndRC4 utilisée sur l'entrée binaire (à partir du fichier XLL) est un mélange de : https://gist.github.com/borismus/1032746 et https://gist.github.com/farhadi/2185197
Consultez https://gist.github.com/Arno0x/f71a9db515ddea686ccdd77666bebbaa pour une création facile de XLL malveillant qui est un exemple parfait de document malveillant que l'on pourrait tenter de livrer avec cette méthode.
Dans le modèle HTML (fichier html.tpl), il est conseillé d'insérer votre propre fonction de dérivation de clé environnementale ci-dessous à la place de la 'keyFunction'. Vous devriez dériver votre clé de l'environnement afin qu'elle ne fonctionne que sur votre cible prévue (et non dans un sandbox).
Quelques exemples de fichiers de charge utile sont fournis dans le répertoire payloads_examples. Par exemple, le fichier calc.xll est un complément Excel (XLL) qui contient un shellcode metasploit pour les processus x86 afin de lancer le processus calc.exe.
Utilisation du script Python
1/ Générer le fichier HTML malveillant à partir du fichier XLL, avec une clé secrète :
python embedInHTML.py -k mysecretkey -f example_calc.xll -o index.html
2/ Exposer le fichier HTML sur un serveur web (un peut être optionnellement démarré pour vous avec le flag -w)
Utilisation du HTML/Javascript
1/ Ouvrir le fichier embedInHTML.html dans un navigateur
2/ Glisser simplement le fichier de charge utile dans la page (vous pouvez optionnellement changer le nom du fichier de sortie)
3/ Enregistrer le fichier résultant et noter le matériel de déchiffrement sous forme de paramètres d'URL à ajouter au nom du fichier sous la forme : http(s)://hosting.server.com/result.html#hexencodedkey!hexencodedcounter
Finalement...
Pointer le navigateur de la cible vers le fichier HTML et laisser la magie opérer :
Cet outil est destiné à être utilisé uniquement de manière légale et légitime :
En citant les auteurs d'Empire : Il n'y a aucun moyen de construire des outils offensifs utiles à l'industrie légitime de la sécurité informatique tout en empêchant simultanément les acteurs malveillants d'en abuser.