Fichier « hta » et unicode … un combo efficace et improbable pour développer des malwares indétectables
Salut à tous,
Tout d'abord j'aimerais remercier les personnes parmi vous qui continuent de m'encourager au travers des commentaires ... ça peut paraître bête ... mais vu que je ne monétise pas ce blog, un simple merci est un très bon salaire :)
Ceux qui suivent un peu les quelques bribes de ma vie privée que je déballe dans mes introductions savent que l'un de mes enfants est atteint d'un grave problème cardiaque ... et c'est aussi pour cette raison que certaines semaines, si vous ne voyez pas d'article, ne soyez pas déçu ! Dites-vous seulement que celui qui arrivera sera meilleur que si j'avais bâclé un truc en 5 minutes ^^
Cette introduction terminée, je retourne à nos moutons !
Windows et ses fichiers ".hta"
Les fichiers portant l'extensions ".hta" sont des pages HTML que l'on pourrait qualifier de "++" ...
Pour faire simple :
Windows vous permet nativement de développer des applications "Web" avec des options avancées ...
Par exemple, en fabriquant une page Web ".hta", vous aurez la possibilité de faire disparaître les bordures de la fenêtre, la barre contenant le titre / chemin de la page Web, les boutons de fermeture / agrandissement et diminution .... etc ... vous aurez également la possibilité de positionner votre page sur l'écran ... de modifier sa taille (la cacher en lui donnant une taille de 0 par 0), ...
Sous les radars des antivirus
Là où ça devient vraiment exceptionnel, c'est que ça n'est pas un exécutable ...
C'est également très très rarement utilisé, donc beaucoup moins contrôlé par les antivirus ... et surtout autorisé en pièce jointe ...
Aucun contrôle Windows
Windows ne vous avertira pas du danger potentiel que vous encourrez, lorsque vous ouvrirez ce fichier.
Il n'y aura pas ce genre de message que vous connaissez si bien :
Les caractères Unicodes
Rien de nouveau sous le soleil concernant les caractères unicodes ...
Ce sont des caractères avec des pouvoirs spéciaux !!!
Ainsi, dans votre bloc note ... en utilisant le caractère dit "RLO" qui permet de changer l'ordre d'une chaîne de caractères (d'un texte) :
Vous transformez "txt.8012-etel.hta" en "ath.lete-2018.txt"
Le combo ultime
En combinant ces 2 choses, vous pouvez aisément obtenir des "applications" Web qui n'auraient qu'une seule vocation ... vous faire cracher vos identifiants ... vos numéros de cartes bleues ...
Avec le format HTA on imagine une petite page de phishing qui se cache sur votre écran, puis qui s'affiche de temps en temps (comme un popup), qui change de look ... passant d'un paypal à un GMAIL, d'un Gmail à un Facebook, etc ...
Une démo ?
Aujourd'hui je n’exhiberais pas mon code directement ...
Je vous propose de télécharger ce fichier : txt.test
C'est une archive contenant mon fichier "hta", il vous suffira de l'extraire, et vous pourrez voir un fichier texte ".txt", qui n'en sera évidement pas un.
Lorsque vous double cliquerez sur ce fichier, vous aurez une popup Gmail, avec bien entendu une imitation de tous les comportements attendus, la petite croix deviendra rouge lorsque vous survolerez le bouton de fermeture, la fenêtre se mettra en active / inactive selon si vous serez sur cette page ou non ... l'url "https://myaccount.google.com/?utm_source=OGB" ne sera qu'un faut champs éditable ...
Un simple clique droit "éditer" et vous aurez bien entendu la possibilité de consulter le code source.
Conclusion
Les attaques de ce genre vont probablement se multiplier et se perfectionner de plus en plus ...
Ils sont loin les arnaqueurs sur leboncoin.fr ... avec leurs 2000 fautes d'orthographe .... et leurs promesses d'héritages d'un vieux cousin éloigné souffrant d'une maladie incurable ...
Restez donc prudent.
Et si certains d'entres vous ont des techniques "rares" ou peu connu du grand public, n’hésitez pas à m'en faire part en commentaire.
Bon dimanche à vous tous !
Merci beaucoup pour cet article très intéressant et surtout tout mes meilleurs de rétablissement pour votre enfant…
Merci Jeff ;)
On fait ce qu’on peut, mais c’est beaucoup de fatigue ^^
Ah tiens je ne connaissais pas du tout ces fichiers .hta, puissant cette technique vu que du coup l’url semble bonne. Bon par contre le design de la fenêtre n’est pas le même que le Chrome classique, mais ça fera l’effet escompté chez les madames michu^^
et j’aime beaucoup cette petite astuce unicode RLO, ya de quoi s’amuser avec ça aussi :)
Super article !
Je ne connaissais pas non plus le unicode RLO !
Par contre chez moi impossible de lancer le fichier ?! Je suis le seul ?
Hello,
Merci ;)
Quelle est ta conf ? OS ?
Hello,
Windows 10 Pro version 1803 (version OS : 17134.165)
sympa sur le papier, mais cela ne fonctionne pas chez moi (W10 famille)
As-tu essayé de créer un fichier hta ? Ou bien testé un existant ?
http://www.robvanderwoude.com/htaexamples.php
Il est possible que mon exemple ne soit pas fonctionnel sur toutes les résolutions.
De mon côté je n’ai pas pu constaté de souci.
Cependant, il est très peu probable que les applications html (hta) ne fonctionnent pas sur Windows 10
https://en.wikipedia.org/wiki/HTML_Application
Je t’invite à faire quelques tests de ton côté et ensuite à nous faire un petit retour ;)
Fonctionnel chez moi en tout cas, Windows 10 64bit (Famille)
Les .hta sont exécutés via mshta.exe qui est installé avec Internet Explorer, si vous avez viré IE, les .hta ne fonctionneront pas
Merci pour cette info ! il y a quelques années, quand je bossais ! j’ai été tenté d’utiliser ce type de fichier pour écrire des petites routines à vocation diverses car cela permettait d’utiliser quelques composants de l’interface graphique Win. : j’ai laissé tombé le « hta » dès que j’ai découvert que c’était lié à IE.
Maintenant, je regrette : j’aurais pu devenir un « terrible pirate », à l’insu de mon plein gré. J’ai vraiment tout raté !
Bon courage à vous et à votre enfant.
Salut,
Chez moi ça fonctionne (Windows 7 home premium x64). Comme Frédéric Battestini, j’avais voulu utiliser pour une raison semblable : grouper mes routines VBS et profiter des boutons radios et autres éléments HTML.
Le problème de l’époque était que le lancement des routines ne partageait pas le jeton d’UAC avec le hta ; contrairement au lancement depuis un VBS ayant déjà les privilèges élevés qui lui le partage.