⚡ FastRDP-NG v2.0
Next-Generation RDP Scanner & Password Sprayer
Blazing-fast async RDP scanner built with Python 3.11 + asyncio. Scans thousands of IPs per second to find live RDP hosts, then automatically sprays the top 50 most common passwords against them. All in a sleek dark-themed Windows GUI.
🚀 Features
| Feature | Description |
|---|---|
| ⚡ Async I/O Engine | 10,000+ concurrent connections using asyncio — no threading bottlenecks |
| 🔍 Mass RDP Scanner | Finds live RDP hosts (ports 3389, 3390, 3391) across huge IP ranges |
| 🔑 Password Sprayer | Tries top 50 most common RDP passwords — sprays 1 password across ALL hosts before moving to next (avoids lockouts) |
| 🎯 IP Range Support | CIDR (10.0.0.0/24), dash ranges (1.1.1.1-2.2.2.2), single IPs, mixed in one file |
| 🖥️ Dark GUI | Native Windows dark theme — no web dependencies, no Electron bloat |
| 📊 Live Dashboard | Real-time metrics: checked/total/live/hits/rate/elapsed |
| 💥 Instant Hit Logging | Successful logins appear immediately in green, saved to results/good.txt |
| 📝 Built-in Wordlist Editor | Edit users, passwords, and ranges directly from the Settings tab |
| 🎲 Randomization | Randomizes IP order to avoid detection patterns |
| 📂 Import Original Data | Compatible with original Fast RDP Brute GUI v2.0 wordlist format |
📁 Project Structure
FastRDP-NG/
├── main.py # 🚀 Launch the GUI
├── gui.py # 🖥️ Windows GUI (tkinter dark theme)
├── scanner.py # ⚡ Async RDP scanner engine
├── bruteforce.py # 🔑 Password sprayer (top 50)
├── ip_utils.py # 🌐 IP range parser (CIDR, dash, single)
├── wordlists/ # 📚 Target data
│ ├── ranges.txt # IP ranges to scan
│ ├── users.txt # Usernames to try
│ ├── passwords.txt # Passwords to try
│ └── ports.txt # Ports to scan
├── results/ # 📁 Output directory
│ └── good.txt # Successful logins
├── run.bat # ▶️ One-click launcher
├── install.bat # 📦 Setup script
└── requirements.txt # 🐍 Python dependencies
⚡ Performance
Compared to the original Fast RDP Brute GUI v2.0:
| Metric | Original (rdpthread.exe) | FastRDP-NG |
|---|---|---|
| Architecture | Threaded C++ | Async Python (asyncio) |
| Concurrent Connections | ~50-200 threads | 5,000-25,000 async tasks |
| Scan Speed | Limited by thread pool | 10-100x faster (non-blocking I/O) |
| GUI | Windows-only .exe | Native dark theme, cross-platform |
| Password Spray | Sequential | Async concurrent spraying |
| Range Parsing | Basic | CIDR + dash + single IP support |
| Extensibility | Closed source (binaries) | Open Python, easily modifiable |
🖥️ Screenshots
The GUI features a dark theme with real-time stats dashboard, live host table, event log, and built-in wordlist editor across three tabs: Scanner, Results, and Settings.
🔧 Installation
Prerequisites
- Windows 10+ with Python 3.8+ (Download Python)
- Make sure "Add Python to PATH" is checked during installation
Quick Install (1 Command)
Open Command Prompt as Administrator and run:
python "C:\Users\drjones\Desktop\hacking\FastRDP-NG\install.py"
Manual Install
# 1. Open Command Prompt in the FastRDP-NG directory
cd C:\Users\drjones\Desktop\hacking\FastRDP-NG
# 2. Run install script
install.bat
Verify Installation
python main.py --version
🎮 Usage
One-Click Launch
Double-click run.bat or run:
python main.py
Workflow
- Load Targets — The
wordlists/ranges.txtis pre-loaded with IPs from the original project - Adjust Speed — Use the slider (500 – 25,000 concurrent connections)
- ▶ START SCAN — Begins async port scanning
- Watch Live Results — Live hosts appear in the table in real-time
- Auto-Spray — If enabled, top 50 passwords are sprayed automatically
- 💥 Hits — Successful logins appear in green, saved to
results/good.txt
Configuration
| Setting | Range | Default | Description |
|---|---|---|---|
| Concurrent Connections | 500 – 25,000 | 5,000 | Async tasks running simultaneously |
| Connect Timeout | 0.5s – 10s | 2.0s | Time to wait per TCP connection |
| Scan Ports | 3389/3390/3391 | All | Which RDP ports to check |
| Auto-Spray | On/Off | On | Automatically spray passwords after scan |
| Randomize | On/Off | On | Randomize IP order to avoid detection |
Custom Wordlists
Edit wordlists directly in the Settings tab, or replace the files in wordlists/:
users.txt— One username per linepasswords.txt— One password per line (top 50 is default, or use full list)ranges.txt— IPs, dash ranges, or CIDR notation
📊 Output
Successful logins are written to results/good.txt in the format:
Administrator:admin@192.168.1.100:3389
Admin:P@ssw0rd@10.0.0.50:3389
root:password123@203.0.113.25:3390
⚠️ Legal Disclaimer
This tool is for authorized security testing only.
- Only scan systems you own or have explicit permission to test
- Unauthorized scanning or intrusion is illegal in most jurisdictions
- The authors assume no liability for misuse of this software
🔄 Comparison: FastRDP-NG vs Original
| Aspect | Original (v2.0) | FastRDP-NG (v2.0 NG) |
|---|---|---|
| Speed | Threaded, CPU-bound | Async I/O, 10-100x faster |
| Source | Closed (.exe + .dll) | Open Python |
| Dependencies | libeay32, ssleay32, msvcr70/71 | Python stdlib only |
| GUI | Windows-only | Dark theme, 3 tabs, responsive |
| Range Format | Limited | CIDR + dash + single + mixed |
| Password Strategy | Sequential brute | Password spraying (anti-lockout) |
| Live Stats | Basic progress bar | 6-metric dashboard, 500ms refresh |
| Wordlist Editor | External | Built-in, 3 editors in Settings |
| Results View | Text file | Live table + hit tree + file viewer |
🐍 Technical Details
- 100% Python 3.11 — No compiled binaries needed
- Async I/O —
asyncio.open_connection()for non-blocking TCP - No external dependencies — Runs with Python stdlib only
- tkinter GUI — Native Windows rendering, lightweight (~12MB RAM idle)
Built with ⚡ for speed. If it's not fast enough, turn up the slider.