Compare commits
2 Commits
ef91f8219b
...
2acf6acc72
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2acf6acc72 | ||
|
|
a954109ccd |
277
README.md
277
README.md
@@ -1,167 +1,192 @@
|
|||||||
# ⚡ FastRDP-NG v2.0
|
▄▄▄▄▄▄▄ ▄▄▄ ▄▄▄▄▄▄▄ ▄▄▄▄▄▄ ▄▄▄ ▄▄▄▄▄▄▄
|
||||||
|
██▀▀▀▀▀▀ ████ ██▀▀▀▀▀▀ ██▀▀▀▀█▄ ████ ██▀▀▀▀▀▀
|
||||||
|
██▀▀▀▀▀▀ ████ ██▀▀▀▀▀▀ ██▀▀▀▀█▄ ████ ██▀▀▀▀▀▀
|
||||||
|
██ █████ ██ ██▄▄▄▄▄██ █████ ██
|
||||||
|
▀▀▀▀▀▀▀ ▀▀▀▀ ▀▀▀▀▀▀▀ ▀▀▀▀▀▀▀ ▀▀▀▀ ▀▀
|
||||||
|
|
||||||
**Next-Generation RDP Scanner & Password Sprayer**
|
╔══════════════════════════════════════════════════════════════╗
|
||||||
|
║ ☠ REAPER v2.0 ☠ ║
|
||||||
|
║ Remote Exploitation & Password Enumeration Routine ║
|
||||||
|
║ ║
|
||||||
|
║ Mass RDP Scanner | Password Sprayer | SOCKS5 Proxy ║
|
||||||
|
║ No mercy. No lockouts. Just results. ║
|
||||||
|
╚══════════════════════════════════════════════════════════════╝
|
||||||
|
```
|
||||||
|
|
||||||
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
|
## ☠ WHAT THE F*** IS THIS?
|
||||||
|
|
||||||
| Feature | Description |
|
**REAPER** is a **brutal**, **blazing-fast** RDP exploitation framework built for one thing — finding weak RDP boxes and **reaping** those credentials before the scan even finishes.
|
||||||
|---------|-------------|
|
|
||||||
| **⚡ 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
|
This ain't your grandpa's port scanner. This is:
|
||||||
|
|
||||||
|
- **⚡ 25,000 concurrent async connections** — tears through /8 networks like tissue paper
|
||||||
|
- **🔑 Instant password spray** — soon as a host pops up, it's already getting pounded with the top 50 passwords. **No waiting.**
|
||||||
|
- **🌐 SOCKS5 proxy rotator** — route all your dirty work through free proxies so your IP stays clean. On/off toggle, auto-rotate, built-in fetcher from 7 sources (proxifly, TheSpeedX, ProxyScrape, etc.)
|
||||||
|
- **🖥️ One-click RDP** — find a hit? Double-click. You're in. `mstsc.exe` pops right up with creds pre-loaded.
|
||||||
|
- **💀 Dark GUI** — no web bloat, no Electron trash. Native Windows tkinter. Sexy as hell.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🔥 FEATURES (THE BODY COUNT)
|
||||||
|
|
||||||
|
| Feature | What it do |
|
||||||
|
|---------|-----------|
|
||||||
|
| **⚡ Async Mass Scan** | 500-25,000 concurrent TCP checks. Find live RDP in seconds, not hours. |
|
||||||
|
| **🔑 Streaming Spray** | As soon as a host is alive, spray starts **immediately** — same event loop, no waiting for scan to finish. |
|
||||||
|
| **🌐 SOCKS5 Proxy Rotator** | Fetch free proxies from 7 sources, test 'em, rotate through 'em. Flip the switch and your traffic disappears through a proxy maze. |
|
||||||
|
| **🖥️ Instant RDP Connect** | Double-click any live host → `cmdkey.exe` stores creds → `mstsc.exe` launches. You're in the Windows desktop before they even notice. |
|
||||||
|
| **📊 Live Stats Dashboard** | Checked, Total, Live, Hits, Rate, Elapsed — all updating every 500ms. Watch the bodies drop in real-time. |
|
||||||
|
| **📝 Built-in Wordlist Editor** | Edit users, passwords, and ranges right in the Settings tab. No external editor needed. |
|
||||||
|
| **🎲 IP Randomization** | Shuffle IP order so you don't hit the same subnet in sequence. Stay under the radar. |
|
||||||
|
| **💥 Instant Hit Logging** | Hit found? Immediately logged to `results/good.txt` and broadcast in green to the GUI. |
|
||||||
|
| **🎯 CIDR + Dash + Single IP** | `10.0.0.0/24`, `1.1.1.1-2.2.2.2`, `192.168.1.1` — any format, mixed in one file. |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📁 THE LAYOUT
|
||||||
|
|
||||||
```
|
```
|
||||||
FastRDP-NG/
|
REAPER/
|
||||||
├── main.py # 🚀 Launch the GUI
|
├── main.py # 💀 Launch the reaper
|
||||||
├── gui.py # 🖥️ Windows GUI (tkinter dark theme)
|
├── gui.py # 🖥️ The control panel (tkinter dark theme)
|
||||||
├── scanner.py # ⚡ Async RDP scanner engine
|
├── scanner.py # ⚡ The scythe (async RDP scanner)
|
||||||
├── bruteforce.py # 🔑 Password sprayer (top 50)
|
├── bruteforce.py # 🔑 The hammer (password sprayer)
|
||||||
├── ip_utils.py # 🌐 IP range parser (CIDR, dash, single)
|
├── proxy.py # 🌐 The cloak (SOCKS5 proxy manager)
|
||||||
├── wordlists/ # 📚 Target data
|
├── ip_utils.py # 🎯 IP range parser (CIDR, dash, any)
|
||||||
│ ├── ranges.txt # IP ranges to scan
|
├── proxy.py # 🛡️ KILLER NEW — proxy rotator
|
||||||
|
├── wordlists/ # 📚 Your kill list
|
||||||
|
│ ├── ranges.txt # IP ranges to hunt
|
||||||
│ ├── users.txt # Usernames to try
|
│ ├── users.txt # Usernames to try
|
||||||
│ ├── passwords.txt # Passwords to try
|
│ ├── passwords.txt # Passwords to try (or use top 50)
|
||||||
│ └── ports.txt # Ports to scan
|
│ └── ports.txt # Ports to check
|
||||||
├── results/ # 📁 Output directory
|
├── results/ # 📁 Where the bodies drop
|
||||||
│ └── good.txt # Successful logins
|
│ └── good.txt # Successful logins
|
||||||
├── run.bat # ▶️ One-click launcher
|
├── run.bat # ▶️ One-click carnage
|
||||||
├── install.bat # 📦 Setup script
|
└── install.bat # 📦 Setup
|
||||||
└── requirements.txt # 🐍 Python dependencies
|
|
||||||
```
|
```
|
||||||
|
|
||||||
## ⚡ Performance
|
---
|
||||||
|
|
||||||
Compared to the original **Fast RDP Brute GUI v2.0**:
|
## 🚀 HOW TO RUN THIS BEAST
|
||||||
|
|
||||||
| 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
|
### Prerequisites
|
||||||
- **Windows 10+** with Python 3.8+ ([Download Python](https://python.org/downloads))
|
- **Windows 10+** with Python 3.8+ ([Download](https://python.org/downloads))
|
||||||
- Make sure **"Add Python to PATH"** is checked during installation
|
- Check **"Add Python to PATH"** during install
|
||||||
|
- You need `aiohttp` + `aiohttp-socks` for the proxy module (auto-installed)
|
||||||
### Quick Install (1 Command)
|
|
||||||
|
|
||||||
Open **Command Prompt as Administrator** and run:
|
|
||||||
|
|
||||||
|
### Quick Launch
|
||||||
```batch
|
```batch
|
||||||
python "C:\Users\drjones\Desktop\hacking\FastRDP-NG\install.py"
|
# Pop the trunk
|
||||||
```
|
cd C:\Users\drjones\Desktop\hacking\REAPER
|
||||||
|
|
||||||
### Manual Install
|
# Light it up
|
||||||
|
|
||||||
```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
|
python main.py
|
||||||
```
|
```
|
||||||
|
|
||||||
### Workflow
|
### Or just double-click `run.bat` — it's that easy.
|
||||||
|
|
||||||
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
|
## 🎮 HOW TO USE IT (THE EXTRACTIONS)
|
||||||
|
|
||||||
| Setting | Range | Default | Description |
|
### Step 1: Load Your Kill List
|
||||||
|---------|-------|---------|-------------|
|
Put IPs, CIDR ranges, or dash ranges in `wordlists/ranges.txt`. Like:
|
||||||
| Concurrent Connections | 500 – 25,000 | 5,000 | Async tasks running simultaneously |
|
```
|
||||||
| Connect Timeout | 0.5s – 10s | 2.0s | Time to wait per TCP connection |
|
10.0.0.0/24
|
||||||
| Scan Ports | 3389/3390/3391 | All | Which RDP ports to check |
|
192.168.1.1-192.168.2.255
|
||||||
| Auto-Spray | On/Off | On | Automatically spray passwords after scan |
|
203.0.113.0/28
|
||||||
| Randomize | On/Off | On | Randomize IP order to avoid detection |
|
```
|
||||||
|
|
||||||
### Custom Wordlists
|
### Step 2: Dial In the Speed
|
||||||
|
Crank the slider. 500 for slow-and-quiet, 25,000 for **MAXIMUM OVERDRIVE**.
|
||||||
|
|
||||||
Edit wordlists directly in the **Settings** tab, or replace the files in `wordlists/`:
|
### Step 3: Enable Proxy Cover (Optional)
|
||||||
- `users.txt` — One username per line
|
Flip to the **Proxy** tab → **Toggle PROXY ON** → **Fetch Proxies** → **Test All**. Your traffic now disappears through a rotating maze of free SOCKS5 proxies.
|
||||||
- `passwords.txt` — One password per line (top 50 is default, or use full list)
|
|
||||||
- `ranges.txt` — IPs, dash ranges, or CIDR notation
|
|
||||||
|
|
||||||
## 📊 Output
|
### Step 4: Hit START
|
||||||
|
Watch the live stats climb. Watch the hosts pop up in the table.
|
||||||
|
|
||||||
Successful logins are written to **`results/good.txt`** in the format:
|
### Step 5: Reap What You Sow
|
||||||
|
When a hit comes in — double-click it. RDP opens with creds pre-loaded. You're in their desktop.
|
||||||
|
|
||||||
|
> **☠ That's it. No bullshit. Just results.**
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🛡️ PROXY MODULE (THE CLOAK)
|
||||||
|
|
||||||
|
New in v2.0 — the **Proxy Tab** lets you:
|
||||||
|
|
||||||
|
1. **Toggle Proxy ON/OFF** — green means cloaked, red means naked
|
||||||
|
2. **Fetch Proxies** — scrapes 7 free proxy sources (proxifly, TheSpeedX, ProxyScrape, monosans)
|
||||||
|
3. **Test All** — floods each proxy with a test request, measures latency, marks them alive/dead
|
||||||
|
4. **Auto-Rotate** — round-robins through working proxies so requests spread out
|
||||||
|
5. **Live List** — see IP, Port, Type (SOCKS4/5, HTTP), Alive status, Latency, Failures
|
||||||
|
|
||||||
|
When proxy is ON, ALL scanner connections + spray connections route through the proxy maze. If a proxy dies, it auto-fallsback to the next one. If ALL proxies die, it falls back to direct (so your scan never hangs).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ⚡ PERFORMANCE (BENCHMARKS, BITCH)
|
||||||
|
|
||||||
|
| Metric | Original rdpthread.exe | REAPER |
|
||||||
|
|--------|----------------------|--------|
|
||||||
|
| **Concurrent connections** | ~50-200 threads | **5,000-25,000 async** |
|
||||||
|
| **Scan speed** | Thread-bound garbage | **Async I/O, no blocking** |
|
||||||
|
| **Spray strategy** | Sequential brute | **Password spraying (anti-lockout)** |
|
||||||
|
| **Proxy support** | LOL no | **SOCKS5/4/HTTP rotating** |
|
||||||
|
| **Range parsing** | Basic af | **CIDR + dash + mixed** |
|
||||||
|
| **GUI** | Windows 95 lookin' | **Sleek dark theme** |
|
||||||
|
| **RDP connect** | Manual af | **One-click with creds** |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📊 OUTPUT FORMAT
|
||||||
|
|
||||||
|
Successes land in `results/good.txt` like:
|
||||||
```
|
```
|
||||||
Administrator:admin@192.168.1.100:3389
|
Administrator:admin@192.168.1.100:3389
|
||||||
Admin:P@ssw0rd@10.0.0.50:3389
|
Admin:P@ssw0rd@10.0.0.50:3389
|
||||||
root:password123@203.0.113.25:3390
|
root:password123@203.0.113.25:3390
|
||||||
```
|
```
|
||||||
|
|
||||||
## ⚠️ Legal Disclaimer
|
---
|
||||||
|
|
||||||
**This tool is for authorized security testing only.**
|
## ☠ LEGAL SHIT (READ IT OR EAT IT)
|
||||||
- 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
|
**This tool is for authorized security testing ONLY.**
|
||||||
|
|
||||||
| Aspect | Original (v2.0) | FastRDP-NG (v2.0 NG) |
|
- Only hit systems you own or have **written permission** to test
|
||||||
|--------|----------------|---------------------|
|
- Unauthorized access is a **federal crime** in most countries
|
||||||
| **Speed** | Threaded, CPU-bound | **Async I/O, 10-100x faster** |
|
- The author(s) assume **ZERO liability** for how you use this
|
||||||
| **Source** | Closed (.exe + .dll) | **Open Python** |
|
- If you catch a case, that's on **YOU**, not me
|
||||||
| **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
|
**Don't be a script kiddie. Be a professional.**
|
||||||
|
|
||||||
- **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.*
|
## 🛠️ TECH SPECS (FOR THE GEEKS)
|
||||||
|
|
||||||
|
| Spec | Value |
|
||||||
|
|------|-------|
|
||||||
|
| **Language** | Python 3.11+ |
|
||||||
|
| **Async Engine** | `asyncio` with semaphore concurrency |
|
||||||
|
| **Proxy Protocol** | SOCKS4, SOCKS5, HTTP CONNECT |
|
||||||
|
| **Proxy Lib** | `aiohttp-socks` v0.11 |
|
||||||
|
| **GUI** | `tkinter` (native Windows, ~12MB RAM idle) |
|
||||||
|
| **HTTP Client** | `aiohttp` v3.13 |
|
||||||
|
| **Encoding** | UTF-8 everywhere (no more Unicode crashes) |
|
||||||
|
| **Dependencies** | `aiohttp`, `aiohttp-socks` (Python stdlib for core) |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
```
|
||||||
|
☠ ░▒▓█ REAPER v2.0 █▓▒░ ☠
|
||||||
|
No mercy. No lockouts. Just results.
|
||||||
|
|
||||||
|
"The network is a graveyard, and I'm the reaper."
|
||||||
|
```
|
||||||
|
|
||||||
|
*Made for doom by drjones.*
|
||||||
|
|||||||
18
gui.py
18
gui.py
@@ -74,7 +74,7 @@ class FastRDPGUI:
|
|||||||
|
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
self.root = tk.Tk()
|
self.root = tk.Tk()
|
||||||
self.root.title("FastRDP-NG v2.0 \u2014 Next Gen RDP Scanner")
|
self.root.title("REAPER v2.0 \u2014 RDP Exploitation Framework \u2620")
|
||||||
self.root.geometry("1100x820")
|
self.root.geometry("1100x820")
|
||||||
self.root.minsize(950, 700)
|
self.root.minsize(950, 700)
|
||||||
self.root.configure(bg=Colors.BG_DARK)
|
self.root.configure(bg=Colors.BG_DARK)
|
||||||
@@ -149,9 +149,9 @@ class FastRDPGUI:
|
|||||||
header.pack(fill="x")
|
header.pack(fill="x")
|
||||||
header.pack_propagate(False)
|
header.pack_propagate(False)
|
||||||
|
|
||||||
tk.Label(header, text="\u26a1 FastRDP-NG", font=("Segoe UI", 18, "bold"),
|
tk.Label(header, text="\u2620 REAPER", font=("Segoe UI", 18, "bold"),
|
||||||
fg=Colors.ACCENT, bg=Colors.BG_MID).pack(side="left", padx=15)
|
fg="#ff4444", bg=Colors.BG_MID).pack(side="left", padx=15)
|
||||||
tk.Label(header, text="v2.0 \u2014 Streaming RDP Scanner + Instant Spray",
|
tk.Label(header, text="v2.0 \u2014 RDP Exploitation Framework | No Mercy",
|
||||||
font=("Segoe UI", 9), fg=Colors.TEXT_DIM,
|
font=("Segoe UI", 9), fg=Colors.TEXT_DIM,
|
||||||
bg=Colors.BG_MID).pack(side="left", padx=5, pady=(8, 0))
|
bg=Colors.BG_MID).pack(side="left", padx=5, pady=(8, 0))
|
||||||
|
|
||||||
@@ -682,11 +682,13 @@ class FastRDPGUI:
|
|||||||
about_frame = ttk.LabelFrame(self.tab_settings, text="\u2139 About", padding=8)
|
about_frame = ttk.LabelFrame(self.tab_settings, text="\u2139 About", padding=8)
|
||||||
about_frame.pack(fill="x")
|
about_frame.pack(fill="x")
|
||||||
tk.Label(about_frame,
|
tk.Label(about_frame,
|
||||||
text="FastRDP-NG v2.0 \u2014 Next Generation RDP Scanner\n"
|
text="REAPER v2.0 \u2014 Remote Exploitation & Password Enumeration Routine\n"
|
||||||
|
"\u2620 Mass RDP Scanner + Password Sprayer + SOCKS5 Proxy Rotator\n"
|
||||||
"Built with Python 3.11 + asyncio\n"
|
"Built with Python 3.11 + asyncio\n"
|
||||||
"Streaming: scan + spray run CONCURRENTLY\n"
|
"Streaming: scan + spray run CONCURRENTLY\n"
|
||||||
"Double-click any host to RDP connect instantly\n"
|
"Proxy tab: fetch/test/rotate SOCKS5 proxies (on/off toggle)\n"
|
||||||
"Top 50 password spraying \u2022 CIDR/range support",
|
"Double-click any host to RDP connect instantly with stored creds\n"
|
||||||
|
"Top 50 password spraying \u2022 CIDR/range support \u2022 No mercy",
|
||||||
fg=Colors.TEXT, bg=Colors.BG_MID, justify="left",
|
fg=Colors.TEXT, bg=Colors.BG_MID, justify="left",
|
||||||
font=("Segoe UI", 9)).pack(anchor="w", pady=5)
|
font=("Segoe UI", 9)).pack(anchor="w", pady=5)
|
||||||
|
|
||||||
@@ -930,7 +932,7 @@ class FastRDPGUI:
|
|||||||
self._log("\u2501" * 55, "system")
|
self._log("\u2501" * 55, "system")
|
||||||
self._log("\u25b6\u25b6\u25b6 SCAN STARTED (streaming mode)", "scan")
|
self._log("\u25b6\u25b6\u25b6 SCAN STARTED (streaming mode)", "scan")
|
||||||
print(_c("\033[96m", " \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510"))
|
print(_c("\033[96m", " \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510"))
|
||||||
print(_c("\033[96m", " \u2502 ") + _c("\033[93m", "FASTRDP-NG v2.0 :: Streaming Scan + Instant Spray") + _c("\033[96m", " \u2502"))
|
print(_c("\033[96m", " \u2502 ") + _c("\033[91m", "REAPER v2.0 :: RDP Reaper :: No Mercy") + _c("\033[96m", " \u2502"))
|
||||||
print(_c("\033[96m", " \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518"))
|
print(_c("\033[96m", " \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518"))
|
||||||
|
|
||||||
thread = threading.Thread(target=self._scan_worker, daemon=True)
|
thread = threading.Thread(target=self._scan_worker, daemon=True)
|
||||||
|
|||||||
10
install.bat
10
install.bat
@@ -1,10 +1,12 @@
|
|||||||
@echo off
|
@echo off
|
||||||
title FastRDP-NG v2.0 - Installer
|
title REAPER v2.0 - Installer
|
||||||
|
color 0C
|
||||||
cd /d "%~dp0"
|
cd /d "%~dp0"
|
||||||
echo.
|
echo.
|
||||||
echo ╔══════════════════════════════════════════╗
|
echo ╔═══════════════════════════════════════════════════╗
|
||||||
echo ║ FastRDP-NG v2.0 Installer ║
|
echo ║ ☠ REAPER v2.0 Installer ☠ ║
|
||||||
echo ╚══════════════════════════════════════════╝
|
echo ║ Remote Exploitation ^& Password Enumeration ║
|
||||||
|
echo ╚═══════════════════════════════════════════════════╝
|
||||||
echo.
|
echo.
|
||||||
|
|
||||||
:: Check Python
|
:: Check Python
|
||||||
|
|||||||
80
main.py
80
main.py
@@ -1,13 +1,10 @@
|
|||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
"""
|
"""
|
||||||
FastRDP-NG v2.0 - Next Generation RDP Scanner & Password Sprayer
|
REAPER v2.0 — Remote Exploitation & Password Enumeration Routine
|
||||||
===============================================================
|
================================================================
|
||||||
Blazing-fast async RDP scanner with Windows GUI.
|
Mass RDP Scanner + Password Sprayer + SOCKS5 Proxy Rotator.
|
||||||
Scans thousands of IPs per second, finds live RDP hosts,
|
No mercy. No lockouts. Just results.
|
||||||
then sprays top 50 common passwords.
|
Made for doom by drjones.
|
||||||
|
|
||||||
Usage:
|
|
||||||
python main.py # Launch GUI
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
import sys
|
import sys
|
||||||
@@ -15,7 +12,6 @@ import os
|
|||||||
|
|
||||||
# Force UTF-8 encoding to handle Unicode box-drawing characters in banner
|
# Force UTF-8 encoding to handle Unicode box-drawing characters in banner
|
||||||
try:
|
try:
|
||||||
# Python 3.7+ on Windows: reconfigure stdout to UTF-8
|
|
||||||
sys.stdout.reconfigure(encoding='utf-8')
|
sys.stdout.reconfigure(encoding='utf-8')
|
||||||
except (AttributeError, ValueError):
|
except (AttributeError, ValueError):
|
||||||
pass
|
pass
|
||||||
@@ -26,12 +22,70 @@ sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
|
|||||||
from gui import FastRDPGUI
|
from gui import FastRDPGUI
|
||||||
|
|
||||||
|
|
||||||
|
# ── REAPER SKULL ───────────────────────────────────────────────
|
||||||
|
REAPER_ASCII = r"""
|
||||||
|
\033[91m
|
||||||
|
.-.
|
||||||
|
(0 0)
|
||||||
|
____\___/_____
|
||||||
|
/ ___________ \
|
||||||
|
/ / \ \
|
||||||
|
| / RIP YOUR \ |
|
||||||
|
| | NETWORK | |
|
||||||
|
| | ☠ ☠ ☠ ☠ | |
|
||||||
|
| \ / |
|
||||||
|
\ \___________/ /
|
||||||
|
\_____________/
|
||||||
|
___|_________|___
|
||||||
|
| ___________ |
|
||||||
|
| | | |
|
||||||
|
| | REAPER | |
|
||||||
|
| | v2.0 | |
|
||||||
|
| |___________| |
|
||||||
|
|_________________|
|
||||||
|
| |
|
||||||
|
___| |___
|
||||||
|
|_____ _____|
|
||||||
|
| |
|
||||||
|
| |
|
||||||
|
/ \
|
||||||
|
/ \
|
||||||
|
\033[0m
|
||||||
|
"""
|
||||||
|
|
||||||
|
BANNER = f"""
|
||||||
|
\033[91m\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\033[0m
|
||||||
|
\033[91m\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\033[0m
|
||||||
|
\033[91m\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\033[0m
|
||||||
|
\033[91m \u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\033[0m
|
||||||
|
\033[91m \u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\033[0m
|
||||||
|
\033[91m \u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\033[0m
|
||||||
|
\033[91m \u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\033[0m
|
||||||
|
\033[91m \u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\033[0m
|
||||||
|
\033[91m \u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\033[0m
|
||||||
|
\033[91m \u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\033[0m
|
||||||
|
\033[91m \u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\033[0m
|
||||||
|
\033[91m \u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\033[0m
|
||||||
|
\033[91m\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\033[0m
|
||||||
|
\033[91m\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\033[0m
|
||||||
|
\033[91m\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\033[0m
|
||||||
|
|
||||||
|
\033[91m \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\033[0m
|
||||||
|
\033[91m \u2502\033[0m \033[97mREAPER v2.0 :: RDP REAPER :: No Mercy\033[0m \033[91m\u2502\033[0m
|
||||||
|
\033[91m \u2502\033[0m \033[90mRemote Exploitation & Password Enumeration Routine\033[0m \033[91m\u2502\033[0m
|
||||||
|
\033[91m \u2502\033[0m \033[31m\u2620 Mass RDP Scan | Password Spray | SOCKS5 Proxy \u2620\033[0m \033[91m\u2502\033[0m
|
||||||
|
\033[91m \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\033[0m
|
||||||
|
"""
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
|
try:
|
||||||
|
print(BANNER)
|
||||||
|
except (UnicodeEncodeError, OSError):
|
||||||
print("""
|
print("""
|
||||||
╔══════════════════════════════════════════╗
|
==============================================
|
||||||
║ FastRDP-NG v2.0 ║
|
REAPER v2.0 - RDP Exploitation Framework
|
||||||
║ Next-Gen RDP Scanner & Password Sprayer ║
|
==============================================
|
||||||
╚══════════════════════════════════════════╝
|
|
||||||
""")
|
""")
|
||||||
|
|
||||||
# Check if tkinter is available
|
# Check if tkinter is available
|
||||||
|
|||||||
12
run.bat
12
run.bat
@@ -1,15 +1,17 @@
|
|||||||
@echo off
|
@echo off
|
||||||
title FastRDP-NG v2.0
|
title REAPER v2.0 - RDP Exploitation Framework
|
||||||
cd /d "%~dp0"
|
cd /d "%~dp0"
|
||||||
|
|
||||||
:: Force UTF-8 encoding for Unicode box-drawing characters in banner
|
:: Force UTF-8 encoding for Unicode box-drawing characters in banner
|
||||||
set PYTHONIOENCODING=utf-8
|
set PYTHONIOENCODING=utf-8
|
||||||
|
color 0C
|
||||||
|
|
||||||
echo.
|
echo.
|
||||||
echo ╔══════════════════════════════════════════╗
|
echo ╔═══════════════════════════════════════════════════╗
|
||||||
echo ║ FastRDP-NG v2.0 ║
|
echo ║ ☠ REAPER v2.0 ☠ ║
|
||||||
echo ║ Launching GUI... ║
|
echo ║ Remote Exploitation ^& Password Enumeration ║
|
||||||
echo ╚══════════════════════════════════════════╝
|
echo ║ Launching the Reaper... ║
|
||||||
|
echo ╚═══════════════════════════════════════════════════╝
|
||||||
echo.
|
echo.
|
||||||
python main.py
|
python main.py
|
||||||
if %errorlevel% neq 0 (
|
if %errorlevel% neq 0 (
|
||||||
|
|||||||
Reference in New Issue
Block a user