Tag: wireless
Karmetasploit
by admin on Jan.07, 2010, under Hacking, Linux, Sicurezza, Tools
È stato ripetutamente osservato che i clients wireless costituiscono delle facili vittime di potenziali attacchi a causa del continuo probing che essi effettuano alla ricerca delle reti wireless presenti nella loro PNL (preferred network list). (continue reading…)
Comuni vulnerabilità DOS delle reti wireless
by admin on Dec.06, 2009, under Hacking, Linux, Sicurezza
Le reti lan wireless sono molto più vulnerabili ad attacchi di tipo denial-of-service (DoS) di quanto lo siano le reti cablate.
Il MAC layer 802.11 incorpora funzionalità indirizzate ad affrontare problematiche specifiche delle reti wireless. In particolare, ciò comprende la capacità di rilevare networks, aggregarvisi e abbandonarle, e di coordinare l’accesso al mezzo radio.
Alcune vulnerabilità derivano direttamente da tali funzionalità e possono essere in linea generale catalogate in due categorie: “identity” e “media-access control”. (continue reading…)
Intercettazione ambientale bluetooth
by admin on Nov.26, 2009, under Hacking, Linux, Sicurezza
Ancora minore che nel caso delle reti wi-fi, se possibile, è la percezione, da parte degli utenti, della vulnerabilità della tecnologia bluetooth che più o meno silenziosamente li pervade, o, per essere più precisi, della “povera” implementazione che ne viene fatta da parte dei produttori. (continue reading…)
Tool migliorato per generare i files .kml
by admin on Oct.21, 2009, under Hacking, Linux, Tools
Per chi fosse interessato all’argomento wardriving, ho scritto un nuovo tool che genera un file .kml importabile in GoogleEarth, a partire da un log kismet in formato xml.
Il tool (uno script php, data la facilità con cui la libreria simple_xml gestisce il formato di partenza) genera ora un output aderente alle ultime specifiche kml (2.2), e si aspetta come argomento il pathname di un valido logfile xml prodotto da kismet, tipo:
# xml2kml /var/log/kismet/Kismet-Oct-11-2009-1.xml
Si attende anche che siano disponibili, su un web server locale, tre differenti icone per rappresentare in maniera differente gli accesspoints wireless completamente sprotetti da quelli protetti solo wep, e da quelli protetti wpa/wpa2.
Il file di output è /tmp/kismet.kml.
Script ed icone sono scaricabili.
Wardriving parte 2: da gpsmap a googleearth
by admin on Oct.14, 2009, under Hacking, Linux, Tools
Una volta raccolte, le informazioni relative alla attività di wardriving sono disponibili per successive elaborazioni, innanzitutto il mappaggio topografico, nell’ambito del quale sicuramente si distinguono per efficacia ed impatto visivo, le mappe di GoogleMap e GoogleEarth.
Il programma gpsmap, fornito insieme con kismet, riesce autonomamente a creare ottime mappe di networks wireless, tracciandone ad esempio le circonferenze relative alla potenza del segnale emesso, come nell’esempio seguente:
# gpsmap -t -r -R 50 -n 1 -D -S 7 -o gpsmap.png Kismet-Oct-02-2009-1.gps
Reading AP manufacturer data and defaults from //etc/kismet/ap_manuf
Reading client manufacturer data and defaults from //etc/kismet/client_manuf
NOTICE: Reading cached data for Kismet-Oct-02-2009-1.gps
Processing 5938 sample points.
Map image scale: 8600
Minimum Corner (lat/lon): 46.133003 x 12.180598
Maximum Corner (lat/lon): 46.154026 x 12.230023
Map center (lat/lon): 46.143515 x 12.205311
Loading map into Imagemagick structures.
Converting map to greyscale.
Calculating network coordinates and statistics...
Processing 401 raw networks.
Assigning network colors...
Plotting 401 networks...
Drawing track coordinates, width: 3...
Calculating and drawing network circles...

Il principale registro della attività di kismet è un file xml, contenente appunto tutte le informazioni sulle networks wireless rilevate, inclusi il loro SSID, il tipo di protezione, la velocità e la loro posizione geografica via gpsd.
E’ piuttosto semplice comporre uno script per effettuare il parsing del logfile e generare uno specifico KML file da usarsi con Google Earth.
Ad esempio in php, grazie alla libreria simplexml:
<?php
<?php
$myFile = "/var/www/tmp/kismet.kml";
$fh_out = fopen($myFile, 'w');
fwrite($fh_out, "<?xml version="1.0" encoding="UTF-8"?>"."n");
fwrite($fh_out, "<kml xmlns="http://earth.google.com/kml/2.0">"."n");
fwrite($fh_out, "<Folder>"."n");
fwrite($fh_out, "<name>Kismet Wireless Scan</name>"."n");
fwrite($fh_out, "<visibility>1</visibility>"."n");
$xml_file=$HTTP_GET_VARS[file];
$xml = simplexml_load_file($xml_file);
foreach ($xml->{’wireless-network’} as $wnet) {
. $ssid = $wnet->SSID;
. $bssid = substr($wnet->BSSID,0,17);
. $enc = $wnet->encryption;
. $lat = $wnet->{’gps-info’}->{’max-lat’};
. $lon = $wnet->{’gps-info’}->{’max-lon’};
. $chan = $wnet->channel;
. $maxrate = $wnet->maxrate;
. fwrite($fh_out, “n”);
. fwrite($fh_out, “<Placemark>”.”n”);
. fwrite($fh_out, ” <name>$ssid</name>”.”n”);
. fwrite($fh_out, ” <description><![CDATA[
. <p style="font-size:10pt;font-family:monospace;">$lon, $lat</p>
. <ul>
. <li> BSSID : $bssid </li>
. <li> Channel : $chan </li>
. <li> Max Rate: $maxrate </li>
. <li> Encrypt : $enc </li>
. </ul>
. ]]></description>”.”n”);
. fwrite($fh_out, ” <View>”.”n”);
. fwrite($fh_out, ” <longitude>$gpslon</longitude>”.”n”);
. fwrite($fh_out, ” <latitude>$gpslat</latitude>”.”n”);
. fwrite($fh_out, ” </View>”.”n”);
. fwrite($fh_out, ” <visibility>1</visibility>”.”n”);
. fwrite($fh_out, ” <styleUrl>root://styleMaps#default?iconId=0×307</styleUrl>”.”n”);
. fwrite($fh_out, ” <Point><coordinates>$lon,$lat,45</coordinates></Point>”.”n”);
. fwrite($fh_out, ” </Placemark>”.”n”);
}
fwrite($fh_out, “</Folder>”.”n”);
fwrite($fh_out, “</kml>”.”n”);
fclose($fh_out);
?>

Wardriving parte 1: kismet, gpsd + Royaltek RCD-1100
by admin on Oct.07, 2009, under Hacking, Sicurezza, Tools
Il wardriving è un’attività che consiste nell’intercettare e mappare reti Wi-Fi tramite le loro coordinate geografiche utilizzando un laptop dotato di apposito software e di un ricevitore GPS.
Il wardriving in sé stesso non è una attività illegale, non comportando alcun accesso alle reti individuate, ed anzi, nei paesi di riferimento per quanto riguarda le tecnologie informatiche, è spesso praticato come business basato sulla ricompensa per la segnalazione delle eventuali vulnerabilità scoperte ai diretti interessati. Talvolta viene addirittura praticato come servizio sociale, senza scopo di lucro.
In ogni caso è una attività molto interessante a livello di indagine per chi si occupa di sicurezza, anche se non proprio confortante, dato l’impressionante numero di reti mal protette o per nulla protette che è possibile rilevare.
Linux costituisce una piattaforma ideale per tale attività, che può contare, a livello software su una coppia di componenti fondamentali:
* gpsd
* kismet
packages entrambi installabili con apt-get:
# apt-get install gpsd
# apt-get install kismet
Unico prerequisito hardware è, a parte ovviamente il portatile con interfaccia wifi impostabile in modalità monitor, un rilevatore GPS dotato di interfaccia bluetooth oppure usb/seriale.
Si può utilizzare un navigatore di tipo Garmin, TomTom o Magellan, ma si può anche usare qualcosa di veramente economico, come ho fatto ad esempio io, acquistando per meno di 30 Euro un rilevatore GPS bluetooth RCD-1100 della RoyalTek.
E’ un apparecchietto molto comodo, in quanto può ricevere direttamente l’alimentazione dal portatile tramite la porta miniUSB, e comunicare invece tramite l’interfaccia bluetooth.
Il laptop deve essere logicamente dotato in tal caso del supporto bluetooth e di una interfaccia specifica, tipo un semplice dongle:
# hcitool dev
Devices:
hci0 00:14:35:00:14:AC
Se in tal modo si è avuta conferma del corretto riconoscimento del dongle, per scoprire l’indirizzo fisico del rilevatore:
# hcitool scan
Scanning ...
00:0A:3A:2D:45:04 BlueGPS 2D4504
Per scoprire quali servizi metta a disposizione e determinarne le caratteristiche:
# sdptool browse 00:0A:3A:2D:45:04
se il comando precedente non dovesse generare alcun output si può ricorrere a:
# sdptool records 00:0A:3A:2D:45:04
Service Name: Dev B
Service RecHandle: 0x10001
Service Class ID List:
"Serial Port" (0x1101)
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 1
Language Base Attr List:
code_ISO639: 0x656e
encoding: 0x6a
base_offset: 0x100
in tal caso il canale 1 è quello che ci interessa:
# vi /etc/bluetooth/rfcomm.conf
rfcomm0 {
bind yes;
device 00:0A:3A:2D:45:04;
channel 1;
}
Una volta effettuato il pairing con il rilevatore col classico codice “0000″, si può avviare il daemon gpsd con:
# gpsd /dev/rfcomm0
e verificare la regolarità della comunicazione fra i due elementi con:
# telnet localhost 2947
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
r
GPSD,R=1
$GPGGA,092605.000,4607.9862,N,01211.6053,E,1,06,1.7,402.4,M,46.9,M,,0000*5E
$GPGSA,A,3,09,27,29,26,04,02,,,,,,,2.5,1.7,1.8*3F
$GPGSV,3,1,10,12,78,333,21,09,57,130,35,27,49,132,42,26,48,262,21*7A
$GPGSV,3,2,10,30,47,273,20,14,37,298,,04,22,081,37,02,21,115,38*79
$GPGSV,3,3,10,29,13,206,37,17,06,040,*75
$GPRMC,092605.000,A,4607.9862,N,01211.6053,E,0.00,328.98,071009,,,A*62
r
....
GPSD,R=0
A questo punto, tutto quello che resta da fare per essere operativi è configurare /etc/kismet/kismet.conf per avvalersi dei servizi di gpsd:
[...]
gps=true
[...]
Da ora in avanti, tutti gli AP rilevati da kismet verranno registrati con le relative coordinate geografiche, rendendo possibile la loro localizzazione ad esempio sulle mappe di GoogleMaps o di GoogleEarth, argomento del prossimo post.
Velocizzare il cracking WPA/WPA2 con Aerolib
by admin on Jun.30, 2009, under Hacking, Linux, Networking, Sicurezza
Il cracking di una chiave WPA/WPA2 può contare solamente su di un attacco di tipo brute-force, o meglio, basato su dizionario. L’efficacia di un simile approccio è perciò direttamente proporzionale alle capacità computazionali a disposizione.
Airolib-ng può servire per creare un database contenente al proprio interno le password precomputate con l’ESSID di una particolare rete, rendendo in tal modo la fase di verifica, da parte di Aircrack-ng, molto più veloce. (continue reading…)
Asterisk e chan_mobile
by admin on Jun.24, 2009, under Asterisk, Linux, Telefonia
In questo post voglio parlare di una tecnologia che nella mia attività di system integrator avevo gia incontrato e sperimentato un paio di anni fa. Avendola personalmente trovata ancora immatura l’avevo temporaneamente accantonata, ripromettendomi di rivalutarla una volta che avesse subito qualche evoluzione.
Ritengo che ora la cosa si sia verificata, per cui mantengo l’impegno approfittandone per accennare ad un impiego secondo me molto interessante di questa tecnologia nell’ambito della comunicazione mobile, avendo a disposizione solamente un laptop ed un auricolare bluetooth. (continue reading…)
Un caffelatte in grado di violare il WEP
by admin on Jun.22, 2009, under Hacking, Linux, Networking, Sicurezza
Ho affermato in un post precedente che l’impossibilità di controllare la locazione dalla quale un client si può connettere ad un accesspoint costituisce il nocciolo della questione sicurezza relativamente alle reti wireless.
Questa affermazione si basa sul fatto che gli attacchi di più recente concezione, anziché focalizzarsi sul traffico catturato a partire da reti attive, si sono rivolti a clients off-site, cioè non connessi ad alcuna rete. In tal modo diventa possibile attaccare laptops e telefoni Wi-Fi in luoghi pubblici e frequentati come aeroporti e hotels. (continue reading…)
WPA/WPA2 cracking
by admin on Jun.20, 2009, under Hacking, Linux, Networking, Sicurezza
Wi-Fi Protected Access (WPA), e successivamente WPA2, che si differenzia dal primo per il fatto di utilizzare un algoritmo di cifratura che deriva dall’AES, anziché da RC4, sono stati creati per ovviare ai problemi di sicurezza che affliggono WEP, la cui principale fragilità consiste nel fatto che la chiave non è “hashed”, e viene concatenata all’ IV, consentendo una compromissione della rete che può essere al limite completamente passiva. (continue reading…)


