反向Shell工作原理及实战

admin 2024年4月22日06:43:42评论10 views字数 1910阅读6分22秒阅读模式
反向Shell工作原理及实战

点击上方蓝字关注我们

反向Shell工作原理及实战
反向Shell工作原理及实战

摘要

反向Shell工作原理及实战

在传统的客户端-服务器环境中,用户是客户端,而提供服务的机器是服务器。客户端创建连接到服务器,服务器通过指定的端口监听连接。反向shell反转了这种设置,因为客户端成为(新的)服务器,监听来自(旧的)服务器或攻击机的连接。在下文中将展示攻击者如何使用反向 shell来控制网络。

反向Shell工作原理及实战

反向shell工作原理

反向Shell工作原理及实战

下图显示了攻击者使用 SSH 连接到目标机器。由于防火墙配置为阻止传入的SSH连接,因此此连接在防火墙处被拒绝, 如图1:

反向Shell工作原理及实战

图1: 攻击者发起的正向SSH连接被防火墙阻止

图2显示了目标计算机使用SSH启动与黑客机器的连接。由于防火墙配置为允许出站SSH连接,因此此连接通过了防火墙。攻击者在其计算机上运行服务端,等待传入的SSH连接。

反向Shell工作原理及实战

图2 反向SSH连接成功

在图3中,目标(1)通过点击恶意链接或可执行文件开始了SSH shell连接(2)。防火墙(3)允许连接,因为默认情况下允许出站SSH连接。攻击者(4)在公共IP地址上等待传入的SSH连接。攻击者通过反向 shell(5)开始利用,允许直接连接到目标计算机。

反向Shell工作原理及实战

该弱点存在的原因是因为黑客只需要用户点击黑客提供的链接或可执行文件即可完成攻击。

反向Shell工作原理及实战

实验环境搭建

反向Shell工作原理及实战

有许多设置反向 shell 的方法。在本例中,Kali Linux 提供的社交工程工具包(SET)提供了一个简单易用的界面来设置反向 shell。SET 是一个专为社交工程而设计的开源渗透测试框架。SET具有许多自定义攻击向量,可以快速进行可信的攻击。

为了完成反向Shell的实验效果, 攻击系统选择了黑客使用最多的Kali Linux, 目标受害者机器选用了Windows7系统。

从Kali菜单启动社交工程工具包,或在提示符下输入 setoolkit, 命令如下:

# sudo setoolkit

反向Shell工作原理及实战

选择选项1: Social-Engineering Attacks, 如图:

反向Shell工作原理及实战

选择选项4:Create a Payload and Listener,如图:

反向Shell工作原理及实战

选择选项2: Windows Reverse_TCP Meterpreter,如图:

反向Shell工作原理及实战

输入捕获攻击结果的机器的IP地址(LHOST)。这里选择Kali Linux机器。可以通过键入 #hostname -I 来查找IP地址, 如图:

反向Shell工作原理及实战

输入yes开启监听192.168.1.22:4444, 如图:

反向Shell工作原理及实战

在Kali Linux或攻击机器上设置利用已经完成。SET启动了metepreter/reverse_tcp,一种等待在端口4444上接收传入连接的漏洞利用程序。

反向Shell工作原理及实战

在Kali Linux或攻击计算机上设置利用已完成。脚本启动了metepreter/reverse_tcp,一个等待传入连接的漏洞利用程序。

接下来的步骤需要受害者机器点击发送给目标的链接。无论通过电子邮件、FTP、文件共享、USB驱动器或其他可下载的链接发送给目标payload.exe文件,都需要目标运行可执行文件以启动利用。

Meterpreter 在 /root/.set/payload.exe 创建了 .exe 文件。切换到超级用户并将 payload.exe 文件复制到主目录。

# sudo -i
# cp /root/.set/payload.exe /home/kali
反向Shell工作原理及实战

受害者机器

反向Shell工作原理及实战

设置利用是比较容易的环节, 而如何成功让目标点击链接或执行文件是一项比较艰难的挑战。实战中可以通过电子邮件、FTP、文件传输、网页链接或USB驱动器将 payload.exe 安装到受害者计算机上。攻击者所需要的就是让目标通过双击 payload.exe 可执行文件来执行该文件。

Windows 7机器在桌面上显示了 payload.exe 文件。双击或执行 .exe 文件会启动到服务器的连接。绕过防火墙和您网络上的任何病毒或恶意软件保护。

反向Shell工作原理及实战

当目标点击文件时,利用完成。此利用程序启动了与攻击者机器的远程连接。

反向Shell工作原理及实战

攻击者机器

反向Shell工作原理及实战

与此同时,在攻击者的Kali机器上,远程控制台一直在耐心地等待着有人连接到端口4444, 如图:

反向Shell工作原理及实战在受害者执行 payload.exe 文件后,黑客与 Windows 7 之间的连接已完成。下图中的最后一行显示了连接情况。

反向Shell工作原理及实战

键入sessions命令以查看正在运行的进程, 如图:

反向Shell工作原理及实战

要将会话升级为以 Windows 用户身份运行,键入 sessions -i 1 命令。如果有多个会话正在运行,将 1 替换为想捕获的任何进程。

反向Shell工作原理及实战

输入sysinfo命令以确认操作系统和版本号:

反向Shell工作原理及实战

通过键入shell命令更改为 shell, 如图:

反向Shell工作原理及实战

此时,已经成功控制了目标计算机,并且可以使用常规 Windows shell 命令(例如dir和cd)在操作系统中自由移动, 如图:

反向Shell工作原理及实战

点个在看你最好看

原文始发于微信公众号(二进制空间安全):反向Shell工作原理及实战

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年4月22日06:43:42
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   反向Shell工作原理及实战https://cn-sec.com/archives/2588721.html

发表评论

匿名网友 填写信息