# ⚡ 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](https://python.org/downloads)) - Make sure **"Add Python to PATH"** is checked during installation ### Quick Install (1 Command) Open **Command Prompt as Administrator** and run: ```batch python "C:\Users\drjones\Desktop\hacking\FastRDP-NG\install.py" ``` ### Manual Install ```batch # 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 ```batch python main.py --version ``` ## 🎮 Usage ### One-Click Launch Double-click **`run.bat`** or run: ```batch python main.py ``` ### Workflow 1. **Load Targets** — The `wordlists/ranges.txt` is pre-loaded with IPs from the original project 2. **Adjust Speed** — Use the slider (500 – 25,000 concurrent connections) 3. **▶ START SCAN** — Begins async port scanning 4. **Watch Live Results** — Live hosts appear in the table in real-time 5. **Auto-Spray** — If enabled, top 50 passwords are sprayed automatically 6. **💥 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 line - `passwords.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.*