├── LICENSE.md ├── README.md ├── Versions ├── V1.0 │ └── penbox.py ├── V1.1 │ └── penbox.py ├── V1.2 │ └── penbox.py ├── V1.3 │ └── penbox.py ├── V1.4 │ └── penbox.py ├── V2.1 │ └── PenBox.py ├── V2.2 │ └── PenBox.py ├── V2.3 │ └── PenBox ├── V2.4 │ └── PenBox.py ├── V3.1 │ └── penbox.py └── V3.2 │ └── penbox.py └── penbox.py /LICENSE.md: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | THIS TOOL IS ONLY FOR EDUCATIONAL PURPOSES ONLY 3 | Copyright (c) 2016 Fedy Wesleti 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # PenBox – A Penetration Testing Framework 2 | A Penetration Testing Framework , The Hacker’s Repo our hope is in the last version we will have evry script that a hacker needs 3 | #Information Gathering : 4 | + nmap 5 | + Setoolkit 6 | + Port Scanning 7 | + Host To IP 8 | + wordpress user enumeration 9 | + CMS scanner 10 | + XSStracer - checks remote web servers for Clickjacking, Cross-Frame Scripting, Cross-Site Tracing and Host Header Injection 11 | + Doork - Google Dorks Passive Vulnerability Auditor 12 | + Scan A server's Users 13 | 14 | # Password Attacks : 15 | + Cupp 16 | + Ncrack 17 | + AutoBrowser Screenshot 18 | 19 | # Wireless Testing : 20 | + reaver 21 | + pixiewps 22 | + Bluetooth Honeypot GUI Framework 23 | 24 | # Exploitation Tools : 25 | + Venom 26 | + sqlmap 27 | + Shellnoob 28 | + commix 29 | + FTP Auto Bypass 30 | + jboss-autopwn 31 | + Blind SQL Automatic Injection And Exploit 32 | + Bruteforce the Android Passcode given the hash and salt 33 | + Joomla, Mambo, PHP-Nuke, and XOOPS CMS SQL injection Scanner 34 | + cms Few 35 | + BLACKBOx 36 | + Liffy 37 | # Sniffing & Spoofing : 38 | + Setoolkit 39 | + SSLtrip 40 | + pyPISHER 41 | + SMTP Mailer 42 | 43 | # Web Hacking : 44 | + Drupal Hacking 45 | + Inurlbr 46 | + Wordpress & Joomla Scanner 47 | + Gravity Form Scanner 48 | + File Upload Checker 49 | + Wordpress Exploit Scanner 50 | + Wordpress Plugins Scanner 51 | + Shell and Directory Finder 52 | + Joomla! 1.5 - 3.4.5 remote code execution 53 | + Vbulletin 5.X remote code execution 54 | + BruteX - Automatically brute force all services running on a target 55 | + Arachni - Web Application Security Scanner Framework 56 | + Sub-domain Scanning 57 | + Wordpress Scanning 58 | + Wordpress Username Enumeration 59 | + Wordpress Backup Grabbing 60 | + Sensitive File Detection 61 | + Same-Site Scripting Scanning 62 | + Click Jacking Detection 63 | + Powerful XSS vulnerability scanning 64 | + SQL Injection vulnerability scanning 65 | 66 | #Private Tools 67 | + Get all websites 68 | + Get joomla websites 69 | + Get wordpress websites 70 | + Find control panel 71 | + Find zip files 72 | + Find upload files 73 | + Get server users 74 | + Scan from SQL injection 75 | + Scan ports (range of ports) 76 | + Scan ports (common ports) 77 | + Get server banner 78 | + Bypass Cloudflare 79 | 80 | #Post Exploitation 81 | + Shell Checker 82 | + POET 83 | + Weeman - Phishing Framework 84 | + Insecure Web Interface 85 | + Insufficient Authentication/Authorization 86 | + Insecure Network Services 87 | + Lack of Transport Encryption 88 | + Privacy Concerns 89 | + Insecure Cloud Interface 90 | + Insecure Mobile Interface 91 | + Insufficient Security Configurability 92 | + Insecure Software/Firmware 93 | + Poor Physical Security 94 | + Radium-Keylogger - Python keylogger with multiple features 95 | 96 | #Recon 97 | + Sniper 98 | 99 | #Smartphones Penetration 100 | + Attach Framework to a Deployed Agent/Create Agent 101 | + Send Commands to an Agent 102 | + View Information Gathered 103 | + Attach Framework to a Mobile Modem 104 | + Run a remote attack 105 | + Run a social engineering or client side attack 106 | + Compile code to run on mobile devices 107 | + Install Stuff 108 | + Use Drozer 109 | + Setup API 110 | + Bruteforce the Android Passcode given the hash and salt 111 | 112 | #Others 113 | + QrlJacking-Framework 114 | + Sniffles - Packet Capture Generator for IDS and Regular Expression Evaluation 115 | #Installation 116 | git clone https://github.com/x3omdax/PenBox.git 117 | -------------------------------------------------------------------------------- /Versions/V1.0/penbox.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python2.7 2 | # 3 | # All In One Tool For Penetration Testing 4 | # Authors : Fedy Wesleti , Mohamed Nour 5 | # 6 | import sys 7 | import os 8 | import subprocess 9 | from commands import * 10 | ########################## 11 | #Variables 12 | yes = set(['yes','y', 'ye', '']) 13 | no = set(['no','n']) 14 | 15 | 16 | 17 | ########################## 18 | 19 | #this is the big menu funtion 20 | def menu(): 21 | print """ 22 | ######## ######## ## ## ######## ####### ## ## 23 | ## ## ## ### ## ## ## ## ## ## ## 24 | ## ## ## #### ## ## ## ## ## ## ## 25 | ######## ###### ## ## ## ######## ## ## ### 26 | ## ## ## #### ## ## ## ## ## ## 27 | ## ## ## ### ## ## ## ## ## ## 28 | ## ######## ## ## ######## ####### ## ## v1.0 29 | Pentesting Tools Auto-Downloader 30 | 31 | [+] Coded BY Mohamed Nour & Fedy Weslety [+] 32 | [+] FB/CEH.TN ~~ FB/mohamed.zeus.0 [+] 33 | [+] Greetz To All Pentesters [+] 34 | 35 | Select from the menu: 36 | 37 | 1 : Information Gathering 38 | 2 : Password Attacks 39 | 3 : Wireless Testing 40 | 4 : Exploitation Tools 41 | 5 : Sniffing & Spoofing 42 | 99 : Exit 43 | 44 | """ 45 | choice = input("selet a number :") 46 | choice = int(choice) 47 | if choice == 1: 48 | info() 49 | elif choice == 2: 50 | passwd() 51 | elif choice == 3: 52 | wire() 53 | elif choice == 4: 54 | exp() 55 | elif choice == 5: 56 | snif() 57 | elif choice == 99: 58 | os.system('clear'),sys.exit(); 59 | #end of function 60 | ########################## 61 | #nmap function 62 | def nmap(): 63 | print("this step will download and install nmap ") 64 | print("yes or no ") 65 | choice7 = raw_input() 66 | if choice7 in yes : 67 | os.system("wget https://nmap.org/dist/nmap-7.01.tar.bz2") 68 | os.system("bzip2 -cd nmap-7.01.tar.bz2 | tar xvf -") 69 | os.system("cd nmap-7.01") 70 | os.system("./configure") 71 | os.system("make") 72 | os.system("su root") 73 | os.system("make install") 74 | elif choice7 in no : 75 | info() 76 | #################################### 77 | #jboss-autopwn 78 | def jboss(): 79 | os.system('clear') 80 | print ("This JBoss script deploys a JSP shell on the target JBoss AS server. Once") 81 | print ("deployed, the script uses its upload and command execution capability to") 82 | print ("provide an interactive session.") 83 | print ("") 84 | print (" this will install jboss-autopwn") 85 | print ("usage : ./e.sh target_ip tcp_port ") 86 | choice9 = raw_input("yes / no :") 87 | if choice9 in yes: 88 | os.system("git clone https://github.com/SpiderLabs/jboss-autopwn.git"),sys.exit(); 89 | elif choice9 in no: 90 | os.system('clear'); exp() 91 | #sqlmap 92 | def sqlmap(): 93 | print (" this will install sqlmap ") 94 | print ("usage : python sqlmap.py -h") 95 | choice8 = input("yes or no :") 96 | if choice8 in yes: 97 | os.system("git clone https://github.com/sqlmapproject/sqlmap.git sqlmap-dev") 98 | elif choice8 in no: 99 | os.system('clear'); info() 100 | 101 | #setoolkit 102 | def setoolkit(): 103 | print ("The Social-Engineer Toolkit is an open-source penetration testing framework") 104 | print(") designed for social engineering. SET has a number of custom attack vectors that ") 105 | print(" allow you to make a believable attack quickly. SET is a product of TrustedSec, LLC ") 106 | print("an information security consulting firm located in Cleveland, Ohio.") 107 | print("") 108 | choiceset = raw_input("y / n :") 109 | if choiceset in yes: 110 | os.system("git clone https://github.com/trustedsec/social-engineer-toolkit.git");os.system("cd social-engineer-toolkit");os.system("python setup.py") 111 | if choiceset in no: 112 | os.system("clear"); info() 113 | #cupp 114 | def cupp(): 115 | print("cupp is a password list generator ") 116 | print("Usage: python cupp.py -h") 117 | print("yes or now") 118 | choicecupp = raw_input("y / n :") 119 | 120 | if choicecupp in yes: 121 | os.system("git clone https://github.com/Mebus/cupp.git");os.system("cd cupp") 122 | elif choicecupp in no: 123 | os.system("clear"); passwd() 124 | #ncrack 125 | def ncrack(): 126 | print("A Ruby interface to Ncrack, Network authentication cracking tool.") 127 | print("requires : nmap >= 0.3ALPHA / rprogram ~> 0.3") 128 | print("1 to accept / 0 to decline") 129 | choicencrack = raw_input("y / n :") 130 | if choicencrack in yes: 131 | os.system("git clone https://github.com/sophsec/ruby-ncrack.git");os.system("cd ruby-ncrack");os.systemgem("install ruby-ncrack") 132 | elif choicencrack in no: 133 | os.system("clear"); passwd() 134 | #reaver 135 | def reaver(): 136 | print("Reaver has been designed to be a robust and practical attack against Wi-Fi Protected Setup") 137 | print(" WPS registrar PINs in order to recover WPA/WPA2 passphrases. It has been tested against a") 138 | print(") wide variety of access points and WPS implementations") 139 | print("1 to accept / 0 to decline") 140 | creaver = input("y / n :") 141 | if creaver in yes: 142 | os.system("apt-get -y install build-essential libpcap-dev sqlite3 libsqlite3-dev aircrack-ng pixiewps");os.system("git clone https://github.com/t6x/reaver-wps-fork-t6x.git");os.system("cd reaver-wps-fork-t6x");os.system("cd src/");os.system("./configure");os.system("make") 143 | elif creaver in no: 144 | os.system("clear"); wire() 145 | 146 | ##################################### 147 | #information gathering function 148 | def info(): 149 | print("1 : nmap ") 150 | print("3 : SET tool kit") 151 | print("99 :Go Back To Main Menu") 152 | choice2 = input("selet a number :") 153 | choice2 = int(choice2) 154 | if choice2 ==1: 155 | os.system('clear'); nmap() 156 | if choice2 ==3: 157 | os.system("clear"); setoolkit() 158 | 159 | elif choice2 ==99: 160 | os.system("clear"); menu() 161 | #end of menu 162 | ########################## 163 | #password attacks menu 164 | def passwd(): 165 | print("1 : cupp ") 166 | print("2 : Ncrack") 167 | print("99:Back To Main Menu") 168 | choice3 = input("selet a number :") 169 | choice3 = int(choice3) 170 | if choice3 ==1: 171 | os.system("clear"); cupp() 172 | elif choice3 ==2: 173 | os.system("clear"); ncrack() 174 | elif choice3 ==99: 175 | os.system("clear"); menu() 176 | #end of menu 177 | ########################## 178 | #wireless attacks 179 | def wire(): 180 | print("1 : reaver ") 181 | print("99: Go Back To The Main Menu") 182 | choice4 = input("selet a number :") 183 | choice4 = int(choice4) 184 | if choice4 ==1: 185 | os.system("clear");reaver() 186 | elif choice4 ==99: 187 | menu() 188 | ########################## 189 | #exploitation tools 190 | def exp(): 191 | print("1 : jboss-autopwn ") 192 | print("2 : sqlmap") 193 | print("99 : Go Back To Main Menu") 194 | choice5 = input("selet a number :") 195 | choice5 = int(choice5) 196 | if choice5 ==2: 197 | os.system("clear"); sqlmap() 198 | if choice5 ==1: 199 | os.system('clear'); jboss() 200 | elif choice5 ==99: 201 | menu() 202 | ########################### 203 | #sniffing tools 204 | def snif(): 205 | print("1 : Set Tool kit ") 206 | print("99: Back To Main Menu") 207 | choice6 = input("selet a number :") 208 | choice6 = int(choice6) 209 | if choice6 ==1: 210 | os.system("clear"); setoolkit() 211 | if choice6 ==99: 212 | os.system("clear"); menu() 213 | #end of menu 214 | ########################## 215 | #Check use OS 216 | def OS(): 217 | print( 218 | """ 219 | Choose Operating System : 220 | 1) Max OSX 221 | 2) Linux 222 | 3) Windows 223 | """) 224 | system = input(":") 225 | system = str(system) 226 | if system ==2: 227 | root() 228 | else : 229 | menu() 230 | 231 | ############################ 232 | #check root if linux 233 | def root(): 234 | if os.getuid() != 0: 235 | print("Are you root? Please execute as root") 236 | exit() 237 | ############################# 238 | #begin :D 239 | OS() 240 | 241 | 242 | 243 | 244 | 245 | -------------------------------------------------------------------------------- /Versions/V1.1/penbox.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python2.7 2 | # 3 | # All In One Tool For Penetration Testing 4 | # Authors : Fedy Wesleti , Mohamed Nour 5 | # 6 | import sys 7 | import os 8 | import httplib 9 | import subprocess 10 | import re, urllib2 11 | import socket 12 | import urllib,sys,json 13 | from commands import * 14 | from platform import system 15 | from urlparse import urlparse 16 | ########################## 17 | #Variables 18 | yes = set(['yes','y', 'ye', 'Y']) 19 | no = set(['no','n']) 20 | def logo(): 21 | print """ 22 | ######## ######## ## ## ######## ####### ## ## 23 | ## ## ## ### ## ## ## ## ## ## ## 24 | ## ## ## #### ## ## ## ## ## ## ## 25 | ######## ###### ## ## ## ######## ## ## ### 26 | ## ## ## #### ## ## ## ## ## ## 27 | ## ## ## ### ## ## ## ## ## ## 28 | ## ######## ## ## ######## ####### ## ## v1.0 29 | Pentesting Tools Auto-Downloader 30 | 31 | [+] Coded BY Mohamed Nour & Fedy Weslety [+] 32 | [+] FB/CEH.TN ~~ FB/mohamed.zeus.0 [+] 33 | [+] Greetz To All Pentesters [+] 34 | """ 35 | ########################## 36 | #this is the big menu funtion 37 | def menu(): 38 | print (""" 39 | ######## ######## ## ## ######## ####### ## ## 40 | ## ## ## ### ## ## ## ## ## ## ## 41 | ## ## ## #### ## ## ## ## ## ## ## 42 | ######## ###### ## ## ## ######## ## ## ### 43 | ## ## ## #### ## ## ## ## ## ## 44 | ## ## ## ### ## ## ## ## ## ## 45 | ## ######## ## ## ######## ####### ## ## v1.0 46 | Pentesting Tools Auto-Downloader 47 | 48 | [+] Coded BY Mohamed Nour & Fedy Weslety [+] 49 | [+] FB/CEH.TN ~~ FB/mohamed.zeus.0 [+] 50 | [+] Greetz To All Pentesters [+] 51 | 52 | Select from the menu: 53 | 54 | 1 : Information Gathering 55 | 2 : Password Attacks 56 | 3 : Wireless Testing 57 | 4 : Exploitation Tools 58 | 5 : Sniffing & Spoofing 59 | 6 : Privat Tools 60 | 7 : Drupal Hacking 61 | 99 : Exit 62 | 63 | """) 64 | choice = raw_input("Enter Your Choice:") 65 | 66 | if choice == "1": 67 | info() 68 | elif choice == "2": 69 | passwd() 70 | elif choice == "3": 71 | wire() 72 | elif choice == "4": 73 | exp() 74 | elif choice == "5": 75 | snif() 76 | elif choice == "6": 77 | tnn() 78 | elif choice == "7": 79 | maine() 80 | elif choice == "99": 81 | os.system('clear'),sys.exit(); 82 | elif choice == "": 83 | menu() 84 | else: 85 | menu() 86 | ########################## 87 | #Host 2 ip 88 | def h2ip(): 89 | host = raw_input("Select A Host : ") 90 | ips = socket.gethostbyname(host) 91 | print(ips) 92 | ########################## 93 | #ports 94 | def ports(): 95 | os.system("clear") 96 | target = raw_input('Select a Target IP :') 97 | os.system("nmap -O -Pn %s" % target) 98 | sys.exit(); 99 | ########################## 100 | #inurlbr 101 | def ifinurl(): 102 | 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.""" 103 | print('do you have Inurlbr installed ? ') 104 | cinurl = raw_input("Y / N : ") 105 | if cinurl in yes: 106 | inurl() 107 | if cinurl in no: 108 | insinurl() 109 | elif cinurl == "": 110 | menu() 111 | else: 112 | menu() 113 | #################################### 114 | def inurl(): 115 | dork = raw_input("select a Dork:") 116 | output = raw_input("select a file to save :") 117 | os.system("./inurlbr.php --dork '{0}' -s {1}.txt -q 1,6 -t 1".format(dork, output)) 118 | if cinurl in no: 119 | insinurl() 120 | elif cinurl == "": 121 | menu() 122 | else: 123 | menu() 124 | #################################### 125 | def insinurl(): 126 | os.system("git clone https://github.com/googleinurl/SCANNER-INURLBR.git") 127 | os.system("chmod +x SCANNER-INURLBR/inurlbr.php") 128 | os.system("apt-get install curl libcurl3 libcurl3-dev php5 php5-cli php5-curl") 129 | os.system("mv /SCANNER-INURLBR/inurbr.php inurlbr.php") 130 | os.system("clear") 131 | inurl() 132 | #################################### 133 | #nmap function 134 | def nmap(): 135 | 136 | choice7 = raw_input("continue ? Y / N : ") 137 | if choice7 in yes : 138 | os.system("wget https://nmap.org/dist/nmap-7.01.tar.bz2") 139 | os.system("bzip2 -cd nmap-7.01.tar.bz2 | tar xvf -") 140 | os.system("cd nmap-7.01 & ./configure") 141 | os.system("cd nmap-7.01 & make") 142 | os.system("su root") 143 | os.system("cd nmap-7.01 & make install") 144 | elif choice7 in no : 145 | info() 146 | elif choice7 == "": 147 | menu() 148 | else: 149 | menu() 150 | #################################### 151 | #jboss-autopwn 152 | def jboss(): 153 | os.system('clear') 154 | print ("This JBoss script deploys a JSP shell on the target JBoss AS server. Once") 155 | print ("deployed, the script uses its upload and command execution capability to") 156 | print ("provide an interactive session.") 157 | print ("") 158 | print ("usage : ./e.sh target_ip tcp_port ") 159 | print("Continue: y/n") 160 | choice9 = raw_input("yes / no :") 161 | if choice9 in yes: 162 | os.system("git clone https://github.com/SpiderLabs/jboss-autopwn.git"),sys.exit(); 163 | elif choice9 in no: 164 | os.system('clear'); exp() 165 | elif choice9 == "": 166 | menu() 167 | else: 168 | menu() 169 | #################################### 170 | #sqlmap 171 | def sqlmap(): 172 | print ("usage : python sqlmap.py -h") 173 | choice8 = raw_input("Continue: y/n :") 174 | if choice8 in yes: 175 | os.system("git clone https://github.com/sqlmapproject/sqlmap.git sqlmap-dev & ") 176 | elif choice8 in no: 177 | os.system('clear'); info() 178 | elif choice8 == "": 179 | menu() 180 | else: 181 | menu() 182 | #################################### 183 | #setoolkit 184 | def setoolkit(): 185 | print ("The Social-Engineer Toolkit is an open-source penetration testing framework") 186 | print(") designed for social engineering. SET has a number of custom attack vectors that ") 187 | print(" allow you to make a believable attack quickly. SET is a product of TrustedSec, LLC ") 188 | print("an information security consulting firm located in Cleveland, Ohio.") 189 | print("") 190 | choiceset = raw_input("y / n :") 191 | if choiceset in yes: 192 | os.system("git clone https://github.com/trustedsec/social-engineer-toolkit.git") 193 | os.system("python social-engineer-toolkit/setup.py") 194 | if choiceset in no: 195 | os.system("clear"); info() 196 | elif choiceset == "": 197 | menu() 198 | else: 199 | menu() 200 | #################################### 201 | #cupp 202 | def cupp(): 203 | print("cupp is a password list generator ") 204 | print("Usage: python cupp.py -h") 205 | choicecupp = raw_input("Continue: y/n : ") 206 | 207 | if choicecupp in yes: 208 | os.system("git clone https://github.com/Mebus/cupp.git") 209 | print("file downloaded successfully") 210 | elif choicecupp in no: 211 | os.system("clear"); passwd() 212 | elif choicecupp == "": 213 | menu() 214 | else: 215 | menu() 216 | #################################### 217 | #ncrack 218 | def ncrack(): 219 | print("A Ruby interface to Ncrack, Network authentication cracking tool.") 220 | print("requires : nmap >= 0.3ALPHA / rprogram ~> 0.3") 221 | print("Continue: y/n") 222 | choicencrack = raw_input("y / n :") 223 | if choicencrack in yes: 224 | os.system("git clone https://github.com/sophsec/ruby-ncrack.git") 225 | os.system("cd ruby-ncrack") 226 | os.system("install ruby-ncrack") 227 | elif choicencrack in no: 228 | os.system("clear"); passwd() 229 | elif choicencrack == "": 230 | menu() 231 | else: 232 | menu() 233 | #################################### 234 | #reaver 235 | def reaver(): 236 | print """ 237 | Reaver has been designed to be a robust and practical attack against Wi-Fi Protected Setup 238 | WPS registrar PINs in order to recover WPA/WPA2 passphrases. It has been tested against a 239 | wide variety of access points and WPS implementations 240 | 1 to accept / 0 to decline 241 | """ 242 | creaver = raw_input("y / n :") 243 | if creaver in yes: 244 | os.system("apt-get -y install build-essential libpcap-dev sqlite3 libsqlite3-dev aircrack-ng pixiewps") 245 | os.system("git clone https://github.com/t6x/reaver-wps-fork-t6x.git") 246 | os.system("cd reaver-wps-fork-t6x/src/ & ./configure") 247 | os.system("cd reaver-wps-fork-t6x/src/ & make") 248 | elif creaver in no: 249 | os.system("clear"); wire() 250 | elif creaver == "": 251 | menu() 252 | else: 253 | menu() 254 | #################################### 255 | #sslstrip 256 | def ssls(): 257 | print"""sslstrip is a MITM tool that implements Moxie Marlinspike's SSL stripping 258 | attacks. 259 | It requires Python 2.5 or newer, along with the 'twisted' python module.""" 260 | cssl = raw_input("y / n :") 261 | if cssl in yes: 262 | os.system("git clone https://github.com/moxie0/sslstrip.git") 263 | os.system("sudo apt-get install python-twisted-web") 264 | os.system("python sslstrip/setup.py") 265 | if cssl in no: 266 | snif() 267 | elif cssl =="": 268 | menu() 269 | else: 270 | menu() 271 | #################################### 272 | #shellnoob 273 | def shellnoob(): 274 | print """Writing shellcodes has always been super fun, but some parts are extremely boring and error prone. Focus only on the fun part, and use ShellNoob!""" 275 | cshell = raw_input("Y / N : ") 276 | if cshell in yes: 277 | os.system("git clone https://github.com/reyammer/shellnoob.git") 278 | os.system("mv shellnoob/shellnoob.py shellnoob.py") 279 | os.system("sudo python shellnoob.py --install") 280 | if cshell in no: 281 | exp() 282 | elif cshell =="": 283 | menu() 284 | else: 285 | menu() 286 | ##################################### 287 | #information gathering function 288 | def info(): 289 | print("1: nmap ") 290 | print("2: Setoolkit") 291 | print("3: Port Scanning") 292 | print("4: Host To IP") 293 | print("99: Back To Main Menu") 294 | choice2 = raw_input("Select from the menu:") 295 | if choice2 == "1": 296 | os.system('clear'); nmap() 297 | if choice2 == "2": 298 | os.system("clear"); setoolkit() 299 | if choice2 == "3": 300 | os.system("clear"); ports() 301 | if choice2 == "4": 302 | os.system("clear"); h2ip() 303 | elif choice2 =="99": 304 | os.system("clear"); menu() 305 | elif choice2 == "": 306 | menu() 307 | else: 308 | menu() 309 | ########################## 310 | def priv8(): 311 | tnn() 312 | #password attacks menu 313 | def passwd(): 314 | print("1: cupp ") 315 | print("2: Ncrack") 316 | print("99: Back To Main Menu") 317 | choice3 = raw_input("Select from the menu:") 318 | if choice3 =="1": 319 | os.system("clear"); cupp() 320 | elif choice3 =="2": 321 | os.system("clear"); ncrack() 322 | elif choice3 =="99": 323 | os.system("clear"); menu() 324 | elif choice3 == "": 325 | menu() 326 | else: 327 | menu() 328 | ########################## 329 | #wireless attacks 330 | def wire(): 331 | print("1: reaver ") 332 | print("99: Back To The Main Menu") 333 | choice4 = raw_input("Select from the menu:") 334 | if choice4 =="1": 335 | os.system("clear");reaver() 336 | elif choice4 =="99": 337 | menu() 338 | elif choice4 == "": 339 | menu() 340 | else: 341 | menu() 342 | ########################## 343 | #exploitation tools 344 | def exp(): 345 | print("1 : jboss-autopwn ") 346 | print("2 : sqlmap") 347 | print("3 : Shellnoob") 348 | print("4 : Inurlbr") 349 | print("99 : Go Back To Main Menu") 350 | choice5 = raw_input("Select from the menu:") 351 | if choice5 =="2": 352 | os.system("clear"); sqlmap() 353 | if choice5 =="1": 354 | os.system('clear'); jboss() 355 | if choice5 =="3": 356 | os.system("clear"); shellnoob() 357 | if choice5 == "4": 358 | os.system("clear"); ifinurl() 359 | elif choice5 =="99": 360 | menu() 361 | elif choice5 == "": 362 | menu() 363 | else: 364 | menu() 365 | ########################### 366 | #sniffing tools 367 | def snif(): 368 | print("1 : Setoolkit ") 369 | print("2 : Ssltrip") 370 | print("99: Back To Main Menu") 371 | choice6 = raw_input("Select from the menu:") 372 | if choice6 =="1": 373 | os.system("clear"); setoolkit() 374 | if choice6 =="2": 375 | os.system("clear"); ssls() 376 | if choice6 =="99": 377 | os.system("clear"); menu() 378 | elif choice6 == "": 379 | menu() 380 | else: 381 | menu() 382 | ########################## 383 | #if Os is Windows 384 | def win(): 385 | os.system("clear") 386 | print("Our Tool Does Not Support Windows , run it on linux or install a virtual machine ") 387 | sys.exit(); 388 | #Check use OS 389 | ########################## 390 | def OS(): 391 | print( 392 | """ 393 | Choose Operating System : 394 | 1) Mac OSX 395 | 2) Linux 396 | 3) Windows 397 | """) 398 | system = raw_input("choose an OS : ") 399 | if system =="2": 400 | menu() 401 | elif system =="1": 402 | root() 403 | elif system =="3": 404 | win() 405 | elif system == "": 406 | OS() 407 | else: 408 | sys.exit(); 409 | ############################ 410 | #check root if linux 411 | def root(): 412 | if os.getuid() != 0: 413 | print("Are you root? Please execute as root") 414 | exit() 415 | else: 416 | menu() 417 | ############################# 418 | #priv8 menu 419 | menuu = """ 420 | 1) Get all websites 421 | 2) Get joomla websites 422 | 3) Get wordpress websites 423 | 4) Find control panel 424 | 5) Find zip files 425 | 6) Find upload files 426 | 7) Get server users 427 | 8) Scan from SQL injection 428 | 9) Crawl and scan from SQL injection 429 | 10) Scan ports (range of ports) 430 | 11) Scan ports (common ports) 431 | 12) Get server banner 432 | 13) Bypass Cloudflare 433 | 99) Exit 434 | """ 435 | ############################# 436 | #grab function 437 | def unique(seq): 438 | """ 439 | get unique from list found it on stackoverflow 440 | """ 441 | seen = set() 442 | return [seen.add(x) or x for x in seq if x not in seen] 443 | ############################ 444 | #clear screen function 445 | def clearScr() : 446 | """ 447 | clear the screen in case of GNU/Linux or 448 | windows 449 | """ 450 | if system() == 'Linux': 451 | os.system('clear') 452 | if system() == 'Windows': 453 | os.system('cls') 454 | ############################ 455 | class TNscan : #TNscan Function menu 456 | def __init__(self, serverip) : 457 | self.serverip = serverip 458 | self.getSites(False) 459 | print menuu 460 | while True : 461 | choice = raw_input(' Enter choice -> ') 462 | if choice == '1' : 463 | self.getSites(True) 464 | elif choice == '2' : 465 | self.getJoomla() 466 | elif choice == '3' : 467 | self.getWordpress() 468 | elif choice == '4' : 469 | self.findPanels() 470 | elif choice == '5' : 471 | self.findZip() 472 | elif choice == '6' : 473 | self.findUp() 474 | elif choice == '7' : 475 | self.getUsers() 476 | elif choice == '8' : 477 | self.grabSqli() 478 | elif choice == '9' : 479 | nbpages = int(raw_input(' Enter number of pages to crawl (ex : 100) -> ')) 480 | self.crawlSqli(nbpages) 481 | elif choice == '10' : 482 | ran = raw_input(' Enter range of ports, (ex : 1-1000) -> ') 483 | self.portScanner(1, ran) 484 | elif choice == '11' : 485 | self.portScanner(2, None) 486 | elif choice == '12' : 487 | self.getServerBanner() 488 | elif choice == '13' : 489 | self.cloudflareBypasser() 490 | elif choice == '99' : 491 | print ' Goodbye' 492 | exit() 493 | con = raw_input(' Continue [Y/n] -> ') 494 | if con[0].upper() == 'N' : 495 | exit() 496 | else : 497 | clearScr() 498 | print menuu 499 | ############################ 500 | #get websites from server 501 | def getSites(self, a) : 502 | """ 503 | get all websites on same server 504 | from bing search 505 | """ 506 | lista = [] 507 | page = 1 508 | while page <= 101: 509 | try: 510 | bing = "http://www.bing.com/search?q=ip%3A" + self.serverip + "+&count=50&first=" + str(page) 511 | openbing = urllib2.urlopen(bing) 512 | readbing = openbing.read() 513 | findwebs = re.findall('