Git Product home page Git Product logo

frizb / vanquish Goto Github PK

View Code? Open in Web Editor NEW
500.0 40.0 132.0 346 KB

Vanquish is Kali Linux based Enumeration Orchestrator. Vanquish leverages the opensource enumeration tools on Kali to perform multiple active information gathering phases.

License: MIT License

Python 100.00%
kali-linux oscp vulnerability-scanners vulnerability-assessment offensive-security python penetration-testing penetration-testing-framework

vanquish's Introduction

Vanquish – Get to Shell

Vanquish is a Kali Linux based Enumeration Orchestrator built in Python. Vanquish leverages the opensource enumeration tools on Kali to perform multiple active information gathering phases. The results of each phase are fed into the next phase to identify vulnerabilities that could be leveraged for a remote shell.

asciicast

Vanquish Features

So what is so special about Vanquish compared to other enumeration scripts?

  1. Multi-threaded – Runs multiple commands and scans multiple hosts simultaneously.
  2. Configurable – All commands are configured in a separate .ini file for ease of adjustment
  3. Multiphase – Optimized to run the fastest enumeration commands first in order to get actionable results as quickly as possible.
  4. Intelligent – Feeds the findings from one phase into the next in order to uncover deeper vulnerabilities.
  5. Modular – New attack plans and commands configurations can be easily built for fit for purpose enumeration orchestration.

Getting Started

Vanquish can be installed on Kali Linux using the following commands:

git clone https://github.com/frizb/Vanquish
cd Vanquish
python Vanquish2.py -install
vanquish --help

asciicast

Once Vanquish is installed you can scan hosts by leveraging the best of breed Kali Linux tools:

echo 192.168.126.133 >> test.txt
vanquish -hostFile test.txt -logging
echo review the results!
cd test
cd 192_168_126_133
ls -la

What Kali Tools does Vanquish leverage?

| NMap | Hydra | Nikto | Metasploit | | Gobuster | Dirb | Exploitdb | Nbtscan | | Ntpq | Enum4linux | Smbclient | Rpcclient | | Onesixtyone | Sslscan | Sslyze | Snmpwalk | | Ident-user-enum | Smtp-user-enum | Snmp-check | Cisco-torch | | Dnsrecon | Dig | Whatweb | Wafw00f | | Wpscan | Cewl | Curl | Mysql | Nmblookup | Searchsploit | | Nbtscan-unixwiz | Xprobe2 | Blindelephant | Showmount |

Running Vanquish

  • CTRL + C

    CTRL + C to exit an enumeration phase and skip to the next phase (helpful if a command is taking too long) Vanquish will skip running a command again if it sees that the output files already exist. If you want to re-execute a command, delete the output files (.txt,.xml,.nmap etc.) and run Vanquish again.

  • CTRL + Z

    CTRL + Z to exit Vanquish.

  • Resume Mode

    Vanquish will skip running a command again if it sees that the output files already exist.

  • Re-run an enumeration command

    If you want to re-execute a command, delete the output files (.txt,.xml,.nmap etc.) and run Vanquish again.

Commandline Arguments

Command Line Arguments
usage: vanquish [-h] [-install] [-outputFolder folder] [-configFile file]
                [-attackPlanFile file] [-hostFile file] [-workspace workspace]
                [-domain domain] [-dnsServer dnsServer] [-proxy proxy]
                [-reportFile report] [-noResume] [-noColor]
                [-threadPool threads] [-phase phase] [-noExploitSearch]
                [-benchmarking] [-logging] [-verbose] [-debug]

Vanquish is Kali Linux based Enumeration Orchestrator.

optional arguments:
  -h, --help            show this help message and exit
  -install              Install Vanquish and it's requirements
  -outputFolder folder  output folder path (default: name of the host file))
  -configFile file      configuration ini file (default: config.ini)
  -attackPlanFile file  attack plan ini file (default: attackplan.ini)
  -hostFile file        list of hosts to attack (default: hosts.txt)
  -workspace workspace  Metasploit workspace to import data into (default: is
                        the host filename)
  -domain domain        Domain to be used in DNS enumeration (default:
                        megacorpone.com)
  -dnsServer dnsServer  DNS server option to use with Nmap DNS enumeration.
                        Reveals the host names of each server (default: )
  -proxy proxy          Proxy server option to use with scanning tools that
                        support proxies. Should be in the format of ip:port
                        (default: )
  -reportFile report    filename used for the report (default: report.txt)
  -noResume             do not resume a previous session
  -noColor              do not display color
  -threadPool threads   Thread Pool Size (default: 8)
  -phase phase          only execute a specific phase
  -noExploitSearch      disable searchspolit exploit searching
  -benchmarking         enable bench mark reporting on the execution time of
                        commands(exports to benchmark.csv)
  -logging              enable verbose and debug data logging to files
  -verbose              display verbose details during the scan
  -debug                display debug details during the scan

Custom Attack Plans

GoBuster Max

GoBuster Max is an attack plan that will run all the web application content detection dictionaries against your targets.

Vanquish -hostFile test.txt -attackPlanFile ./attackplans/gobuster-max.ini -logging

asciicast

Hydra Credentials Scanner

We users love to reuse our passwords across multiple systems. As you explore a network and harvest usernames and passwords, its probably a good idea to check where else those username and passwords are also used. This attack plan will do exactly that for a single host or across an entire network. Attack plans will also leverage what has been learned about a network from previous scans and will automatically use the discovered services as part of the credential testing.

This attack will use a list of known credentials for a network and test them against all hosts and services that have been discovered. Store the credentials in a file in the root of your scan path and name it: credentials.txt

Ex. File containing host list: /root/Documents/Vanquish/myhosts.txt

/root/Documents/Vanquish/myhosts/credentials.txt

Store each known credential in username:password format in the text file Ex. credentials.txt

elvis:Password!
jamesdean:rockyou
justin:12345678

Note: this attack plan does NOT create the >> .txt file so it can be run again and again without havingto delete the output files. This allows new credentials to be added to the list and the network to be rescanned frequently.

python Vanquish2.py -hostFile hostlist.txt -attackPlanFile ./attackplans/credentials.ini

Hydra Usernames and Passwords List Scanner

This attack will use a list of known usernames and a list of known passwords for a network and test them against all hosts and services that have been discovered.

Store the usernames in a file in the root of your scan path and name it: usernames.txt Ex. File containing host list: /root/Documents/Vanquish/myhosts.txt

/root/Documents/Vanquish/myhosts/usernames.txt

Store the passwords in a file in the root of your scan path and name it: passwords.txt Ex. File containing host list: /root/Documents/Vanquish/myhosts.txt

/root/Documents/Vanquish/myhosts/passwords.txt

Store each username or password on a new line of the text file Ex. usernames.txt

elvis
jamesdean
justin

Passwords are stored in a similar manner in the passwords.txt file.

Note: this attack plan does NOT create the >> .txt file so it can be run again and again without having to delete the output files. This allows new credentials to be added to the list and the network to be rescanned frequently.

python Vanquish2.py -hostFile hostlist.txt -attackPlanFile ./attackplans/usernamespasswords.ini

vanquish's People

Contributors

frizb avatar lsorenson-os avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

vanquish's Issues

vanquish -hostFile host.txt

Traceback (most recent call last):
File "/usr/local/bin/vanquish", line 4, in
Vanquish2.main()
File "/usr/local/lib/python2.7/dist-packages/Vanquish2.py", line 879, in main
vanquish = Vanquish(argv if argv else sys.argv[1:])
File "/usr/local/lib/python2.7/dist-packages/Vanquish2.py", line 331, in init
Logger.VERBOSE = (self.config.getboolean("System", "Verbose") or self.args.verbose)
File "/usr/lib/python2.7/ConfigParser.py", line 368, in getboolean
v = self.get(section, option)
File "/usr/lib/python2.7/ConfigParser.py", line 607, in get
raise NoSectionError(section)
ConfigParser.NoSectionError: No section: 'System'

Addition to your program

I thought I would offer to add this simple script to your program which I have been using to create username:password lists for your application. The code is below.

#!/bin/bash
#if less than 3 agrs are provided
#help section
if [[ $# -lt 3 ]] ; then
    echo 'usage: usernamepasswordgenerator.sh /someplace/usernames.txt /someplace/passwords.txt /someplace/combined.txt'
    exit 0
fi
#-h
if [ "$1" == "-h" ]; then
echo 'usage: usernamepasswordgenerator.sh /someplace/usernames.txt /someplace/passwords.txt /someplace/combined.txt'
  exit 0
fi
#--help
if [ "$1" == "--help" ]; then
echo 'usage: usernamepasswordgenerator.sh /someplace/usernames.txt /someplace/passwords.txt /someplace/combined.txt'
  exit 0
fi

#the generation part, two loops ezy pezy
while read username;do
while read password; do
echo $username:$password >> $3
done <$2
done <$1
echo "completed with $(wc -l $3 |cut -d ' ' -f1) lines total"

AttackPlan Elaboration

frizb,

Would it be possible for you to post some documentation on custom attack plan creation? I am working to create a "legal" OSCP exam attack plan, but I am running into issues where the custom lines I add to config.ini are not running correctly. Instead of addressing just my issues, I think some elaboration on the attack plan creation as a whole would be super helpful.

Thanks!

vanquish --help error import module named Vanquish2

Hello,

I did a try to use this awesome tool but getting this error:

root@VMKALI:~/Vanquish# python Vanquish2.py -install


\ \ / /\ | | |/ _ | | | | / __| || |
\ V / _ | .` | (
) | || || |_ \ __ |
_// __|_|__\/||_/|||
Faster than a one-legged man in a butt kicking contest.
Vanquish Version: 0.25 Updated: October 1, 2017
[*] Resuming previous session

Configuration file: install.ini
Attack plan file: installplan.ini
Output Path: ./hosts
Host File: hosts.txt

[+] Starting Phase: Install or Update Required Kali Packages
[################################] 4/4 - 00:00:14
[+] Starting Phase: Update Vanquish
[################################] 1/1 - 00:00:00
[+] Starting Phase: Setup Vanquish
[################################] 0/0 - 00:00:00
[+] Starting Phase: Install Vulscan for Nmap
[################################] 2/2 - 00:00:06
[+] Starting Phase: Set File Permissions
[################################] 1/1 - 00:00:00
[+] Starting post enumeration...
[+] Starting Phase:
[################################] 0/0 - 00:00:00
[+] Searching for matching exploits...
[+] Elapsed Time: 00:00:21
root@VMKALI:~/Vanquish# vanquish --help
Traceback (most recent call last):
File "/usr/local/bin/vanquish", line 3, in
import Vanquish2
ImportError: No module named Vanquish2

running Kali2017.2 (newest release) as virtual machine on VMware fusion on a map running Mac OS high Sierra.

Linux VMKALI 4.12.0-kali2-amd64 #1 SMP Debian 4.12.13-1kali2 (2017-10-03) x86_64 GNU/Linux

root@VMKALI:~/Vanquish# python -V
Python 2.7.13

anything else that may can help on this ?

thanks

'OSCP' exam legality

Hey there,

I noticed this is tagged 'OSCP' and you point to this project in your (fantastic) OSCP survival guide. In the stock attackplan.ini SQLMap gets ran which is banned in the OSCP exam. You might want to point that out in https://github.com/frizb/OSCP-Survival-Guide or provide an exam-safe attackplan.ini.

I was able to yank All the metasploit and SQLMap related commands from attackplan.ini and config.ini without incident. For anyone reading this who is going into the OSCP exam, you can safely delete lines 636-643 (everything that runs sqlmap) and lines 652-659 (everything that runs metasploit) in config.ini and everything after line 151 in attackplan.ini to be 100% safe.

Report

Hello, thank you for this tool.

Can you explain me please how to see the result of the scan?

Thanks

Installation Error - commanderror.log updateFiles.sh not found - Fix is included

Hi there,

When installing Vanquish on a brand new Kali 2020.4 Rolling, I encountered an error. When viewing "commanderror.log", I received the following:
image

One issue is that the Vulscan GitHub you are cloning (configured in the "install.ini" file) has moved the "updateFiles.sh" file into the following directory, after the installer clones the repository: /usr/share/nmap/scripts/vulscan/utilities/updater
image

I had to manually edit the "install.ini" file to include that location for the installation to work. Additionally, for those Kali users that have NOT switched away from the default zsh shell, I had to include "bash" at the beginning of the command:
image

After making the edit to that line, I was able to successfully install and check the version:
image

Additionally and unrelated, when running vanquish from a directory other than the one I cloned the tool into, I received another error:
image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.