Cobalt Strike 在 WSL 上的安装与配置指南

679 阅读2分钟

本文简要讨论:在 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 命令,完成新用户的初始设置

image-20241031194022986.png

下载和配置 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 地址访问 。

自动启动的两种方法

  1. 修改 .profile 文件,添加工具路径:<path to WSLHostPatcher.exe>

  2. 修改 /etc/wsl.conf 文件:

[boot]
command=<path to WSLHostPatcher.exe>

image-20241031195422061.png

3 . 执行 cobaltstrike_start.bat

宿主机 IP:192.168.64.1

wsl Kali IP:192.168.73.98

image-20241031201337579.png

image-20241031194602710.png

image-20241031194718085.png

image-20241031200120929.png