@echo off
setlocal enabledelayedexpansion

:: 初始化变量
set /a count=0
set ipList=

:: 获取所有网卡的 IP 地址并保存到变量中
for /f "tokens=2 delims=:" %%i in ('ipconfig ^| findstr "IPv4"') do (
for /f "delims=" %%j in ("%%i") do (
set /a count+=1
set ipList[!count!]=%%j
echo !count!. %%j
)
)

:: 如果没有找到 IP 地址,退出
if %count% equ 0 (
echo No IP addresses found.
pause
exit /b
)

:: 提示用户选择 IP 地址
echo ====================================
set /p choice=Select an IP address by number (1-%count%) [default 1]:

:: 如果用户没有输入,默认选择第一个 IP
if "%choice%"=="" set choice=1

:: 验证输入是否有效
if %choice% leq %count% if %choice% geq 1 (
set selectedIP=!ipList[%choice%]!
echo You selected: !selectedIP!
) else (
echo Invalid selection. Please run the script again.
pause
exit /b
)

:: 启动 Cobalt Strike 服务器并在后台运行
echo [+] Starting Cobalt Strike server...
start /B wsl -u root -- bash -c "cd /mnt/d/CobaltSrike_4.9.1_Cracked/Server && ./teamserver !selectedIP! password"
echo [+] Cobalt Strike server started.

:: 等待一段时间(例如 10 秒)确保服务器已启动
timeout /t 10 >nul

echo [+] Starting Cobalt Strike client...

:: 启动 Cobalt Strike 客户端
cd /d D:\CobaltSrike_4.9.1_Cracked\Client
start /B java -Dfile.encoding=utf-8 -XX:ParallelGCThreads=4 -XX:+AggressiveHeap -XX:+UseParallelGC -javaagent:uHook.jar -Xms512M -Xmx1024M -jar cobaltstrike-client.jar

:: 等待用户输入以保持窗口打开
pause
 
 
Back to Top