使用说明
Cobalt Strike MCP服务器
模型上下文协议服务器,用于通过自然语言命令管理Cobalt Strike操作。 目前仅在Windows上使用Cursor和Claude进行了测试
先决条件
- Node.js 18.0.0或更高版本
- npm包管理器
- 启用REST API的Cobalt Strike团队服务器
- 与Cobalt Strike团队服务器的网络连接
安装
Windows安装
先决条件
- 从以下位置安装Node.js 18.0.0或更高版本 nodejs.org
- 以管理员身份打开PowerShell或命令提示符(用于全局安装)
全局安装(推荐)
全局安装该包以使 cobaltstrike-mcp 命令在系统范围内可用:
PowerShell:
npm install -g .
macOS/Linux安装
全局安装(推荐)
全局安装该包以使 cobaltstrike-mcp 命令在系统范围内可用:
npm install -g .
配置
在使用MCP服务器之前,您需要使用Cobalt Strike团队服务器凭据对其进行配置。
初始设置
运行setup命令以配置服务器:
cobaltstrike-mcp --setup
这将提示您:
- 团队服务器URL:Cobalt Strike REST API的完整URL(例如。,
https://teamserver.example.com:50050) - 用户名:您的Cobalt Strike用户名
- 密码:您的Cobalt Strike密码
- 验证SSL:是否验证SSL证书(是/否)
凭据安全地存储在操作系统凭据管理器(密钥环)中。
配置位置
配置文件存储在:
- 视窗:
%USERPROFILE%\.cobaltstrike-mcp\或C:\Users\<username>\.cobaltstrike-mcp\ - macOS/Linux:
~/.cobaltstrike-mcp/
文件夹:
config.json-非敏感配置(URL、SSL设置)- 凭据存储在操作系统密钥环中(Windows上的Windows凭据管理器)
用法
使用克劳德桌面
将MCP服务器添加到您的Claude Desktop配置中:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
视窗: %APPDATA%\Claude\claude_desktop_config.json
Linux: ~/.config/Claude/claude_desktop_config.json
{
"mcpServers": {
"cobaltstrike": {
"command": "cobaltstrike-mcp",
"args": []
}
}
}
带光标
Cursor通过其设置支持MCP服务器。要在Cursor中配置此MCP服务器,请执行以下操作:
-
打开光标设置:
- 按
Ctrl+,(Windows/Linux)或Cmd+,(macOS) - 或前往
File > Preferences > Settings
- 按
-
导航到MCP设置:
- 在设置搜索栏中搜索“MCP”
- 或者查找“模型上下文协议”设置
-
添加MCP服务器:
- 点击“添加MCP服务器”或编辑MCP配置
- 添加以下配置:
{
"mcpServers": {
"cobaltstrike": {
"command": "cobaltstrike-mcp",
"args": []
}
}
}
- 重新启动游标 在对配置进行更改之后。
可用工具
此MCP服务器通过以下方式提供对Cobalt Strike操作的全面访问 200+工具 分为以下几类:
Teamserver操作
get_teamserver_info-获取Cobalt Strike团队服务器的相关信息(版本、许可证、统计数据)test_connection-测试与Cobalt Strike REST API服务器的连接
信标操作
list_beacons-列出teamserver中的所有活动信标get_beacon-按ID获取特定信标的详细信息execute_beacon_command-在信标上执行命令(例如,“whoami”、“ls”、“shell”、“powershell”)get_beacon_output-从信标获取输出(控制台输出)get_beacon_task-获取特定信标任务的状态和输出kill_beacon-从teamserver中杀死/删除信标note_beacon-在信标上添加或更新注释
信标状态管理
set_beacon_sleep-设置信标的睡眠时间和抖动set_beacon_spawnto-将生成设置为处理信标set_beacon_ppid-设置信标的父进程IDset_beacon_syscall_method-设置信标的系统调用方法set_beacon_dns_mode-为信标设置DNS模式set_beacon_block_dlls-启用或禁用块DLLset_beacon_beacon_gate-启用或禁用信标门set_beacon_c2_host-为信标设置C2主机set_beacon_c2_host_hold-保持C2主机(防止故障转移)set_beacon_c2_host_release-释放C2主机(允许故障转移)set_beacon_c2_host_reset-重置C2主机set_beacon_spoofed_arguments-为信标设置欺骗性参数set_beacon_c2_failover_notification-启用或禁用C2故障转移通知get_beacon_jobs-让作业在信标上运行get_beacon_c2_host_profiles-获取信标的可用C2配置文件get_beacon_tokenStore-获取信标的令牌存储状态
监听器操作
list_listeners-列出teamserver中的所有活动侦听器create_listener-创建新的侦听器(HTTP、HTTPS、DNS、SMB等)delete_listener-从teamserver中删除/移除侦听器
侦听器特定操作
create_listener_http/get_listener_http/update_listener_http/delete_listener_httpcreate_listener_https/get_listener_https/update_listener_https/delete_listener_httpscreate_listener_dns/get_listener_dns/update_listener_dns/delete_listener_dnscreate_listener_smb/get_listener_smb/delete_listener_smbcreate_listener_tcp/get_listener_tcp/delete_listener_tcpcreate_listener_externalC2/get_listener_externalC2/delete_listener_externalC2create_listener_foreignHttp/get_listener_foreignHttp/delete_listener_foreignHttpcreate_listener_foreignHttps/get_listener_foreignHttps/delete_listener_foreignHttpscreate_listener_userDefinedC2/get_listener_userDefinedC2/delete_listener_userDefinedC2get_listener-按ID获取侦听器
凭据管理
list_credentials-列出teamserver中存储的所有凭据get_credential-按ID获取特定凭据的详细信息create_credential-创建新的凭据条目delete_credential-从teamserver中删除凭据
任务管理
list_tasks-列出所有信标中的所有任务或按信标ID过滤get_task-按ID获取特定任务的详细信息get_task_error-获取特定任务的错误信息get_task_log-获取特定任务的日志信息get_beacon_tasks_summary-获取特定信标的任务摘要get_beacon_tasks_detail-获取特定信标的详细任务信息
文件操作
beacon_list_directory-在信标上列出目录内容beacon_change_directory-更改信标上的当前目录beacon_get_current_directory-获取信标上的当前工作目录beacon_list_drives-在信标上列出可用驱动器beacon_upload_file-将文件上传到信标beacon_download_file-从信标下载文件beacon_copy_file-在信标上复制文件beacon_move_file-移动/重命名信标上的文件beacon_delete_file-删除信标上的文件或目录beacon_create_directory-在信标上创建目录
产卵操作(40+工具)
生成操作在新进程中执行命令。可用工具包括:
spawn_beacon-生成新的信标会话spawn_powershell-执行PowerShell命令spawn_command-执行命令(在新进程中生成)spawn_shell-执行shell命令spawn_screenshot-截图spawn_hashdump-转储密码哈希值spawn_mimikatz-运行Mimikatzspawn_logon_passwords-使用Mimikatz转储登录密码spawn_process_list-列出流程spawn_beacon_asUser-以特定用户身份生成信标spawn_beacon_under-在特定流程下生成信标spawn_command_runAs-以特定用户身份运行命令spawn_dcsync-执行DCSync攻击spawn_keylogger-启动键盘记录器spawn_chromedump-转储Chrome密码spawn_dotnetAssembly-执行。NET程序集spawn_net_computers-枚举计算机spawn_net_dclist-列出域控制器spawn_net_domainControllers-列出域控制器spawn_net_domainTrusts-枚举域信任spawn_net_group-枚举组spawn_net_localGroup-枚举本地组spawn_net_logons-枚举已登录的用户spawn_net_sessions-枚举会话spawn_net_share-枚举股份spawn_net_time-从目标获取时间spawn_net_user-枚举用户spawn_net_user_detail-获取用户详细信息spawn_net_view-查看网络资源spawn_portscan-执行端口扫描spawn_postExDll-加载漏洞利用后DLLspawn_powershell_unmanaged-执行非托管PowerShellspawn_printscreen-打印屏幕spawn_pth-传递哈希值spawn_screenwatch-开始屏幕观看spawn_shellcode-执行外壳代码spawn_ssh-注入SSH会话spawn_sshKey-使用密钥注入SSH会话- 还有更多。..
注射操作(30+工具)
注入操作在现有进程中执行命令。可用工具包括:
inject_dcsync-执行DCSync攻击以提取域凭据inject_net_computers-枚举计算机(注入模式)inject_net_users-枚举用户(注入模式)inject_net_user_detail-获取用户详细信息(注射模式)inject_net_groups-枚举组(注入模式)inject_net_sessions-枚举会话(注入模式)inject_net_shares-枚举共享(注入模式)inject_net_domain_controllers-列出域控制器(注入模式)inject_portscan-执行端口扫描(注入模式)inject_keylogger-在进程上启动键盘记录器inject_chromedump-转储Chrome密码inject_net_view-查看网络资源(注入模式)inject_net_logons-枚举登录用户(注入模式)inject_beacon-将信标注入进程inject_dll-将DLL注入进程inject_shellcode-执行外壳代码inject_mimikatz-运行Mimikatzinject_hashdump-转储密码哈希值(注入模式)inject_logonPasswords-转储登录密码(注入模式)inject_powershell_unmanaged-执行非托管PowerShellinject_screenshot-截图inject_printscreen-打印屏幕inject_screenwatch-开始屏幕观看inject_browserpivotStart-启动浏览器枢轴inject_ssh-注入SSH会话inject_sshKey-使用密钥注入SSH会话inject_pth-传递哈希值(注入模式)inject_postExDll-加载漏洞利用后DLLinject_loadDll-加载DLL- 还有更多。..
执行操作
execute_kill_process-终止一个进程execute_clipboard-获取剪贴板内容execute_setenv-设置环境变量execute_timestomp-修改文件时间戳execute_checkin-强制信标登记execute_exit-出口信标execute_reg_query-查询注册表项execute_reg_queryv-查询注册表值execute_beacon_info-获取信标信息execute_get_uid-获取用户IDexecute_job_stop-停止作业execute_kerberos_ticket_purge-清除Kerberos票证execute_kerberos_ticket_use-使用Kerberos票证execute_powershell_import-导入PowerShell脚本execute_net_domain-获取域信息execute_browserpivot_stop-停止浏览器枢轴execute_cancel_file_download-取消文件下载execute_socks_stop_all-停止所有SOCKS代理execute_socks_stop_port-停止特定端口上的SOCKS代理
令牌操作
execute_steal_token-从进程中窃取令牌execute_make_token-使用登录凭据制作令牌execute_rev2self-回归自我(丢弃假冒令牌)execute_get_system-获取系统权限execute_get_privs-获取特权execute_tokenStore_use-使用令牌存储中的令牌execute_tokenStore_steal-窃取令牌并将其添加到令牌存储中execute_tokenStore_stealAndUse-窃取令牌并立即使用execute_tokenStore_remove-从令牌存储中删除令牌execute_tokenStore_removeAll-从令牌存储中删除所有令牌execute_make_token_upn-使用UPN(用户主体名称)制作令牌
旋转操作
execute_socks4_start-启动SOCKS4代理execute_socks5_start-启动SOCKS5代理execute_socks_stop-停止SOCKS代理execute_link_smb-链接到SMB信标execute_link_tcp-链接到TCP信标execute_unlink-取消与信标的链接execute_rportfwd_start-正向启动反向端口execute_rportfwd_stop-停止反向端口前进
升降操作
elevate_beacon-提升信标权限elevate_command-提升指挥权限
远程执行操作
remoteExec_beacon-执行远程信标remoteExec_command-执行远程命令
有效载荷生成
generate_stager_payload-为侦听器生成stager有效负载generate_stageless_payload-为侦听器生成无阶段有效负载download_payload-下载生成的有效载荷文件
BOF(信标对象文件)操作
execute_bof-在信标上执行BOFexecute_bof_pack-执行带包装的BOFexecute_bof_packed-执行打包的BOF
数据运营
list_screenshots-列出从信标捕获的所有屏幕截图get_screenshot-按ID获取特定截图list_keystrokes-列出从信标捕获的所有按键get_keystrokes-按ID获取击键数据list_downloads-列出从信标下载的所有文件get_download-按ID获取下载信息
配置操作
get_system_information-获取系统信息get_profile-获取C2配置文件update_profile-更新C2配置文件get_killdate-获取杀戮日期set_killdate-设置终止日期get_teamserver_ip-获取团队服务器IPset_teamserver_ip-设置团队服务器IPreset_data-重置数据
公用事业运营
get_artifacts-获取工件get_beacon_active_downloads-获取信标的有效下载clear_beacon_command_queue-清除信标命令队列get_beacon_help-获取信标帮助get_beacon_command_help-获取特定信标命令的帮助get_beacon_keystrokes-获取信标的按键
钴击休息API
此MCP服务器与Cobalt Strike REST API交互。有关API的详细文档,请参阅:
安全考虑
⚠️ 重要安全注意事项:
- 此工具仅用于授权的安全测试和红队行动
- 凭据存储在操作系统凭据管理器中
- 可以禁用SSL证书验证以进行测试(不建议用于生产)
- 所有操作均由Cobalt Strike团队服务器记录
- 在获得适当授权并遵守适用法律的情况下使用
许可证
GPL-3.0