依靠 VPN 生存——探索 VPN 后利用技术

执行摘要

在这篇博文中,Akamai 研究人员强调了被忽视的 VPN 后利用威胁;也就是说,我们讨论了威胁行为者在入侵 VPN 服务器后可以用来进一步升级入侵的技术。

我们的发现包括影响 Ivanti Connect Secure 和 FortiGate VPN 的几个漏洞。

除了漏洞之外,我们还详细介绍了一组可能影响 Ivanti Connect Secure 和 FortiGate 产品以及其他 VPN 服务器的无修复技术。

我们的研究表明,在许多情况下,受到感染的 VPN 服务器可以让攻击者轻松控制网络中的其他关键资产。

这篇博文旨在提高人们对这些风险的认识,并提出防御者应遵循的最佳实践,以最大限度地降低 VPN 后利用技术的风险。
介绍
我们都听过这样的故事:VPN 服务器中发现了一个严重漏洞。该漏洞被广泛利用。管理员匆忙修补。恐慌在社交媒体上蔓延。

去年对于 VPN 安全来说相当艰难——似乎每隔 一个月 就会有一个关键漏洞被修补或被威胁者在野外利用。尽管这种活动在 2023 年显著增加,但这并不是什么新鲜事。攻击者长期以来一直试图利用 VPN 服务器,因为它们可以通过互联网访问,暴露了丰富的攻击面,而且通常缺乏安全性和监控。

从历史上看,VPN服务器主要被滥用来实现一个目标 — 初始访问。攻击者会破坏面向互联网的 VPN 服务器,并将其作为进入内部网络的滩头阵地,从而进行入侵。

虽然这种方法非常有效,但我们还是问自己:对 VPN 服务器的控制是否应该仅仅被视为网络的网关?

我们想看看还有什么可能。

以下博客文章探讨了 VPN 后利用技术,这些技术可被已经通过其他手段(漏洞、窃取凭证等)入侵 VPN 服务器的攻击者利用来实现其他目标。

依靠 VPN 生活

威胁行为者执行后利用技术的主要方法是针对设备的操作系统。获得远程代码执行 (RCE) 后,攻击者可以在设备操作系统上植入自定义植入物。从这一点开始,威胁行为者可以控制 VPN 的各个方面;例如,他们可以挂钩函数以泄露敏感信息,尝试通过操纵日志来逃避检测,或者修改系统配置以保持设备上的持久性。

虽然这种方法有很多优点,但它也有一个主要缺点——成本高昂。由于设备通常运行在定制的强化操作系统上,因此开发和维护 VPN 设备的定制植入物所需的工作量可能很大。这意味着 VPN 后利用技术通常仅由顶级国家威胁行为者使用。

探索不同的方法

我们决定探索一种不同的方法——一种“更简单”的 VPN 后利用形式。我们决定滥用设备的现有功能,而不是依赖在操作系统上运行的自定义植入。我们问自己:攻击者在仅使用 VPN 管理界面时能做什么?

这种方法,我们称之为“依靠 VPN 生活”,至少有两个优点。

这种类型的访问比完整的 RCE 更容易获得——可以通过身份验证绕过漏洞、弱凭证或网络钓鱼获得对管理界面的访问权限。

这种方法更具成本效益,因为我们避免了开发自定义有效载荷的努力。

作为我们的测试对象,我们选择市场上领先的两款 VPN 服务器——Ivanti Connect Secure 和 FortiGate。我们发现了 2 个 CVE 和一组不可修复技术,这些技术可被控制 VPN 服务器的攻击者用来接管网络中的其他关键资产,从而有可能将VPN 入侵转变为整个网络入侵。

虽然我们的研究结果主要集中在 FortiGate 和 Ivanti 上,但我们相信,我们发现的技术变体可能与其他 VPN 服务器和边缘设备相关。

滥用远程身份验证服务器

VPN 服务器处理的一些最有趣的资产是外部凭证。尽管 VPN 服务器支持使用本地用户进行身份验证,但在许多情况下会使用外部身份验证服务器。

管理员可以选择使用现有的身份提供商来验证用户身份,而不是为每个用户维护一组单独的凭证。用户将其“正常”凭证发送到 VPN 服务器,然后通过远程身份验证服务器进行验证(图 1)。


为此目的可以使用几种类型的身份验证服务器 - 其中主要的两个选项是 LDAP 和 RADIUS。

我们发现了一些技术,这些技术可以让攻击者利用这种行为来破坏这些外部凭证,从而有可能让攻击者获得对网络中其他资源的访问权限。

拦截 LDAP 凭证

VPN 的一个非常流行的身份验证服务器选项是 LDAP,最常见的是 Active Directory (AD) 域控制器。通过此配置,用户可以通过其域凭据访问 VPN,这是一个非常方便的选择。

配置 LDAP 身份验证服务器时,需要提供 AD 服务帐户的凭据,以允许 VPN 查询用户信息。FortiGate 中此配置的示例如图 2 所示。


当用户尝试使用 LDAP 凭据向 FortiGate 或 Ivanti 进行身份验证时

  • 11
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以帮你回答这个问题。 首先,让我们简要介绍一下GRE VPN。GRE VPN 是一种通过 GRE 协议实现的 VPN,它可以在互联网上建立虚拟专用网络,实现远程访问、数据传输等功能。 下面是利用思科模拟器完成 GRE VPN 配置的步骤: 1. 配置网络拓扑 在思科模拟器中,需要配置两台路由器,分别作为 VPN 的两端。可以使用两个虚拟机或路由器来完成这个操作。配置两台路由器的 IP 地址和子网掩码,保证它们处于同一个子网内。 2. 开启 GRE 协议 在两台路由器上分别开启 GRE 协议。GRE 协议是一种通用路由封装协议,可以用于封装其他协议的数据包,实现虚拟专用网络。 在路由器上开启 GRE 协议的命令如下: ``` Router(config)# interface tunnel0 Router(config-if)# ip address <tunnel_ip_address> <subnet_mask> Router(config-if)# tunnel source <source_interface> Router(config-if)# tunnel destination <destination_ip_address> Router(config-if)# tunnel mode gre ip ``` 其中,`<tunnel_ip_address>` 是隧道接口的 IP 地址,`<subnet_mask>` 是子网掩码,`<source_interface>` 是源接口,`<destination_ip_address>` 是目标地址。 3. 配置路由 在两台路由器上配置路由,将 VPN 流量传递到正确的接口和目的地。 在路由器上配置路由的命令如下: ``` Router(config)# ip route <destination_network> <subnet_mask> <next_hop> ``` 其中,`<destination_network>` 是目标网络的 IP 地址,`<subnet_mask>` 是子网掩码,`<next_hop>` 是下一跳路由器的 IP 地址。 4. 验证 GRE VPN 配置 在路由器上使用 `ping` 命令验证 VPN 是否正常工作。检查隧道是否建立,以及是否正常传输数据包。 以上是利用思科模拟器完成 GRE VPN 配置的步骤。希望能对你有所帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值