在当今的酒店业中,度假租赁软件已从奢侈品转变为酒店、度假村和小型企业的必备软件,简化了预订、宾客互动和物业管理。虽然度假租赁软件似乎专注于预订,但它包含信用卡信息、客人偏好和通信等有价值的数据。这些数据是网络犯罪分子寻求经济利益或未经授权访问的主要目标。
特别有吸引力的是信用卡信息,它吸引了出于经济动机的黑客的注意,占酒店违规行为的 41%(来源:Verizon 数据泄露调查报告)。酒店业的大量交易量和支付网关的集成使其成为一个利润丰厚的目标。
针对支付和金融系统的金融驱动攻击的另一个关键特征是攻击者非常熟悉软件的内部工作原理。通常,这些威胁行为者对系统如何运作和连接有深入的了解,并且他们有动力分配精力和资源来开发专门的工具。毫不奇怪,网络犯罪分子发现通过利用支付系统产生稳定、重复收入的想法非常有趣。
虽然大型酒店网络和旅游搜索引擎拥有大量资源,使他们能够实施强有力的安全措施(尽管最近的违规事件强调这并非万无一失),但小型酒店和度假村面临着更艰巨的挑战。定制软件既昂贵又耗时,因此他们选择来自值得信赖的提供商的第三方解决方案。但这种依赖带来了一个新问题:供应链脆弱性。
这篇深入的文章探讨了最近针对美国一家小型度假村的违规行为。该企业采用了Resort Data Processing, Inc.的产品IRM Next Generation(“IRM-NG”)在线预订引擎。在Bitdefender Labs的调查过程中,我们发现了该软件中的一系列漏洞。此外,该攻击还得到了一套定制的恶意软件的支持,这些恶意软件由威胁行为者设计,可与软件架构无缝集成。这强调了威胁行为者对该软件内部工作原理的复杂理解,并强调了他们利用其功能提取敏感信息的能力。
专业披露
首先,我们要解决房间里的大象问题。自 2023 年 5 月发现 IRM-NG 软件中的第一个漏洞后,我们就一直尝试向度假村数据处理报告漏洞,但没有成功。我们最初的尝试采用了电子邮件的形式,但遗憾的是,我们的努力仍未得到答复。在接下来的几个月里,我们通过各种渠道与软件供应商进行沟通,其中包括官方错误赏金计划、Twitter或 LinkedIn 上与该公司相关的联系人。
尽管我们多次尝试建立联系,但没有收到任何回复。鉴于负责此次攻击的威胁行为者对所使用的软件表现出深入的了解,并发现了其他受感染的受害者,我们已主动将 CVE 分配给已识别的漏洞。需要澄清的是,我们尚未尝试对 IRM-NG 引擎的安全性进行全面评估;相反,我们只是记录了分析过程中遇到的漏洞。这种方法为软件中可能存在其他漏洞的可能性留下了空间。
以下是分配给已识别漏洞的 CVE 列表:
1、CVE-2023-39420 - 在dll中使用硬编码凭据( CWE-798 )
2、CVE-2023-39421 - 在dll中使用硬编码凭据( CWE-798 )
3、CVE-2023-39422 - 在/irmdata/api/端点中使用硬编码凭证( CWE-798 )
4、CVE-2023-39423 - DLL中的 SQL 命令中使用的特殊元素的不正确中和( CWE-89 )
5、CVE-2023-39424 - DLL中下游组件(“注入”)使用的输出中特殊元素的不正确中和( CWE-74 )
攻击剖析
根据我们的分析,这次攻击开始于 2022 年夏季。其中一个工具的 PE 标头进一步支持了这一时间线,表明编译时间为 2022-07-11 12:49:31。作为一种防御规避策略,威胁行为者利用时间戳与同一文件夹中的其他合法文件无缝混合。时间戳是一种涉及更改计算机系统上文件的时间戳以操纵其创建、修改或访问时间的技术。这样做是为了欺骗调查人员、掩盖恶意活动并造成事件时间线混乱。作为此技术的一个示例,恶意文件wow64log.dll与合法文件wow64win.dll的时间戳相匹配(均位于C:WindowsSystem32文件夹中)。
虽然我们无法明确指出攻击背后的具体威胁行为者团体,但我们可以确认攻击的主要目标围绕经济利益和非法获取个人信息。IRM-NG引擎在2021年遭遇安全漏洞;由于有关此事件的公开信息有限,我们无法确定与我们分析的攻击有任何直接联系。在我们的调查过程中,我们在其他几名也使用相同预订引擎的受害者中发现了类似的 Webshell 感染。然而,对于 XModule 组件在这些攻击中的使用的确认或否定仍然没有定论。
初步方案
尽管我们无法确认准确的初始攻击向量,但我们坚信它与预订引擎中未公开的漏洞有关。威胁行为者首先上传了一个文件index.css(包含Webshell代码),利用文件上传API允许的.css扩展名。下一步,威胁行为者利用未公开的漏洞将此文件的扩展名更改为.aspx。扩展名的这一更改允许该文件在 ASP.NET 框架内执行,从而实现其作为 Webshell 的功能。
cmd.exe /c rename c:\inetpub\wwwroot\rdprepository\irm\content\\\index.css index.aspx
cmd.exe /c rename c:\inetpub\wwwroot\rdprepository\irm\content\\\index.css index2.aspx
该位置进一步凸显了预订引擎内漏洞的利用,因为这是登录指定服务器的管理用户的默认上传路径。
威胁行为者在受感染的服务器上部署的另一个工具是ConsoleApplication5.exe。这个定制工具是专门为在数据库上运行 PSQL 查询而设计的,利用 Pervasive PSQL(预订引擎使用的关系数据库系统)。值得注意的是,该数据库不受密码保护。
该工具最初用于删除初始登录的痕迹。值得注意的是,这个专用工具在最初的违规行为发生后仅 18 分钟内就投入使用。这强烈表明威胁行为者先前拥有系统知识。
c:\windows\system32\cmd.exe /c cd "C:\Users\\XRM\Files\" && dir && ConsoleApplication5.exe "DELETE FROM Logins WHERE Browser='Firefox94'"
使用相同的工具将恶意软件部署到安全路径C:WindowsSystem32。首先,威胁行为者利用未知漏洞或内容管理界面将恶意代码上传到名为UnitAdContent的单独表,并将其存储在由 PropertyName 值“333333333333333333333333333333”标记的行中。现在代码已存储在此记录中,威胁参与者的下一步是将此文件保存在受保护的路径中。
为此,威胁行为者利用了在系统级别运行的“RDPng 文件上传”服务中的漏洞。该服务使用名为FileUploads的表来存储文件上传指令。威胁参与者在此表中插入一条新记录,指定他们创建名为wow64log.dll的文件的意图。该文件的内容源自存储在UnitAdContent表中的值。将此指令添加到数据库后,文件上传服务执行该指令,成功生成所请求的文件。该文件是自定义版本的微型后门的安装程序。
c:\windows\system32\cmd.exe /c cd "C:\Users\\XRM\Files\" && dir &&
ConsoleApplication5.exe "INSERT INTO FileUploads
(FileName,File,Action,Location,DateEntered) VALUES
('wow64log.dll','41',0,'c:\inetpub\wwwroot\rdprepository\irm\content\\
\..\..\..\..\..\..\..\..\windows\system32\',now());UPDATE FileUploads SET File=(SELECT CAST(Description as char(5120)) FROM UnitAdContent WHERE
PropertyName='333333333333333333333333333333') Where FileName='wow64log.dll'"
为了进入数据库或使用 API 进行身份验证,我们在不同的库中发现了一组硬编码凭据。其中一些凭据依赖于每天重置的密码,但这些密码可以通过分析其中一个 DLL 库轻松生成。尽管我们选择不在研究中披露敏感细节,但重要的是要强调威胁行为者已经意识到这一点。
威胁行为者使用了额外的工具来升级权限。其中之一是广泛认可的PrintSpoofer(尽管包含了 Themida,使分析和检测更具挑战性),另一个是 CVE-2020-0787 的概念验证工具,用于将文件复制到保护位置。此 POC 是此存储库中可用的 POC 的定制变体。威胁行为者用于规避防御的另一个工具是名为KingHamlet 的进程重影工具。
建立持久性
为了持久化,攻击者使用了名为ChkUpd的计划任务,该任务以 SYSTEM 身份运行。此任务执行以下命令行:C:Windowssystem32rundll32.exe batchd.dll,ResChkUpd。非常小的DLL文件batchd.dll执行一个部署恶意组件的批处理文件( C:irmsetupinstall.bat ):
copy "C:UsersAll UsersXRMDataapi.dll" C:windowssystem32logapi64.dll
copy "C:UsersAll UsersXRMDatawow.dll" C:windowssystem32wow64log.dll
copy "C:UsersAll UsersXRMDatax.config" C:inetpubwwwrootweb.config
copy "C:UsersAll UsersXRMDatai.dat" C:inetpubwwwrootrdprepositoryirmcontent\index.aspx
虽然文件index.aspx只是一个常规的webshell,但其他三个文件构成了此操作的核心。
首先,文件web.config提供与 IIS 的集成。该文件在配置 IIS 服务器的设置和行为(例如身份验证、安全性、URL 重写和缓存)方面发挥着至关重要的作用,影响 IIS 模块与托管应用程序的交互方式。威胁参与者可以使用此web.config文件注入名为 XModule 的恶意 IIS 模块。
虽然该模块的详细描述将在后续的“执行”部分中提供,但我们想描述它与建立持久性的联系。XModule 由 IIS 自动加载,启动wow64log.dll库的加载。该安装程序又创建一个服务,负责加载微后门库logapi64.dll。该服务可以配置为利用网络通信 ( C:\windows\system32\svchost.exe -k netsvcr ) 或命名管道 ( C:\windows\system32\svchost.exe -k netsvcp ) XModule 和微后门之间的通信通道。
此时,所有重要组件均已存在并可运行。XModule 由 IIS 加载,可以拦截针对预订引擎的请求,而微后门则启动并运行,准备处理来自 XModule 的指令。
执行
IIS 模块XModule集成到预订引擎的流程中,主动监控所有传入和传出流量,以拦截有价值的信息或接收来自威胁行为者的命令。这是通过实现具有中等优先级的OnSendResponse事件的处理程序来实现的。
当 IIS 模块实现OnSendResponse事件的处理程序时,意味着该模块旨在在将 Web 服务器生成的响应发送回客户端浏览器之前拦截该响应。这允许模块注入附加内容、修改标头或对响应数据执行其他操作。
第二个组件是微后门。微型后门是 Windows 操作系统的简约后门,旨在轻松定制。这正是威胁行为者使用这种占用空间较小的恶意软件的方式。自定义版本不直接与命令和控制 (C2) 服务器通信 - 相反,它使用命名管道 ( \\.\pipe\xrpcxdsvc ) 与 XModule 通信。命名管道是一种进程间通信 (IPC) 机制,用于计算机系统上的进程或应用程序之间的通信。XModule 有效地充当 C2 服务器teleptd[.]org和 Micro Backdoor 之间的代理,由于没有网络流量,因此更难以检测。
当威胁行为者想要收集提取的数据或向后门发送命令时,他们会向受感染 Web 服务器上的任何合法页面发出包含特定内容的 POST 请求。XModule 拦截此请求,解密并处理嵌入的指令,并在响应正文中报告结果。这是一种几乎无法察觉的通信方式。
对于数据提取,XModule 将截获的数据存储在位置C:ProgramDataActianCacheLogs中,并使用文件前缀来标识泄露数据的类型。
如果请求是 GET 并且 URL 包含/irmng/polyfills-es2015字符串(这是IRM-NG 预订引擎使用的.js文件),XModule 将注入恶意 JavaScript,该 JavaScript 将设置一个名为__gglmap的 cookie 。此 Cookie 存储以下信息:名字、姓氏、地址 1、地址 2、城市、州、国家、邮政编码、电子邮件、持卡人、卡号、CVV、到期月份和年份、帐单邮政编码以及由以下元素标识的其他数据ID(我们无法识别):“tc91”、“tc90”、“tc92”、“tc93”、“tc94”、“tc95”。如果此 cookie __gglmap稍后出现在标头中,。
如果请求是 POST,则操作取决于请求正文。
如果请求正文包含密码(存在字符串“password”、“pass”、“pwd”之一),则正文将写入(加密)到名为info__.dmp。
如果请求正文包含信用卡信息(存在字符串“cvv”、“cvc”、“cardnumber”、“cardholder”、“ccnum”、“cc_num”、“i4g0”、“tenerum”之一),则正文写入(加密)在名为dump__.dmp的文件中。
最后,如果请求正文包含参数Module=BookData&Booking_ID=和&Booking_Info= ,XModule 会将Booking_Info的值解释为command。该命令采用 base64 编码并使用简单的 XOR 进行加密。XModule(或微后门)执行命令并在响应正文中返回结果(加密)。
该命令可以是以下命令之一:
1、PIN - 响应“PONG”
2、INF -使用 ||| 进行响应
3、CMD -使用exe /c(或%COMSPEC%)执行的命令
4、CMP - 微后门命令(使用命名管道)
5、DMP -启动数据渗透,将C:ProgramDataActianCacheLogs文件夹中所有文件的内容附加到响应正文
结论和建议
调查发现,预订引擎软件中存在一系列安全漏洞,这些漏洞是由经验丰富的威胁参与者精心策划的。该事件似乎是更大规模的协调行动的一部分,因为攻击者表现出了对该软件架构和内部工作原理的深入了解。威胁行为者超越了传统的攻击方法,开发了旨在与合法网络流量无缝集成的定制恶意软件,从而促进敏感数据的秘密泄露。与其他人一样,威胁行为者的目标是在最小化努力的同时最大化自己的收益。如果能够带来稳定的收入,他们愿意投入时间和资源来制作自定义攻击。
较大的公司有能力和责任进行例行的安全审计和渗透测试,这对于小型企业(通常由第三方解决方案服务的人群)来说可能不可行。对于这些小型企业来说,关注供应链的安全成熟度变得至关重要。必须认识到,选择看似更实惠的解决方案有时可能会因安全漏洞或漏洞而导致不可预见的巨额费用。
企业可以针对现代攻击部署的最佳保护仍然是深度防御架构。这种方法涉及采用多层重叠的安全措施,旨在防范各种威胁。
采取多层次策略的第一步是掌握预防能力。尝试限制暴露的攻击面并最大限度地减少威胁行为者可以使用的入口点数量。在威胁行为者利用漏洞之前,通过实施补丁和风险管理解决方案来识别并纠正漏洞。
自动保护控制部署到所有暴露于威胁参与者的潜在入口点(包括漫游员工的在家工作笔记本电脑)。这包括下一代防病毒软件,还包括无缝集成的 IP/URL/域信誉,以及针对先前未知威胁的防护。这使您能够在大多数安全事件造成任何损害之前检测并阻止它们。
尽管您尽了最大努力,现代威胁行为者仍然有可能逃脱您的预防和保护控制。这就是您的检测和响应能力发挥作用的地方。无论您将这些功能作为产品 ( EDR / XDR ) 还是作为服务 ( MDR ) 获得,目的都是最大限度地减少威胁行为者未被检测到的时间。Bitdefender MDR 团队对环境进行主动搜索,以追捕逃避现有工具检测的恶意、可疑或危险活动。
总之,调查强调了多层次、自适应安全策略的必要性。通过将技术增强与警惕的监控和主动措施相结合,组织可以更好地防御针对关键软件系统的复杂威胁行为者。
IOC
XModule
微型后门
微型后门安装程序
维持
权限提升和防御规避
Webshell
自定义 PSQL 工具
域名
teleptd[.]org
转载来源:https://www.bitdefender.com/blog/businessinsights/deep-dive-into-supply-chain-compromise-hospitalitys-hidden-risks/
图片来源网络侵权可联系删除