Check Point 公司发布研究报告称,热门开源无客户端远程桌面网关解决方案 Apache Guacamole 中存在多个严重的反向 RDP 漏洞,可导致恶意人员完全控制 Guacamole 服务器,拦截并控制其它联网会话。
Apache Guacamole 是一个流行的远程桌面应用,供系统管理员远程访问并管理 Windows 和 Linux 设备。公司服务器上安装 Apache Guacamole 后,用户仅使用 web 浏览器发布身份验证过程即可远程连接到其桌面。截至目前,Apache Guacamole 在 Docker Hub 平台上的下载量已超过1000万次。如攻击者已经成功攻陷组织机构内部的计算机,那么当毫不知情的员工试图连接到受感染机器时,Guacamole 网关就会遭攻击。3月31日,Check Point 公司的研究员将问题告知 Guacamole 的维护人员,后者在2020年6月发布新版本修复。网关遭接管的方式有两种:一种是通过企业网络中的受陷机器,利用进站的非恶意连接实施攻击;另外一种是邪恶员工利用网络中的计算机劫持网关。研究人员表示在最近审计 Guacamole 时发现了这些缺陷,Guacamole 在2020年1月增加了对 FreeRDP 2.0.0 的支持。FreeRDP 是一款开源 RDP 客户端,包含多个远程代码执行漏洞,于今年早些时候在发布 2.0.0-rc4 时修复。研究员 Eyal Itkin 表示,“FreeRDP 2.0.0-rc4 才修复这些漏洞意味着所有在2020年1月之前发布的 Guacamole 版本使用的均为易受攻击的 FreeRDP。”第三个信息泄露漏洞是此前提及缺陷的变体,存在于信道 “guacai”中。该信道负责音频输入,在默认情况下是禁用状态。FreeRDP 中的界外读取漏洞——研究人员表示本来是想要查找一个内存损坏漏洞以利用上述提及的信息泄露漏洞,但他们意外发现另外两个利用 FreeRDP 设计缺陷的界外读取实例。
Guacamole 中的内存损坏漏洞 (CVE-2020-9498)——该缺陷存在于 rdpsnd 和 rdpdr (DeviceRedirection) 信道上的抽象层 (“guac_common_svc.c”) 中,是由内存安全冲突导致的悬空指针问题,可导致攻击者通过结合利用这两个缺陷执行代码。
释放后使用漏洞属于内存损坏类型,当应用程序试图使用不再分配给它的内存空间时就会触发。它通常会导致程序崩溃但有时也会导致其它后果如可遭恶意人员利用的代码执行后果。通过利用 CVE-2020-9497 和 CVE-2020-9498,当远程用于请求连接至(受感染)计算机时,恶意企业计算机(RDP “服务器”)可控制 guacd 进程。研究人员表示,更令人担忧的是,研究人员只通过单一的 guacd 进程就能控制网关中的所有连接。该进程在 Guacamole 服务器上运行,用于处理企业网络的远程连接。除了控制网关后,该提权漏洞可导致攻击者窃听所有的进站会话、记录使用的凭据、甚至开启新会话控制组织机构的其余计算机。Itkin总结称,“虽然在新冠肺炎疫情期间我们必须在家办公,但我们不能忽视这类远程连接带来的安全问题。当多数组织机构远程办公时,在网络站稳脚跟就相当于完全控制整个企业网络。”完整报告请见:https://research.checkpoint.com/2020/apache-guacamole-rce/。
https://thehackernews.com/2020/07/apache-guacamole-hacking.html
题图:Pixabay License
本文由奇安信代码卫士编译,不代表奇安信观点。转载请注明“转自奇安信代码卫士 www.codesafe.cn”。
奇安信代码卫士 (codesafe)
国内首个专注于软件开发安全的
产品线。
点个 “在看” ,加油鸭~