Files
rdp-brute/MASTERSTER.bat

138 lines
5.8 KiB
Batchfile

@echo off
title REAPER v2.0 - MASTERSTER
color 0C
cd /d "%~dp0"
:: ── FORCE UTF-8 ──────────────────────────────────────────────
set PYTHONIOENCODING=utf-8
:: ── BANNER ───────────────────────────────────────────────────
cls
echo.
echo ╔══════════════════════════════════════════════════════════════╗
echo ║ ☠ REAPER v2.0 - MASTERSTER ☠ ║
echo ║ Remote Exploitation ^& Password Enumeration Routine ║
echo ║ ║
echo ║ One swoop. One reaping. No mercy. ║
echo ╚══════════════════════════════════════════════════════════════╝
echo.
echo Made for doom by drjones.
echo.
:: ── STEP 1: CHECK PYTHON ────────────────────────────────────
echo [*] Step 1/7 — Checking Python...
python --version >nul 2>&1
if %errorlevel% neq 0 (
echo.
echo [FAIL] Python is not installed or not in PATH!
echo.
echo Download Python 3.8+ from: https://python.org/downloads
echo Make sure to check "Add Python to PATH" during installation.
echo.
pause
exit /b 1
)
for /f "tokens=2" %%i in ('python --version 2^>^&1') do set pyver=%%i
echo [OK] Python %pyver% found
echo.
:: ── STEP 2: INSTALL DEPENDENCIES ────────────────────────────
echo [*] Step 2/7 — Installing dependencies (aiohttp, aiohttp-socks, paramiko)...
echo.
python -m pip install --upgrade pip -q
python -m pip install aiohttp aiohttp-socks paramiko -q
if %errorlevel% neq 0 (
echo [WARN] pip install had issues, but continuing...
) else (
echo [OK] Dependencies installed
)
echo.
:: ── STEP 3: CREATE DIRECTORIES ──────────────────────────────
echo [*] Step 3/7 — Creating directories...
if not exist "wordlists" mkdir wordlists
if not exist "results" mkdir results
echo [OK] Directories ready
echo.
:: ── STEP 4: VERIFY FILES ────────────────────────────────────
echo [*] Step 4/7 — Verifying project files...
set FILES=main.py gui.py scanner.py bruteforce.py ip_utils.py proxy.py
set ALL_OK=1
for %%f in (%FILES%) do (
if exist "%%f" (
echo [OK] %%f
) else (
echo [WARN] %%f not found
set ALL_OK=0
)
)
if not exist "results\good.txt" (
echo. > "results\good.txt"
echo [OK] Created results\good.txt
)
echo.
:: ── STEP 5: BUILD RDPTHREAD ─────────────────────────────────
echo [*] Step 5/7 — Building rdpthread.exe (credential validator)...
if exist "rdpthread.cs" (
if not exist "rdpthread.exe" (
echo [*] Compiling rdpthread.cs...
set CSC=
for %%d in (v4.0.30319 v3.5 v2.0.50727) do (
if exist "%windir%\Microsoft.NET\Framework\%%d\csc.exe" (
set CSC="%windir%\Microsoft.NET\Framework\%%d\csc.exe"
goto :build_rdp
)
)
echo [WARN] C# compiler not found — rdpthread.exe not built
echo Credential validation will use banner-only fallback
goto :skip_build
:build_rdp
%CSC% /target:exe /out:rdpthread.exe /nologo rdpthread.cs >nul 2>&1
if exist "rdpthread.exe" (
echo [OK] rdpthread.exe built successfully
) else (
echo [WARN] rdpthread.exe build failed — using banner-only fallback
)
) else (
echo [OK] rdpthread.exe already exists
)
) else (
echo [WARN] rdpthread.cs not found — using banner-only fallback
)
:skip_build
echo.
:: ── STEP 6: TEST IMPORTS ────────────────────────────────────
echo [*] Step 6/7 — Testing imports...
python -c "from scanner import scan_ips, RDP_PORTS, SSH_PORT, check_ssh_banner; from ip_utils import parse_ranges_file; from bruteforce import spray_all_hosts, spray_ssh_single_host, TOP50_PASSWORDS, GUEST_USERNAMES; from proxy import ProxyManager; print(' [OK] All modules loaded')" 2>&1
if %errorlevel% neq 0 (
echo [FAIL] Import test failed. There may be a syntax error.
pause
exit /b 1
)
echo [OK] All systems nominal
echo.
:: ── STEP 7: LAUNCH ──────────────────────────────────────────
echo [*] Step 7/7 — Launching the Reaper...
echo.
echo ╔══════════════════════════════════════════════════════════════╗
echo ║ ☠ REAPER v2.0 ☠ ║
echo ║ No mercy. No lockouts. Just results. ║
echo ║ ║
echo ║ The network is a graveyard, and I'm the reaper. ║
echo ╚══════════════════════════════════════════════════════════════╝
echo.
echo Made for doom by drjones.
echo.
python main.py
if %errorlevel% neq 0 (
echo.
echo [!] REAPER encountered an error. Check the output above.
pause
)