Incursion dans le piratage sans malware, Partie I

Lorsque j’ai commencé à étudier le thème des hackers qui « vivent de la terre », c’est-à-dire qui utilisent les outils et logiciels qu’ils trouvent sur la machine de leur victime, j’étais...
Michael Buckbee
5 minute de lecture
Dernière mise à jour 29 octobre 2021

Lorsque j’ai commencé à étudier le thème des hackers qui « vivent de la terre », c’est-à-dire qui utilisent les outils et logiciels qu’ils trouvent sur la machine de leur victime, j’étais loin de me douter que cela deviendrait une tendance majeure du piratage. Ce phénomène fait maintenant les gros titres des articles technologiques , et les professionnels de la sécurité disent qu’il est en train de s’amplifier. Le moment est donc particulièrement propice pour écrire une série de billets IOS sur le sujet.

Également appelé attaque sans fichier (file-less) ou sans empreinte (zero-footprint), ce piratage sans malware utilise généralement PowerShell sur les systèmes sous Windows pour exécuter de manière furtive des commandes visant à rechercher et exfiltrer du contenu ayant de la valeur. Pour les équipes de sécurité informatique chargées de surveiller les activités de piratage, les attaques sans fichier sont très difficiles à localiser, car elles échappent souvent aux antivirus et autres systèmes de détection basés sur une signature.

En bref, une défense classique n’est pas vraiment armée pour parer à ce type d’attaque. Bien sûr, il existe des logiciels de sécurité capables d’identifier les activités malveillantes qui se déroulent dans les systèmes de fichiers.

D’ailleurs, j’ai déjà évoqué certaines de ces idées dans ma série de billets sur l’obfuscation PowerShell, mais d’un point de vue plus théorique. Par la suite, j’ai découvert le site d’Hybrid Analysis, sur lequel vous pouvez trouver des échantillons de malwares capturés en situation réelle.

PowerShell sauvage

Je me suis dit que ce serait l’endroit parfait pour rechercher des spécimens de malware sans fichier. Je n’ai pas été déçu. Au passage, si vous voulez vous lancer dans votre propre chasse aux programmes malveillants, vous devez préalablement montrer patte blanche aux spécialistes d’Hybrid Analysis pour qu’ils sachent que vous êtes du côté des gentils. En ma qualité de blogueur spécialisé dans la sécurité, cela n’a été qu’une formalité. Je suis sûr qu’il en sera de même pour vous.

En plus de fournir des échantillons, ils proposent aussi de précieuses informations sur ce que fait le malware. Hybrid Analysis exécute le programme malveillant dans son propre bac à sable et surveille les appels au système, les processus lancés et l’activité Internet, tout en extrayant les chaînes de texte suspectes.

Dans le cas des fichiers binaires et autres exécutables pour lesquels vous ne pouvez même pas regarder le code réel, cette technique de conteneur permet à HA de décider si la menace présente un danger ou si elle est simplement suspecte en raison de son activité d’exécution. Ensuite Hybrid Analysis note l’échantillon.

J’ai pu voir le code réel du PowerShell sans malware et des autres échantillons de script (Visual Basic, JavaScript, etc.) que je recherchais. Je suis par exemple tombé sur cette créature PowerShell :

malware powershell
Vous aussi, vous pouvez exécuter le PowerShell codé en base64 pour échapper à la détection. Notez l’utilisation du paramètre Noninteractive dans cet échantillon réel fourni par Hybrid Analysis.

Si vous avez déjà lu mes billets sur l’obfuscation, vous savez que le paramètre -e indique que ce qui suit est codé en base64. Hybrid Analysis fournit aussi le PowerShell décodé. Si vous voulez essayer de décoder vous-même le PowerShell en base64, vous pouvez exécuter cette commande : $DecodedText = [System.Text.Encoding]::Unicode.GetString([System.Convert]::FromBase64String($EncodedText))

Allons encore plus loin

J’ai décodé le script à l’aide de cette technique et vous pouvez voir le malware PowerShell sous forme de texte brut ci-dessous.

malware PowerShell
Notez la sensibilité temporelle de ce programme malveillant PowerShell et l’utilisation de cookies pour transmettre encore plus d’informations. J’ai modifié cet échantillon réel dans le cadre de mes propres tests.

J’étais un peu nerveux à l’idée de manipuler cette menace active sur mon propre ordinateur portable. Note à l’intention du service de sécurité informatique de Varonis : j’ai utilisé une console PowerShell en ligne ainsi que mon propre environnement AWS indépendant. Alors pas de stress, OK ?

Soit dit en passant, nous avons déjà vu ce type d’attaque — dans la série de billets sur l’obfuscation PowerShell — dans laquelle le PowerShell codé en base64 tire lui-même d’autres éléments de la menace depuis un autre site pour créer un objet Net Framework WebClient se chargeant de faire le gros du travail.

Pourquoi cette approche ?

Au niveau du logiciel de sécurité qui analyse le journal des événements Windows, le codage base64 empêche la fonction chargée d’établir des correspondances entre les modèles d’après le texte de procéder facilement à la détection / correspondance en fonction, par exemple, de la chaîne « WebClient ». Et puisque la partie véritablement dangereuse du malware est alors téléchargée et injectée dans l’appli PowerShell elle-même, cette approche permet d’échapper totalement à la détection. Enfin, c’est ce que je croyais.

Il s’avère qu’en activant une journalisation Windows PowerShell plus avancée (voir mon billet), la chaîne téléchargée apparaît dans le journal des événements. Je félicite Microsoft (comme d’autres avant moi !) pour ce niveau de journalisation supplémentaire.

Toutefois, les hackers ont répondu à cette amélioration en codant en base64 le PowerShell téléchargé depuis le site distant de façon qu’il n’apparaisse pas dans le journal des événements Windows comme dans l’échantillon codé ci-dessus. Logique, non ?

Le tout saupoudré de script

Les échantillons réels d’Hybrid Analysis poussent le concept un peu plus loin. Les hackers sont malins : ils dissimulent cette attaque PowerShell dans des macros Microsoft Office écrites en Visual Basic et dans d’autres scripts. L’idée, c’est que la victime reçoive un e-mail de phishing émanant par exemple de FedEx, avec en pièce jointe un document Word présenté comme étant une facture. La personne clique sur le fichier .doc qui lance une macro. Celle-ci lance à son tour le PowerShell réel.

Souvent, même le script Visual Basic est obfusqué, de manière à échapper aux outils antivirus et antimalware.

Oui, c’est compliqué et diabolique. Et je ne fais qu’effleurer le sujet.

Dans le même esprit, j’ai décidé d’intégrer, à titre d’exercice, le PowerShell ci-dessus dans du JavaScript obfusqué. Voici le résultat de mes travaux pratiques de piratage :

javascript
JavaScript obfusqué dissimulant le PowerShell codé. Bien entendu, les vrais hackers font cela avec plus d’habileté.

J’ai emprunté une technique aux échantillons obtenus à partir de cas réels : l’utilisation de Wscript.Shell pour lancer le PowerShell codé réel. C’est de cette façon que vous sortez de l’environnement de script pour interagir avec le reste du système.

Au passage, JavaScript est à lui seul un vecteur de fourniture de malware. De nombreux environnements Windows sont dotés par défaut du Windows Script Host, qui exécutera directement JS. Dans ce scénario, le malware JS servant de contenant est joint sous forme de fichier portant le suffixe .doc.js. Windows n’affichera que le premier suffixe et le fichier apparaîtra à la victime sous forme de fichier .doc. L’icône JS est représentée par un parchemin. Comme on peut s’en douter, les gens cliquent sur cette pièce jointe en pensant que c’est un document.

Ne cliquez pas sur cette icône JS qui ressemble à un parchemin ! Sinon, le programme malveillant se téléchargera. Vous aurez été prévenu.

Pour mon propre malware JavaScript servant de contenant, j’ai modifié l’échantillon PowerShell ci-dessus de façon à télécharger un script depuis un site Web que je contrôle. Le script PS distant imprime simplement « Programme malveillant diabolique ».

Rien de bien méchant.

Bien entendu, les vrais hackers veulent accéder à un ordinateur portable ou à un serveur, par le biais, par exemple, d’un shell…

Dans le prochain billet, j’expliquerai comment procéder en utilisant PowerShell Empire, auquel j’ai déjà consacré un billet.

Nous sommes probablement allés un peu trop loin pour un billet d’introduction. Je vais donc vous laisser reprendre votre souffle, et je reviendrai là-dessus une prochaine fois. Le sujet étant à présent bien dégrossi, nous pourrons commencer à comprendre dans le détail les attaques sans malware que l’on trouve en conditions réelles.

Que dois-je faire maintenant ?

Vous trouverez ci-dessous trois solutions pour poursuivre vos efforts visant à réduire les risques liés aux données dans votre entreprise:

1

Planifiez une démonstration avec nous pour voir Varonis en action. Nous personnaliserons la session en fonction des besoins de votre organisation en matière de sécurité des données et répondrons à vos questions.

2

Consultez un exemple de notre évaluation des risques liés aux données et découvrez les risques qui pourraient subsister dans votre environnement. Cette évaluation est gratuite et vous montre clairement comment procéder à une remédiation automatisée.

3

Suivez-nous sur LinkedIn, YouTube et X (Twitter) for pour obtenir des informations sur tous les aspects de la sécurité des données, y compris la DSPM, la détection des menaces, la sécurité de l’IA et plus encore.

Essayez Varonis gratuitement.

Obtenez un rapport détaillé sur les risques liés aux données basé sur les données de votre entreprise.
Se déploie en quelques minutes.

Keep reading

Varonis tackles hundreds of use cases, making it the ultimate platform to stop data breaches and ensure compliance.

l’analyse-forensique-de-la-mémoire-dans-le-cadre-de-la-réponse-aux-incidents
L’analyse forensique de la mémoire dans le cadre de la réponse aux incidents
J’ai toujours trouvé que l’analyse forensique de la mémoire était très utile dans le cadre de la réponse à un incident de cybersécurité. En capturant la mémoire d’un appareil compromis,...
incursion-dans-le-piratage-sans-malware,-partie-iv-:-dde
Incursion dans le piratage sans malware, Partie IV : DDE
Pour ce nouveau billet, j’étais prêt à me lancer dans un scénario d’attaque sans malware plus complexe se déroulant en plusieurs étapes et persistant. Puis je suis tombé sur cette...
guide-de-portée-des-variables-dans-powershell-:-utilisation-de-la-portée-dans-les-scripts-et-les-modules
Guide de portée des variables dans PowerShell : Utilisation de la portée dans les scripts et les modules
La portée des variables dans PowerShell peut être source de confusion lors de l'écriture de scripts et de fonctions. Cet article traite des portées ou étendues (« scopes ») PowerShell en relation avec les scripts et les modules.
varonis-mentionné-par-forrester-pour-ses-fonctions-de-classification-des-données
Varonis mentionné par Forrester pour ses fonctions de classification des données
Lorsque j’ai voulu assurer ma maison et son contenu, je me souviens avoir eu à remplir un formulaire qui m’obligeait à cataloguer et à évaluer tous les biens importants, de...