AnyDesk 数据泄露事件:概述和建议
2024 年 2 月 2 日,热门远程访问解决方案 AnyDesk 披露 其遭遇网络攻击,生产系统被入侵。AnyDesk Web 门户网站的代码签名证书和用户密码因此被吊销。
根据 Resecurity 发布的这篇博客, 2 月 3 日,攻击者在暗网兜售超过 18,000 个 AnyDesk 凭据(图 1)。这些凭据的销售与近期泄露事件之间的关联尚不明朗,但此次事件突显出 AnyDesk 凭据泄露所带来的入侵风险。
在这篇博文中,我们希望 为防御者提供一些有用的资源,帮助其评估环境的风险水平,并识别和抵御潜在入侵。
对企业的潜在影响
许多企业都在广泛使用 AnyDesk 软件; 在 Akamai 监控的网络中,大约有 25% 使用 AnyDesk。就我们目前所知,AnyDesk 数据泄露事件目前主要有三大潜在风险:密码失窃、被盗证书被用于恶意目的,以及潜在的供应链攻击。
AnyDesk 密码泄露
AnyDesk 声称,攻击者未能窃取用于用户身份验证的任何密钥,但作为预防措施,他们还是选择吊销了 AnyDesk Web 门户网站的密码。
如果攻击者确实成功窃取了这些密码,AnyDesk 用户就会面临 撞库 攻击风险。也就是说,攻击者可能会尝试使用相同的凭据在不同的服务中进行身份验证,并对用户在不同服务中重复使用的密码加以利用。攻击者有可能因此取得其他敏感服务的访问权限。
代码签名证书被盗
攻击者成功窃取了 AnyDesk 用于为分发给客户端的可执行文件签名的证书。窃取证书后,攻击者就能以 AnyDesk 的身份为任何可执行文件签名,将其伪装成合法文件,由此避开安全产品的检测并误导分析人员。
潜在的供应链攻击
尽管还没有这方面的明确证据,但应该考虑软件供应链攻击的风险。攻击者在很大程度上控制了 AnyDesk 的生产环境,可以相对轻松地在 AnyDesk 的代码库中插入恶意负载,有可能造成客户端遭到入侵。
检测和抵御
这次攻击很可能是更大规模的攻击行动的一部分,其最终目标是 AnyDesk 用户。因此,应将此视为持续性事件——攻击者能从 AnyDesk 系统中窃取关键信息,但目前尚不清楚他们是否使用或如何使用这些信息。
因此,我们敦促防御者采取以下行动,评估其环境的潜在风险:
确定 AnyDesk 的使用情况
为现有 AnyDesk 安装和用户实施抵御措施
主动搜寻与 AnyDesk 有关的可疑活动
确定 AnyDesk 的使用情况
AnyDesk 可根据企业规程采用,但也可由终端用户手动安装(即“自带软件”)。 因此,即便贵公司并未正式采用 AnyDesk,您仍有可能受到影响。
主机迹象
要确定 AnyDesk 的使用情况,可以在主机层面上观察多种迹象, @mthcht 在 X 上分享了一份全面的迹象清单。根据其清单,我们提供了一套匹配的 OSQuery 查询,可用于检测这些迹象。
进程
可以观察包含 AnyDesk 关键字的路径,以识别 AnyDesk 进程。
以下查询可检测这些服务:
SELECT
name as process_name,
path as process_path
FROM
processes
WHERE
path LIKE '%anydesk%'
服务名称
AnyDesk 使用如下服务名称:
AnyDesk Service
AnyDesk
AnyDeskMSI
以下查询可检测这些服务:
SELECT
name as service_name,
path as service_path
FROM
services
WHERE
name = 'AnyDesk Service' or
name = 'AnyDesk' or
name = 'AnyDeskMSI'
注册表项
AnyDesk 会创建注册表项来存储配置。以下查询可检测这些注册表项:
SELECT
key
FROM
registry
WHERE
key LIKE '%\SOFTWARE\Clients\Media\AnyDesk’ or
key LIKE '%\SYSTEM\%ControlSet%\Services\AnyDesk' or
key = 'HKEY_CLASSES_ROOT\.anydesk'
指定的管道
AnyDesk 使用名为 \adprinterpipe的指定的管道。以下查询可检测此指定的管道:
SELECT
processes.name as process_name,
processes.path as process_path,
pipes.name as pipe_name
FROM
pipes
LEFT JOIN
processes
ON
processes.pid = pipes.pid
WHERE
pipes.name = 'adprinterpipe'
网络迹象
应该检查网络日志,以尝试确定 AnyDesk 的使用情况。可以检查的迹象有两种:目标端口和目标网域。
目标端口
AnyDesk 使用一组不同的端口:6568、7070、50001、50002 和 50003。
Akamai Guardicore Segmentation 用户可以使用 Reveal 模块生成网络图,以了解这些端口上的流量并分析进程级通信,从而立即确定 AnyDesk 活动(图 2)。
目标网域
AnyDesk 客户端进程通常连接到 *.net.anydesk.com 上的 AnyDesk 网域。
Akamai Guardicore Segmentation 用户可以通过筛查网络日志来确定与该网域的通信(图 3)。
应用抵御措施
在确定使用了 AnyDesk 之后,应该采取两步重要的抵御措施:
更新旧 AnyDesk 客户端
评估密码相关风险
更新旧 AnyDesk 客户端
7.0.15 和 8.0.8 之前的 AnyDesk 版本用于签名的证书就是此次被盗的证书,该证书现已吊销。因此,我们建议您将客户端更新到使用可信证书签名的最新版本。
评估密码相关风险
AnyDesk 用户可能有遭遇撞库攻击的风险,因此我们建议您确定环境中的所有 AnyDesk 用户帐户,并确认其凭据是否重复用于其他关键服务。
搜寻可疑活动
除了与密码相关的风险外,此次泄露事件还引发了另外两个重大风险:
滥用被盗的代码签名证书
通过 AnyDesk 软件进行的潜在供应链攻击
防御者应该尝试确定这两种情况。
确定已吊销证书的使用
可以使用 OSQuery 查询确定环境中使用已吊销证书签名的可执行文件。以下查询可达到此目的:
SELECT
processes.name as process_name,
processes.path as process_path,
authenticode.subject_name as signer,
authenticode.serial_number as serial_number
FROM
processes
INNER JOIN
authenticode
ON
processes.path = authenticode.path
WHERE
authenticode.serial_number = '0dbf152deaf0b981a8a938d53f769db8'
此外,由 Florain Roth 提供的 此 YARA 规则 可用于检测使用已吊销证书签名的可执行文件。
确定异常的 AnyDesk 行为
为尝试检测 AnyDesk 软件中分发的潜在后门,应特别关注使用 AnyDesk 的机器。软件后门会改变应用程序的正常行为,为防御者提供检测机会。
有许多可能出现的异常情况都表明此类后门的存在,其中包括:异常的目标端口、生成的进程、新注册表项等。
Akamai Hunt是 Akamai 的托管式威胁搜寻服务,它以大量异常检测技术的形式为客户保驾护航,这些技术能够持续监控环境并尝试检测未知元素。
具体到 AnyDesk 的情况,Akamai Hunt 为客户提供了有关现有 AnyDesk 部署的详细信息和建议,包括被吊销证书的潜在使用,此类情况可能表明存在恶意活动。此外,Hunt 还会持续监控其客户环境,检测可能被篡改的 AnyDesk 进程执行的任何异常活动。
总结
本文可能不是我们对此次泄露事件的最终讨论。我们仍在持续关注事态发展,并将在后续博文中提供更多细节和指导。
本文根据可用信息,简要说明了我们当前的理解并提供了相应建议。我们的审查还在持续进行中,本文的任何信息都可能发生更改。您也可以关注我们的 微信公众号 以获取更多实时更新。