Visual Studio Code 远程隧道:攻击者如何利用反向 Shell

admin 2024年11月12日13:14:31评论22 views字数 1897阅读6分19秒阅读模式

介绍:

“随着 Visual Studio Code 成为全球使用最广泛的开发工具之一,Remote Tunnels 等新功能使远程开发比以往任何时候都更容易。但是,虽然此功能旨在提供对远程计算机和服务器的无缝访问,但它也存在潜在的安全风险。具体来说,攻击者可以利用 Visual Studio Code 隧道建立反向 shell,从而获得对系统的完全控制权,只要他们拥有正确的凭据。

在本文中,我们将分解如何执行此类攻击以及攻击者可能采取哪些步骤来访问受害者的机器。通过探讨 Visual Studio Code 中的隧道功能如何用于恶意目的,我们将重点介绍攻击者可以利用的漏洞。此外,我们将讨论可以实施的安全措施来防范这种威胁。

1. 创建隧道(步骤 1):

在第一张图片中,您可以看到通过 Visual Studio Code 终端在受害者的系统上执行的命令。code tunnel

Visual Studio Code 远程隧道:攻击者如何利用反向 ShellVisual Studio Code 远程隧道:攻击者如何利用反向 Shell
Visual Studio Code 远程隧道:攻击者如何利用反向 ShellVisual Studio Code 远程隧道:攻击者如何利用反向 Shell

运行命令后,Visual Studio Code 会提示受害者通过访问并输入唯一代码(在本例中为 )来登录 GitHub。此步骤对于完成隧道创建、启用远程访问是必需的。https://github.com/login/device0DEF-1426

2. 在攻击者一侧打开隧道(第 2 步):

在第二张图片中,我们看到攻击者在收到来自受害者系统的隧道 URL 后,正在访问 Visual Studio Code 的 Web 界面。

Visual Studio Code 远程隧道:攻击者如何利用反向 ShellVisual Studio Code 远程隧道:攻击者如何利用反向 Shell

解释:攻击者使用受害者系统提供的隧道 URL,并尝试通过 Visual Studio Code 访问远程系统。但是,要继续,该界面需要使用 GitHub 或 Microsoft 帐户进行身份验证。

3. GitHub 身份验证请求(第 3 步):

在第三个图像中,Visual Studio Code 的“远程 — 隧道”扩展请求使用 GitHub 登录的权限。

Visual Studio Code 远程隧道:攻击者如何利用反向 ShellVisual Studio Code 远程隧道:攻击者如何利用反向 Shell

解释:应用程序请求攻击者通过 GitHub 进行身份验证以验证其身份。Visual Studio Code 需要此身份验证,以确认用户有权通过隧道访问系统。如果提供的凭证与用于创建隧道的凭证不同,则访问将被拒绝。

在此阶段,攻击者可能需要使用网络钓鱼技术或其他形式的社会工程来诱骗受害者泄露其 GitHub 凭据。这是攻击的关键部分,因为获取受害者的登录信息可以让攻击者进行身份验证并获得对远程系统的完全访问权限。如果没有这些凭证,隧道将保持不可访问状态。

4. 执行 Reverse Shell(步骤 4):

在最后一步中,我们可以看到如何从受害者的系统执行反向 shell,从而允许攻击者获得完全访问权限。终端中显示的 PowerShell 命令已被混淆并执行,以建立与攻击者计算机的连接。

Visual Studio Code 远程隧道:攻击者如何利用反向 ShellVisual Studio Code 远程隧道:攻击者如何利用反向 Shell
Visual Studio Code 远程隧道:攻击者如何利用反向 ShellVisual Studio Code 远程隧道:攻击者如何利用反向 Shell

在此图像中,我们位于攻击者一方,攻击者正在使用名为 PsycheShell 的工具生成恶意负载。PsycheShell 是一种帮助为反向 shell 创建混淆 PowerShell 脚本的工具。在受害者的机器上执行混淆的 PowerShell 有效负载后,它会在端口 上打开一个远程连接,回到攻击者的 IP()。此连接允许攻击者在受害者的系统上运行命令,如列出受害者桌面的内容所示。192.168.1.50443

为了生成反向 shell 脚本,攻击者使用了 PsycheShell,该脚本可在 GitHub 上找到。此工具简化了创建模糊和加密的 PowerShell 脚本的过程,使安全软件更难检测到有效负载。它还可以绕过 Windows Defender 等防病毒程序,使攻击者能够在不触发安全警报的情况下执行有效负载。要更深入地了解 PsycheShell 以及如何使用它来绕过 Windows Defender,请查看 Medium 上的这篇文章:“如何使用 PsycheShell 通过自定义反向 Shell 绕过 Windows Defender”。

结论:

使用 Visual Studio Code 远程隧道为开发人员提供了一种远程访问其系统的便捷方式,但正如我们所看到的,攻击者也可以使用正确的工具和知识来利用它。通过使用 PsycheShell 等工具,攻击者可以创建混淆的 PowerShell 有效负载,绕过 Windows Defender 等防病毒解决方案,建立反向 shell 并获得对受害者机器的完全控制权。

此方案凸显了强大的安全实践的重要性,例如多重身份验证 (MFA)、避免跨平台重复使用凭证以及培训用户识别网络钓鱼和社会工程攻击。组织还应采用高级安全解决方案,以检测和阻止混淆脚本和加密通信。

随着攻击变得越来越复杂,防御者必须保持警惕和主动,确保为方便而设计的工具不会成为攻击者可以轻松利用的漏洞。

原文始发于微信公众号(安全狗的自我修养):Visual Studio Code 远程隧道:攻击者如何利用反向 Shell

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年11月12日13:14:31
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Visual Studio Code 远程隧道:攻击者如何利用反向 Shellhttps://cn-sec.com/archives/3386854.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息