Files
rdp-brute/README.md
2026-05-04 20:50:54 -07:00

6.7 KiB
Raw Blame History

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

  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

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/Oasyncio.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.