FTPBuster is a powerful command-line brute-forcing tool designed to brute-force FTP, SFTP, and explicit FTPS servers by performing dictionary-based attacks.
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
paramikolibrary
pip3 install paramiko
Note for Kali, Parrot, Ubuntu 23.04+, Arch Linux users:
If you see an error like:
error: externally-managed-environment then use: pip3 install paramiko --break-system-packages Compatibility
Linux (Debian, RHEL, Arch, etc.)installation
1. Clone the Repository
git clone https://github.com/s-r-e-e-r-a-j/FTPBuster.git 2. Navigate to the FTPBuster directory cd FTPBuster 3. Run Installer sudo python3 install.py then type y for install
4. Run the tool
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 wordlistsftpbuster -t 192.168.1.5 -P FTP -u /home/kali/Desktop/users.txt -p /home/kali/Desktop/passwords.txt
SFTP with single username
ftpbuster -t 192.168.1.5 -P SFTP --user root -p /home/kali/Desktop/passwords.txt
FTPS with output file
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 scriptsudo python3 install.py
Then Type n for uninstall