Ricerca tra la vecchia roba

Security through obscurity, la saga continua…

Posted: settembre 18th, 2010 | Author: | Filed under: Hack, link, networking, privacy | Commenti disabilitati

in questo articolo descriveremo il procedimento con la quale l’algoritmo Telsey genera la wpa di default impostata da FASTWEB

viaTelsey FASTWEB: Full Disclosure « White Hats Crew.


Il web e la privacy

Posted: agosto 24th, 2010 | Author: | Filed under: firefox, google, networking, personal project, privacy, web | 4 Comments »

Mentre c’è chi declama che il web è morto e chi fa notare che i grafici magari bisogna farli non in maniera tale da sviare il lettore, il pueblo continua ad usare imperterrito questo mezzo per gli scopi più disparati (io per esempio ho scoperto giusto oggi quali sono le taglie per le mutande). Siccome questo strumento ormai accompagna tutti gli aspetti della nostra vita e ne veicola gli interessi indipendentemente dal tipo (sessuale, alimentare, tecnico) sarebbe ottimo da parte delle persone essere consapevoli di quali informazioni si veicolino e vengano “perse” durante la navigazione.

Prima di tutto comprendiamo un pochino meglio come funziona il mezzo: il “web”, inteso come “posto dove trovi i siti web”,  “le pagine che trovo con le ricerche con google” nasce al CERN nel 1991 da parte di Tim Berners-Lee che per suo scrupolo cerca di mettere a disposizione uno strumento per coordinare i lavori dei vari gruppi di ricerca e per fare ciò si inventa un protocollo, cioé un “linguaggio di comunicazione” predisposto per questo scopo denominato HTTP (capito adesso perché bisogna scrivere http:// davanti al nome del sito?); questo è un protocollo di testo con alcune direttive molto semplici: quando viene scritto un indirizzo web nella barra degli indirizzi, per esempio http://noblogs.org, il browser non fa altro che eseguire una richiesta del tipo

GET / HTTP/1.1
Host: noblogs.org

al server che risponde all’indirizzo noblogs.org alla porta 80; in questo caso specifico la risposta sarà

HTTP/1.1 200 OK
Server: nginx/0.7.67
Date: Sat, 21 Aug 2010 14:44:04 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: keep-alive
Keep-Alive: timeout=20
Vary: Accept-Encoding
Vary: Cookie,Accept-Encoding
X-Pingback: http://noblogs.org/xmlrpc.php
Set-Cookie: bp-message=deleted; expires=Fri, 21-Aug-2009 14:44:03 GMT; path=/
Set-Cookie: bp-message-type=deleted; expires=Fri, 21-Aug-2009 14:44:03 GMT; path=/
e8b

<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>
<html xmlns=”http://www.w3.org/1999/xhtml” dir=”ltr” lang=”it-IT”>
<head profile=”http://gmpg.org/xfn/11″>
<meta http-equiv=”Content-Type” content=”text/html; charset=UTF-8″ />

<title>Noblogs | Home</title>
….
</body>

</html>
<!– Dynamic page generated in 0.276 seconds. –>
<!– Cached page generated by WP-Super-Cache on 2010-08-21 14:44:04 –>

(Potete provare voi ad eseguire una richiesta HTTP come questa usando un qualsiasi tool capace di instaurare un connessione TCP/IP, come per esempio netcat). Una volta che il browser recupera la pagina HTML, la parsa ed eventualmente richiama altre risorse di cui necessita questo documento (per esempio immagini, video embedded etc…) magari su server diversi rispetto a quello in cui risiedeva la pagina (i video di Youtube per esempio). Nel protocollo HTTP esiste la possibilità, attraverso l’header Referrer, di indicare da quale pagina si necessita quella specifica risorsa aumentando di fatto la complessità della struttura a grafo della rete: infatti da un capo della rete, quella che gestisce la pagina inizialmente richiesta, conosce certamente il nostro IP (a meno di non usare un proxy) e può certamente ricostruire localmente le nostre visite alle pagine ma si ferma lì, non può sapere quali pagine sono state visitatate per esempio su twitter o facebook e tra loro; tramite referrer invece questo è possibile, non dal sito “originale” ma da alcune presenze della rete note come advertiser: provate a lanciare da terminale il seguente comando (usare netcat associato alla versione di nmap 5.0)

$ ncat -vvv -l –proxy-type http 2>&1 | grep -i –color google

ed impostare il vostro browser di fiducia ad usare come proxy localhost alla porta 31337 e vedrete quanti siti rimandando a pagine che contengono google. Se controllaste trovereste delle linee del tipo

DEBUG: Request-Line: GET http://pagead2.googlesyndication.com/pagead/show_ads.js
HTTP/1.1
DEBUG: Header:
Host: pagead2.googlesyndication.com
User-Agent: Mozilla/5.0 (X11; U; Linux i686; it; rv:1.9.2) Gecko/20100115 Firefox/3.6
Accept: */*
Accept-Language: it-it,it;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Proxy-Connection: keep-alive
Referer: http://insoggettiva.blogspot.com/2010/01/scoop.html

il che significa che viene richiamato uno script javascript dal sito di advertising di google che si porta dietro l’informazione relativa alla pagina visitata. Se faceste una statistica di quante pagine contengono una simile direttiva vi accorgereste che sono una buona percentuale, tale da permettere la ricostruzione delle proprie abitudini, senza contare che nello specifico bigG possiede anche informazioni relative ai servizi gratuiti forniti da essa che utilizzate (una per tutte la mail). Senza contare che anche senza referrer si hanno comunque i cookies che fanno la loro parte ma questa è un’altra storia (ma neanche troppo). Poi ovviamente non è solo google che lo fa, ci sono altri importanti competitor là fuori a cui fare attenzione (se notate ci sono pagine che hanno all’interno un widget di facebook con indicato il fatto che tu saresti il primo tra i tuoi amici a like-are quella risorsa, come pensate che facciano;-)).

Perché farvi questo pippone? semplice, nell’intenzione di imparare a programmare estensioni per firefox ho sfruttato l’occasione per avere qualcosa anche di “utile”, cioé scrivere un plugin che ricostruisse il grafo della nostra navigazione web e così è nato Firefox (Web) graph extension (nome un po’ del cazzo lo ammetto). Una volta installato registra al suo interno, per ogni pagina, le risorse che quella pagina richiede al browser attraverso connessioni; quando siamo interessati a vedere visualizzati questi dati, basta un click con il destro e dal menù contestuale e selezionare la voce “Show loaded resources” e una nuova pagina verrà aperta con questi dati in formato JSON. A questo punto basta utilizzare una mia pagina creata apposta in cui inserire queste informazioni e farsi generare il grafo. La pagina utilizza un toolkit di visualizzazione scritto in javascript chiamato protovis che pare molto potente e permette di utilizzare gli stessi dati ed ottenere rappresentazioni diverse del grafo in esame, tipo matrice di adiacenza o altro. I nodi possono essere draggati con il mouse e possono essere effettuati zoom e spostamenti di tutto l’insieme

N.B: i dati inseriti sono elaborati a lato client quindi non temete per la vostra privacy (eventualente potete salvarvi la pagina in locale e trasformarla in una bella applicazione HTML5).

N.B2: nel caso in cui il grafo sia abbastanza intricato, l’algoritmo di ordinamento può metterci un bel po’ di risorse per arrivare ad una configurazione guardabile e in certi casi addirittura si possono avere casi di instabilità in cui il grafo esplode, prossimamente avendone il tempo cercherò di aggiungere la possibilità di visualizzare solo nodi con un tot di link uscenti.

Un esempio di quello che potete ottenere è questa immagine qui sotto

da cui è possibile vedere come al (quasi) centro ci sta un bel google-analystics.com che è così linkato a gran parte dei siti visitati.

Se qualcuno è interessato a provarla andate nel repository gitorious del progetto e cliccate sul link “download master as tar.gz“, una volta scompattato dovete ricompattarlo come zip ed aprirlo con firefox. Perché non faccio una estensione bella e pronta? semplice: primo perché non c’ho voglia :-P secondo per non abituarvi ad installare tutto quello che trovare around the web ma magari controllare, visionando il codice (che in questo caso è bello visibile), la sicurezza dello stesso in quanto le estensioni firefox sono un  po’ una merda quanto a sicurezza.


Sicurezza nell’etere

Posted: luglio 19th, 2010 | Author: | Filed under: Hack, networking | 2 Comments »

Non so se qualcuno di voi è avvezzo al concetto di security through obscurity, cioé l’idea che se solo io conosco la combinazione di un certo sistema di sicurezza allora, indipendentemente dal sistema, sono al sicuro (come per esempio nascondere la chiave di riserva di casa sotto al tappetino dell’ingresso). Bene, per chi non fosse avvezzo sappia che è un sistema che si rivela abbastanza fatale, più che altro perché spesso viene venduto assieme a qualche tecnologia convincendo i people che si è al sicuro quando in realtà gente più furba può irrompere nella vostra tranquillità.

Un caso da manuale è la questione sollevata da questi studi al riguardo della randomness delle chiavi di default dei router Fastweb a Alice: in pratica semplicemente conoscendo il nome della rete di un router Fastweb (grazie a dio non di tutti i modelli) è possibile ricavare quale sia la password di default WPA (per un router Alice serve anche il seriale ma non cambia il discorso). Cosa vuol dire questo? che se avete uno di questi router allora può succedere che qualcuno vi si colleghi a vostra insaputa, oppure che qualcuno sniffi il traffico in attesa di qualche informazione di interesse (o magari vi si colleghi al router permettendo qualche bell’attacco). Tra l’altro, a proposito di sniffing, pare che un locale aperto di estate in zona da me abbia la reta wifi completamente aperta, con in chiaro anche la pagina di autenticazione, in 2 ore di pomeriggio il prode wireshark mi ha permesso di dumpare 200MB di traffico… non so se c’era più facebook o porno…

Che poi in realtà è un epoca difficile, tutti quelli che conosco e che spesso vivono da soli e con pochi soldi, si collegano spesso a reti aperte situate nei paraggi senza la minima preoccupazione per quanto riguarda la privacy (come è aperta per te è aperta per gli altri e quindi chiunque può vedere le sessioni di chat per esempio) , però a parte questo già da anni si ipotizza un attacco particolare in cui un attaccante malizioso impersona un access point (nella versione più malefica ne impersona uno di quelli che vengono ricercati da eventuali dispositivi che cercano la connessione) ed una volta collegata ridireziona tutti il traffico impersonando magari il vostro server di posta o le credenziali del servizio di chat a cui il vostro computer cerca di collegarsi in automatico: ecco a voi l’attacco KARMA(+Metasploit).

Come ultimo esempio di security by oscurity, pare che il protocollo crittografico di skype sia stato svelato, sarà vero?


Chiavetta Fastweb key su linux

Posted: novembre 12th, 2009 | Author: | Filed under: Hack, Installation party, Life, linux, networking | 1 Comment »

Ultimamente mi ritrovo a dover mettere sempre mani sulle chiavette internet e questa volta è toccato a quella fasweb; pensate che sti pazzi ti fanno l’abbonamento e poi ti danno anche una chiavetta con 100 ore…

Il problema è che come al solito la chiavetta ha la funzionalità di switchare fra storage e modem, ma usb_modeswitch non ha questo device fra quelli funzionali e per questo ci sono io; il procedimento l’ho eseguito su una debian, ma dovrebbe funzionare su qualunque sistema linux.

Prima di tutto dovete avere installato usb_modeswitch ed usare i seguenti parametri

DefaultVendor=  0x1c9e
DefaultProduct= 0xf000

TargetVendor=   0x1c9e
TargetProduct=  0x9603

MessageContent="5553424340bc24828000000080000606f50402527000000000000000000000"

Verificate con lsusb che effettivamente avvenga lo switch. Seguentemente dovete compilare e modificare (in ordine inverso) il modulo option che si trova in drivers/usb/serial/ nel tree dei sorgenti del kernel. Per eventuali ulteriori istruzioni leggetevi la guida definitiva per la chiavetta ONDA dove basta cambiare vendor id e product id in maniera adeguata.


5 anni di firefox

Posted: novembre 11th, 2009 | Author: | Filed under: networking, Video | Commenti disabilitati

Sono passati 5 anni da quando nel mondo del browser si è affacciato il panda rosso chiamato comunemente mozilla-firefox; l’interesse verso questo evento è più storico in quanto riporta alla mente la filogenesi di questo prodotto.

Attualmente  è sviluppata la versione 3.7 (che è una alfa) e come stabile si ha la 3.5.qualcosa che ha finalmente usato come standard il tag <video>; se risaliamo alla storia delle versioni firefox (3.0, 2.0, 1.5, 1.0)arriviamo al prodotto originale da cui si è originato tutto: il browser Netscape, ottimo esempio di browser sviluppato dalla omonima azienda, ispirò lo sviluppo di firefox (che in origine doveva chiamarsi phoenix, proprio per simboleggiare la rinascita di Netscape, ma per problemi di branding non poteva esserlo).

Risalendo indietro nella storia, la società che sviluppò Netscape fu fondata da uno degli sviluppatori di Camino, il primo web browser ad essere realmente diffuso, in quanto usato quando internet si sviluppò fuori dagli ambiti accademici, proprio quella internet che aveva usato come browser  WorldWideWeb, il primo browser in assoluto sviluppato da Tim Berners Lee, il creatore del web al CERN. A questo punto la storia finisce, a meno di voler tornare indietro fino alla guerra fredda…

Dopo tutto questo guardatevi il video.


Google wave

Posted: ottobre 18th, 2009 | Author: | Filed under: google, networking, Video | 3 Comments »

Mi sono visto il video di presentazione di google wave, un nuovo servizio/tecnologia messa a disposizione da bigG di cui avevo sentito parlare ultimamente ma che in tutta sincerità non avevo capito cosa fosse.

Se volete farvene un’idea c’è il video linkato sopra, è un po’ lunghetto (circa 1h20m), ma sarebbero da vedere almeno i primi 20 minuti per farsi una idea abbastanza chiara di cosa si tratta: in pratica è un servizio che permette di unire assieme chat, mailing list e wiki; il concetto che sta dietro il tutto è quello di wave, di flusso di "comunicazione": due o più partecipanti iniziano una wave che può essere modificata in toto dai suoi partecipanti (in questo senso è una wiki) oppure può essere discussa parte per parte come se fosse una mail. Il bello è che ogni modifica appare in real time mentre avviene (almeno questo viene mostrato nella presentazione).

L’idea secondo me spacca (yo), forse è eccessivamente potente per il popolo della rete, sembra più uno strumento per gente che sulla rete ci lavora (io spesso mi trovo in difficoltà a far capire/usare wiki, mailing list e cose simili per discutere di qualche progetto); la figata è che il protocollo è libero e quelli di google spingono affinchè ognuno crei il proprio servizo wave (loro lo chiamano federation). Vedremo. Ho fatto richiesta per avere un invito che spero alleghi la possibilità di invitare qualcuno così da provarlo.

Sempre in ambito della rete, se volete provare leultimissime versioni di firefox (e altra roba mozilla of course), esiste l’FTP con le night builds a questo indirizzo (non ho ancora ben capito come scaricare l’ultima versione).

Piccolo accorgimento: potete usare un profilo di test così da non smerdare la sessione che usate di solito (o magari crearvi dei profili personalizzati con le estensioni per lo sviluppo web solo quando usate il browser per programmare ;-))

$ cd /path/to/firefox/folder/
$ LD_LIBRARY_PATH=.  ./firefox-bin -no-remote -P test

Se non avete mai usato un profilo di nome test, si aprirà una dialog per impostarlo e potete partire con il vostro firefox.


Tor proxy test: Internal error

Posted: agosto 11th, 2009 | Author: | Filed under: linux, networking | Commenti disabilitati

Per un po’ non sono più riuscito ad usare Tor+privoxya causa (col senno di poi) aggiornamento; se con il tor button di firefox provavo a fare il test per un corretto funzionamento ottenevo solo un bizzarro "Tor proxy test: Internal error"… molto indicativo devo dire.

Per risolvere il problema ho prima di tutto osservato che cazzo succedeva a livello listening

# lsof -i :8118
COMMAND   PID    USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
privoxy 14373 privoxy    1u  IPv6 213611      0t0  TCP localhost:8118 (LISTEN)

coadiuvato da qualcuno che aveva il mio stesso problema ho capito che in pratica ascoltava solo ipv6; per risolvere la issue ho dovuto cambiare nella riga in /etc/privoxy/config da localhost a 127.0.0.1 altrimenti veniva appunto risolta in ipv6; adesso ottengo

# lsof -i :8118
COMMAND   PID    USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
privoxy 15595 privoxy    1u  IPv4 216976      0t0  TCP localhost:8118 (LISTEN)

per la gioia di grandi e piccini.Posso girare su 4chan senza problemi ;-)

 

great lord and TCP/IP.

 


Botnet

Posted: maggio 26th, 2009 | Author: | Filed under: Approfondimenti, Hack, Letture, networking | Commenti disabilitati

 Forse non lo sapete, ma ci sono una milionata di computer che sono infetti dal cosidetto worm conficker (arrivato alla "versione" C[2]) che pare un capolavoro di programmazione ucraina e che disporrebbe di una potenza di attacco pari a 17Gbps[1]; analogamente ai mitici virus anni ’80 che si trasmettono tramite floppy, questi mostriciattoli sono capaci di mirabilezze tecniche quali l’aggiornamento automatico p2p, l’uso della cosidetta tecnica del domain flux per il loro controllo (in pratica genera una lista di domini da cui il worm accetta ordini i quali variano con cadenza temporale ben definita) e grazie a ciò sono capaci di generare quel gran flusso di spam che mi rende contento quando apro la posta la mattina. Che sia il risultato di anni di copie pirata di Windows e incuranza per gli aggiornamenti?

Godetevi questa mappa che mostra la diffusione del sopra citato software nel mondo (notare l’italia).

 

Diffusione di conficker.

 

[1] Your botnet is my botnet: http://www.cs.ucsb.edu/~seclab/projects/torpig/torpig.pdf
[2] Know your enemy: containing Conficker: http://www.honeynet.org/files/KYE-Conficker.pdf


Ssh e IdentityFile

Posted: aprile 24th, 2009 | Author: | Filed under: Hack, networking, ssh | 1 Comment »

ssh ha una bella feature che permette di accedere od eseguire comandi remoti senza dover digitare effettivamente la password di accesso, utilizzando la chiave pubblica che si indica nel file authorized_keys nel lato remoto. È possibile avere associate diverse identità con diverse chiavi, basta crearne di nuove con ssh-keygen e posizionarle in ~/.ssh/; per un facile recupero è consigliabile scrivere una sezione del file ~/.ssh/config del tipo

Host whatever
    User packz
    HostName dominio.paura.net
    Port 2606
    IdentityFile /home/packz/.ssh/<chiave privata scelta>
    IdentitiesOnly yes
    #LogLevel DEBUG3

Quindi potete usare il seguente comando

$ ssh whatever

al posto di 

$ ssh -p 2606 packz@dominio.paura.net -i  /home/packz/.ssh/<chiave privata scelta>

È importante la sezione  "IdentitiesOnly yes" in quanto se presente in authorized_keys anche un’altra chiave,vi esegue l’azione configurata con essa (è uno sclero da debuggare voi sappiatelo). È fondamentale per l’utilizzo con strumenti quali gitosis e/o gitorious.


Sentenze

Posted: aprile 18th, 2009 | Author: | Filed under: Life, networking, Politica | Commenti disabilitati

Tutto è iniziato nel 1972 con la invenzione del floppy disc da parte dell’IBM; esso permetteva di creare per la prima volta reti di scambio di materiale informatico, le cosidette sneakernet, usate ancora oggi nell’ottica di un rapporto latency/throughput invidiabile (c’è gente che spedisce hard disk per posta) ma che ai tempi venivano ostacolati dalle industrie per paura di diffusione illegale di contenuti: don’t copy that floppy è (forse) la prima campagna antipirateria e non può non farci sorridere.

In maniera uguale, forse fra qualche decina di anni, ci farà sorridere la sentenza che ha colpito i baldi giovani di piratebay: condannati ad un anno di reclusione e a pagare un milione di euro a testa in quanto accusati di "assisting in making copyright content available"; i nostri non si sono demoralizzati e hanno risposto con "But as in all good movies, the heroes lose in the beginning but have an
epic victory in the end anyhow. That’s the only thing hollywood ever
taught us
".

 

Logo pirate party.

 

P.S: in an amazing show of generosity from a section of society labeled by
the music industry as ‘thieves’, more than 4100 Euros worth of flowers,
chocolate and gifts have been sent
.