Apache Guacamole严重漏洞,远程桌面易受攻击

Apache Guacamole漏洞

漏洞类型:Treck TCP/IP stack 缓冲区错误漏洞

发布时间:2020年7月2日

CVE编号:CVE-2020-11905

漏洞详情

2020年7月2日,Check Point公司研究人员发布报告,称发现Apache Guacamole容易受到几个关键的反向RDP漏洞的影响,并且还受到FreeRDP中一些新漏洞的影响。简言之,当工作人员的计算机被黑客入侵后,黑客可以在工作人员连接远程服务器时,对Guacamole服务器发起攻击,实现对远程服务器的完全控制,并拦截和监控所有其他连接的会话。

Apache Guacamole 是由多个模块组成的开源的无客户端的远程桌面网关,它支持VNC,RDP,SSH等标准协议。自从疫情以来,许多公司要求员工在家远程办公。因此,Apache Guacamole近期被大量部署,用来远程访问和管理WindowsLinux机器。当安装到企业的服务器上时,用户就可以使用web浏览器发布身份验证过程即可远程连接到其桌面。截止目前,Apache Guacamole远程桌面应用在Docker Hub(一个由 Docker 公司运行和管理的基于云的存储库)的下载量超过1000万

部署Apache Guacamole网关的典型网络体系结构

从本质上讲,员工使用浏览器连接到公司面向互联网的服务器,通过身份验证过程,然后访问公司的计算机。当员工使用自己的浏览器,guacamole服务器选择一个受支持的协议(RDP、VNC、SSH等),并使用一个开源客户端连接到特定的公司计算机。一旦连接起来,guacamole服务器就充当一个中间人,在将数据从所选协议转换为特殊的“guacamole协议”来回传递数据,反之亦然。

攻击例子:

反向攻击场景:公司网络内的受损机器利用网络连接攻击网关,目的是接管网关。

恶意工作者场景:一个流氓雇员使用网络内的一台计算机攻击并控制网关。

漏洞分析

信息泄露漏洞(CVE-2020-9497)

研究人员在开发者用来处理来自服务器(rdpsnd)的视频包的RDP信道的定制实现中发现了2个安全漏洞。

第一个漏洞(CPR-ID-2141)可以让攻击者伪造恶意rdpsnd消息,引发与Heartbleed 类似的越界写漏洞。具体通过发送恶意rdpsnd通道消息,恶意RDP服务器可能导致客户端认为该数据包包含大量字节,实际上是客户端自身的内存字节。反过来,这会导致客户端使用这些字节将响应发送回服务器,并为RDP服务器授予大量,令人垂涎的信息。

第二个漏洞(CPR-ID-2142)位于相同的信道中,属于数据泄露漏洞,这次它将越界数据发送到连接的客户端,而不是发送回RDP服务器;

第三个信息泄露漏洞是第二个漏洞的变种,位于另外一个信道——guacai信道中,该信道负责音频输入,默认是禁用的。

FreeRDP越界读取漏洞

研究人员在FreeRDP中发现CPR-ID-2145和CPR-ID-2146两个可利用的越界读取漏洞。

我们可以看到此结构的字段:

这是一个简单的流包装器的经典示例:

buffer –指向接收到的数据包开头的指针。

pointer –指向已接收数据包内部的读取头的指针。

length –传入数据包的大小(以字节为单位)。

内存破坏漏洞(CVE-2020-9498)

该漏洞位于rdpsnd和 rdpdr (设备重定向)信道之上的抽象层("guac_common_svc.c"),由于违反了内存的安全性原则,导致了一个悬空指针(Dangling pointer)。攻击者利用这两个漏洞可以实现远程代码执行。

处理信道部分

UFA (释放后利用) 漏洞是一种内存破坏漏洞,当应用尝试使用不再分配的内存空间时就会引发UAF漏洞。UAF漏洞一般会引发程序奔溃,有时也会引发恶意代码执行等结果。

UAF漏洞

通过利用CVE-2020-9497和CVE-2020-9498 漏洞,当远程用户请求连接到受害者的计算机时,受感染的计算机(RDP服务器)就可以控制guacd进程。

权限提升漏洞

此外,研究人员还发现利用一个guacd进程就可以完全控制网关中的所有连接。除了控制网管外,攻击者还可以利用权限提升漏洞来监听所有的会话、记录使用的凭证,甚至开启新的会话来控制企业中其他的计算机。

受影响版本

Apache Guacamole 1.2.02之前版本(不含1.2.02)

FreeRDP 2.0.0-rc4之前版本(不含2.0.0-rc4)

处置方法

Apache在今年6月已经发布漏洞补丁和修复版本

FreeRDP在今年1月已发布漏洞补丁和修复版本

原文链接

https://research.checkpoint.com/2020/apache-guacamole-rce/

END

扫码关注

网络安全研究所

更多精彩等着你

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Guacamole用户指南是一个介绍Guacamole开源远程桌面网关的文档。本指南旨在帮助您了解Guacamole如何工作,以及如何使用和配置它来连接到远程桌面。本指南还提供了有关如何开发Guacamole插件、客户端应用程序和扩展的信息。 指南的目标读者包括系统管理员、开发人员和最终用户。系统管理员可以使用本指南了解如何安装、配置和管理Guacamole,以及如何为用户提供安全、可扩展的远程桌面访问。开发人员可以使用本指南了解如何开发自定义插件和扩展,以满足特定的需求。最终用户可以使用本指南了解如何使用Guacamole连接到远程桌面,包括如何管理会话和权限。 本指南包括以下章节: - 安装和配置Guacamole:介绍Guacamole的依赖项、安装方法和配置文件,以及如何使用Docker容器运行Guacamole。 - 使用Guacamole:介绍如何连接到远程桌面、管理连接、配置用户和权限等内容。 - 开发Guacamole插件:介绍如何开发Guacamole插件,包括插件类型、开发环境、API等内容。 - 开发Guacamole客户端应用程序:介绍如何开发Guacamole客户端应用程序,包括客户端架构、开发环境、API等内容。 - 开发Guacamole扩展:介绍如何开发Guacamole扩展,包括扩展类型、开发环境、API等内容。 本指南还包括附录,其中提供了有关如何使用Guacamole的命令行工具、如何使用LDAP身份验证、如何使用MySQL数据库等信息

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

网络安全研究所

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值