All Projects → hegusung → Webhashcat

hegusung / Webhashcat

Licence: mit
Hashcat web interface

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Webhashcat

Hashview
A web front-end for password cracking and analytics
Stars: ✭ 601 (+298.01%)
Mutual labels:  analytics, security-tools, pentesting, hashcat, password-cracking
Wifi Cracking
Crack WPA/WPA2 Wi-Fi Routers with Airodump-ng and Aircrack-ng/Hashcat
Stars: ✭ 9,546 (+6221.85%)
Mutual labels:  cracking, hashcat, password-cracking
Duplicut
Remove duplicates from MASSIVE wordlist, without sorting it (for dictionary-based password cracking)
Stars: ✭ 352 (+133.11%)
Mutual labels:  cracking, hashcat, password-cracking
server
Hashtopolis - A Hashcat wrapper for distributed hashcracking
Stars: ✭ 954 (+531.79%)
Mutual labels:  pentesting, cracking, hashcat
Hashtopolis
A Hashcat wrapper for distributed hashcracking
Stars: ✭ 835 (+452.98%)
Mutual labels:  pentesting, cracking, hashcat
Hacker Container
Container with all the list of useful tools/commands while hacking and pentesting Kubernetes Clusters
Stars: ✭ 105 (-30.46%)
Mutual labels:  security-tools, pentesting
Hashcat
World's fastest and most advanced password recovery utility
Stars: ✭ 11,014 (+7194.04%)
Mutual labels:  cracking, hashcat
Bulwark
An organizational asset and vulnerability management tool, with Jira integration, designed for generating application security reports.
Stars: ✭ 113 (-25.17%)
Mutual labels:  security-tools, pentesting
Horn3t
Powerful Visual Subdomain Enumeration at the Click of a Mouse
Stars: ✭ 120 (-20.53%)
Mutual labels:  security-tools, pentesting
Scilla
🏴‍☠️ Information Gathering tool 🏴‍☠️ DNS / Subdomains / Ports / Directories enumeration
Stars: ✭ 116 (-23.18%)
Mutual labels:  security-tools, pentesting
Pantagrule
large hashcat rulesets generated from real-world compromised passwords
Stars: ✭ 146 (-3.31%)
Mutual labels:  hashcat, password-cracking
M4ngl3m3
Common password pattern generator using strings list
Stars: ✭ 103 (-31.79%)
Mutual labels:  security-tools, cracking
Security Scripts
A collection of public offensive and defensive security related scripts for InfoSec students.
Stars: ✭ 101 (-33.11%)
Mutual labels:  security-tools, pentesting
Embedos
EmbedOS - Embedded security testing virtual machine
Stars: ✭ 108 (-28.48%)
Mutual labels:  security-tools, pentesting
Flask Unsign
Command line tool to fetch, decode, brute-force and craft session cookies of a Flask application by guessing secret keys.
Stars: ✭ 90 (-40.4%)
Mutual labels:  security-tools, pentesting
Sippts
Set of tools to audit SIP based VoIP Systems
Stars: ✭ 116 (-23.18%)
Mutual labels:  security-tools, pentesting
Pocsuite3
pocsuite3 is an open-sourced remote vulnerability testing framework developed by the Knownsec 404 Team.
Stars: ✭ 2,213 (+1365.56%)
Mutual labels:  pentesting, security-tools
Jwtxploiter
A tool to test security of json web token
Stars: ✭ 130 (-13.91%)
Mutual labels:  security-tools, pentesting
Nimscan
🚀 Fast Port Scanner 🚀
Stars: ✭ 134 (-11.26%)
Mutual labels:  security-tools, pentesting
Distributed Password Cracking
Borrow CPU cycles from visitor's web browsers to crack MD5 password hashes 😲
Stars: ✭ 136 (-9.93%)
Mutual labels:  cracking, password-cracking

WebHashcat

Hashcat web interface

WebHashcat is a very simple but efficient web interface for hashcat password cracking tool. It hash the following features:

  • Distributed cracking sessions between multiple server (you only need to install HashcatNode on the remote server)
  • Cracked hashes are displayed almost as soon as they are cracked
  • Cracking session restore (for example after host reboot)
  • Upload plaintext files for analytics purposes
  • Search patterns through the entire database
  • Analytics

Currently WebHashcat supports rule-based and mask-based attack mode

This project is composed of 2 parts:

  • WebHashcat, the web interface made with the django framework
  • HashcatNode, A hashcat wrapper which creates an API over hashcat

WebHashcat Usage

Adding rules, masks and wordlists to webhashcat

Go to the Hashcat > Files page, than simply use the upload button to add new files. Note that uploaded files are added to webhashcat but not deployed to nodes yet.

Rules/Masks/Wordlists

Registering a node

The nodes can be simply added and removed on the Node page, you only need to define the ip, port, username and password (as defined in the hashcatnode configuration script).

Node list

Once a node is registered, click on the node and hit the synchronise button on the top. Rules, Masks and Wordlists should now be uploaded to the node (all files should be green).

Node

Adding a hashfile

In the hashcat page, simply hit the bottom "add" button to upload a new hashfile, after comparing the new hashfile to the centralised potfile (can take a few minutes with huge hashfiles), your hashfile should appear in the list.

Creating a cracking session

Simply hit the "+" button on the left of the hashfile, then select the desired cracking method. Note that sessions aren't started automatically, you will need to use the "play" button to start them.

Hashfile list

If you set the cron to 5 minutes, the central potfile will be updated every 5 minutes with newly cracked hashes.

Simply click on the hashfile to view the results, it can take few seconds on huge hashfiles. Note that you can also download the results on both the hashfile list and hashfile views.

Hashfile details

Search for ŝpecific patterns in usernames

Using this functionality you can easily search from client's email addresses in leaks uploaded in webhashcat. Simply provide a string you want to look for in the username and select in which hashfiles you want to look for it. Once the research in the database is done, you should be able to download the results. If you add a new hashfile afterwards, you can simply click on the 'reload' button and WebHashcat will search again in the whole database.

Hashfile details

Install

HashcatNode

HashcatNode can be run on both Windows and Python

Windows limitation: Only one cracking session can be running/paused at a time

Install the pip packages:

pip3 install -r requirements.txt

If you are running it on Windows, install also the pywin32 package

pip3 install pywin32

Rename the settings.ini.sample file to settings.ini and fill the parameters accordingly.

The rules, mask and wordlist directory must be writable by the user running hashcatnode

the hashcatnode can be run simply by running ./hashcatnode.py

  • Create the database (sqlite) Run the script (HashcatNode folder)
./create_database.py
  • Create the node certificates (Install a Windows version of OpenSSL if you are running HashcatNode on Windows)
openssl req -x509 -newkey rsa:4096 -keyout server.key -out server.crt -days 365 -nodes
  • HashcatNode can be started manually by:
python3 hashcatnode.py
  • Register as a service (systemd) (linux only) Edit the systemd/hashcatnode.service file to match your setup, then copy it to /etc/systemd/system/

Dependencies

  • python3
  • flask
  • flask-basicauth
  • peewee
  • hashcat >= 3

WebHashcat

Installing Packages

Install the following packages:

apt install mysql-server
apt install libmysqlclient-dev
apt install redis
apt install supervisor

Install the pip packages:

pip3 install -r requirements.txt

Creating the database

Create the database using the following command to ensure you can insert utf8 usernames/passwords

mysql> CREATE DATABASE webhashcat CHARACTER SET utf8;
mysql> CREATE USER webhashcat IDENTIFIED BY '<insert_password_here>';
mysql> GRANT ALL PRIVILEGES ON webhashcat.* TO 'webhashcat';

Configuration

WebHashcat is a django application using mysql database, its installation is done this way:

  • Copy Webhashcat/settings.py.sample file to WebHashcat/settings.py
  • Edit it:
  • Change the SECRET_KEY parameter You can generate a random secret key by running this in a python shell
from django.utils.crypto import get_random_string

chars = '[email protected]#$%^&*(-_=+)'
get_random_string(50, chars)
  • Copy settings.ini.sample file to settings.ini
  • Edit settings.ini file
  • the potfile parameter doesn't need to be changed
  • Create the tables with django
./manage.py makemigrations
./manage.py migrate
  • Create the user to access the interface
./manage.py createsuperuser

Setting up the web server

  • If you want to test the interface without setting up a web server use this command:
./manage.py runserver

Setting up supervisor

Supervisor is the deamon which is responsible of heavy background tasks such as pulling latest results from the nodes or importing hashfiles.

  • After installing supervisor, copy the configuration files from the Webhashcat/supervisor folder to the /etc/supervisor/conf.d/ folder.
  • Once done, edit them to match your configuration

Dependencies

  • python3
  • django >= 2
  • hashcat >= 3
  • mysqlclient
  • humanize
  • requests
  • requests-toolbelt
  • celery
  • redis
  • supervisor

Operating System improvements

If you are willing to process more than 10M hashes, I recommend you to apply the following mofication to your system:

  • Increase the your /tmp size: Mysql tends to put a lot of data in the /tmp directory when processing huge hashfiles
  • Increase your swap partition size
  • If you use InnoDB tables in you MySQL configuration, I recommend you to edit your my.cnf configuration file and increase the innodb_buffer_pool_size value. This way MySQL will be able to allocate sufficiant memory when updating cracked hashes.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].