Skip to content

Dhy4n-117/OmniAuth

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OmniAuth - Protocol Authentication Tester

A clean, fast, and multi-threaded authentication tester for SSH and FTP protocols written in Python.

[!] DISCLAIMER: This project is for educational, ethical, and authorized testing purposes only. It is meant to demonstrate scripting, networking, and multi-threading concepts in Python. Do not use this tool against infrastructure you do not own or have explicit permission to test.

Features

  • Multi-threaded execution: Fast testing using concurrent.futures.
  • Modular design: Easy to add new protocols by adhering to the base ProtocolTesterBase interface.
  • OPSEC / Repository Safe: Strict .gitignore rules prevent private wordlists or logs from being leaked into source control. No hardcoded targets or credentials exist in the codebase.
  • Minimal Dependencies: Built primarily with the Python standard library (only requires paramiko for SSH).

Installation

  1. Clone the repository:
git clone https://github.com/Dhy4n-117/OmniAuth.git
cd OmniAuth
  1. (Optional) Create a virtual environment:
python -m venv venv
# Windows
venv\\Scripts\\activate
# Linux/Mac
source venv/bin/activate
  1. Install requirements (paramiko):
pip install -r requirements.txt

Usage

python main.py -h

usage: main.py [-h] -t TARGET -P {ssh,ftp} -u USERS -p PASSWORDS [--port PORT] [--threads THREADS] [--timeout TIMEOUT]

OmniAuth - A clean, fast protocol authentication tester safely built for portfolio demonstration.

options:
  -h, --help            show this help message and exit
  -t TARGET, --target TARGET
                        Target IP or hostname
  -P {ssh,ftp}, --protocol {ssh,ftp}
                        Protocol to test (ssh, ftp)
  -u USERS, --users USERS
                        Single username or path to user wordlist
  -p PASSWORDS, --passwords PASSWORDS
                        Single password or path to password wordlist
  --port PORT           Target port (defaults to standard protocol port)
  --threads THREADS     Number of concurrent threads (default: 5)
  --timeout TIMEOUT     Connection timeout in seconds (default: 5)

Examples

Test SSH using single user/pass against local test server:

python main.py -t 127.0.0.1 -P ssh -u root -p password

Test FTP using wordlists: (Note: A small example_wordlist.txt is provided for demonstration)

python main.py -t 192.168.1.50 -P ftp -u admin -p example_wordlist.txt --threads 10

Structure

  • main.py: CLI entry point using argparse.
  • core/engine.py: Multi-threaded engine for managing asynchronous test attempts safely.
  • modules/: Contains abstract base protocol interfaces and specific protocol implementations (ssh_tester.py, ftp_tester.py).

About

A clean, fast, and multi-threaded authentication tester for SSH and FTP protocols written in Python.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages