first commit

This commit is contained in:
drjones
2026-05-04 20:50:54 -07:00
commit 41c6a9f768

167
README.md Normal file
View File

@@ -0,0 +1,167 @@
# ⚡ 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.*