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

news/2024/9/18 15:07:10/ 标签: php, 安全, web安全

执行摘要

在这篇博文中,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.ppmy.cn/news/1516706.html

相关文章

SpringBoot集成kafka-获取生产者发送的消息(阻塞式和非阻塞式获取)

说明 CompletableFuture对象需要的SpringBoot版本为3.X.X以上,需要的kafka依赖版本为3.X.X以上,需要的jdk版本17以上。 1、阻塞式(等待式)获取生产者发送的消息 生产者: package com.power.producer;import org.ap…

Linux的进程详解(进程创建函数fork和vfork的区别,资源回收函数wait,进程的状态(孤儿进程,僵尸进程),加载进程函数popen)

目录 什么是进程 Linux下操作进程的相关命令 进程的状态(生老病死) 创建进程系统api介绍: fork() 父进程和子进程的区别 vfork() 进程的状态补充: 孤儿进程 僵尸进程 回收进程资源api介绍: wait() waitpid…

VastBase——全局性能调优

目录 一、系统资源调优 1.内存和CPU 2.网络 3.I/O 二、查询最耗性能的SQL 三、分析作业是否被阻塞 背景:影响性能的因素 系统资源 数据库性能在很大程度上依赖于磁盘的I/O和内存使用情况。为了准确设置性能指标,用户需要了解Vastbase部署硬件的基本…

深信服研发面试经验分享

吉祥知识星球http://mp.weixin.qq.com/s?__bizMzkwNjY1Mzc0Nw&mid2247485367&idx1&sn837891059c360ad60db7e9ac980a3321&chksmc0e47eebf793f7fdb8fcd7eed8ce29160cf79ba303b59858ba3a6660c6dac536774afb2a6330#rd 《网安面试指南》http://mp.weixin.qq.com/s?…

在Spring Boot项目中集成Geth(Go Ethereum)

在Spring Boot项目中集成Geth(Go Ethereum)客户端,通常是为了与以太坊区块链进行交互。以下是一些基本的步骤和考虑因素,帮助你在Spring Boot应用程序中集成Geth。 安装Geth 首先,你需要在你的机器上安装Geth。你可以从…

k8s备份etcd3.5

一、思路 1、创建nfs存储类,用作存储备份数据<略> 2、制作用于备份的镜像文件 3、指定cronjob 二、制作镜像 ## dockerfile文件# cat Dockerfile FROM dhub.kubesre.xyz/centos:7 ADD etcdv359.tar / RUN mkdir /snapshot# docker build -t registry.k8s.io/etcd:3.…

ST表模板

P3865 【模板】ST 表 && RMQ 问题 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 思路:区间最大值&#xff0c;模板题。 int n,m; int arr[100005]; int f[100005][25]; (1<<20)1e6 void init(){ o(nlogn)for(int i1;i<…

爆改YOLOv8|利用SENetV2改进yolov8,暴力涨点

1&#xff0c;本文介绍 本文探讨了将 SENetV2 的稠密聚合层与 SE 模块结合&#xff0c;应用于 YOLOv8&#xff0c;以提升特征表达能力和目标检测性能。SENetV2 通过 Squeeze-and-Excitation&#xff08;SE&#xff09;模块优化通道和全局特征&#xff0c;从而提高分类准确率。…

UE5.4内容示例(5)UI_CommonUI - 学习笔记

https://www.unrealengine.com/marketplace/zh-CN/product/content-examples 《内容示例》是学习UE5的基础示例&#xff0c;可以用此熟悉一遍UE5的功能 UI_CommonUI可以看这个视频学习&#xff0c;此插件处于Beta状态&#xff0c;应用UI游戏方面&#xff0c;支持手柄等多输入端…

sap 开发工具 jdbc odbc 驱动 下载地址

SAP Development Tools (ondemand.com) sap 开发工具 jdbc odbc 驱动 下载地址

【系统架构设计师-2018年】综合知识-答案及详解

文章目录 【第1题】【第2~3题】【第4题】【第5~6题】【第7题】【第8题】【第9题】【第10题】【第11题】【第12题】【第13题】【第14题】【第15题】【第16~17题】【第18~21题】【第22题】【第23题】【第24题】【第25题】【第26题】【第27~28题】【第29~30题】【第31题】【第32~3…

学习前端面试知识(16)

computed和watch 参考文章vue computed 计算属性&#xff0c;有缓存功能&#xff0c;底层通过dirty来判断是否重新计算&#xff0c;只有在依赖数据发生变化时才会重新计算&#xff0c;性能更好。不能进行异步操作。缓存属性受多个属性影响&#xff0c;比如购物车商品结算函数…

OSPF-基础多区域实验

1.ENSP下载 阿里云盘分享 ⭐/*无需密钥 免费下载 安装不成功&#xff0c;可关注并私信博主*/ 2.OSPF的基础需求和规则 实验规则&#xff1a; 1.接口地址→XY.XY.XY.R /24 X:两者之间最小的 Y:两者之间最大的 R:谁的接口就是谁的编号 以R1和R2之间的连接为例&#xff0…

公司主域控服务器彻底崩溃了,蓝屏了,永久坏了!那怎么把备域提升到主域服务器呢?

一、需求描述 兄弟们&#xff0c;AD1主域控服务器彻底崩溃了&#xff0c;蓝屏了&#xff0c;永久坏了&#xff01;那怎么把AD2从备域提升到主域服务器呢&#xff1f;现在AD1主域控一直蓝屏&#xff0c;已经无法修复了。 尝试了很多方法&#xff0c;安全模式也进入不了&#xf…

系统架构分析

一、速通一图流 二、系统架构功能、作用分析 1. Furion&#xff1a;框架核心层 功能&#xff1a;这是 Furion 框架的核心层&#xff0c;通常包含框架本身的基本功能和配置。这一层应该是比较稳定的&#xff0c;不应该包含业务逻辑&#xff0c;而是提供项目其他部分需要依赖的…

《数据资产管理核心技术与应用》读书笔记-第四章:数据质量的技术实现(二)

《数据资产管理核心技术与应用》是清华大学出版社出版的一本图书&#xff0c;全书共分10章&#xff0c;第1章主要让读者认识数据资产&#xff0c;了解数据资产相关的基础概念&#xff0c;以及数据资产的发展情况。第2&#xff5e;8章主要介绍大数据时代数据资产管理所涉及的核心…

pycharm redis 库

Redis&#xff08;Remote Dictionary Server&#xff09;是一个开源的 内存中数据结构存储系统&#xff0c;用作数据库、缓存和消息代理。它支持多种类型的数据结构&#xff0c;如字符串&#xff08;strings&#xff09;、哈希&#xff08;hashes&#xff09;、列表&#xff08…

LongWriter——从长文本语言模型中释放出10,000+字的生成能力

概述 当前的长上下文大型语言模型 (LLM) 可以处理多达 100,000 个词的输入&#xff0c;但它们很难生成超过 2,000 个词的输出。受控实验表明&#xff0c;该模型的有效生成长度本质上受到监督微调(SFT) 期间看到的示例的限制。换句话说&#xff0c;这种输出限制源于现有 SFT 数…

搭建自己的GPT

搭建自己的GPT 文章说明核心代码效果展示源码下载 文章说明 目前GPT的使用比较主流&#xff0c;现有开源大模型&#xff0c;可以拉取到本地进行部署&#xff0c;搭建属于自己的GPT对话工具&#xff1b;主要用于熟悉大模型的本地搭建&#xff1b;本文采用开源的Ollama进行服务提…

Docker Desktop镜像路径修改一直报错

一 点击Apply & Restart报错 [Window Title] Docker Desktop[Main Instruction] Error migrating WSL disk[Content] An error occurred while migrating the Docker Desktop WSL data disk to its new location:moving disk file: rename C:\Users\Lenovo\AppData\Local\D…