Metasploit 跳板攻击
今天有一个机会测试MSF的跳板攻击,涉及到端口转发和添加路由,下面详细介绍一下。2个可以单独使用,也可以结合使用。以下是测试拓扑。
前提是攻击机192.168.136.155通过某种方式控制了S1,192.168.100.100,然后可以通过端口转发方式连接该主机的其他端口,也可以通过添加路由的方式把该主机当成跳板攻击其他主机。
一、端口转发
portfwd 原理
portfwd 是借用 meterpreter shell 建立的连接进行数据传输,达到端口转发的目的。
当建立反向连接时,可以绕过防火墙的检测。
命令:
meterpreter > portfwd --help
Usage: portfwd [-h] [add | delete | list | flush] [args]
选项说明
-L <opt>
:指定本地主机监听的地址(可选)。在反向连接中,表示本地主机要连接的地址。-R
:表示这是一个反向端口转发。-i <opt>
:指定要交互的端口转发条目的索引(使用 "list" 命令查看)。-l <opt>
:指定本地监听的端口。在反向连接中,表示本地要连接的端口。-p <opt>
:指定远程连接的端口。在反向连接中,表示远程监听的端口。-r <opt>
:指定远程连接的主机地址。
以上使用deepseek翻译,较为精准。
端口转发可以理解为反向代理,内网穿透,有使用frp等工具经验的比较好理解,就是把远程端口映射到本地来。
如:meterpreter > portfwd add -L 192.168.136.155 -l 13389 -p 3389 -r 192.168.100.100
以上命令是把远程被攻击主机192.168.100.100的3389(rdp)端口送到本地地址192.168.0.2监听13389的端口。然后在本地使用rdp工具连接192.168.136.155:13389达到远程桌面连接的目的。
二、Pivoting跳板攻击
以前我写过一篇,当时比较匆忙测试不完整,今天详细测试了以下。
一般获得meterpreter以后可以使用run get_local_subnets获取目标主机的内网IP段情况。
获得上图S1的权限以后可以添加路由到S2。
上次测试的是使用S1作为跳板扫描跨网段的S2,可以成功。今天突发奇想,比如把S1当成跳板攻击S2,利用ms17-010漏洞使用S1的会话再建立与S2的会话。
第一次失败以后还以为本地侦听端口冲突导致,改变本地监听端口,仍然失败。应该能证实会话不能嵌套。
也就是说可以使用S1作为跳板使用,auxiliary内的模块可以使用,比如扫描模块,暴力破解模块,测试过一个smb扫描,smb暴力破解都可以正常使用。