本文简要讨论:在 VMware 上安装的 Windows 11 (支持 WSL)中,通过 WSL 中的 Kali 启动 Cobalt Strike 服务器,并在此 Windows 11 系统中运行 Cobalt Strike 客户端。
安装 VMware ,安装Windows 11(关闭宿主机虚拟化支持 WSL) (省略)
安装 WSL 与 Kali Linux
0. 打开 管理员命令提示符,启用虚拟机功能和 WSL:
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all
1. 下载并安装 WSL 2 内核:下载链接
2. 重启系统
3. 设置 WSL 默认版本为 2:
wsl --set-default-version 2
4. 安装 Kali Linux:
wsl.exe -l -o
wsl.exe --install kali-linux
5. 执行 kali 命令,完成新用户的初始设置
下载和配置 Cobalt Strike
0. 下载 Cobalt Strike 下载链接
1. 编写启动脚本 cobaltstrike_start.bat
以下脚本用于启动 Cobalt Strike 服务器和客户端:
@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
2. 端口转发工具
使用 WSLHostPatcher 进行端口转发,使得宿主机 Windows 和 WSL 中的 Kali Linux 能够共享网络端口。这样可以让 WSL 内的服务通过宿主机的 IP 地址访问 。
自动启动的两种方法:
-
修改
.profile文件,添加工具路径:<path to WSLHostPatcher.exe> -
修改
/etc/wsl.conf文件:
[boot]
command=<path to WSLHostPatcher.exe>
3 . 执行 cobaltstrike_start.bat
宿主机 IP:192.168.64.1
wsl Kali IP:192.168.73.98