-
Notifications
You must be signed in to change notification settings - Fork 125
/
Copy pathpureblood-min.py
18 lines (18 loc) · 46.5 KB
/
pureblood-min.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#!/usr/bin/python
# -*- coding: utf-8 -*-
"""
Script Created By:
Cr4sHCoD3
Page:
https://github.com/cr4shcod3
https://github.com/cr4shcod3/pureblood
FB Page:
https://facebook.com/cr4shcod3.py
Copyrights:
Cr4sHCoD3 2018
MIT LICENSE
Special Mentions:
PureHackers PH
Blood Security Hackers
"""
exec("""\n\n\n\n\nimport os\nimport sys\nimport platform\nimport time\nimport datetime\nimport re\nimport threading\nimport socket\nimport webbrowser\n\n\n\ntry:\n import colorama\n colorama.init()\nexcept:\n print ('[!] - Module (colorama) not installed!')\n\n\n\ntry:\n import requests\n from requests.exceptions import ConnectionError\nexcept:\n print ('[!] - Module (requests) not installed!')\n\n\n\ntry:\n import whois\nexcept:\n print ('[!] - Module (python-whois) not installed!')\n\n\n\ntry:\n import dns.resolver\nexcept:\n print ('[!] - Module (dnspython) not installed!')\n\n\n\ntry:\n from bs4 import BeautifulSoup\nexcept:\n print ('[!] - Module (bs4) not installed!')\n\n\n\n#########################################################################################################################################################\n# GLOBAL\n\n## Color\nreset = '\\033[0m'\nbold = '\\033[1m'\nunderline = '\\033[4m'\n### Fore\nblack = '\\033[90m'; red = '\\033[91m'; green = '\\033[92m'; yellow = '\\033[93m'; blue = '\\033[94m'; magenta = '\\033[95m'; cyan = '\\033[96m'; white = '\\033[97m'\n### Background\nbg_black = '\\033[90m'; bg_red = '\\033[91m'; bg_green = '\\033[92m'; bg_yellow = '\\033[93m'; bg_blue = '\\033[94m'; bg_magenta = '\\033[95m'; bg_cyan = '\\033[96m'; bg_white = '\\033[97m'\n\n## Configuration\nif platform.system() == 'Windows':\n from ctypes import windll, create_string_buffer\n h = windll.kernel32.GetStdHandle(-12)\n csbi = create_string_buffer(22)\n res = windll.kernel32.GetConsoleScreenBufferInfo(h, csbi)\n if res:\n import struct\n (bufx, bufy, curx, cury, wattr,\n left, top, right, bottom, maxx, maxy) = struct.unpack("hhhhHhhhhhh", csbi.raw)\n sizex = right - left + 1\n sizey = bottom - top + 1\n else:\n sizex, sizey = 80, 25\nelif platform.system() == 'Linux':\n sizey, sizex = os.popen('stty size', 'r').read().split()\n\n## Date Time\nmonth = datetime.date.today().strftime("%B")\nif datetime.date.today().strftime("%w") == 1 or datetime.date.today().strftime("%w") == '1':\n day = 'Monday'\nelif datetime.date.today().strftime("%w") == 2 or datetime.date.today().strftime("%w") == '2':\n day = 'Tuesay'\nelif datetime.date.today().strftime("%w") == 3 or datetime.date.today().strftime("%w") == '3':\n day = 'Wednesday'\nelif datetime.date.today().strftime("%w") == 4 or datetime.date.today().strftime("%w") == '4':\n day = 'Thursday'\nelif datetime.date.today().strftime("%w") == 5 or datetime.date.today().strftime("%w") == '5':\n day = 'Friday'\nelif datetime.date.today().strftime("%w") == 6 or datetime.date.today().strftime("%w") == '6':\n day = 'Saturday'\nelif datetime.date.today().strftime("%w") == 7 or datetime.date.today().strftime("%w") == '0':\n day = 'Sunday'\nmday = datetime.date.today().strftime("%d")\nyear = datetime.date.today().strftime("%Y")\ncurrent_datetime = datetime.datetime.now()\ncurrent_time = current_datetime.strftime('%I:%M:%S')\n\n## List\nids = [\n 'NONE','A','NS','MD','MF','CNAME','SOA','MB','MG','MR','NULL','WKS','PTR','HINFO','MINFO','MX','TXT','RP','AFSDB','X25','ISDN','RT','NSAP','NSAP-PTR','SIG','KEY','PX','GPOS','AAAA','LOC','NXT','SRV','NAPTR','KX','CERT','A6','DNAME','OPT','APL','DS','SSHFP','IPSECKEY','RRSIG','NSEC','DNSKEY','DHCID','NSEC3','NSEC3PARAM','TLSA','HIP','CDS','CDNSKEY','CSYNC','SPF','UNSPEC','EUI48','EUI64','TKEY','TSIG','IXFR','AXFR','MAILB','MAILA','ANY','URI','CAA','TA','DLV'\n]\nadmin_panel_list = ['/admin.aspx','/admin.asp','/admin.php','/admin/','/administrator/','/moderator/','/webadmin/','/adminarea/','/bb-admin/','/adminLogin/','/admin_area/','/panel-administracion/','/instadmin/','/memberadmin/','/administratorlogin/','/adm/','/admin/account.php','/admin/index.php','/admin/login.php','/admin/admin.php','/admin/account.php','/joomla/administrator','/login.php','/admin_area/admin.php','/admin_area/login.php','/siteadmin/login.php','/siteadmin/index.php','/siteadmin/login.html','/admin/account.html','/admin/index.html','/admin/login.html','/admin/admin.html','/admin_area/index.php','/bb-admin/index.php','/bb-admin/login.php','/bb-admin/admin.php','/admin/home.php','/admin_area/login.html','/admin_area/index.html','/admin/controlpanel.php','/admincp/index.asp','/admincp/login.asp','/admincp/index.html','/admin/account.html','/adminpanel.html','/webadmin.html','webadmin/index.html','/webadmin/admin.html','/webadmin/login.html','/admin/admin_login.html','/admin_login.html','/panel-administracion/login.html','/admin/cp.php','cp.php','/administrator/index.php','/administrator/login.php','/nsw/admin/login.php','/webadmin/login.php','/admin/admin_login.php','/admin_login.php','/administrator/account.php','/administrator.php','/admin_area/admin.html','/pages/admin/admin-login.php','/admin/admin-login.php','/admin-login.php','/bb-admin/index.html','/bb-admin/login.html','/bb-admin/admin.html','/admin/home.html','/modelsearch/login.php','/moderator.php','/moderator/login.php','/moderator/admin.php','/account.php','/pages/admin/admin-login.html','/admin/admin-login.html','/admin-login.html','/controlpanel.php','/admincontrol.php','/admin/adminLogin.html','/adminLogin.html','/admin/adminLogin.html','/home.html','/rcjakar/admin/login.php','/adminarea/index.html','/adminarea/admin.html','/webadmin.php','/webadmin/index.php','/webadmin/admin.php','/admin/controlpanel.html','/admin.html','/admin/cp.html','cp.html','/adminpanel.php','/moderator.html','/administrator/index.html','/administrator/login.html','/user.html','/administrator/account.html','/administrator.html','/login.html','/modelsearch/login.html','/moderator/login.html','/adminarea/login.html','/panel-administracion/index.html','/panel-administracion/admin.html','/modelsearch/index.html','/modelsearch/admin.html','/admincontrol/login.html','/adm/index.html','/adm.html','/moderator/admin.html','/user.php','/account.html','/controlpanel.html','/admincontrol.html','/panel-administracion/login.php','/wp-login.php','/adminLogin.php','/admin/adminLogin.php','/home.php','/adminarea/index.php','/adminarea/admin.php','/adminarea/login.php','/panel-administracion/index.php','/panel-administracion/admin.php','/modelsearch/index.php','/modelsearch/admin.php','/admincontrol/login.php','/adm/admloginuser.php','/admloginuser.php','/admin2.php','/admin2/login.php','/admin2/index.php','adm/index.php','adm.php','affiliate.php','/adm_auth.php ','/memberadmin.php','/administratorlogin.php','/login/admin.asp','/admin/login.asp','/administratorlogin.asp','/login/asmindstrator.asp','/admin/login.aspx','/login/admin.aspx','/administartorlogin.aspx','login/administrator.aspx','/adminlogin.asp','a/dminlogin.aspx','/admin_login.asp','/admin_login.aspx','/adminhome.asp','/adminhome.aspx''/administrator_login.asp','/administrator_login.aspx']\nadmin_panel_valid = []\n\n## Threading Obejct Funtions\ndef TCP_connect(ip, port_number, delay, output):\n TCPsock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)\n TCPsock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)\n TCPsock.settimeout(delay)\n try:\n TCPsock.connect((ip, port_number))\n output[port_number] = 'Open'\n except:\n output[port_number] = ''\n\ndef subdomain_scanner(subdomain, so_200, so_301, so_302, so_403):\n subdomain = 'http://' + subdomain\n try:\n subdomain_scanner_request = requests.get(subdomain)\n subdomain_scanner_code = subdomain_scanner_request.status_code\n if subdomain_scanner_code == 200:\n so_200.append(subdomain)\n elif subdomain_scanner_code == 301:\n so_301.append(subdomain)\n elif subdomain_scanner_code == 302:\n so_302.append(subdomain)\n elif subdomain_scanner_code == 403:\n so_403.append(subdomain)\n except ConnectionError:\n pass\n# END GLOBAL\n#########################################################################################################################################################\n\nclass Generator:\n def deface_page(self, title, shortcut_icon, meta_description, meta_image, logo, hacker_name, message1, message2, groups):\n deface_page_template = '''\n<html>\n<head>\n <title>--=[ Hacked By {0} ]=--</title>\n <meta charset=\\"UTF-8\\">\n <link rel=\\"SHORTCUT ICON\\" href=\\"{1}\\">\n <meta name=\\"Author\\" content=\\"Cr4sHCoD3 | PureHackers x Blood Security Hackers\\"/>\n <meta name=\\"copyright\\" content=\\"PureHackers | Blood Security Hackers\\"/>\n <meta name=\\"description\\" content=\\"{2}.\\"/> <!-- Change this -->\n <meta name=\\"keywords\\" content=\\"Hacked, Pawned, Defaced, Security, PureHackers, Blood Security Hackers, PureBlood, Cr4sHCoD3\\"/> <!-- Change this -->\n <meta property=\\"og:title\\" content=\\"Hacked By {0}\\"/>\n <meta property=\\"og:image\\" content=\\"{3}\\"> <!-- Change this -->\n\n <style>\n {9} url(\\"https://cr4shcod3.github.io/python/pureblood/pureblood.css\\");\n </style>\n</head>\n<body>\n <div class=\\"bg\\">\n <center>\n <img src=\\"{4}\\" class=\\"logo\\"/> <!-- Change This -->\n <h1 class=\\"header glitch\\" data-text=\\"Hacked By {5}\\">Hacked By {5}</h1><br><br>\n <p class=\\"message\\">{6}</p>\n <p class=\\"message\\">{7}</p><br><br>\n <p class=\\"groups\\">Greetings: {8}</p>\n </center>\n </div>\n</body>\n</html>\n'''.format(title, shortcut_icon, meta_description, meta_image, logo, hacker_name, message1, message2, groups, '@import')\n self.deface_page_result = deface_page_template\n return self.deface_page_result\n\n\n\nclass WebPentest:\n def banner_grab(self, bg_url):\n banner_grab_request = requests.get(bg_url)\n banner_grab_result = banner_grab_request.headers\n banner_grab_result = str(banner_grab_result).replace("{'", "").replace("'}", "").replace("': '", ": ").replace("', '", ",\\n")\n self.banner_grab_result = banner_grab_result\n return self.banner_grab_result\n\n def whois(self, w_url):\n whois_query = whois.whois(w_url)\n self.whois_result = whois_query\n return self.whois_result\n\n def traceroute(self, t_hostname):\n traceroute_request = requests.get('https://api.hackertarget.com/mtr/?q=' + t_hostname)\n traceroute_response = traceroute_request.text\n traceroute_final = \"\"\"{0}\"\"\".format(str(traceroute_response))\n self.traceroute_result = traceroute_final\n return self.traceroute_result\n\n def dns_record(self, dr_hostname):\n dns_record_list = []\n for a in ids:\n try:\n answers = dns.resolver.query(dr_hostname, a)\n for rdata in answers:\n a = str(a); rdata = str(rdata)\n dns_record_list.append(str(a + ' : ' + rdata))\n except Exception:\n pass\n self.dns_record_result = dns_record_list\n return self.dns_record_result\n\n def reverse_dns_lookup(self, rdl_ip):\n rdl_ip = rdl_ip + '/24'\n reverse_dns_lookup_request = requests.get('https://api.hackertarget.com/reversedns/?q=' + rdl_ip)\n reverse_dns_lookup_response = reverse_dns_lookup_request.text\n reverse_dns_lookup_final = \"\"\"{0}\"\"\".format(str(reverse_dns_lookup_response))\n self.reverse_ip_lookup_result = reverse_dns_lookup_final\n return self.reverse_ip_lookup_result\n\n def zone_transfer_lookup(self, ztl_hostname):\n zone_transfer_lookup_request = requests.get('https://api.hackertarget.com/zonetransfer/?q=' + ztl_hostname)\n zone_transfer_lookup_response = zone_transfer_lookup_request.text\n zone_transfer_lookup_final = \"\"\"{0}\"\"\".format(str(zone_transfer_lookup_response))\n self.zone_transfer_lookup_result = zone_transfer_lookup_final\n return self.zone_transfer_lookup_result\n\n def port_scan(self, ps_hostname, ps_pend): #https://stackoverflow.com/a/38210023\n port_scan_list = []\n threads = []\n output = {}\n delay = 10\n for i in range(ps_pend + 1):\n t = threading.Thread(target=TCP_connect, args=(ps_hostname, i, delay, output))\n threads.append(t)\n for i in range(ps_pend + 1):\n threads[i].start()\n for i in range(ps_pend + 1):\n threads[i].join()\n for i in range(ps_pend + 1):\n if output[i] == 'Open':\n port_scan_list.append('[+] Port Open - ' + str(i))\n self.port_scan_result = port_scan_list\n return self.port_scan_result\n\n def admin_panel_scan(self, ads_url):\n admin_panel_valid = []\n admin_panel_redirect = []\n ads_urls = []\n r_path = []\n ads_r_urls = []\n robots = ['/robot.txt', '/robots.txt']\n for i in admin_panel_list:\n ads_urls.append(ads_url + i)\n for i in robots:\n r_robots = requests.get(ads_url + i)\n if r_robots.status_code == 200:\n r_robots = r_robots\n else:\n r_robots = ''\n if r_robots == '':\n pass\n else:\n robots = str(r_robots.text)\n for i in robots.split("\\n"):\n if i.startswith('Allow'):\n r_path.append(i.split(': ')[1].split(' ')[0])\n elif i.startswith('Disallow'):\n r_path.append(i.split(': ')[1].split(' ')[0])\n for i in r_path:\n ads_r_urls.append(ads_url + i)\n for i in ads_r_urls:\n ads_r_urls_request = requests.get(i)\n if 'Admin' in ads_r_urls_request.text or 'Login' in ads_r_urls_request.text:\n r_admin_panel = i\n admin_panel_valid.append(i)\n elif 'admin' in ads_r_urls_request.text or 'login' in ads_r_urls_request.text:\n r_admin_panel = i\n admin_panel_valid.append(i)\n elif 'Username' in ads_r_urls_request.text or 'Password' in ads_r_urls_request.text:\n r_admin_panel = i\n admin_panel_valid.append(i)\n elif 'username' in ads_r_urls_request.text or 'password' in ads_r_urls_request.text:\n r_admin_panel = i\n admin_panel_valid.append(i)\n else:\n r_admin_panel = None\n if not admin_panel_valid:\n for i in ads_urls:\n admin_scan_request = requests.get(i)\n if admin_scan_request.status_code == 200:\n admin_panel_valid.append(i)\n break\n elif admin_scan_request.status_code == 403:\n admin_panel_redirect.append(i)\n else:\n pass\n admin_panel_valid = list(set(admin_panel_valid))\n for i in admin_panel_redirect:\n admin_panel_valid.append(i + ' - 403')\n if not admin_panel_valid:\n webbrowser.open_new_tab(google_hacking + 'site:' + ads_url + '+inurl:login | admin | user | cpanel | account | moderator | phpmyadmin | /cp')\n self.admin_panel_scan_result = admin_panel_valid\n return self.admin_panel_scan_result\n\n def subdomain_scan(self, ss_hostname, subdomain_list):\n so_200 = []\n so_301 = []\n so_302 = []\n so_403 = []\n ss_urls = []\n ss_subdomain_list = open(subdomain_list, 'r')\n ss_subdomain_list = ss_subdomain_list.read().splitlines()\n for i in ss_subdomain_list:\n ss_urls.append(i + '.' + ss_hostname)\n for i in ss_urls:\n t = threading.Thread(target=subdomain_scanner, args=(i, so_200, so_301, so_302, so_403,))\n t.start()\n t.join()\n self.ss_200_result = so_200\n self.ss_301_result = so_301\n self.ss_302_result = so_302\n self.ss_403_result = so_403\n return self.ss_200_result, self.ss_301_result, self.ss_302_result, self.ss_403_result\n\n def cms_detect(self, cd_hostname):\n cd_cms = []\n cd_cms_version = []\n cms_detect_request = requests.get('https://whatcms.org/?s=' + cd_hostname)\n cd_soup = BeautifulSoup(cms_detect_request.content, 'html.parser')\n cd_soup_div = cd_soup.find('div', attrs={'class': 'large text-center'})\n for i in cd_soup_div.find_all('span', attrs={'class': 'nowrap'}):\n cd_cms_version.append(i.text)\n cd_cms.append(cd_soup_div.find('a').text)\n if not cd_cms:\n cms_detect_final = '[!] - There\\'s no CMS Detected!'\n else:\n cd_cms_version = cd_cms_version[1]\n cms_detect_final = cd_cms[0].replace('/c/', '')\n cms_detect_final = cms_detect_final + ' - ' + cd_cms_version\n self.cms_detect_result = cms_detect_final\n return self.cms_detect_result\n\n def reverse_ip_lookup(self, ril_hostname):\n reverse_ip_lookup_request = requests.get('https://api.hackertarget.com/reverseiplookup/?q=' + ril_hostname)\n reverse_ip_lookup_response = reverse_ip_lookup_request.text\n reverse_ip_lookup_final = \"\"\"{0}\"\"\".format(str(reverse_ip_lookup_response))\n self.reverse_ip_lookup_result = reverse_ip_lookup_final\n return self.reverse_ip_lookup_result\n\n def subnet_lookup(self, subnet_input):\n subnet_lookup_request = requests.get('https://api.hackertarget.com/subnetcalc/?q=' + subnet_input)\n subnet_lookup_response = subnet_lookup_request.text\n subnet_lookup_final = \"\"\"{0}\"\"\".format(str(subnet_lookup_response))\n self.subnet_lookup_result = subnet_lookup_final\n return self.subnet_lookup_result\n\n def links_extract(self, le_url):\n links_extract_request = requests.get('https://api.hackertarget.com/pagelinks/?q=' + le_url)\n links_extract_response = links_extract_request.text\n links_extract_final = \"\"\"{0}\"\"\".format(str(links_extract_response))\n self.links_extract_result = links_extract_final\n return self.links_extract_result\n\n\n\ndef clear():\n if platform.system() == 'Linux':\n os.system('clear')\n elif platform.system() == 'Windows':\n os.system('cls')\n elif platform.system() == 'Darwin':\n os.system('clear')\n else:\n os.system('clear')\n\n\n\ndef banner():\n if sys.version_info[0] == 3:\n banner = (\"\"\"{1}\n ██▓███ █ ██ ██▀███ ▓█████ ▄▄▄▄ ██▓ ▒█████ ▒█████ ▓█████▄\n▓██░ ██▒ ██ ▓██▒▓██ ▒ ██▒▓█ ▀ ▓█████▄ ▓██▒ ▒██▒ ██▒▒██▒ ██▒▒██▀ ██▌\n▓██░ ██▓▒▓██ ▒██░▓██ ░▄█ ▒▒███ ▒██▒ ▄██▒██░ ▒██░ ██▒▒██░ ██▒░██ █▌\n▒██▄█▓▒ ▒▓▓█ ░██░▒██▀▀█▄ ▒▓█ ▄ ▒██░█▀ ▒██░ ▒██ ██░▒██ ██░░▓█▄ ▌\n▒██▒ ░ ░▒▒█████▓ ░██▓ ▒██▒░▒████▒ ░▓█ ▀█▓░██████▒░ ████▓▒░░ ████▓▒░░▒████▓\n▒▓▒░ ░ ░░▒▓▒ ▒ ▒ ░ ▒▓ ░▒▓░░░ ▒░ ░ ░▒▓███▀▒░ ▒░▓ ░░ ▒░▒░▒░ ░ ▒░▒░▒░ ▒▒▓ ▒\n░▒ ░ ░░▒░ ░ ░ ░▒ ░ ▒░ ░ ░ ░ ▒░▒ ░ ░ ░ ▒ ░ ░ ▒ ▒░ ░ ▒ ▒░ ░ ▒ ▒\n░░ ░░░ ░ ░ ░░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ▒ ░ ░ ░ ▒ ░ ░ ░\n ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░\n\n {2}--={3}[ {0}{5}Author: Cr4sHCoD3 {3}]{2}=--\n{4}| {2}-- --={3}[ {0}{5}Version: 1 {3}]{2}=-- -- {4}|\n| {2}-- --={3}[ {0}{5}Website: https://github.com/cr4shcod3 {3}]{2}=-- -- {4}|\n| {2}-- --={3}[ {0}{5}PureHackers ~ Blood Security Hackers {3}]{2}=-- -- {4}|\n{0}\"\"\".format(reset, red, green, blue, yellow, bold))\n elif sys.version_info[0] == 2:\n banner = (\"\"\"{1}\n ██▓███ █ ██ ██▀███ ▓█████ ▄▄▄▄ ██▓ ▒█████ ▒█████ ▓█████▄\n▓██░ ██▒ ██ ▓██▒▓██ ▒ ██▒▓█ ▀ ▓█████▄ ▓██▒ ▒██▒ ██▒▒██▒ ██▒▒██▀ ██▌\n▓██░ ██▓▒▓██ ▒██░▓██ ░▄█ ▒▒███ ▒██▒ ▄██▒██░ ▒██░ ██▒▒██░ ██▒░██ █▌\n▒██▄█▓▒ ▒▓▓█ ░██░▒██▀▀█▄ ▒▓█ ▄ ▒██░█▀ ▒██░ ▒██ ██░▒██ ██░░▓█▄ ▌\n▒██▒ ░ ░▒▒█████▓ ░██▓ ▒██▒░▒████▒ ░▓█ ▀█▓░██████▒░ ████▓▒░░ ████▓▒░░▒████▓\n▒▓▒░ ░ ░░▒▓▒ ▒ ▒ ░ ▒▓ ░▒▓░░░ ▒░ ░ ░▒▓███▀▒░ ▒░▓ ░░ ▒░▒░▒░ ░ ▒░▒░▒░ ▒▒▓ ▒\n░▒ ░ ░░▒░ ░ ░ ░▒ ░ ▒░ ░ ░ ░ ▒░▒ ░ ░ ░ ▒ ░ ░ ▒ ▒░ ░ ▒ ▒░ ░ ▒ ▒\n░░ ░░░ ░ ░ ░░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ▒ ░ ░ ░ ▒ ░ ░ ░\n ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░\n\n {2}--={3}[ {0}{5}Author: Cr4sHCoD3 {3}]{2}=--\n{4}| {2}-- --={3}[ {0}{5}Version: 1 {3}]{2}=-- -- {4}|\n| {2}-- --={3}[ {0}{5}Website: https://github.com/cr4shcod3 {3}]{2}=-- -- {4}|\n| {2}-- --={3}[ {0}{5}PureHackers ~ Blood Security Hackers {3}]{2}=-- -- {4}|\n{0}\"\"\".format(reset, red, green, blue, yellow, bold)).decode('utf-8')\n print (banner)\n\n\n\ndef set_url(target, wfunc):\n global url\n global hostname\n global ip\n if 'http://' in target:\n url = target\n hostname = target.replace('http://', '')\n elif 'https://' in target:\n url = target\n hostname = target.replace('https://', '')\n if '://' not in target:\n url = 'http://' + target\n hostname = target\n ip = socket.gethostbyname(hostname)\n if wfunc == 1:\n web_pentest()\n else:\n main()\n\n\n\ndef generator():\n print (\"\"\"\\n\\n\n{3}[ {5}Generator {3}]\n\n {2}01{3}) {5}Deface Page\n {2}90{3}) {5}Back To Menu\n {2}99{3}) {5}Exit\n\n{0}\"\"\".format(reset, red, green, blue, yellow, cyan))\n if sys.version_info[0] == 3:\n try:\n choice = int(input('{0}PureBlood{1}({3}Generator{1})> {2}'.format(green, blue, cyan, red)))\n except KeyboardInterrupt:\n print ('\\n{2}[{1}+{2}] {3}- {4}Exiting...{0}'.format(reset, green, blue, yellow, cyan))\n sys.exit()\n except ValueError:\n print ('{2}[{1}+{2}] {3}- {4}Please enter a valid number!{0}'.format(reset, green, blue, yellow, cyan))\n time.sleep(2)\n main()\n elif sys.version_info[0] == 2:\n try:\n choice = int(raw_input('{0}PureBlood{1}({3}Generator{1})> {2}'.format(green, blue, cyan, red)))\n except KeyboardInterrupt:\n print ('\\n{2}[{1}+{2}] {3}- {4}Exiting...{0}'.format(reset, green, blue, yellow, cyan))\n sys.exit()\n except ValueError:\n print ('{2}[{1}+{2}] {3}- {4}Please enter a valid number!{0}'.format(reset, green, blue, yellow, cyan))\n time.sleep(2)\n main()\n cgenerator = Generator()\n if choice == 1:\n print ('{0}='.format(red) * int(sizex))\n print (reset + bold)\n if sys.version_info[0] == 3:\n title = str(input('{0}PureBlood{1}>{0}Generator{1}>({3}Title{1})> {2}'.format(green, blue, cyan, red)))\n shortcut_icon = str(input('{0}PureBlood{1}>{0}Generator{1}>({3}Shortcut Icon{1})> {2}'.format(green, blue, cyan, red)))\n meta_description = str(input('{0}PureBlood{1}>{0}Generator{1}>({3}Meta Description{1})> {2}'.format(green, blue, cyan, red)))\n meta_image = str(input('{0}PureBlood{1}>{0}Generator{1}>({3}Meta Image{1})> {2}'.format(green, blue, cyan, red)))\n logo = str(input('{0}PureBlood{1}>{0}Generator{1}>({3}Logo{1})> {2}'.format(green, blue, cyan, red)))\n hacker_name = str(input('{0}PureBlood{1}>{0}Generator{1}>({3}Hacker Name{1})> {2}'.format(green, blue, cyan, red)))\n message1 = str(input('{0}PureBlood{1}>{0}Generator{1}>({3}Message 1{1})> {2}'.format(green, blue, cyan, red)))\n message2 = str(input('{0}PureBlood{1}>{0}Generator{1}>({3}Message 2{1})> {2}'.format(green, blue, cyan, red)))\n groups = str(input('{0}PureBlood{1}>{0}Generator{1}>({3}Group/s{1})> {2}'.format(green, blue, cyan, red)))\n deface_page_output_filename = str(input('{0}PureBlood{1}>{0}Generator{1}>({3}Output Filename{1})> {2}'.format(green, blue, cyan, red)))\n if sys.version_info[0] == 2:\n title = str(raw_input('{0}PureBlood{1}>{0}Generator{1}>({3}Title{1})> {2}'.format(green, blue, cyan, red)))\n shortcut_icon = str(raw_input('{0}PureBlood{1}>{0}Generator{1}>({3}Shortcut Icon{1})> {2}'.format(green, blue, cyan, red)))\n meta_description = str(raw_input('{0}PureBlood{1}>{0}Generator{1}>({3}Meta Description{1})> {2}'.format(green, blue, cyan, red)))\n meta_image = str(raw_input('{0}PureBlood{1}>{0}Generator{1}>({3}Meta Image{1})> {2}'.format(green, blue, cyan, red)))\n logo = str(raw_input('{0}PureBlood{1}>{0}Generator{1}>({3}Logo{1})> {2}'.format(green, blue, cyan, red)))\n hacker_name = str(raw_input('{0}PureBlood{1}>{0}Generator{1}>({3}Hacker Name{1})> {2}'.format(green, blue, cyan, red)))\n message1 = str(raw_input('{0}PureBlood{1}>{0}Generator{1}>({3}Message 1{1})> {2}'.format(green, blue, cyan, red)))\n message2 = str(raw_input('{0}PureBlood{1}>{0}Generator{1}>({3}Message 2{1})> {2}'.format(green, blue, cyan, red)))\n groups = str(raw_input('{0}PureBlood{1}>{0}Generator{1}>({3}Group/s{1})> {2}'.format(green, blue, cyan, red)))\n deface_page_output_filename = str(raw_input('{0}PureBlood{1}>{0}Generator{1}>({3}Output Filename{1})> {2}'.format(green, blue, cyan, red)))\n gdeface_page = cgenerator.deface_page(title, shortcut_icon, meta_description, meta_image, logo, hacker_name, message1, message2, groups)\n if '.html' in deface_page_output_filename:\n deface_page_output_filename = deface_page_output_filename\n else:\n deface_page_output_filename = deface_page_output_filename + '.html'\n deface_page_output_file = open('outputs/deface_page/' + deface_page_output_filename, 'w+')\n deface_page_output_file.write(gdeface_page)\n deface_page_output_file.close()\n print ('\\n{2}[{1}+{2}] {3}- {4}Output saved in outputs/deface_page/' + deface_page_output_filename + '{0}'.format(reset, green, blue, yellow, cyan))\n print (reset + bold)\n print ('{0}='.format(red) * int(sizex))\n generator()\n elif choice == 90:\n print ('\\n\\n')\n main()\n elif choice == 99:\n print ('\\n{2}[{1}+{2}] {3}- {4}Exiting...{0}'.format(reset, green, blue, yellow, cyan))\n sys.exit()\n else:\n print ('{2}[{1}+{2}] {3}- {4}Please enter a valid choice!{0}'.format(reset, green, blue, yellow, cyan))\n time.sleep(2)\n generator()\n\n\n\ndef web_pentest():\n global web_pentest_outputfile\n print (\"\"\"\\n\\n\n{3}[ {5}Web Pentest {3}]\n\n {2}01{3}) {5}Banner Grab\n {2}02{3}) {5}Whois\n {2}03{3}) {5}Traceroute\n {2}04{3}) {5}DNS Record\n {2}05{3}) {5}Reverse DNS Lookup\n {2}06{3}) {5}Zone Transfer Lookup\n {2}07{3}) {5}Port Scan\n {2}08{3}) {5}Admin Panel Scan\n {2}09{3}) {5}Subdomain Scan\n {2}10{3}) {5}CMS Identify\n {2}11{3}) {5}Reverse IP Lookup\n {2}12{3}) {5}Subnet Lookup\n {2}13{3}) {5}Extract Page Links\n {2}90{3}) {5}Back To Menu\n {2}95{3}) {5}Set Target\n {2}99{3}) {5}Exit\n\n{0}\"\"\".format(reset, red, green, blue, yellow, cyan))\n if sys.version_info[0] == 3:\n try:\n choice = int(input('{0}PureBlood{1}({3}WebPentest{1})> {2}'.format(green, blue, cyan, red)))\n except KeyboardInterrupt:\n try:\n print ('\\n{2}[{1}+{2}] {3}- {4}Output saved in outputs/web_pentest/' + web_pentest_output + '{0}'.format(reset, green, blue, yellow, cyan))\n except:\n pass\n print ('\\n{2}[{1}+{2}] {3}- {4}Exiting...{0}'.format(reset, green, blue, yellow, cyan))\n sys.exit()\n except ValueError:\n print ('{2}[{1}+{2}] {3}- {4}Please enter a valid number!{0}'.format(reset, green, blue, yellow, cyan))\n time.sleep(2)\n main()\n elif sys.version_info[0] == 2:\n try:\n choice = int(raw_input('{0}PureBlood{1}({3}WebPentest{1})> {2}'.format(green, blue, cyan, red)))\n except KeyboardInterrupt:\n try:\n print ('\\n{2}[{1}+{2}] {3}- {4}Exiting...{0}'.format(reset, green, blue, yellow, cyan))\n except:\n pass\n sys.exit()\n except ValueError:\n print ('{2}[{1}+{2}] {3}- {4}Please enter a valid number!{0}'.format(reset, green, blue, yellow, cyan))\n time.sleep(2)\n main()\n cweb_pentest = WebPentest()\n if choice == 1:\n try:\n wp_banner_grab = cweb_pentest.banner_grab(url)\n except:\n print ('\\n{2}[{1}!{2}] {3}- {4}Please set the target first. {1}95{2}) {4}Set Target{0}'.format(reset, green, blue, yellow, cyan))\n time.sleep(2)\n web_pentest()\n print ('{0}='.format(red) * int(sizex))\n web_pentest_outputfile.write('[+] Banner Grab Result - ' + url)\n web_pentest_outputfile.write('\\n============================================================')\n print (reset + bold)\n print (wp_banner_grab)\n web_pentest_outputfile.write('\\n' + wp_banner_grab)\n print (reset)\n print ('{0}='.format(red) * int(sizex))\n web_pentest_outputfile.write('\\n')\n web_pentest_outputfile.write('============================================================\\n')\n web_pentest()\n elif choice == 2:\n try:\n wp_whois = cweb_pentest.whois(url)\n except:\n print ('\\n{2}[{1}!{2}] {3}- {4}Please set the target first. {1}95{2}) {4}Set Target{0}'.format(reset, green, blue, yellow, cyan))\n time.sleep(2)\n web_pentest()\n print ('{0}='.format(red) * int(sizex))\n web_pentest_outputfile.write('[+] Whois Result - ' + url)\n web_pentest_outputfile.write('\\n============================================================')\n print (reset + bold)\n print (wp_whois)\n web_pentest_outputfile.write('\\n' + str(wp_whois))\n print (reset)\n print ('{0}='.format(red) * int(sizex))\n web_pentest_outputfile.write('\\n')\n web_pentest_outputfile.write('============================================================\\n')\n web_pentest()\n elif choice == 3:\n try:\n wp_traceroute = cweb_pentest.traceroute(hostname)\n except:\n print ('\\n{2}[{1}!{2}] {3}- {4}Please set the target first. {1}95{2}) {4}Set Target{0}'.format(reset, green, blue, yellow, cyan))\n time.sleep(2)\n web_pentest()\n print ('{0}='.format(red) * int(sizex))\n web_pentest_outputfile.write('[+] Traceroute Result - ' + url)\n web_pentest_outputfile.write('\\n============================================================')\n print (reset + bold)\n print (wp_traceroute)\n web_pentest_outputfile.write('\\n' + wp_traceroute)\n print (reset)\n print ('{0}='.format(red) * int(sizex))\n web_pentest_outputfile.write('\\n')\n web_pentest_outputfile.write('============================================================\\n')\n web_pentest()\n elif choice == 4:\n try:\n wp_dns_record = cweb_pentest.dns_record(hostname)\n except:\n print ('\\n{2}[{1}!{2}] {3}- {4}Please set the target first. {1}95{2}) {4}Set Target{0}'.format(reset, green, blue, yellow, cyan))\n time.sleep(2)\n web_pentest()\n print ('{0}='.format(red) * int(sizex))\n web_pentest_outputfile.write('[+] DNS Record Result - ' + url)\n web_pentest_outputfile.write('\\n============================================================')\n print (reset + bold)\n web_pentest_outputfile.write('\\n')\n for i in wp_dns_record:\n print (i)\n web_pentest_outputfile.write(str(i) + '\\n')\n print (reset)\n print ('{0}='.format(red) * int(sizex))\n web_pentest_outputfile.write('\\n')\n web_pentest_outputfile.write('============================================================\\n')\n web_pentest()\n elif choice == 5:\n try:\n wp_reverse_dns_lookup = cweb_pentest.reverse_dns_lookup(ip)\n except:\n print ('\\n{2}[{1}!{2}] {3}- {4}Please set the target first. {1}95{2}) {4}Set Target{0}'.format(reset, green, blue, yellow, cyan))\n time.sleep(2)\n web_pentest()\n print ('{0}='.format(red) * int(sizex))\n web_pentest_outputfile.write('[+] Reverse DNS Lookup Result - ' + url)\n web_pentest_outputfile.write('\\n============================================================')\n print (reset + bold)\n print (wp_reverse_dns_lookup)\n web_pentest_outputfile.write('\\n' + wp_reverse_dns_lookup)\n print (reset)\n print ('{0}='.format(red) * int(sizex))\n web_pentest_outputfile.write('\\n')\n web_pentest_outputfile.write('============================================================\\n')\n web_pentest()\n elif choice == 6:\n try:\n wp_zone_transfer_lookup = cweb_pentest.zone_transfer_lookup(hostname)\n except:\n print ('\\n{2}[{1}!{2}] {3}- {4}Please set the target first. {1}95{2}) {4}Set Target{0}'.format(reset, green, blue, yellow, cyan))\n time.sleep(2)\n web_pentest()\n print ('{0}='.format(red) * int(sizex))\n web_pentest_outputfile.write('[+] Zone Transfer Lookup Result - ' + url)\n web_pentest_outputfile.write('\\n============================================================')\n print (reset + bold)\n print (wp_zone_transfer_lookup)\n web_pentest_outputfile.write('\\n' + wp_zone_transfer_lookup)\n print (reset)\n print ('{0}='.format(red) * int(sizex))\n web_pentest_outputfile.write('\\n')\n web_pentest_outputfile.write('============================================================\\n')\n web_pentest()\n elif choice == 7:\n if sys.version_info[0] == 3:\n port_end = int(input('{0}PureBlood{1}>{0}WebPentest{1}>{0}PortScan{1}>({3}Port End{1})> {2}'.format(green, blue, cyan, red)))\n if sys.version_info[0] == 2:\n port_end = int(raw_input('{0}PureBlood{1}>{0}WebPentest{1}>{0}PortScan{1}>({3}Port End{1})> {2}'.format(green, blue, cyan, red)))\n try:\n wp_port_scan = cweb_pentest.port_scan(hostname, port_end)\n except:\n print ('\\n{2}[{1}!{2}] {3}- {4}Please set the target first. {1}95{2}) {4}Set Target{0}'.format(reset, green, blue, yellow, cyan))\n time.sleep(2)\n web_pentest()\n print ('{0}='.format(red) * int(sizex))\n web_pentest_outputfile.write('[+] Port Scan Result - ' + url)\n web_pentest_outputfile.write('\\n============================================================')\n print (reset + bold)\n web_pentest_outputfile.write('\\n')\n for i in wp_port_scan:\n print (i)\n web_pentest_outputfile.write(str(i) + '\\n')\n print (reset)\n print ('{0}='.format(red) * int(sizex))\n web_pentest_outputfile.write('\\n')\n web_pentest_outputfile.write('============================================================\\n')\n web_pentest()\n elif choice == 8:\n try:\n wp_admin_panel_scan = cweb_pentest.admin_panel_scan(url)\n except:\n print ('\\n{2}[{1}!{2}] {3}- {4}Please set the target first. {1}95{2}) {4}Set Target{0}'.format(reset, green, blue, yellow, cyan))\n time.sleep(2)\n web_pentest()\n print ('{0}='.format(red) * int(sizex))\n web_pentest_outputfile.write('[+] Admin Panel Scan Result - ' + url)\n web_pentest_outputfile.write('\\n============================================================')\n print (reset + bold)\n web_pentest_outputfile.write('\\n')\n for i in wp_admin_panel_scan:\n print (i)\n web_pentest_outputfile.write(str(i) + '\\n')\n print (reset)\n print ('{0}='.format(red) * int(sizex))\n web_pentest_outputfile.write('\\n')\n web_pentest_outputfile.write('============================================================\\n')\n web_pentest()\n elif choice == 9:\n if sys.version_info[0] == 3:\n subdomain_list = str(input('{0}PureBlood{1}>{0}WebPentest{1}>{0}SubdomainScan{1}>({3}Subdomain List{1})> {2}'.format(green, blue, cyan, red)))\n if sys.version_info[0] == 2:\n subdomain_list = str(raw_input('{0}PureBlood{1}>{0}WebPentest{1}>{0}SubdomainScan{1}>({3}Subdomain List{1})> {2}'.format(green, blue, cyan, red)))\n try:\n wp_subdomain_scan = cweb_pentest.subdomain_scan(hostname, subdomain_list)\n except:\n print ('\\n{2}[{1}!{2}] {3}- {4}Please set the target first. {1}95{2}) {4}Set Target{0}'.format(reset, green, blue, yellow, cyan))\n time.sleep(2)\n web_pentest()\n so_200, so_301, so_302, so_403 = wp_subdomain_scan\n print ('{0}='.format(red) * int(sizex))\n web_pentest_outputfile.write('[+] Subdomain Scan Result - ' + url)\n web_pentest_outputfile.write('\\n============================================================')\n print (reset + bold)\n web_pentest_outputfile.write('\\n')\n for i in so_200:\n print ('[+] 200 - ' + i)\n web_pentest_outputfile.write('[+] 200 - ' + i + '\\n')\n for i in so_301:\n print ('[!] 301 - ' + i)\n web_pentest_outputfile.write('[+] 301 - ' + i + '\\n')\n for i in so_302:\n print ('[!] 302 - ' + i)\n web_pentest_outputfile.write('[+] 302 - ' + i + '\\n')\n for i in so_403:\n print ('[!] 403 - ' + i)\n web_pentest_outputfile.write('[+] 403 - ' + i + '\\n')\n print (reset)\n print ('{0}='.format(red) * int(sizex))\n web_pentest_outputfile.write('\\n')\n web_pentest_outputfile.write('============================================================\\n')\n web_pentest()\n elif choice == 10:\n try:\n wp_cms_detect = cweb_pentest.cms_detect(hostname)\n except:\n print ('\\n{2}[{1}!{2}] {3}- {4}Please set the target first. {1}95{2}) {4}Set Target{0}'.format(reset, green, blue, yellow, cyan))\n time.sleep(2)\n web_pentest()\n print ('{0}='.format(red) * int(sizex))\n web_pentest_outputfile.write('[+] CMS Detect - ' + url)\n web_pentest_outputfile.write('\\n============================================================')\n print (reset + bold)\n print (wp_cms_detect)\n web_pentest_outputfile.write('\\n' + wp_cms_detect)\n print (reset)\n print ('{0}='.format(red) * int(sizex))\n web_pentest_outputfile.write('\\n')\n web_pentest_outputfile.write('============================================================\\n')\n web_pentest()\n elif choice == 11:\n try:\n wp_reverse_ip_lookup = cweb_pentest.reverse_ip_lookup(hostname)\n except:\n print ('\\n{2}[{1}!{2}] {3}- {4}Please set the target first. {1}95{2}) {4}Set Target{0}'.format(reset, green, blue, yellow, cyan))\n time.sleep(2)\n web_pentest()\n print ('{0}='.format(red) * int(sizex))\n web_pentest_outputfile.write('[+] Reverse IP Lookup Result - ' + url)\n web_pentest_outputfile.write('\\n============================================================')\n print (reset + bold)\n print (wp_reverse_ip_lookup)\n web_pentest_outputfile.write('\\n' + wp_reverse_ip_lookup)\n print (reset)\n print ('{0}='.format(red) * int(sizex))\n web_pentest_outputfile.write('\\n')\n web_pentest_outputfile.write('============================================================\\n')\n web_pentest()\n elif choice == 12:\n if sys.version_info[0] == 3:\n subnet_input = str(input('{0}PureBlood{1}>{0}WebPentest{1}>{0}SubnetLookup{1}>({3}CIDR or IP with NetMask{1})> {2}'.format(green, blue, cyan, red)))\n if sys.version_info[0] == 2:\n subnet_input = str(raw_input('{0}PureBlood{1}>{0}WebPentest{1}>{0}SubnetLookup{1}>({3}CIDR or IP with NetMask{1})> {2}'.format(green, blue, cyan, red)))\n try:\n wp_subnet_lookup = cweb_pentest.subnet_lookup(subnet_input)\n except:\n print ('\\n{2}[{1}!{2}] {3}- {4}Please set the target first. {1}95{2}) {4}Set Target{0}'.format(reset, green, blue, yellow, cyan))\n time.sleep(2)\n web_pentest()\n print ('{0}='.format(red) * int(sizex))\n print (reset + bold)\n print (wp_subnet_lookup)\n print (reset)\n print ('{0}='.format(red) * int(sizex))\n web_pentest()\n elif choice == 13:\n try:\n wp_links_extract = cweb_pentest.links_extract(url)\n except:\n print ('\\n{2}[{1}!{2}] {3}- {4}Please set the target first. {1}95{2}) {4}Set Target{0}'.format(reset, green, blue, yellow, cyan))\n time.sleep(2)\n web_pentest()\n print ('{0}='.format(red) * int(sizex))\n web_pentest_outputfile.write('[+] Links Extract Result - ' + url)\n web_pentest_outputfile.write('\\n============================================================')\n print (reset + bold)\n print (wp_links_extract)\n web_pentest_outputfile.write('\\n' + wp_links_extract)\n print (reset)\n print ('{0}='.format(red) * int(sizex))\n web_pentest_outputfile.write('\\n')\n web_pentest_outputfile.write('============================================================\\n')\n web_pentest()\n elif choice == 90:\n print ('\\n\\n')\n main()\n elif choice == 95:\n print ('{2}[{1}#{2}] {3}- {4}Please don\\'t put "/" in the end of the Target.{0}'.format(reset, green, blue, yellow, cyan))\n if sys.version_info[0] == 3:\n target = str(input('{0}PureBlood{1}>{0}WebPentest{1}>({3}Target{1})> {2}'.format(green, blue, cyan, red)))\n if sys.version_info[0] == 2:\n target = str(raw_input('{0}PureBlood{1}>{0}WebPentest{1}>({3}Target{1})> {2}'.format(green, blue, cyan, red)))\n if '://' in target:\n ourl = target.replace('https://', '').replace('http://', '')\n else:\n ourl = target\n web_pentest_output = ourl + '-' + month + mday + '.txt'\n web_pentest_outputfile = open('outputs/web_pentest/' + web_pentest_output, 'a+')\n web_pentest_outputfile.write('\\n\\n\\n[#] - ' + month + ' ' + mday + ' ' + current_time + '\\n')\n set_url(target, 1)\n elif choice == 99:\n try:\n print ('\\n{2}[{1}+{2}] {3}- {4}Output saved in outputs/web_pentest/' + web_pentest_output + '{0}'.format(reset, green, blue, yellow, cyan))\n except:\n pass\n print ('\\n{2}[{1}+{2}] {3}- {4}Exiting...{0}'.format(reset, green, blue, yellow, cyan))\n sys.exit()\n else:\n print ('{2}[{1}+{2}] {3}- {4}Please enter a valid choice!{0}'.format(reset, green, blue, yellow, cyan))\n time.sleep(2)\n web_pentest()\n\n\n\ndef main():\n print (\"\"\"\n{3}[ {5}PureBlood Menu {3}]\n\n {2}01{3}) {5}Web Pentest\n {2}02{3}) {5}Generator\n {2}99{3}) {5}Exit\n\n{0}\"\"\".format(reset, red, green, blue, yellow, cyan))\n if sys.version_info[0] == 3:\n try:\n choice = int(input('{0}PureBlood{1}> {2}'.format(green, blue, cyan)))\n except KeyboardInterrupt:\n print ('\\n{2}[{1}+{2}] {3}- {4}Exiting...{0}'.format(reset, green, blue, yellow, cyan))\n sys.exit()\n except ValueError:\n print ('{2}[{1}+{2}] {3}- {4}Please enter a valid number!{0}'.format(reset, green, blue, yellow, cyan))\n time.sleep(2)\n print ('\\n\\n')\n main()\n elif sys.version_info[0] == 2:\n try:\n choice = int(raw_input('{0}PureBlood{1}> {2}'.format(green, blue, cyan)))\n except KeyboardInterrupt:\n print ('\\n{2}[{1}+{2}] {3}- {4}Exiting...{0}'.format(reset, green, blue, yellow, cyan))\n sys.exit()\n except ValueError:\n print ('{2}[{1}+{2}] {3}- {4}Please enter a valid number!{0}'.format(reset, green, blue, yellow, cyan))\n time.sleep(2)\n print ('\\n\\n')\n main()\n if choice == 1:\n web_pentest()\n elif choice == 2:\n generator()\n elif choice == 99:\n print ('\\n{2}[{1}+{2}] {3}- {4}Exiting...{0}'.format(reset, green, blue, yellow, cyan))\n sys.exit()\n else:\n print ('{2}[{1}+{2}] {3}- {4}Please enter a valid choice!{0}'.format(reset, green, blue, yellow, cyan))\n time.sleep(2)\n print ('\\n\\n')\n main()\n\n\n\nif __name__ == '__main__':\n if not os.path.exists('outputs'):\n os.mkdir('outputs')\n else:\n pass\n if not os.path.exists('outputs/generator'):\n os.mkdir('outputs/generator')\n else:\n pass\n if not os.path.exists('outputs/web_pentest'):\n os.mkdir('outputs/web_pentest')\n else:\n pass\n clear()\n banner()\n google_hacking = 'https://www.google.com/search?q='\n main()\n""")