diff --git a/README.md b/README.md index 8b2ae8b..b7fbd06 100644 --- a/README.md +++ b/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 | -|---------|-------------| -| **⚡ 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 | +**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. -## 📁 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/ -├── 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 +REAPER/ +├── main.py # 💀 Launch the reaper +├── gui.py # 🖥️ The control panel (tkinter dark theme) +├── scanner.py # ⚡ The scythe (async RDP scanner) +├── bruteforce.py # 🔑 The hammer (password sprayer) +├── proxy.py # 🌐 The cloak (SOCKS5 proxy manager) +├── ip_utils.py # 🎯 IP range parser (CIDR, dash, any) +├── proxy.py # 🛡️ KILLER NEW — proxy rotator +├── wordlists/ # 📚 Your kill list +│ ├── ranges.txt # IP ranges to hunt │ ├── users.txt # Usernames to try -│ ├── passwords.txt # Passwords to try -│ └── ports.txt # Ports to scan -├── results/ # 📁 Output directory +│ ├── passwords.txt # Passwords to try (or use top 50) +│ └── ports.txt # Ports to check +├── results/ # 📁 Where the bodies drop │ └── good.txt # Successful logins -├── run.bat # ▶️ One-click launcher -├── install.bat # 📦 Setup script -└── requirements.txt # 🐍 Python dependencies +├── run.bat # ▶️ One-click carnage +└── install.bat # 📦 Setup ``` -## ⚡ 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 +## 🚀 HOW TO RUN THIS BEAST ### 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: +- **Windows 10+** with Python 3.8+ ([Download](https://python.org/downloads)) +- Check **"Add Python to PATH"** during install +- You need `aiohttp` + `aiohttp-socks` for the proxy module (auto-installed) +### Quick Launch ```batch -python "C:\Users\drjones\Desktop\hacking\FastRDP-NG\install.py" -``` +# Pop the trunk +cd C:\Users\drjones\Desktop\hacking\REAPER -### 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 +# Light it up 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 | -|---------|-------|---------|-------------| -| 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 | +### Step 1: Load Your Kill List +Put IPs, CIDR ranges, or dash ranges in `wordlists/ranges.txt`. Like: +``` +10.0.0.0/24 +192.168.1.1-192.168.2.255 +203.0.113.0/28 +``` -### 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/`: -- `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 +### Step 3: Enable Proxy Cover (Optional) +Flip to the **Proxy** tab → **Toggle PROXY ON** → **Fetch Proxies** → **Test All**. Your traffic now disappears through a rotating maze of free SOCKS5 proxies. -## 📊 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 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 +## ☠ LEGAL SHIT (READ IT OR EAT IT) -## 🔄 Comparison: FastRDP-NG vs Original +**This tool is for authorized security testing ONLY.** -| 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** | +- Only hit systems you own or have **written permission** to test +- Unauthorized access is a **federal crime** in most countries +- The author(s) assume **ZERO liability** for how you use this +- If you catch a case, that's on **YOU**, not me -## 🐍 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) +**Don't be a script kiddie. Be a professional.** --- -*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." +``` + +*Built with ⚡ and ☠ by those who walk the line.* diff --git a/gui.py b/gui.py index df6e311..41f37f3 100644 --- a/gui.py +++ b/gui.py @@ -74,7 +74,7 @@ class FastRDPGUI: def __init__(self): 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.minsize(950, 700) self.root.configure(bg=Colors.BG_DARK) @@ -149,9 +149,9 @@ class FastRDPGUI: header.pack(fill="x") header.pack_propagate(False) - tk.Label(header, text="\u26a1 FastRDP-NG", font=("Segoe UI", 18, "bold"), - fg=Colors.ACCENT, 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="\u2620 REAPER", font=("Segoe UI", 18, "bold"), + fg="#ff4444", bg=Colors.BG_MID).pack(side="left", padx=15) + tk.Label(header, text="v2.0 \u2014 RDP Exploitation Framework | No Mercy", font=("Segoe UI", 9), fg=Colors.TEXT_DIM, 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.pack(fill="x") 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" "Streaming: scan + spray run CONCURRENTLY\n" - "Double-click any host to RDP connect instantly\n" - "Top 50 password spraying \u2022 CIDR/range support", + "Proxy tab: fetch/test/rotate SOCKS5 proxies (on/off toggle)\n" + "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", font=("Segoe UI", 9)).pack(anchor="w", pady=5) @@ -930,7 +932,7 @@ class FastRDPGUI: self._log("\u2501" * 55, "system") 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", " \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")) thread = threading.Thread(target=self._scan_worker, daemon=True) diff --git a/install.bat b/install.bat index b9a4ed8..309c308 100644 --- a/install.bat +++ b/install.bat @@ -1,10 +1,12 @@ @echo off -title FastRDP-NG v2.0 - Installer +title REAPER v2.0 - Installer +color 0C cd /d "%~dp0" echo. -echo ╔══════════════════════════════════════════╗ -echo ║ FastRDP-NG v2.0 Installer ║ -echo ╚══════════════════════════════════════════╝ +echo ╔═══════════════════════════════════════════════════╗ +echo ║ ☠ REAPER v2.0 Installer ☠ ║ +echo ║ Remote Exploitation ^& Password Enumeration ║ +echo ╚═══════════════════════════════════════════════════╝ echo. :: Check Python diff --git a/main.py b/main.py index 70d2bba..b4c5197 100644 --- a/main.py +++ b/main.py @@ -1,13 +1,9 @@ #!/usr/bin/env python3 """ -FastRDP-NG v2.0 - Next Generation RDP Scanner & Password Sprayer -=============================================================== -Blazing-fast async RDP scanner with Windows GUI. -Scans thousands of IPs per second, finds live RDP hosts, -then sprays top 50 common passwords. - -Usage: - python main.py # Launch GUI +REAPER v2.0 — Remote Exploitation & Password Enumeration Routine +================================================================ +Mass RDP Scanner + Password Sprayer + SOCKS5 Proxy Rotator. +No mercy. No lockouts. Just results. """ import sys @@ -15,7 +11,6 @@ import os # Force UTF-8 encoding to handle Unicode box-drawing characters in banner try: - # Python 3.7+ on Windows: reconfigure stdout to UTF-8 sys.stdout.reconfigure(encoding='utf-8') except (AttributeError, ValueError): pass @@ -26,13 +21,71 @@ sys.path.insert(0, os.path.dirname(os.path.abspath(__file__))) 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(): - print(""" - ╔══════════════════════════════════════════╗ - ║ FastRDP-NG v2.0 ║ - ║ Next-Gen RDP Scanner & Password Sprayer ║ - ╚══════════════════════════════════════════╝ - """) + try: + print(BANNER) + except (UnicodeEncodeError, OSError): + print(""" + ============================================== + REAPER v2.0 - RDP Exploitation Framework + ============================================== + """) # Check if tkinter is available try: diff --git a/run.bat b/run.bat index cf16fd1..b5bbac9 100644 --- a/run.bat +++ b/run.bat @@ -1,15 +1,17 @@ @echo off -title FastRDP-NG v2.0 +title REAPER v2.0 - RDP Exploitation Framework cd /d "%~dp0" :: Force UTF-8 encoding for Unicode box-drawing characters in banner set PYTHONIOENCODING=utf-8 +color 0C echo. -echo ╔══════════════════════════════════════════╗ -echo ║ FastRDP-NG v2.0 ║ -echo ║ Launching GUI... ║ -echo ╚══════════════════════════════════════════╝ +echo ╔═══════════════════════════════════════════════════╗ +echo ║ ☠ REAPER v2.0 ☠ ║ +echo ║ Remote Exploitation ^& Password Enumeration ║ +echo ║ Launching the Reaper... ║ +echo ╚═══════════════════════════════════════════════════╝ echo. python main.py if %errorlevel% neq 0 (