Metasploit进阶笔记之Meterpreter可靠的网络通信

Meterpreter可靠的网络通信

一、简介

在最近对Meterpreter的众多更新中,可靠的网络通信是最受欢迎的变化之一。长时间以来,Meterpreter与Metasploit之间的通信相对容易中断。一旦中断,会话就正式失效,唯一的恢复方法是重新执行原始的利用路径,重新建立一个全新的会话。

对于HTTP/S传输,曾经存在一些容错功能。由于HTTP/S的无状态特性,每个命令请求/响应都会通过一个新的连接进行传输,因此即使发生网络中断或其他意外问题,HTTP/S传输也会继续尝试与Metasploit通信。而基于TCP的传输则没有类似的功能,一旦发生网络问题,就不会有任何尝试重新连接的机制。

重新设计的传输实现现在为基于TCP的通信提供了容错支持。任何没有被Metasploit正常终止的会话都会在后台继续运行,Meterpreter会尝试重新建立与Metasploit的通信。

通过使用各种超时值(可以在会话中添加传输时指定,也可以实时控制当前传输的行为),可以对该功能的行为进行一定程度的控制。有关这些超时值的详细信息,请参阅超时文档。

在后台,Meterpreter现在在运行时会在内存中维护一个循环链表,包含所有传输。当某个传输失败时,Meterpreter会关闭并清理当前传输机制的资源,然后切换到链表中的下一个传输。接下来,Meterpreter会使用此传输配置尝试重新连接Metasploit。它会继续尝试,直到以下情况发生:

  1. 达到会话的总超时值,此时会话会终止。
  2. 达到传输的重试总次数,此时Meterpreter会切换到下一个传输。
  3. 连接尝试成功,重新与Metasploit建立通信。

如果Meterpreter只配置了一个传输,它会不断地在该传输上重试,直到会话超时,或者成功建立会话。

二、关于容错传输的重要说明

现在,TCP和HTTP/S的有效负载都包含了容错功能,因此需要注意的是,通过exit -y退出Metasploit时,不再像以前那样终止TCP会话。如果Metasploit使用exit -y关闭,而没有终止现有会话,则TCP和HTTP/S的Meterpreter会话会继续在后台运行,尝试通过指定的传输重新连接Metasploit。如果你打算退出Metasploit并终止所有会话,请确保先运行sessions -K命令。

简而言之,在不运行sessions -K命令时,受害者机器会持续发送请求连接会话。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

人间酒中仙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值