Files
HyperCLI/files/experimental/nmap.bat

422 lines
9.4 KiB
Batchfile

@echo off
REM === Interactive Nmap Scanner Tool ===
setlocal enabledelayedexpansion
echo ========================================
echo Nmap Network Scanner Tool
echo ========================================
echo.
REM Check if Nmap is installed
where nmap >nul 2>nul
if %ERRORLEVEL% NEQ 0 (
echo Nmap is not installed on this system.
echo.
set /p INSTALL="Do you want to install Nmap? (Y/N): "
if /i "!INSTALL!"=="Y" (
echo.
echo Opening Nmap download page in your browser...
echo Please download and install Nmap from: https://nmap.org/download.html
echo After installation, restart this script.
start https://nmap.org/download.html
echo.
pause
exit /b 0
) else (
echo.
echo Nmap installation cancelled. Exiting...
pause
exit /b 1
)
)
echo Nmap is installed!
echo.
REM Prompt for target
set /p TARGET="Enter target IP address or domain: "
REM Validate input
if "%TARGET%"=="" (
echo.
echo ERROR: No target specified!
pause
exit /b 1
)
REM Display scan options
:MENU
echo.
echo ========================================
echo Select Scan Type:
echo ========================================
echo.
echo [1] Port Scan
echo [2] Host Discovery (Ping Scan)
echo [3] OS Detection
echo [4] Stealth Scan (SYN Scan)
echo [5] Aggressive Scan
echo [6] UDP Scan
echo [7] Script Scan (NSE)
echo [8] Save Results to File
echo [9] Custom Command
echo.
echo [0] Exit
echo.
set /p SCANTYPE="Select scan type (0-9): "
if "%SCANTYPE%"=="0" (
echo.
echo Exiting...
exit /b 0
)
echo.
echo ========================================
REM Execute scan based on selection
if "%SCANTYPE%"=="1" goto PORT_SCAN
if "%SCANTYPE%"=="2" goto HOST_DISCOVERY
if "%SCANTYPE%"=="3" goto OS_DETECTION
if "%SCANTYPE%"=="4" goto STEALTH_SCAN
if "%SCANTYPE%"=="5" goto AGGRESSIVE_SCAN
if "%SCANTYPE%"=="6" goto UDP_SCAN
if "%SCANTYPE%"=="7" goto SCRIPT_SCAN
if "%SCANTYPE%"=="8" goto SAVE_RESULTS
if "%SCANTYPE%"=="9" goto CUSTOM_COMMAND
echo ERROR: Invalid selection! Please choose 0-9.
goto MENU
:PORT_SCAN
echo PORT SCAN OPTIONS
echo ========================================
echo [1] Scan top 1000 common ports (fast)
echo [2] Scan all 65535 ports (slow)
echo [3] Scan specific port
echo [4] Scan port range
echo [5] Fast scan (top 100 ports)
echo.
set /p PORTSCAN="Select port scan option: "
echo.
if "%PORTSCAN%"=="1" (
echo Command: nmap %TARGET%
echo.
nmap %TARGET%
goto SCAN_DONE
)
if "%PORTSCAN%"=="2" (
echo Command: nmap -p- %TARGET%
echo.
nmap -p- %TARGET%
goto SCAN_DONE
)
if "%PORTSCAN%"=="3" (
set /p PORT="Enter port number: "
echo Command: nmap -p !PORT! %TARGET%
echo.
nmap -p !PORT! %TARGET%
goto SCAN_DONE
)
if "%PORTSCAN%"=="4" (
set /p PORTRANGE="Enter port range (e.g., 1-1000): "
echo Command: nmap -p !PORTRANGE! %TARGET%
echo.
nmap -p !PORTRANGE! %TARGET%
goto SCAN_DONE
)
if "%PORTSCAN%"=="5" (
echo Command: nmap -F %TARGET%
echo.
nmap -F %TARGET%
goto SCAN_DONE
)
echo Invalid option!
goto MENU
:HOST_DISCOVERY
echo HOST DISCOVERY OPTIONS
echo ========================================
echo [1] Ping scan only (check if host is up)
echo [2] No ping (assume host is up and scan)
echo [3] TCP SYN discovery on port 80
echo [4] ICMP echo discovery
echo.
set /p HOSTSCAN="Select host discovery option: "
echo.
if "%HOSTSCAN%"=="1" (
echo Command: nmap -sn %TARGET%
echo.
nmap -sn %TARGET%
goto SCAN_DONE
)
if "%HOSTSCAN%"=="2" (
echo Command: nmap -Pn %TARGET%
echo.
nmap -Pn %TARGET%
goto SCAN_DONE
)
if "%HOSTSCAN%"=="3" (
echo Command: nmap -PS80 %TARGET%
echo.
nmap -PS80 %TARGET%
goto SCAN_DONE
)
if "%HOSTSCAN%"=="4" (
echo Command: nmap -PE %TARGET%
echo.
nmap -PE %TARGET%
goto SCAN_DONE
)
echo Invalid option!
goto MENU
:OS_DETECTION
echo OS DETECTION OPTIONS
echo ========================================
echo [1] Basic OS detection
echo [2] Aggressive OS detection with guessing
echo [3] OS detection with version info
echo.
set /p OSSCAN="Select OS detection option: "
echo.
if "%OSSCAN%"=="1" (
echo Command: nmap -O %TARGET%
echo.
nmap -O %TARGET%
goto SCAN_DONE
)
if "%OSSCAN%"=="2" (
echo Command: nmap -O --osscan-guess %TARGET%
echo.
nmap -O --osscan-guess %TARGET%
goto SCAN_DONE
)
if "%OSSCAN%"=="3" (
echo Command: nmap -A %TARGET%
echo.
nmap -A %TARGET%
goto SCAN_DONE
)
echo Invalid option!
goto MENU
:STEALTH_SCAN
echo STEALTH SCAN OPTIONS (SYN Scan)
echo ========================================
echo [1] Basic SYN scan (top 1000 ports)
echo [2] SYN scan all ports
echo [3] SYN scan with timing (fast T4)
echo [4] SYN scan with timing (slow/stealth T2)
echo.
set /p SYNSCAN="Select SYN scan option: "
echo.
if "%SYNSCAN%"=="1" (
echo Command: nmap -sS %TARGET%
echo.
nmap -sS %TARGET%
goto SCAN_DONE
)
if "%SYNSCAN%"=="2" (
echo Command: nmap -sS -p- %TARGET%
echo.
nmap -sS -p- %TARGET%
goto SCAN_DONE
)
if "%SYNSCAN%"=="3" (
echo Command: nmap -sS -T4 %TARGET%
echo.
nmap -sS -T4 %TARGET%
goto SCAN_DONE
)
if "%SYNSCAN%"=="4" (
echo Command: nmap -sS -T2 %TARGET%
echo.
nmap -sS -T2 %TARGET%
goto SCAN_DONE
)
echo Invalid option!
goto MENU
:AGGRESSIVE_SCAN
echo AGGRESSIVE SCAN OPTIONS
echo ========================================
echo [1] Full aggressive scan (OS, scripts, traceroute)
echo [2] Aggressive with fast timing (T4)
echo [3] Aggressive all ports
echo.
set /p AGGSCAN="Select aggressive scan option: "
echo.
if "%AGGSCAN%"=="1" (
echo Command: nmap -A %TARGET%
echo.
nmap -A %TARGET%
goto SCAN_DONE
)
if "%AGGSCAN%"=="2" (
echo Command: nmap -A -T4 %TARGET%
echo.
nmap -A -T4 %TARGET%
goto SCAN_DONE
)
if "%AGGSCAN%"=="3" (
echo Command: nmap -A -p- %TARGET%
echo.
nmap -A -p- %TARGET%
goto SCAN_DONE
)
echo Invalid option!
goto MENU
:UDP_SCAN
echo UDP SCAN OPTIONS
echo ========================================
echo [1] UDP scan top 1000 ports
echo [2] UDP scan specific port
echo [3] UDP scan port range
echo [4] Combined TCP SYN + UDP scan
echo.
set /p UDPSCAN="Select UDP scan option: "
echo.
if "%UDPSCAN%"=="1" (
echo Command: nmap -sU %TARGET%
echo.
nmap -sU %TARGET%
goto SCAN_DONE
)
if "%UDPSCAN%"=="2" (
set /p UDPPORT="Enter UDP port number: "
echo Command: nmap -sU -p !UDPPORT! %TARGET%
echo.
nmap -sU -p !UDPPORT! %TARGET%
goto SCAN_DONE
)
if "%UDPSCAN%"=="3" (
set /p UDPRANGE="Enter UDP port range (e.g., 1-100): "
echo Command: nmap -sU -p !UDPRANGE! %TARGET%
echo.
nmap -sU -p !UDPRANGE! %TARGET%
goto SCAN_DONE
)
if "%UDPSCAN%"=="4" (
echo Command: nmap -sS -sU -T4 %TARGET%
echo.
nmap -sS -sU -T4 %TARGET%
goto SCAN_DONE
)
echo Invalid option!
goto MENU
:SCRIPT_SCAN
echo SCRIPT SCAN OPTIONS (NSE)
echo ========================================
echo [1] Default scripts
echo [2] Vulnerability detection scripts
echo [3] All safe scripts
echo [4] Specific script category
echo.
set /p SCRIPTSCAN="Select script scan option: "
echo.
if "%SCRIPTSCAN%"=="1" (
echo Command: nmap -sC %TARGET%
echo.
nmap -sC %TARGET%
goto SCAN_DONE
)
if "%SCRIPTSCAN%"=="2" (
echo Command: nmap --script vuln %TARGET%
echo.
nmap --script vuln %TARGET%
goto SCAN_DONE
)
if "%SCRIPTSCAN%"=="3" (
echo Command: nmap --script safe %TARGET%
echo.
nmap --script safe %TARGET%
goto SCAN_DONE
)
if "%SCRIPTSCAN%"=="4" (
echo Available categories: auth, broadcast, brute, default, discovery, dos, exploit, external, fuzzer, intrusive, malware, safe, version, vuln
set /p SCRIPTCAT="Enter script category: "
echo Command: nmap --script !SCRIPTCAT! %TARGET%
echo.
nmap --script !SCRIPTCAT! %TARGET%
goto SCAN_DONE
)
echo Invalid option!
goto MENU
:SAVE_RESULTS
echo SAVE RESULTS OPTIONS
echo ========================================
echo [1] Save as text file
echo [2] Save as XML file
echo [3] Save as grepable format
echo [4] Save all formats
echo.
set /p SAVESCAN="Select save format: "
echo.
set FILENAME=nmap_scan_%TARGET%_%date:~-4,4%%date:~-7,2%%date:~-10,2%_%time:~0,2%%time:~3,2%%time:~6,2%
set FILENAME=%FILENAME: =0%
if "%SAVESCAN%"=="1" (
echo Command: nmap -oN %FILENAME%.txt %TARGET%
echo.
nmap -oN %FILENAME%.txt %TARGET%
echo Output saved to: %FILENAME%.txt
goto SCAN_DONE
)
if "%SAVESCAN%"=="2" (
echo Command: nmap -oX %FILENAME%.xml %TARGET%
echo.
nmap -oX %FILENAME%.xml %TARGET%
echo Output saved to: %FILENAME%.xml
goto SCAN_DONE
)
if "%SAVESCAN%"=="3" (
echo Command: nmap -oG %FILENAME%.gnmap %TARGET%
echo.
nmap -oG %FILENAME%.gnmap %TARGET%
echo Output saved to: %FILENAME%.gnmap
goto SCAN_DONE
)
if "%SAVESCAN%"=="4" (
echo Command: nmap -oA %FILENAME% %TARGET%
echo.
nmap -oA %FILENAME% %TARGET%
echo Output saved to: %FILENAME%.* (all formats)
goto SCAN_DONE
)
echo Invalid option!
goto MENU
:CUSTOM_COMMAND
set /p CUSTOM="Enter custom Nmap parameters (without 'nmap' and target): "
echo.
echo Command: nmap %CUSTOM% %TARGET%
echo.
nmap %CUSTOM% %TARGET%
goto SCAN_DONE
:SCAN_DONE
echo.
echo ========================================
echo Scan completed!
echo ========================================
echo.
set /p CONTINUE="Do you want to run another scan? (Y/N): "
if /i "%CONTINUE%"=="Y" goto MENU
echo.
echo Exiting...
pause