https://github.com/s-r-e-e-r-a-j/ftpbuster
FTPBrute is a powerful command-line brute-forcing tool designed to brute-force FTP, SFTP, and explicit FTPS servers by performing dictionary-based attacks.
https://github.com/s-r-e-e-r-a-j/ftpbuster
brute-force ftpbruteforcer linux python python3 pythontool
Last synced: about 2 months ago
JSON representation
FTPBrute is a powerful command-line brute-forcing tool designed to brute-force FTP, SFTP, and explicit FTPS servers by performing dictionary-based attacks.
- Host: GitHub
- URL: https://github.com/s-r-e-e-r-a-j/ftpbuster
- Owner: s-r-e-e-r-a-j
- License: gpl-3.0
- Created: 2025-06-20T09:54:46.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2025-06-20T11:05:59.000Z (12 months ago)
- Last Synced: 2025-06-20T11:19:19.178Z (12 months ago)
- Topics: brute-force, ftpbruteforcer, linux, python, python3, pythontool
- Language: Python
- Homepage:
- Size: 35.2 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# FTPBuster
FTPBuster is a powerful command-line brute-forcing tool designed to brute-force FTP, SFTP, and explicit FTPS servers by performing dictionary-based attacks. It is intended for **ethical hacking and penetration testing**
---
## Features
- Brute-force support for **FTP**, **SFTP**, and **explicit FTPS (AUTH TLS only)**
- Supports **single username/password** and **username/password wordlists**
- Real-time progress: tried, remaining, speed, elapsed time, ETA
- **Optional option to save valid credentials to a file**
- **Multithreaded** for speed (**maximum threads: 50 for better accuracy**)
- **Automatically handles UTF-8 encoded wordlists**, with fallback to **Latin-1** if UTF-8 fails
---
## ⚠️ Legal Disclaimer
FTPBuster is intended for educational and authorized security testing purposes only.
Unauthorized use of this tool against systems without explicit permission is illegal and strictly prohibited.
The author is not responsible for any misuse, damage, or legal consequences resulting from the use of this tool.
---
## Requirements
- Python 3.x
- `paramiko` library
Install dependencies:
```bash
pip3 install paramiko
```
**Note for Kali, Parrot, Ubuntu 23.04+, Arch Linux users:**
If you see an error like:
```go
error: externally-managed-environment
```
then use:
```bash
pip3 install paramiko --break-system-packages
```
---
## Compatibility
Linux (Debian, RHEL, Arch, etc.)
---
## installation
**1. Clone the Repository**
```bash
git clone https://github.com/s-r-e-e-r-a-j/FTPBuster.git
```
**2. Navigate to the FTPBuster directory**
```bash
cd FTPBuster
```
**3. Run Installer**
```bash
sudo python3 install.py
```
**then type `y` for install**
**4. Run the tool**
```bash
ftpbuster [options]
```
---
### Required Arguments
| Option | Description |
|----------------------|----------------------------------------|
| `-t`, `--target` | Target IP address or domain |
| `-P`, `--protocol` | Protocol to use: `FTP`, `SFTP`, `FTPS` |
| `-u`, `--user-file` | Username wordlist |
| `--user` | Single username |
| `-p`, `--pass-file` | Password wordlist |
| `--password` | Single password |
> You must provide either a wordlist or a single value for both username and password.
### Optional Arguments
| Option | Description |
|----------------|-----------------------------------------------------------------------------|
| `--port` | Custom port (default: 21 for FTP/FTPS, 22 for SFTP) |
| `--threads` | Number of threads (default: 10, **max: 50 enforced for better accuracy**) |
| `--timeout` | Timeout in seconds (default: 10) |
| `--outfile` | Optional option to save valid credentials to a file |
| `--debug` | Enable debug output (prints each login attempt result) |
---
## Examples
**FTP with wordlists**
```bash
ftpbuster -t 192.168.1.5 -P FTP -u /home/kali/Desktop/users.txt -p /home/kali/Desktop/passwords.txt
```
**SFTP with single username**
```bash
ftpbuster -t 192.168.1.5 -P SFTP --user root -p /home/kali/Desktop/passwords.txt
```
**FTPS with output file**
```bash
ftpbuster -t ftp.example.com -P FTPS -u /home/kali/Desktop/user.txt -p /home/kali/Desktop/pass.txt --outfile /home/kali/Desktop/valid.txt
```
---
## Uninstallation
**Run the install.py script**
```bash
sudo python3 install.py
```
**Then Type `n` for uninstall**
---
## License
This project is licensed under the GNU General Public License v3.0