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.
- Multi-threaded execution: Fast testing using
concurrent.futures. - Modular design: Easy to add new protocols by adhering to the base
ProtocolTesterBaseinterface. - OPSEC / Repository Safe: Strict
.gitignorerules 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
paramikofor SSH).
- Clone the repository:
git clone https://github.com/Dhy4n-117/OmniAuth.git
cd OmniAuth- (Optional) Create a virtual environment:
python -m venv venv
# Windows
venv\\Scripts\\activate
# Linux/Mac
source venv/bin/activate- Install requirements (paramiko):
pip install -r requirements.txtpython 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)Test SSH using single user/pass against local test server:
python main.py -t 127.0.0.1 -P ssh -u root -p passwordTest 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 10main.py: CLI entry point usingargparse.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).