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

news2024/9/25 19:26:01

执行摘要

在这篇博文中,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 进行身份验证时

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2067503.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C语言试题(含答案解析)

单选 1.下面C程序的运行结果为&#xff08;&#xff09; int main(void) {printf("%d", B < A);return 0; }A.编译错误 B.1 C.0 D.运行错误 A’的ascii码值为65&#xff0c;‘B’的ascii码值为66&#xff0c;‘B’<‘A’是不成立的&#xff0c;返回0&#xf…

spring学习(1)

目录 一、是什么 二、IOC思想 2.1 IOC创建对象的方式 三、Spring的配置 3.1 别名 3.2 Bean的配置 3.3 import 四、DI依赖注入 4.1 构造器注入 4.2 Set方式注入【重点】 4.3 拓展方式注入 五、Bean的自动装配 5.1 byName自动装配 5.2 byType自动装配 5.3 注解实现…

Vue小知识大杂烩

一、Vue组件的三大部分&#xff1a;template、Script、Style template --> 组件的模板结构 写html的地方 注意&#xff1a;<template> 是 vue 提供的容器标签&#xff0c;只起到包裹性质的作用&#xff0c;它不会被渲染为真正的 DOM 元素。 script -> 组件的…

超声波清洗机什么牌子值得入手? 清洁力好的超声波清洗机推荐

对于眼镜佩戴人士而言&#xff0c;超声波清洗机无疑是清洁神器&#xff01;它凭借高频振动技术&#xff0c;能深入眼镜的每一细微处及手洗难以触及的缝隙&#xff0c;有效清除顽固污渍&#xff0c;不仅大幅提高清洁效率&#xff0c;而且清洁质量远胜传统方法。随着超声波清洗机…

Linux下快速搭建七日杀官方私人服务器教程

今天给大家分享一下七日杀的个人开服教程&#xff0c;本教程基于Linux系统开发&#xff0c;推荐有一定基础的小伙伴尝试&#xff01;如果你没有Linux的基础但实在想开的小伙伴可以根据以下教程一步步进行操作&#xff0c;后续这边也会上架对应视频操作 架设前准备&#xff1a; …

Redis篇三:在Ubuntu下安装Redis

文章目录 1. 安装Redis2. 更改Redis的IP3. 使用redis自带的客户端来连接服务器4. Redis的客户端介绍 1. 安装Redis sudo apt install redis2. 更改Redis的IP 刚安装的Redis的ip是一个本地环回的ip&#xff0c;也就是只能由当前主机上的客户端进行访问&#xff0c;跨主机就访问…

IO进程线程 0823作业

作业 创建子父进程&#xff0c;子进程将1.txt内容拷贝到2.txt中&#xff0c;父进程将3.txt内容拷贝到4.txt中。 #include <myhead.h> int main(int argc, const char *argv[]) {pid_t ID;ID fork();if(ID > 0){int fd1;fd1 open("./3.txt",O_RDONLY);if(…

js 键盘监听 组合键

今天分享如何快速实现js快捷键监听 所需环境&#xff1a; 浏览器js 实现目标 mac/win兼容&#xff0c;一套代码&#xff0c;多个平台支持快捷键监听/单按键监听事件是否冒泡可设置使用方式简单快速挂载与卸载4行代码实现组合键监听 代码原理 把键盘监听事件挂载在documen…

c#-DataGridView控件实现分页

有时候我们需要进行分页显示&#xff0c;第一方面是在大数据量下可以降低卡顿&#xff0c;另一方面也是方便查找。 首先划重点&#xff0c;如果卡顿&#xff0c;不要用单元格填充的方式去刷新&#xff0c;用绑定数据源的方式比较高效&#xff01; 下面重点讲如何使用数据源绑定…

正式收官!阿里云携手优酷,用AI重塑影视IP创新边界

影视行业的新一轮创作风潮&#xff0c;将由AI掀起。 GPT和Sora等先进AI模型的出现&#xff0c;带动影视行业进入一场前所未有的创意变革。当前&#xff0c;在角色创作、脚本生成、营销策略等方面&#xff0c;AI已经展现了强大的潜力。而作为影视创作的“灵魂”&#xff0c;影视…

重新审视 ChatGPT 和 Elasticsearch:RAG 真正将应用程序紧密结合在一起

作者&#xff1a;来自 Elastic Jeff Vestal 关注博客 ChatGPT 和 Elasticsearch&#xff1a;OpenAI 遇到私人数据。 在此博客中&#xff0c;你将了解如何&#xff1a; 创建 Elasticsearch Serverless 项目创建推理端点以使用 ELSER 生成嵌入使用语义文本字段进行自动分块并调…

SpringBoot如何进行全局异常处理?

1.为什么需要全局异常处理&#xff1f; 在日常开发中&#xff0c;为了不抛出异常堆栈信息给前端页面&#xff0c;每次编写Controller层代码都要尽可能的catch住所有service层、dao层等异常&#xff0c;代码耦合性较高&#xff0c;且不美观&#xff0c;不利于后期维护。 应用场…

基于java的少儿编程网上报名系统+vue

TOC ssm006基于java的少儿编程网上报名系统vue 研究背景 近年来&#xff0c;随着网络技术的不断发展&#xff0c;越来越多人在网站查询各种信息&#xff0c;少儿编程网上报名系统对用户和管理员都有很大帮助&#xff0c;少儿编程网上报名系统通过和数据库管理系软件协作来实…

基于STM32开发的智能安防报警系统

目录 引言环境准备工作 硬件准备软件安装与配置系统设计 系统架构硬件连接代码实现 系统初始化传感器数据采集与处理报警控制与通知Wi-Fi通信与远程监控应用场景 家庭安防管理商铺和办公室的智能安防常见问题及解决方案 常见问题解决方案结论 1. 引言 随着智能家居和物联网技…

拟合的置信区间

目标图: 图片来源:Fig. 4e from Arwani, Ruth Theresia, et al. "Stretchable ionic–electronic bilayer hydrogel electronics enable in situ detection of solid-state epidermal biomarkers." Nature Materials (2024): 1-8. 1. 数据输入 假设原始数据如下:…

书生大模型实战营第三期基础岛第二课——8G 显存玩转书生大模型 Demo

8G 显存玩转书生大模型 Demo 基础任务进阶作业一&#xff1a;进阶作业二&#xff1a; 基础任务 使用 Cli Demo 完成 InternLM2-Chat-1.8B 模型的部署&#xff0c;并生成 300 字小故事&#xff0c;记录复现过程并截图。 创建conda环境 # 创建环境 conda create -n demo pytho…

协作新选择:即时白板在线白板软件分享

在团队合作中&#xff0c;产品经理扮演着至关重要的角色&#xff0c;他们不仅是产品与用户之间的纽带&#xff0c;更是产品性能和用户需求的桥梁。他们需要深入参与产品的研发过程&#xff0c;并与研发团队保持紧密的沟通。因此&#xff0c;产品经理需要一款高效的协作工具来提…

纯电SUV挑花眼了?看看这两款十多万的家用SUV谁更香

文/王俣祺 导语&#xff1a;随着新能源技术的日益成熟&#xff0c;现如今纯电汽车已经在市场上卖得风生水起。早些时候人们可能还会对纯电汽车抱有“续航焦虑”&#xff0c;但随着各个车型在电池容量以及能耗方面都迎来了进步&#xff0c;充电网络也日渐完善&#xff0c;选择一…

多商户多套部署需修改注意事项

同一台服务器上部署多个多商户项目&#xff0c;需要修改和调整的地方等。 一、修改代码中的端口号&#xff0c;需要两个项目不能使用同一个端口号&#xff0c;例如&#xff1a;A项目用&#xff1a;8324&#xff0c;B项目用&#xff1a;8325&#xff1b; 二、修改反向代理&…

认识泛型VS包装类

1.包装类 在 Java 中&#xff0c;由于基本类型不是继承自 Object &#xff0c;为了在泛型代码中可以支持基本类型&#xff0c; Java 给每个基本类型都对应了 一个包装类型。 ps:为什么需要包装类&#xff1f;说白了java就是面向对象编程的 比如&#xff1a;Java 的集合框架&am…