FireEye 今年一直在跟踪一项针对涉及 Click2Gov 本地部署的 Web 支付门户网站的攻击活动。 Click2Gov是 Superion 开发的基于 Web、互动的自助式账单支付软件解决方案。它包括各种模块,允许用户支付与各种当地政府服务相关的账单,如公用事业,建筑许可和营业执照。2017 年 10 月,Superion 发布声明,确认可疑行动影响了少数客户。在 2018 年 6 月中旬,多个媒体报道涉及到至少七个可能受此行动影响的 Click2Gov 客户。自 2018 年 6 月以来,通过公开报道中确认了其他受害者。对这些机构的审查证实了与 Click2Gov 被感染相关。
在 2018 年 6 月 15 日,Superion 发布了一份声明,描述了他们向受影响客户推送的主动通知,与第三方取证公司(非 Mandiant)合作,以及为 Click2Gov 软件和相关第三方组件部署补丁。 Superion 随后得出结论,没有证据表明使用 Click2Gov 在托管或安全的内部网络上使用推荐的补丁和配置进行付款是不安全的。
Mandiant 取证分析了受攻击系统并恢复了与此行动相关的恶意软件,从而深入了解了这一新攻击者的能力。截至本文发布之前,根据 VirusTotal 的确反馈,所讨论的恶意软件家族的防病毒解决方案检测率非常低。
一、攻击简述
该行动的第一阶段通常始于攻击者上传 SJavaWebManage webshell 以便在与受感染的 Click2Gov 网络服务器的交互。通过与 webshell 的交互,攻击者在 Click2Gov 配置文件中启用了调试模式,导致应用程序将支付卡信息写入纯文本日志文件。然后,攻击者将一个 FireEye 称为 FIREALARM 的工具上传到 Web 服务器,解析这些日志文件,获取支付卡信息,并删除所有不包含错误消息的日志条目。此外,攻击者使用另一个工具 SPOTLIGHT 拦截来自 HTTP 的支付卡信息。本博文的其余部分将详细介绍攻击者的策略,技术和程序(TTP)。
二、SJavaWebManage Webshell
目前尚不清楚攻击者是如何攻破 Click2Gov 网络服务器的,但他们可能采用针对 Oracle Web Logic 的攻击,如 CVE-2017-3248,CVE-2017-3506 或 CVE-2017-10271,这些漏洞利用能提供上传任意文件或实现远程访问的功能。成功利用此漏洞后,攻击者上传了一个公开可用的 JavaServer Pages(JSP)webshell SJavaWebManage 的变体,用来维护 Web 服务器上的持久性。SJavaWebManage 需要身份验证才能访问四个特定页面,如图 1 所示,并将在 Tomcat 服务的上下文中执行命令,默认情况下为本地系统帐户。
图 1: SJavaWebManage 界面
·EnvsInfo:显示有关 Java,Tomcat 版本以及与环境有关的其他信息。
·FileManager:提供浏览,上传,下载(原始或压缩),编辑,删除和无痕访问文件的功能。
· CMDS:使用 cmd.exe 执行命令(如果在非 Windows 系统上,则执行 /bin/sh)并返回响应。
· DBManage:通过连接、显示数据库元数据和执行 SQL 命令来与数据库进行交互。
公开可用的 webshell 和此变体之间的差异包括更改已被检测到的变量名,中文字符更改成英语,删除了对 SjavaWebManage 的引用,移除用于处理 webshell 更新的代码。此外,在行动调查期间识别的变体具备在服务器上操纵文件时间戳的能力,公共版本中不存在此功能。SJavaWebManage webshell 为攻击者提供了友好的界面,可以轻松地与受感染的主机进行交互和操作。
然后,在编辑 Click2Gov XML 配置文件后,攻击者将使用 SJavaWebManage CMDS 页面以 DEBUG 模式重新启动模块。启用 DEBUG 日志记录选项后,Click2Gov 模块会使用约定命名 Click2GovCX.logYYYY-MM-DD 将明文支付卡数据记录到 Click2Gov 日志文件中。
三、FIREALARM
使用 webshell 中的交互式命令,攻击者上传并执行数据挖掘程序 FIREALARM(FireEye 命名),它通过解析 Click2Gov 日志文件获取支付卡数据,将数据格式化并打印到控制台。
FIREALARM 是一个用 C/C ++ 编写的命令行工具,它接受三个数字作为参数 ; 年,月和日,例如在命令行中表示为:evil.exe 2018 09 01。在此示例中,FIREALARM 将尝试打开并解析从 2018-09-01 开始直到当天的日志。如果日志文件存在,FIREALARM 会复制 MAC(修改,访问,创建),随后将相应的文件恢复为原始时间。然后逐行读取每个日志文件并进行解析。FIREALARM 在每一行中搜索以下内容并解析数据:
·medium.accountNumber
·medium.cvv2
· medium.expirationDate.year
·medium.expirationDate.month
· medium.firstName
· medium.lastName
·medium.middleInitial
·medium.contact.address1
· medium.contact.address2
· medium.contact.city
· medium.contact.state
· medium.contact.zip.code
此数据被格式化并打印到控制台。恶意软件还会搜索包含文本 ERROR 的行。如果找到此字符串,该程序会将内容存储在名为%WINDIR%tempTHN1080.tmp 的临时文件中。搜索完 Click2GovCX 日志文件的每一行后,复制临时文件 THN1080.tmp 替换相应的 Click2GovCX 日志文件,并将时间戳替换为原始的时间戳。结果是 FIREALARM 将支付卡信息打印到控制台并从每个 Click2GovCX 日志文件中删除支付卡数据,只留下错误消息。最后,删除 THN1080.tmp 临时文件。该过程如图 2 所示。
图 2: FIREALARM 工作流程
1. Attacker 遍历 Tor 或其他代理并对 SjavaWebManage 进行身份验证。
2. Attacker 通过 webshell 启动 cmd。
3. Attacker 使用参数运行 FIREALARM。
4. FIREALARM 验证并检索日志文件,复制 MAC 时间,解析并将支付卡数据打印到控制台,将错误消息复制到 THN1080.tmp,覆盖原始日志文件并修改时间戳。
5. 删除 THN1080.tmp。
四、SPOTLIGHT
之后,在攻击者访问受感染系统期间,攻击者使用 webshell 上传网络嗅探器 SPOTLIGHT ( FireEye 命名 ) 。此工具为攻击者提供了更好的持久性和持续收集支付卡数据的能力,确保管理员删除 Click2GovCX 日志文件时也不会丢失已挖掘的数据。SPOTLIGHT 也是用 C / C ++ 编写的,可以通过命令行参数安装或作为服务运行。作为服务运行时,其任务包括确保两个 JSP 文件存在,以及监视和记录特定 HTTP POST 请求内容的网络流量。
SPOTLIGHT 接受两个命令行参数:
·gplcsvc.exe-i 创建名为 gplcsvc 的新服务,显示名称为 Group Policy Service
·gplcsvc.exe-u 停止并删除名为 gplcsvc 的服务
安装后,SPOTLIGHT 将每隔一小时监控受感染主机上的两个路径:
1. C:beac2gdomainapplicationsClick2GovCXscriptsvalidator.jsp
2. C:beac2gdomainapplicationsePortalLocalServiceaxis2-webRightFrame.jsp
如果任一文件不存在,恶意软件使用 Base64 对嵌入的 SJavaWebManage webshell 进行解码,并将同一文件写入任一路径。这与攻击者在初始攻击期间安装的 Webhell 相同。
此外,SPOTLIGHT 启动套接字监听器,检查端口 80 和 7101 上的 IPv4 TCP 流量。根据 Superion 安装核对表,TCP 端口 7101 用于从内部网络到 Click2Gov Web 服务器的应用程序解析。只要连接内容不以 GET / 开头,恶意软件就开始保存接收到的数据包。恶意软件持续将数据包内容保存到内部缓冲区,直到出现以下两种情况之一:缓冲区超过 102399 或数据包内容以字符串 POST / OnePoint / services / OnePointService 开头。如果出现这两种情况之一,则在内部缓冲区数据中搜索以下标签:
·
·
标签之间的内容被提取并格式化,使用 `|` 作分隔符。然后对格式化的数据进行 Base64 编码并将其附加到硬编码文件路径的日志文件中:c:windowstempopt.log。然后,攻击者使用 SJavaWebManage 来传输包含支付卡数据的 Base64 编码的日志文件。FireEye 未发现对受感染主机的 SSL 配置的任何操纵或者将 SSL 流量重定向到未加密的端口。该过程如图 3 所示。
图 3: SPOTLIGHT 工作流程
1. SPOTLIGHT 每小时验证 webshell 文件,如果缺少则写入 SJavaWebManage。
2. SPOTLIGHT 检查端口 80 或 7101 上的 IPv4 TCP 流量,从而保存接收到的数据包。
3. 用户访问 Click2Gov 模块进行付款。
4. SPOTLIGHT 解析包含支付卡数据的数据包,Base64 编码并写入 opt.log。
5. Attacker 遍历 Tor 或其他代理并对 SJavaWebManage 进行身份验证并启动文件管理器。
6. 攻击者传输 opt.log 文件。
五、溯源
根据掌握的信息,攻击者不会与 FireEye 当前跟踪的任何具有财务动机的威胁组织保持一致。攻击者对 Click2Gov 主机要求,日志处理详细信息,支付卡字段和内部通信协议的理解证明了他们对 Click2Gov 应用程序有着深入研究。鉴于地下论坛和市场的运作方式,工具开发可能已经与第三方签订合同,并且获取可远程访问受感染系统的实体可能将其出售给另一个实体。关于这个攻击者还有很多东西需要研究。
当然攻击也可能由一个人进行,但 FireEye 确信参与此行动的基础必须具备以下必要技能:
·能够找到 Click2Gov 并识别可利用的漏洞。
·能够制作或重用漏洞利用以渗透目标组织的网络环境。
· 基本的 JSP 编程技巧。
· 先进的 Click2Gov 支付流程和软件知识,足以开发中等复杂的恶意软件。
· 熟练的 C / C ++ 编程技巧。
· 运营安全的意识。
·能够将被盗的支付卡信息货币化。
六、总结
除了规范的补丁管理程序之外,FireEye 还建议机构考虑实施文件完整性监控解决方案,监控在电子商务 Web 服务器上生成动态内容的静态内容和代码,阻止意外修改。另一个最佳做法是确保任何 Web 服务帐户运行特权最小化。
虽然在攻击生命周期中观察到的 TTP 与 FireEye 跟踪的其他经济动机攻击组织一致,但是这个攻击者在制作利用 Click2Gov 方面表现出了独创性,取得了一定的成功。尽管可能以新的形式发生,但 FireEye 预计这个威胁行为者将继续进行互动和经济动机的攻击。
IoC ( MD5 )
SJavaWebManage
· 91eaca79943c972cb2ca7ee0e462922c
· 80f8a487314a9573ab7f9cb232ab1642
·cc155b8cd261a6ed33f264e710ce300e ( 公开版本 )
FIREALARM
·e2c2d8bad36ac3e446797c485ce8b394
SPOTLIGHT
·d70068de37d39a7a01699c99cdb7fa2b
· 1300d1f87b73d953e20e25fdf8373c85
· 3bca4c659138e769157f49942824b61f
留言与评论(共有 0 条评论) |