我制作了一个多客户端TCP反向外壳,并观看了一个视频教程,该视频说HTTP反向外壳更好,因为与TCP相比,它很难追溯到攻击者。我不明白。
我尝试在没有太大帮助的情况下搜索这个问题。
HTTP反向shell真的比TCP受益吗?怎么样?
我个人认为拥有HTTP反向外壳是很糟糕的,因为http是无连接的,当攻击者想要与主机通信时,它不能这样做,因为没有连接,并且攻击者只能在请求(例如GET)下进行通信来自主机。我在这里想念什么吗?
请解释。...
答案 0 :(得分:0)
首先,我只是回答基于HTTP的HTTPS,因为我没有太多理由使用基于HTTPS的HTTP,但是以这种方式加密流量有很多好处。
除少数特殊端口外,许多网络都将阻止出站流量。因此,使用端口6666之类的东西可能会引发一些警报。如果您尝试将端口用于非预期用途,则某些软件可以使用深度包检查(DPI)来检测/阻止该端口。换句话说,如果您的有效负载尝试不使用HTTP / HTTPS而使用端口80/443,则可能会发出警报并捕获您的有效负载。
我想说,成为隐形有效载荷的两个最重要的因素看起来像是正常的流量,从而避免首先引起人们的注意,并且很难检查是否确实注意到了您的连接。 HTTPS很好地完成了这两个方面。
这是因为在大多数网络上,经常会看到网络上的节点始终向Internet发出请求。比较发出HTTPS请求的信标有效负载与通过某个随机端口连接的某些有效负载。
现在,就最后一个问题而言……这取决于您的情况,但您是对的,如果使用HTTP(S)之类的方法来维护已建立的连接,通常会出现延迟。我之前提到过这一点,但是我们可以通过信标进行通信。从本质上讲,这仅意味着有效负载将按设定的时间间隔与服务器一起返回(通常带有抖动,使其难以检测)。
受害者将向您的命令和控制(C2)服务器发出HTTP(S)请求,其中包含您告诉它运行的前一个命令的结果。您的服务器将返回HTTP(S)响应,其中包含有效负载的下一条指令。