password-audit

๐Ÿ” Password Audit

Web-Based Hash Auditing ยท Dictionary Testing ยท Security Learning

Python Flask Security

A simple web-based password auditing tool for testing password hashes against a wordlist in an authorized, offline lab environment.


โœฆ What is Password Audit?

Password Audit is a lightweight web application that demonstrates how dictionary-based password auditing works.

Instead of testing credentials against an online service, the application works locally by comparing candidate words from a wordlist against a supplied password hash.

It is designed for:


๐Ÿงฉ Features


๐Ÿ› ๏ธ Technology Stack

Technology Purpose
Python Application logic
Flask Web application/backend
HTML5 Interface structure
CSS3 Styling and responsive layout
JavaScript Frontend interactions
Hashing libraries Hash generation and comparison
Wordlists Candidate password input

๐Ÿ“ Project Structure

password-audit/
โ”œโ”€โ”€ app.py
โ”œโ”€โ”€ requirements.txt
โ”œโ”€โ”€ templates/
โ”œโ”€โ”€ static/
โ””โ”€โ”€ README.md

The exact file structure may change as the project develops.


๐Ÿš€ Run Locally

Clone the repository, create a virtual environment, install the dependencies, and start the application:

git clone https://github.com/btwsalts/password-audit.git
cd password-audit
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
python3 app.py

After starting the application, open the local address shown by the Flask application in your browser.


๐Ÿง  How It Works

The basic workflow is:

Hash Input
    โ”‚
    โ–ผ
Select Algorithm
    โ”‚
    โ–ผ
Load Wordlist
    โ”‚
    โ–ผ
Read Candidate
    โ”‚
    โ–ผ
Generate Hash
    โ”‚
    โ–ผ
Compare With Target Hash
    โ”‚
    โ”œโ”€โ”€ Match โ†’ Password Found
    โ”‚
    โ””โ”€โ”€ No Match โ†’ Continue

The process continues until a matching candidate is found or the wordlist has been exhausted.


๐Ÿ”Ž Supported Hash Algorithms

The current implementation supports:


๐Ÿงช Example Wordlist

Create a file such as wordlist.txt:

hello
password
Password123
admin
test

The application can then compare each candidate against the supplied hash.


๐Ÿ“Œ Example Workflow

  1. Start the application locally.
  2. Open the web interface.
  3. Enter a hash generated from a test password.
  4. Select the correct hashing algorithm.
  5. Provide a wordlist.
  6. Start the audit.
  7. Review the result and number of attempts.

For testing, use passwords and hashes that you generated yourself.


๐Ÿ” Security Note

This project performs local dictionary-based hash comparison.

It does not perform:

Only use the project with passwords, hashes, wordlists, and systems you own or are explicitly authorized to test.


โš ๏ธ Limitations


๐Ÿง  What I Practiced

This project demonstrates practical experience with:


๐Ÿ”ญ Future Improvements

Potential improvements include:


๐Ÿ’ผ Portfolio Value

Password Audit is a practical example of combining software engineering and cybersecurity.

The project demonstrates how a security concept can be turned into a usable web application with a frontend, backend logic, file processing, and hash comparison.

It also provides a foundation for experimenting with:

Web UI โ†’ Backend Logic โ†’ Wordlist Processing โ†’ Hashing โ†’ Result Reporting


๐Ÿ‘ค Author

Built by btwsalts as a cybersecurity and software-engineering project.