加密程序:如何应对勒索软件攻击(中)
第5章 勒索软件团伙的战术、技术和程序
您已经了解了很多关于人类操作的勒索软件的知识,对它们的攻击过程和应对措施有了不错的理解,并理解为什么恰当应对事件如此重要。
但要有效地应对事件,仅仅了解攻击生命周期是不够的,因为攻击者通常会使用各种战术、技术和程序(TTP)来实现他们的目标。
勒索软件即服务(RaaS)的存在使情况更加复杂,因为使用这些程序的攻击中可能涉及许多关联方,即使是同一种勒索软件变种,不同参与者的TTP也可能显著不同。
本章将帮助您详细了解攻击者在攻击生命周期的各个阶段的行为(基于MITRE ATT&CK)。具体来说,我们将讨论以下主题:
- 获取初始访问权限
- 启动恶意代码
- 保持持久访问
- 提升权限
- 规避防护
- 获取凭证
- 横向移动
- 数据收集和盗窃
- 部署勒索软件
获取初始访问权限
获取目标网络的初始访问权限是任何入侵的必要部分,勒索软件攻击也不例外。
由于勒索软件攻击中涉及的攻击者种类繁多,事件响应专家可能会在工作中遇到几乎任何技术。
尽管如此,勒索软件运营者最常用的一种技术是破解外部远程访问服务,如远程桌面协议(RDP),所以我们将从这里开始。
外部远程访问服务(T1133)
使用外部远程访问服务的攻击者非常普遍。例如,根据Group-IB的《勒索软件2020/2021》报告,超过50%的勒索软件攻击是从公开的RDP服务器入侵开始的。COVID-19大流行加剧了这一问题,许多公司不得不为远程员工创建工作站,这进一步削弱了全球服务器的防护。
远程桌面服务的默认端口是3389。如果我们使用Shodan等搜索连接到互联网的设备的搜索引擎,可以看到成千上万这样的服务器,这也是为什么攻击这些服务器成为最常见技术之一的原因(见图5.2)。
![](https://zgao.top/wp-content/uploads/2024/06/img-22.jpg)
图5.1. 公开RDP服务器的登录界面
![](https://zgao.top/wp-content/uploads/2024/06/img-23.png)
图5.2. Shodan的搜索结果
如图所示,仅在美国就有超过150万个这样的服务器。
不难理解为什么这种技术如此普遍,也不难理解为什么美国的组织常常成为各种勒索软件的受害者。
如何获得公开的RDP服务器的访问权限?最常见的方法是暴力破解攻击,即通过字典进行最常见密码的全盘尝试。奇怪的是,这种方法相当有效。
通常,攻击者首先使用masscan扫描互联网,寻找公开的RDP服务器,然后使用NLBrute等工具进行暴力破解攻击。攻击者甚至不需要自己做这些,他们可以在各种黑市和初始访问经纪人那里购买访问权限。
以下是一些这样的黑市示例:
- RussianMarket
- Odin
- UAS RDP Shop
- Xleet
- Infinity Shop
需要注意的是,获得公开的RDP服务器访问权限可能只需花费几美元。
![](https://zgao.top/wp-content/uploads/2024/06/img-24-1024x591.png)
图5.3. UAS RDP Shop出售的RDP服务器
RDP并不是攻击者使用的唯一外部远程访问服务类型。另一种非常常见的类型是通过虚拟专用网络(VPN)获得访问权限。
在这种情况下,勒索软件运营者也可能通过暴力破解攻击获得VPN凭证,或者利用软件漏洞。我们将在下一节“利用公开应用程序(T1190)”中讨论这一点。
如同RDP访问,这种类型的访问也可以从初始访问经纪人那里获得。图5.4展示了一个俄语地下论坛上的相关广告。
![](https://zgao.top/wp-content/uploads/2024/06/img-25.png)
图5.4. Group-IB威胁情报平台上的俄语地下论坛广告
如图所示,通过外部远程服务获得初始访问权限非常简单,尤其是在COVID-19大流行期间。但这并不是唯一的方法。让我们讨论另一种常见技术——利用公开应用程序。
利用公开应用程序(T1190)
在勒索软件攻击中,利用公开应用程序是另一种常见的技术。
您已经知道,勒索软件运营者常常攻击RDP服务器:他们可以进行暴力破解攻击,或者干脆在黑市或初始访问经纪人那里购买访问权限。
但他们也可以利用RDP实现中的漏洞远程执行代码,例如BlueKeep(CVE-2019-0708)。已知该漏洞至今仍在被积极利用,尤其是与LockBit勒索软件有关的人。
同样,攻击者也利用多种漏洞获得VPN访问权限。我们来看看一些最常见的漏洞。
Fortinet、FortiOS和FortiProxy中的漏洞(CVE-2018-13379)允许各种勒索软件运营者访问系统文件,包括包含凭证的文件,以便之后使用这些凭证获得VPN访问权限。
Pulse Secure Pulse Connect Secure中的另一个漏洞(CVE-2019-11510)也是一种文件读取漏洞,允许攻击者获取私钥和用户密码。该漏洞被与REvil勒索软件相关的人积极利用。
最后,SonicWall SMA100中的漏洞(CVE-2019-7481)也被HelloKitty勒索软件运营者积极利用。
当然,攻击者利用的初始访问漏洞不限于RDP和VPN。例如,Clop勒索软件运营者利用了Accellion FTA中的漏洞:
- CVE-2021-27101: SQL注入漏洞
- CVE-2021-27102: 操作系统命令注入漏洞
- CVE-2021-27103: 服务器端请求伪造(SSRF)漏洞
- CVE-2021-27104: 另一个操作系统命令注入漏洞
这些漏洞允许攻击者将web shell上传到易受攻击的服务器,并利用它们进行数据盗窃,因为公司使用Accellion FTA来安全传输大文件。
另一个被勒索软件运营者利用的漏洞是Citrix Application Delivery Controller(ADC)和Gateway中的漏洞(CVE-2019-19781)。该漏洞允许攻击者在目标服务器上执行命令。
最后,2022年,攻击者利用了Microsoft Exchange服务器中的漏洞,包括ProxyLogon(CVE-2021-26855)和ProxyShell(CVE-2021-34473, CVE-2021-34523和CVE-2021-31207)。
勒索软件攻击者将这些漏洞添加到他们的工具库中。例如,与Conti相关的人利用ProxyShell漏洞在目标服务器上加载web shell,以便在后期利用阶段执行进一步的操作。
公开的服务器和应用程序是勒索软件运营者的热门目标,但它们的数量通常不多。此外,它们可能安装了最新的安全更新并/或使用强密码。因此,攻击者不得不寻找其他薄弱环节,例如企业网络中的普通用户。在这种情况下,网络钓鱼是合适的选择。
网络钓鱼(T1566)
历史上,网络钓鱼一直是攻击者获取目标网络初始访问权限的最喜欢的方法之一。
目前,网络犯罪分子经常使用通过垃圾邮件发送的特洛伊木马(或机器人)来实现这一目标。这些恶意程序包括Bazar、Qakbot、Trickbot、Zloader、Hancitor和IcedID。
攻击者通常通过电子邮件附件(如Microsoft Office文件、压缩包中的脚本)或包含恶意链接的电子邮件发送这些恶意程序。
攻击者在创建钓鱼邮件时表现出惊人的创造力。有时这些邮件看起来非常可信,即使是安全专家也可能误认为是真实邮件。图5.5展示了Hancitor运营者发送的钓鱼邮件示例。
![](https://zgao.top/wp-content/uploads/2024/06/img-26.png)
图5.5. Hancitor运营者发送的垃圾邮件示例
点击该钓鱼链接,用户将被引导到一个下载恶意Microsoft Office文档的页面。攻击者并不总是通过链接发送邮件,有时他们会直接在邮件中附上感染文件。
![](https://zgao.top/wp-content/uploads/2024/06/img-27.png)
图5.6. Qakbot运营者发送的垃圾邮件示例
下载文件后,受害者需要打开文件,并在大多数情况下启用宏,以便恶意内容被写入磁盘或从攻击者控制的服务器下载。这些恶意文档通常会引导用户启用宏。
![](https://zgao.top/wp-content/uploads/2024/06/img-28.jpg)
图5.7. 恶意文档内容示例
受害者启用宏后,恶意内容就会被激活。然而,如果受害者的垃圾邮件防护做得很好,攻击者要发送感染链接或附件并不容易。他们需要更加创造性地行动——而他们做到了!
网络犯罪团伙Wizard Spider——Bazar、Trickbot、Ryuk、Conti和Diavol的运营者——使用含有付费订阅信息的钓鱼邮件,并在邮件中提供电话号码,受害者可以拨打该电话以取消订阅。实际上并没有订阅——这是语音钓鱼(vishing)。电话操作员引导受害者访问一个虚假网站,以下载取消订阅所需的表格。图5.8展示了一个虚假网站示例。
![](https://zgao.top/wp-content/uploads/2024/06/img-29.jpg)
图5.8. 虚假网站示例
这些虚假网站的唯一目的是交付恶意文档。识别用户是否遇到了语音钓鱼尝试相对简单。有时只需提出几个澄清问题并深入话题,诈骗者就会暴露。
另一个示例是恶意广告。例如,Zloader运营者创建恶意广告,如果受害者在Google中使用某些关键词搜索,她将被重定向到攻击者控制的网站,网站上托管了恶意文件。
![](https://zgao.top/wp-content/uploads/2024/06/img-30.jpg)
图5.9. 传播Zloader的虚假网站示例
有时,攻击者会使用更复杂的初始访问技术,如供应链攻击。
供应链攻击(T1195)
供应链攻击通常需要更多的努力。虽然这些攻击非常有利可图,但它们并不常见,少有人听说过或讲述过。然而,已知的一些攻击实例导致了勒索软件的部署。
第一个这样的操作是由REvil勒索软件运营者进行的,他们入侵了意大利版的WinRar网站,以传播REvil的副本。
另一个更有趣的案例是,与Darkside勒索软件相关的人入侵了SmartPSS软件网站,并开始交付SMOKEDHAM后门程序。有关此攻击的更多详细信息可以在FireEye博客中找到:https://www.fireeye.com/blog/threat-research/2021/06/darkside-affiliate-supply-chain-software-compromise.html。
因此,我们讨论了最常见的初始访问战术。接下来,我们将看看攻击者如何在目标系统上启动恶意代码。
启动恶意代码
为此,存在各种方法。让我们来看看勒索软件攻击中最常见的方法。
一旦攻击者获得目标系统的访问权限,他们需要启动恶意代码或双用途工具以执行后期利用任务。
用户执行(T1204)
如您所知,许多攻击者通过网络钓鱼获取初始访问权限,在大多数情况下,受害者需要打开附件或链接以启动恶意代码。只有这样,攻击者才能获得初始访问权限。
我们可以从另一个角度来看待这种方法。例如,如果勒索软件运营者通过公开的RDP服务器进入网络,他们通常会立即获得高级权限账户的访问权限,例如管理员账户。因此,在这种情况下,他们自己可以充当恶意用户,执行各种命令和工具。
命令和脚本解释器(T1059)
在攻击生命周期的某些阶段,勒索软件运营者可能会使用各种命令和脚本解释器。
在网络钓鱼的情况下,Windows Command Shell、PowerShell、Visual Basic甚至JavaScript非常常见。让我们看一些示例。
攻击者使用感染的Microsoft Word文档传播Trickbot,并执行恶意VBScript脚本。
这个脚本可能看起来复杂,但实际上并不复杂。它只是从172.83.155[.]147地址下载Trickbot(inlinelots.png),将其保存到C:\Users%user%\AppData\Local,并通过rundll32.exe启动——仅此而已!
另一个示例是IcedID。攻击者通过包含恶意JavaScript文件的压缩包传播此特洛伊木马。脚本启动cmd.exe,后者启动powershell.exe。
如果我们解码base64,就会看到它从攻击者控制的服务器下载了攻击的下一阶段代码。
如您所见,命令和脚本解释器的使用非常普遍,但在这些情况下,受害者通常需要启动脚本或启用宏。当然,这不是唯一的选择,有时攻击者会利用软件漏洞自动启动恶意代码。尽管如此,利用PowerShell进行犯罪行为可能不会被忽视,但实际上,PowerShell的监控系统会产生大量噪音,有时可以轻松缩小搜索范围。
利用漏洞执行代码(T1203)
我们已经讨论了攻击者如何利用公开应用程序中的漏洞获取初始访问权限,但在某些情况下,他们也可能利用办公软件中的漏洞,例如Microsoft Office。尽管如此,在集中于内部漏洞之前,强烈建议先修补公开应用程序中的漏洞。
一个很好的例子是最近的MSHTML漏洞(CVE-2021-40444),Wizard Spider团伙积极利用该漏洞传播Bazar和Cobalt Strike。
攻击者常常滥用内置工具。除了命令和脚本解释器外,另一个示例是Windows管理规范(WMI)。
Windows管理规范(T1047)
Windows管理规范(WMI)是一种常用工具,被各种勒索软件运营者用于本地和远程启动代码,例如在网络中横向移动时。Cobalt Strike,作为一个在勒索软件相关人员中非常流行的后期利用框架,内置了使用WMI远程启动代码的功能。
如您所知,人类操作的勒索软件攻击可能持续相当长时间,因此攻击者需要能够在重新启动时保持对被攻破网络的持久访问。
持久化
在后期利用阶段,攻击者通常需要保持对网络的持久访问,因此在事件响应过程中,您可能会遇到各种持久化方法。这一步几乎与进入网络本身同样重要。使用额外的后门程序可以保证攻击者随时可以返回。让我们来看一些最常见的方法。
有效账户(T1078)
特别是在RDP或VPN攻击的情况下,攻击者会利用有效账户来访问企业网络。由于他们可能同时使用多个被攻破的账户,这种方法可以用于在被攻破的网络中保持持久化。更重要的是,使用合法凭证,勒索软件运营者可以在很长时间内不被发现。
创建账户(T1136)
如果攻击者已经获得管理员凭证,他们可以利用这些凭证创建额外的账户,即使被攻破的账户被安全团队发现并封锁,他们仍然可以通过这些新账户访问网络。
开机或登录时的自动启动(T1547)
通过使用各种常见的持久化方法,勒索软件运营者也会利用各种广泛可用的工具。例如,已知Bazar Loader使用了注册表键Run(Software\Microsoft\Windows\CurrentVersion\Run)来保持在被攻破的系统中的持久化。
另一个使用同样木马的子方法是滥用Winlogon功能,在用户登录时启动程序。这可以通过修改注册表键Software\Microsoft\Windows NT\CurrentVersion\Winlogon来实现。
计划任务/作业(T1053)
创建计划任务是许多参与勒索软件攻击的木马中最常见的方法之一。以下是Qakbot用于持久化的命令行示例。
计划任务将每六小时启动一次Qakbot。
服务器软件组件(T1505)
如您所知,使用公开应用程序是勒索软件运营者获取初始访问权限的一种常见方法。为了确保持久访问,他们通常使用web shell。
web shell是部署在公开web服务器上的脚本,允许攻击者通过命令行界面执行各种命令。
我们已经讨论了勒索软件运营者在被攻破的网络中保持持久访问的最常见方法。现在让我们来看他们如何提升权限。
提升权限
在许多情况下,攻击者在获得目标系统的初始访问权限后,没有足够的权限。为了提升权限,他们使用各种方法。我们将讨论最常见的方法。
利用权限提升漏洞(T1068)
在勒索软件攻击的生命周期的不同阶段,包括权限提升阶段,攻击者可能会利用各种漏洞。例如,ProLock勒索软件运营者利用CreateWindowEx功能中的漏洞(CVE-2019-0859)来获得管理员级别的权限。
另一个示例是REvil勒索软件,可以利用win32.sys驱动程序中的漏洞(CVE-2018-8453)来提升权限。
因此,许多常见的漏洞可以用于获得更高级别的权限。如果公司未能修补和消除这些漏洞,可能会面临严重的问题。
创建或修改系统进程(T1543)
Windows服务通常被各种攻击者,包括勒索软件运营者,用于本地或远程启动恶意代码。Windows服务也可以用于提升权限,因为它们可以以SYSTEM权限运行。应监控与Windows服务相关的异常情况,并定期分析其恶意使用的情况,以改进监控。
代码注入(T1055)
另一个非常常见的方法是代码注入。攻击者可以利用系统中具有高权限的进程,在其地址空间中执行任意代码。此方法也可以用于绕过某些防护措施。例如,Trickbot使用wermgr.exe(Windows问题报告)进行注入,而Qakbot使用explorer.exe(Windows资源管理器)。
滥用访问控制机制(T1548)
Windows中有几种访问控制机制,当然,勒索软件运营者会找到各种绕过这些机制的方法。一个很好的例子是用户帐户控制(UAC)。该机制允许程序请求用户确认以提升权限。为了绕过它,Trickbot利用了WSReset.exe,这是用于重置Windows Store设置的。
提升权限不是攻击者面临的唯一障碍,各种广泛使用的防护措施也会带来困难。
规避防护
在大多数情况下,勒索软件运营者在攻击生命周期的各个阶段都需要使用各种规避方法。他们可能会禁用或删除安全软件,混淆或加密数据,或删除被攻破主机上的痕迹。
利用防护规避漏洞(T1211)
攻击者可能会利用各种漏洞来规避防护措施。一个实例是Robinhood勒索软件运营者利用了Gigabyte驱动程序中的漏洞(CVE-2018-19320)。这允许攻击者加载另一个未签名的驱动程序,用于终止与安全产品相关的进程和服务,以确保勒索软件成功部署。
文件或信息的去混淆/解码(T1140)
恶意程序和勒索软件通常使用各种混淆技术,如加密和编码,来规避检测机制。常见的混淆技术之一是base64编码。
一个典型的示例是使用PowerShell启动Cobalt Strike SMB Beacon。
正如之前提到的,Cobalt Strike是一个广泛使用的后期利用框架,被许多与勒索软件相关的攻击者使用。最初,该工具集是为了模拟攻击而开发的,但不幸的是,它在实际攻击者中也很受欢迎。
修改文件和目录权限(T1222)
攻击者常常需要访问受保护的文件。这些文件可能是加密的。
许多勒索软件菌株使用内置的icacls工具,允许用户查看和修改文件和文件夹的安全描述符。以下是Ryuk勒索软件使用该工具的示例。
该命令移除了对文件和文件夹的所有访问限制。
弱化防护(T1562)
大多数环境中至少存在最低限度的防护机制,攻击者必须绕过这些机制才能实现目标。例如,他们可能需要禁用防病毒软件或清除Windows事件日志。
在一次对Kaseya的攻击中(https://helpdesk.kaseya.com/hc/en-gb/articles/4403440684689),REvil运营者使用了以下脚本。
如您所见,脚本的一部分旨在禁用Windows Defender的各种功能——Windows内置的防病毒软件。
在大多数情况下,攻击者还需要处理其他防护措施。常见的方法是使用Process Hacker或GMER等工具终止与防病毒相关的进程和服务。
删除主机上的指标(T1070)
勒索软件运营者通常需要在网络中尽可能长时间地保持活动,因此他们会试图通过删除日志和文件来使网络防御者的工作变得困难,从而跟踪他们在被攻破网络中的活动。
在一次最新的事件响应中,我们看到攻击者使用了一条非常简单但非常有效的命令。
这条简单的命令允许他们清除所有事件日志。
使用签名的二进制文件执行(T1218)
最后一个我们将讨论的防护规避方法是通过签名的二进制文件执行代码。勒索软件运营者可以使用合法的二进制文件作为中介来执行恶意代码。最常见的选项是rundll32.exe和regsvr32.exe。
以下是攻击者使用rundll32.exe启动Cobalt Strike Beacon的示例。
另一个示例是IcedID。这次攻击者使用了regsvr32.exe。
当然,攻击者还可以使用其他签名的二进制文件。例如,在一次最近的攻击活动中,Zloader运营者使用了msiexec.exe试图绕过防护。
接下来,我们将讨论攻击者获取凭证的常见方法。
获取凭证
由于大多数情况下,勒索软件运营者试图加密尽可能多的主机,他们需要能够横向移动或至少远程启动恶意代码。为了以隐蔽和高效的方式进行操作,他们通常首先获取高级权限的凭证,但他们的主要目标是域管理员账户。
有许多方法可以让攻击者获取身份验证数据。我们将讨论最常见的方法。
暴力破解(T1110)
您已经知道RDP、VPN和其他外部远程访问服务常被用于勒索软件攻击。这些服务在许多情况下防护不足,因此初始访问经纪人或勒索软件运营者可以通过暴力破解攻击成功获取合法账户。
操作系统凭证转储(T1003)
另一个广泛使用的方法是凭证转储。勒索软件的操作员仍然经常使用Mimikatz,尽管它很容易被检测到。一些攻击者甚至手动将其从官方GitHub仓库下载到被攻破的主机上。
这并不是唯一用来转储凭证的工具。我们越来越频繁地遇到的一个替代工具是LaZagne,这个工具不仅能从易失性内存中提取凭证,还能从各种密码存储中提取,如网页浏览器。
另一个例子是使用ProcDump工具,这个工具通常用来为本地安全认证子系统服务(LSASS)进程创建内存转储。
攻击者可以下载这些转储,并使用诸如Mimikatz之类的工具从中提取凭证。
勒索软件的操作员甚至不需要下载额外的工具来转储凭证——他们可以利用Windows的内置功能。例如,Conti团伙的成员使用COM+服务的MiniDump功能来创建lsass.exe的转储。
如果攻击者能够访问域控制器,他们也可以创建整个Active Directory域数据库的转储,该数据库保存在NTDS.dit文件中。
Conti团伙使用内置的ntdsutil工具来创建NTDS.dit的副本。
这个文件不仅可以被勒索软件操作员用来获取凭证,还可以用来收集有关域的信息。
Kerberos票据窃取和伪造 (T1558)
由于无法总是创建快照或破解凭证,攻击者不断找到新的获取有效账户的方法。最近,类似Kerberoasting的凭证获取方法在勒索软件操作员中越来越受欢迎。
攻击者利用Kerberos票据授权票据(TGT)或截获网络流量以获取票据授权服务(TGS)提供的票据。例如,Ryuk勒索软件操作员使用Rubeus进行Kerberoasting攻击。
一旦获得所需级别的凭证,勒索软件操作员就准备好在网络中横向移动。
网络横向移动
在开始横向移动之前,攻击者需要收集他们渗透的网络的信息。这些活动可能包括网络扫描和Active Directory侦察。
两个最常见的网络扫描工具,被各种勒索软件操作员使用的是Advanced IP Scanner和SoftPerfect Network Scanner。
一个最常用的Active Directory侦察工具是AdFind,这是一个合法的命令行查询工具。
以下是Netwalker勒索软件操作员使用该工具的示例。
AdFind允许攻击者收集有关用户、计算机、域间信任、子网等的信息。这些信息可以帮助他们找到最有价值的主机,如备份和机密信息所在的主机。
另一个流行的Active Directory侦察工具是ADRecon,它被REvil勒索软件操作员广泛使用。
正如在前几个阶段一样,攻击者可以使用Windows的内置功能进行网络侦察。例如,Conti勒索软件的成员使用PowerShell的命令集进行网络侦察。
使用远程服务漏洞 (T1210)
网络横向移动是另一种积极使用漏洞的策略。许多攻击者偏好使用常见的漏洞,一个显著的例子是EternalBlue(CVE-2017-0144),这是一个服务器消息块(SMB)协议的漏洞,早在2017年被臭名昭著的WannaCry勒索软件利用。
这个漏洞仍然存在于许多企业网络中,因此它仍然受到攻击者的欢迎,例如LockBit团伙。
其他常见的横向移动漏洞包括SMBGhost(CVE-2020-0796)和Zerologon(CVE-2020-1472)。
使用远程服务 (T1021)
勒索软件操作员使用各种远程服务,如RDP、SMB等,通过使用有效的账户进行横向移动。如果攻击者通过RDP获得了初始访问权限,他们通常利用同一协议连接到被攻破网络中的其他主机,在那里他们部署恶意软件、远程访问工具,当然还有勒索软件。
攻击者喜欢使用RDP,因此他们的工具库中甚至包括预配置的脚本,用于修改配置以便与目标主机建立RDP连接。
其他子技术包括SMB和Windows远程管理(WinRM)。
使用替代认证材料 (T1550)
勒索软件操作员并不总能获取到明文密码,因此在某些情况下,他们必须使用密码哈希或Kerberos票据进行横向移动。哈希传递(Pass the Hash, PtH)和票据传递(Pass the Ticket, PtT)攻击可以通过Mimikatz或后期利用框架如Cobalt Strike和Metasploit执行。
横向移动的目标之一是寻找包含机密数据的主机,这些数据可以被收集和盗取。接下来我们将讨论一些常见的数据收集和外泄方法。
数据收集与外泄
正如我们之前所讨论的,勒索软件操作员通常不仅仅加密数据,还会盗取数据。数据可以从多个来源被盗取。让我们来看看一些最常见的来源。
本地系统的数据 (T1005)
攻击者可能会在被攻破的系统中找到有价值的数据。协议、合同或包含个人数据的文件——所有这些都可能被勒索软件操作员用于进一步的敲诈。
网络共享驱动器的数据 (T1039)
网络共享驱动器是潜在重要信息的常见来源,因此参与勒索软件攻击的攻击者通常也会收集并盗取这些数据。
电子邮件 (T1114)
一些攻击者更加有针对性。例如,Clop勒索软件的操作员通常会寻找属于公司高管的主机,并收集他们的电子邮件作为勒索的材料。
数据归档 (T1560)
在某些情况下,勒索软件操作员在盗取数据之前会对收集的数据进行归档。例如,Conti团伙使用流行的7-Zip工具在外泄前对收集的数据进行归档。
通过Web服务进行外泄 (T1567)
各种Web服务,如MEGA、DropMeFiles等,在勒索软件操作员中非常流行。他们可以使用Web浏览器将收集的数据上传到存储中,或者使用诸如RClone之类的工具自动化这一过程。
以下是使用RClone进行数据外泄的示例。
有时攻击者甚至会开发专门的数据收集和外泄工具。
自动外泄 (T1020)
LockBit操作员不仅向其合作伙伴提供用于部署的勒索软件,还提供数据盗取工具——StealBit。
该工具自动从被攻破的主机中提取所有可用文件,除了系统文件、注册表文件和一些其他扩展名的文件。一旦所有收集的数据被盗取,就可以进行最后的步骤——部署勒索软件。
部署勒索软件
任何勒索软件攻击的最终目标是直接部署勒索软件。此时,备份已经被删除(或将首先被加密),安全产品被禁用,数据被盗。
最常见的部署方法之一是通过SMB复制勒索软件,并使用PsExec(SysInternals工具包中的合法工具)进行执行。攻击者通常用它进行远程执行。
以下是Netwalker勒索软件操作员使用此工具进行远程执行的示例。
另一个示例是Egregor恶意软件操作员,他们使用Windows管理工具命令行(WMIC)进行部署。
让我们看看另一个示例——Ryuk勒索软件。这次攻击者使用后台智能传输服务(BITS)进行部署。
勒索软件本身通常实现了多种技术。让我们来看看它们。
禁用系统恢复能力 (T1490)
几乎每个勒索软件都有内置功能来删除或禁用系统恢复功能。一个非常常见的示例是删除卷影副本的功能。最后一步是加密数据。
数据加密 (T1486)
任何勒索软件攻击的主要目标是加密被攻破主机上的文件。开发者使用各种加密算法,包括AES、RSA、Salsa20、ChaCha和定制算法。没有攻击者提供的密钥,很遗憾,无法解密文件。受害者支付赎金,这激励了勒索软件的创建者进行更多攻击。
我们已经研究了攻击的整个生命周期,重点是勒索软件操作员使用的最常见方法。需要注意的是,犯罪分子的TTP会周期性变化,因此了解最新的网络威胁信息非常重要。
结论
现代的人类操作的勒索软件攻击不仅仅是加密数据。为了在企业范围内部署勒索软件,攻击者必须从初始访问到数据盗取进行长时间的准备,因此网络安全部门通常有很多检测机会。然而,作为事件响应专家,我们必须对勒索软件操作员当前使用的TTP有充分的了解,以便快速有效地应对攻击。
由于TTP可能随着时间变化,事件响应专家和其他安全部门人员必须能够收集、处理和传播与勒索软件相关的网络威胁的实用信息。
在下一章中,我们将探讨各种可用于收集网络威胁信息的公开来源。
第6章 收集与勒索软件相关的网络威胁数据
如您所知,勒索软件的运营者可能会使用广泛的策略、技术和程序(TTP),因此了解他们在您应对的攻击中具体使用了什么非常有用。其中一些策略和方法是短期使用的,另一些是长期的,这取决于攻击者的最终目标。
通常,您在开始应对事件(Incident Response,IR)时首先会了解到的是攻击者使用的勒索软件类型。许多勒索软件类型以“勒索软件即服务”(RaaS)的模式传播,不同的合作伙伴可能对攻击生命周期有不同的方法,因此他们的TTP也可能有所不同。
考虑到这一点,拥有可靠的网络威胁情报(Cyber Threat Intelligence,CTI)对您应对攻击非常有帮助。商业CTI平台当然非常有用,但即使在这些来源中也可能没有您需要的所有信息,因此学会获取详细信息以应对当前或未来的响应活动非常重要。
在本章中,我们将讨论一些网络威胁情报的来源,具体包括:
- 威胁研究报告
- 社区
- 攻击者
威胁研究报告
大多数网络安全公司都会发布各种关于威胁的报告,包括与勒索软件攻击相关的威胁报告,因此这些来源是收集网络威胁情报的方便工具。威胁研究报告是评估威胁环境的重要部分。这些报告帮助技术人员和非专业人士评估公司当前的情况,并将其与整体威胁形势进行比较。
当然,没有一份报告是全面的,因此最好根据不同网络安全解决方案提供商的研究来研究某个威胁。一些报告包含妥协指标(indicators of compromise, IoC)和其他重要数据,值得与公众分享。这些报告中的一些可以帮助他人准备应对攻击者及其攻击。
在本部分中,我们将讨论与勒索软件Egregor相关的各种报告,并尝试获取尽可能多的TTP信息。
我们从Group-IB的报告《勒索软件Egregor:Maze的遗产继续》(Egregor ransomware: The legacy of Maze lives on)开始讨论,该报告的作者之一就是我。资料可通过以下链接获取:Group-IB Egregor Report。
所有勒索软件攻击都始于对目标网络的初步访问。根据我们分析的报告,Egregor的合作伙伴使用通过钓鱼邮件向受害者分发的Qakbot。目标钓鱼是获取网络访问权限的最常见且非常有效的方法之一。攻击者知道他们可以攻击普通用户,因为这些用户可能缺乏识别攻击的技术技能。
那么Qakbot是什么?最初这是一个在2007年首次发现的银行木马。现在,它主要用于加载其他工具,例如Cobalt Strike Beacon,并使用受感染的主机大规模发送垃圾邮件以感染更多设备。许多勒索软件操作员,包括ProLock、Egregor、REvil、Conti等,都使用这种木马来获得对目标网络的初步访问。
Group-IB报告还包含有关Qakbot在受感染系统中持久化机制的信息。这些机制包括在启动文件夹中放置实例或快捷方式(LNK)、在系统注册表的Run键中记录程序路径以及创建计划任务。
在后期利用中,使用了Cobalt Strike。这种商业全功能后期利用框架最初是为模拟高级攻击而创建的,但很快成为现实攻击者的工具库之一,允许他们使用MITRE ATT&CK中描述的许多方法。
根据报告,攻击者还使用ADFind收集Active Directory(AD)信息。如您从上一章中了解到的,这个工具在勒索软件攻击中相当常用。
为了实现横向移动,Egregor的合作伙伴编写脚本在注册表和防火墙中进行必要的更改,以便使用远程桌面协议(RDP)。脚本通过PsExec传播,PsExec是Sysinternals Suite的合法工具,允许在远程主机上执行命令。合法工具和各种脚本是帮助攻击者保持隐身的主要手段。
另一个由Egregor相关人员使用的常见方法是通过Cobalt Strike Beacon进行进程注入。这种技术可以在被破坏的网络中用于横向移动。这样的方法允许攻击者隐藏他们使用的命令,不暴露他们的存在。
为了从网络中提取机密数据,Egregor的操作员使用Rclone,这是一个用于管理云存储中文件的命令行工具。此外,他们还使用了伪装技术,将Rclone可执行文件重命名为svchost.exe。
为了禁用防病毒保护,攻击者使用组策略和scepinstall.exe来移除System Center Endpoint Protection(SCEP)。此类攻击是攻击者滥用现代操作系统合法功能的一个鲜明例子。
Egregor的合作伙伴使用基于脚本的各种方法来部署勒索软件,包括:
- 滥用后台智能传输服务(BITS)从攻击者控制的服务器下载勒索软件并通过rundll32运行;
- 将远程主机的C:\盘作为共享网络资源,复制勒索软件到C:\Windows并使用rundll32运行;
- 通过远程主机上的PowerShell会话复制和运行勒索软件。
正如您所见,即使是一份报告也可以成为良好的信息来源,但额外的数据永远不会有害。
让我们研究另一份报告,这次是Cybereason公司发布的《Cybereason对抗Egregor勒索软件》(Cybereason vs. Egregor Ransomware)。报告可通过以下链接获取:Cybereason Egregor Report。
我们需要分析报告,提取我们尚未掌握的数据,并将其转化为可实际应用的CTI。
首先,从Cybereason的报告中我们看到,Egregor的合作伙伴不仅通过Qakbot感染目标网络,还通过Ursnif和IcedID进行感染。与Qakbot一样,这两个恶意软件家族以前是银行木马,但现在广泛用于加载其他工具。攻击者经常开发新功能,使他们的攻击带来更多收益。
此外,根据报告,Egregor的操作员使用SharpHound(BloodHound的数据收集器,通常由渗透测试员和攻击者用于查找Active Directory中的连接)来收集有关用户、组、计算机等的信息。
我们成功收集了更多的CTI,让我们再研究另一份文档,这是Morphisec公司的报告《Egregor勒索软件分析》(An analysis of the Egregor ransomware)。报告可通过以下链接获取:Morphisec Egregor Report。
根据这份报告,Egregor的用户通过防火墙中的漏洞获得初步访问权,进入虚拟专用网络(VPN),这次没有使用木马。
攻击者使用合法的远程访问软件,如AnyDesk和SupRemo,保持对受感染网络的访问。2021年,AnyDesk成为攻击者用于备份访问的最常见工具之一。
为了终止不需要的进程(例如属于防病毒软件的进程),攻击者使用了免费的反rootkit工具PowerTool,并使用流行的免费工具SoftPerfect Network Scanner收集受感染网络的信息。
为了获取凭据,Egregor的操作员使用了Mimikatz,这是渗透测试和攻击者常用的工具,用于从内存中提取密码和其他身份验证材料——哈希、PIN和Kerberos票证。
攻击者通过各种云服务(如WeTransfer和SendSpace,以及MEGA Desktop App)进行数据盗窃。为了在远程主机上执行脚本,攻击者使用了PsExec,在这些主机上运行勒索软件。
最后,为了掩盖踪迹,攻击者使用SDelete,这是一款命令行工具,用于不可恢复地删除文件。让我们总结从所有三份报告的分析中获得的结果。
Egregor的操作员通过钓鱼邮件感染目标主机,或者通过漏洞VPN获得初步访问权。
Egregor的操作员使用各种持久化机制,包括启动文件夹、系统注册表的Run键和计划任务。
为了收集受感染网络和Active Directory的信息,Egregor的操作员使用了ADFind、SharpHound和SoftPerfect Network Scanner。
在后期利用阶段,使用了Cobalt Strike。
为了横向移动,使用了RDP。
为了执行命令和脚本,包括部署勒索软件,Egregor的操作员使用了PsExec。
为了禁用防病毒软件,使用了组策略和PowerTool;为了移除SCEP,使用了scepinstall.exe。
通过AnyDesk和SupRemo,Egregor的操作员保持对受感染网络的访问。
通过Rclone和MEGA Desktop App以及各种云服务进行数据盗窃。
为了部署勒索软件,Egregor相关人员使用了BITS、PowerShell、共享网络资源和rundll32。
如您所见,从不同网络安全公司的报告分析中可以获得许多关于勒索软件操作员活动的有价值信息,这些信息可以用来提高和加速事件响应。
接下来我们将讨论如何从网络安全社区获得CTI。
社区
全球有成千上万的事件响应专家,当然,其中一些人愿意分享工作中获得的数据。我们已经讨论了威胁研究报告,但通常制作这些报告需要相当长的时间。因此,响应专家通常使用其他平台,简要介绍他们学到的新知识。最流行的媒体平台之一是Twitter。
如果您遇到勒索软件攻击并已经确定了勒索软件的类型,您可以在Twitter上找到很多关于攻击者及其TTP的信息。最重要的是理解攻击者。通常,勒索软件操作员在攻击生命周期的特定阶段使用特定的工具和流程。
让我们从勒索软件RagnarLocker开始,看看Sophos公司事件响应总监Peter Mackenzie的以下推文(图6.1):Twitter链接。
从这条推文中我们可以了解到什么?首先,我们看到RagnarLocker相关的攻击者可能使用ProxyLogon(常见漏洞和暴露,CVE-2021-26855)来获得对目标的初步访问权限。ProxyLogon是Microsoft Exchange Server中的一个漏洞,允许攻击者绕过身份验证并冒充管理员。
为了收集内部网络信息,RagnarLocker的操作员使用了Advanced IP Scanner,这是Famatech Corp开发的一款免费的网络扫描器,在各种RaaS(勒索软件即服务)用户中相当受欢迎。
![](https://zgao.top/wp-content/uploads/2024/06/img-31.png)
图6.1显示了RagnarLocker相关的信息。
像许多其他攻击者一样,RagnarLocker的合作伙伴在后期利用阶段广泛使用Cobalt Strike,包括横向移动(以及RDP)。为了将实例加载到远程主机上,攻击者使用了PaExec,这是Sysinternals的PsExec的开源替代品。
为了保持对受感染网络的备份访问,RagnarLocker的操作员使用了ScreenConnect,这是一款合法的远程管理软件。攻击者可以利用这种软件访问受感染网络,即使该软件是为合法目的设计的。
攻击者使用WinRAR对收集到的机密数据进行压缩,并使用Handy Backup(一种商业备份解决方案)从目标主机中窃取数据。在数据外传阶段,攻击者经常使用压缩和密码保护,但可以通过多种线索来源检测到这些行为。
如您所见,即使是几条Twitter消息也可以获得许多有价值的信息。让我们看看同一作者的另一条推文(图6.2)。
![](https://zgao.top/wp-content/uploads/2024/06/img-32.jpg)
图6.2显示了DoppelPaymer相关的信息。
与RagnarLocker的攻击者一样,DoppelPaymer的操作员在后期利用中积极使用Cobalt Strike。
此外,我们看到攻击者利用Rubeus,这是一个相当流行的工具包,用于与Kerberos交互并对其进行攻击。
另一个攻击者用来确保备份访问的合法远程访问工具是TightVNC。
最后,DoppelPaymer的操作员通过RDP进行横向移动——这是一种非常常见的方法,被攻击者用来进行初步访问以及访问目标网络中的远程主机。
有趣的是,创建虚拟机(VM)以在其中运行勒索软件的方法。最初这种方法由Maze和RagnarLocker的合作伙伴尝试,但现在包括DoppelPaymer在内的其他团伙也在使用这种方法。
如图6.3所示,DoppelPaymer操作员有一个专门的数据泄露网站(DLS),用于存储被盗信息。根据分析来源,他们使用MediaFire存储数据。
如您所见,我们仅从一条推文中就能获得许多关于勒索软件攻击者的有价值的数据。
让我们看看Confiant威胁分析总监Taha Karim的另一条推文(图6.3)。
![](https://zgao.top/wp-content/uploads/2024/06/img-33.jpg)
图6.3显示了Clop相关的信息。
值得注意的是,这条推文发布的时间远早于关于Clop操作员TTP的任何信息公开时。
如推文所示,Clop的操作员使用钓鱼活动感染受害者的FlawedAmmyy RAT。FlawedAmmyy是一种常见的远程访问木马(RAT),通常与TA505有关。这个RAT基于Ammyy Admin源代码泄漏,允许攻击者秘密操纵被感染的主机。
我们已经知道,Cobalt Strike在攻击者中非常流行,Clop的用户也不例外。正如您所见,它允许攻击者绕过用户账户控制(UAC)并使用常见的凭证转储工具,如Mimikatz。尽管它会留下很多痕迹,勒索软件传播者仍然积极利用它。
最后,从推文可以看出,Clop的用户滥用服务控制管理器(SCM)在整个企业范围内部署勒索软件。
不幸的是,并不总是可以获得足够的信息来了解攻击者在攻击生命周期中使用的TTP。此外,可能需要有关勒索软件本身的信息。这里有一条Andrey Zhdanov的推文,他积极跟踪BlackMatter勒索软件的样本(图6.4)。
![](https://zgao.top/wp-content/uploads/2024/06/img-34.png)
图6.4显示了BlackMatter相关的信息。
如您所见,这条推文中关于TTP的信息不多,但有一个指向正在分析的样本的链接,以及一些关于其功能的信息。
Twitter并不是收集此类分析的唯一媒体平台:LinkedIn也是另一个有用的来源。此外,您可以随时请求事件响应专家和CTI分析师分享他们发现的数据,因此不要犹豫,参与到全球社区中。
让我们讨论一个更有趣的CTI来源——攻击者自己。
攻击者
如您所知,这本书是关于人类操纵的勒索软件攻击。我们的对手是人,而人们交流和分享信息,这通常发生在地下论坛上。
在本节中,我们将研究由Group-IB Threat Intelligence平台收集的论坛消息。
第一个帖子是由一个与REvil、LockBit等合作计划有关的攻击者FishEye创建的。
![](https://zgao.top/wp-content/uploads/2024/06/img-35.png)
图6.5显示了FishEye的帖子。
攻击者想要获得一个用于SonicWall VPN漏洞的有效利用工具。他写道,Conti勒索软件的操作员已经在他们的活动中使用了它。
很可能攻击者指的是SonicWall Secure Mobile Access(SMA)100系列产品中的漏洞(CVE-2021-20016)。此漏洞可以远程利用,允许犯罪分子访问凭证,通过这些凭证,他们可以进入内部网络并在后期利用阶段使用这些凭证。
接下来的帖子是由REvil的臭名昭著代表UNKN发布的(图6.6)。
![](https://zgao.top/wp-content/uploads/2024/06/img-36.png)
图6.6显示了UNKN的帖子。
该帖子邀请合作参与REvil的RaaS计划,并描述了对合作伙伴的要求。首先,我们看到潜在的参与者需要能够处理备份技术——网络附加存储(NAS)和磁带数据存储。
其次,攻击者指出,潜在的合作伙伴需要能够使用各种后期利用框架。以下是其中的一些:
- Metasploit Framework
- Cobalt Strike
- Koadic
此外,参与者还需要能够对Active Directory进行攻击,包括kerberoasting攻击,允许攻击者提取服务帐户的哈希并在离线环境中破解密码。
最后,由于许多现代企业网络使用虚拟化技术,参与者需要了解并能够攻击如Hyper-V等技术。
如您所见,在某些情况下,攻击者分享了大量有关其同伙潜在TTP的信息。他们还经常评论论坛上讨论的各种问题,例如,以下是LockBit勒索软件操作员LockBitSupp关于数据盗窃方法的评论(图6.7)。
![](https://zgao.top/wp-content/uploads/2024/06/img-37.png)
图6.7显示了LockBitSupp的帖子。
攻击者描述了一种流行的勒索软件操作员用来从受感染网络中盗取数据的方法。根据帖子的作者,犯罪分子通常使用Rclone和常见云存储提供商的帐户,如MEGA和pCloud。他还提到,一些RaaS程序提供了专用的数据盗窃工具(窃取者)。实际上,他是在为LockBit勒索软件用户提供的StealBit工具做广告。
另一个由同一攻击者发布的帖子涉及在企业范围内禁用防病毒软件(图6.8)。
![](https://zgao.top/wp-content/uploads/2024/06/img-38.png)
图6.8显示了LockBitSupp的帖子。
滥用组策略对象(GPO)不仅用于禁用安全产品,这也是在企业范围内执行各种脚本的广泛方法。值得注意的是,LockBit勒索软件本身内置了滥用组策略对象在企业网络中传播其副本的功能。
最后一个我们要讨论的帖子是由一个名为uhodiransomwar的LockBit勒索软件用户发布的(图6.9)。
![](https://zgao.top/wp-content/uploads/2024/06/img-39.png)
图6.9显示了uhodiransomwar的帖子。
在这次对话中,攻击者分享了一份已受感染的Pulse Secure VPN服务器列表,其他黑客可以利用这些服务器获得对网络的初步访问权。很可能这些服务器容易受到CVE-2019-11510漏洞的攻击,这使得攻击者可以使用任意文件读取方法获得有效凭证。
如您所见,确实有许多收集有用CTI的机会,这些CTI可以显著简化您处理勒索软件相关事件响应的工作。
结论
在本章中,我们讨论了与勒索软件相关的各种CTI来源。我们分析了几份公开报告,并提取了有价值的数据,使我们能够重构攻击生命周期的各个部分并将其转化为CTI。
我们学会了如何分析社交媒体,以获取网络安全社区成员分享的威胁信息。
最后,我们研究了地下论坛,了解了如何直接从我们的对手——勒索软件操作员那里获取CTI。
现在,您已经了解了许多关于人类操纵的勒索软件攻击,并且对这些攻击的发生有了清晰的认识,您已经准备好深入调查过程。
在下一章中,我们将讨论主要的数字取证来源,这些来源使事件响应团队能够重构勒索软件攻击并确定在其生命周期内所做的具体事情。
第7章 数字取证证据及其主要来源
您已经了解了很多关于人为操作的勒索软件攻击的知识——包括攻击者使用的最常见策略、技术和程序(TTP),以及通过收集有用的网络威胁情报来加速事件调查的方式。现在,是时候集中注意力于调查过程本身了。
您可能听说过洛卡德交换原则,但我还是要提醒一下:犯罪者总会在犯罪现场留下痕迹,并带走一些东西。这些痕迹都可以用作证据。
这听起来很熟悉,不是吗?勒索软件使用者在犯罪现场留下他们的工具,包括勒索软件本身,通常还会带走大量机密数据。
我们已经知道,勒索软件攻击的生命周期相当复杂。但如何确定攻击者在不同阶段使用了哪些方法呢?答案是使用数字取证方法!
在本章中,我们将讨论各种数字取证证据的来源,这些证据可以帮助事件响应团队重建勒索软件攻击的过程。数字取证可以发现和重建数据,从而缓解网络攻击的后果或降低相关风险。
我们将重点关注以下来源:
- 收集和分析易失性内存
- 收集非易失性内存数据
- 主文件表
- 预取文件(prefetch文件)
- 快捷方式(LNK文件)
- 跳转列表
- 系统资源使用监视器
- 网络浏览器
- Windows注册表
- Windows事件日志
- 其他日志
收集和分析易失性内存
由于许多攻击者使用现成的工具——即目标基础设施中已有的工具,分析易失性内存有助于找到关键痕迹,这些痕迹对于事件响应专家正确重建入侵方法至关重要。否则,攻击者可能会逃过安全团队的视线。
由于易失性数据通常存储在设备的随机存取存储器(RAM)中,提取这些数据通常采用创建内存转储的方法。
有许多工具可以用来转储易失性内存。以下是其中的一些:
注意:切勿将数据收集工具和获取的内存转储文件复制到相同的设备上。请使用外部硬盘或网络资源。为什么?因为您可能会意外覆盖潜在的数字痕迹来源!
![](https://zgao.top/wp-content/uploads/2024/06/img-40.png)
图7.1展示了使用AccessData FTK Imager进行内存捕获的示例。
最流行的内存转储分析工具是Volatility,这是一款开源平台,用于内存转储的取证调查。撰写本书时,这款工具有两个版本:
两个版本都需要至少一些命令行操作技能,但由于有清晰的说明,学习使用它们并不难。
如果您不喜欢命令行,可以试试PassMark的Volatility Workbench——这是Volatility的图形用户界面(GUI)。
![](https://zgao.top/wp-content/uploads/2024/06/img-41-1024x647.png)
图7.2展示了通过PassMark Volatility Workbench启动Volatility插件的过程。
内存转储分析有助于发现许多与攻击相关的证据,这些证据随后可以作为企业范围内威胁检测的重要妥协指标(IoC)。
PassMark Volatility Workbench有针对Volatility 2和Volatility 3的版本。两个版本都可以从这里下载。
内存转储并不总是最好的分析方法。您可能不知道需要检查哪些主机,而分析数百台机器的内存转储是一项耗时且低效的策略。
有些工具允许事件响应专家进行实时分析。例如,Process Hacker是一款广受攻击者欢迎的工具,也可以被防御者使用。它允许检查易失性内存数据,包括运行的进程、它们的命令行以及网络连接等。这仅仅是其功能的一部分。图7.3展示了使用Process Hacker进行实时分析的示例。
![](https://zgao.top/wp-content/uploads/2024/06/img-42.png)
图7.3展示了使用Process Hacker检查运行的进程。
Process Hacker可以从这里下载。有趣的是,易失性内存痕迹不仅可以在内存转储中找到。有些系统文件也包含内存残留:
pagefile.sys
——此文件位于系统盘根目录(通常为C:\),用于存储当前未使用的内存页面块,也称为交换文件或虚拟内存。尽管无法使用Volatility分析此文件,但有其他工具可以,例如page_brute。hiberfil.sys
——Windows休眠模式文件,也存储在系统盘根目录中,用于在休眠期间保存机器的状态。此文件可以使用Volatility插件imagecopy进行转换,然后像普通内存转储一样进行分析。
我们将返回讨论文件系统证据及其如何帮助我们调查勒索软件攻击。但首先,我们需要学习如何收集非易失性内存数据——即系统关闭时可访问的数据。
收集非易失性内存数据
在深入研究各种非易失性内存数据来源之前,让我们了解如何获取这些数据。您可能听说过取证镜像——这是数字存储设备的位拷贝。有时我们仍然创建这种镜像,例如,用于第一个被攻破的主机,因为上面可能留有许多与攻击者活动相关的各种证据。可以使用AccessData FTK Imager创建这些镜像。
但是,被攻破的主机可能相当多,每个系统都进行克隆是一项繁重的任务。在这种情况下,您可以创建选择性镜像——它将包含一系列文件以及一些额外的数据,例如网络连接信息。
![](https://zgao.top/wp-content/uploads/2024/06/img-43.png)
图7.4展示了使用AccessData FTK Imager创建镜像的示例。
Live Response Collection(下载链接)是Brian Moran开发的一款收集初始数据的好工具。
![](https://zgao.top/wp-content/uploads/2024/06/img-44.png)
图7.5展示了使用Live Response Collection创建初始处理镜像的示例。
有趣的是,该工具不仅可以收集初始数据,还可以复制内存,甚至创建完整的镜像。请记住,应从外部硬盘或网络资源运行这些工具。
如果您需要更有针对性地操作,可以使用Kroll Artifact Parser and Extractor(KAPE),它允许事件响应专家执行高度聚焦和紧凑的数据收集。它有图形界面和命令行版本(图7.6),可在整个企业范围内使用。
此外,KAPE不仅用于数据收集,还可用于自动化处理数据。还有一些代理解决方案,包括开源的,能够实时收集数据。一个好的例子是Velociraptor。
![](https://zgao.top/wp-content/uploads/2024/06/img-45-1024x621.png)
图7.6展示了使用KAPE进行有针对性的数据收集。
许多EDR/XDR解决方案也允许收集取证证据。下图展示了Group-IB Managed XDR框架的数据收集参数。
EDR/XDR解决方案本身就是非常有价值的取证证据来源,因为它们不断收集有关运行进程、网络连接、文件和注册表更改等信息。正如您所见,有相当多的选项可以收集易失性和非易失性数据。现在,让我们研究各种数字取证证据的来源。
![](https://zgao.top/wp-content/uploads/2024/06/img-46.png)
图7.7展示了Group-IB Managed XDR框架的数据收集参数。
主文件表
文件系统包含许多不同的证据,可以帮助进行调查。Windows注册表和各种日志也属于文件系统,但它们相当复杂,我们将单独讨论它们。
您在调查勒索软件攻击时最常遇到的文件系统类型是新技术文件系统(NTFS)。目前,这是Windows操作系统中最常见的文件系统——正如您已经知道的那样,这是勒索软件使用者的主要目标。尽管对Linux系统的兴趣有所增加,但攻击者通常通过入侵Windows基础设施来接触这些系统,因此我们将重点放在这个操作系统上。
作为事件响应专家,我们首先关心的是元数据分析,因此让我们研究NTFS的一个主要组件——主文件表(MFT)。它包含有关文件名称、位置、大小和时间戳的信息。我们可以使用从MFT提取的信息来构建时间线,这有助于我们恢复攻击者创建和使用的文件信息。
这些信息可以从元文件$MFT中提取。包括$MFT在内的元文件可以使用各种数字取证工具提取。一个示例工具是AccessData FTK Imager。
![](https://zgao.top/wp-content/uploads/2024/06/img-47.png)
图7.8展示了AccessData FTK Imager中显示的$MFT和其他NTFS元文件。
我不会让您疲于了解NTFS的内部结构——关于这个主题有很多优秀的资源,例如Brian Carrier的《文件系统取证分析》 。
提取$MFT元文件后怎么做?可以直接查看它,或者先解析它,然后分析提取的数据。
我会引用2019年“年度计算机取证专家”得主和SANS讲师Eric Zimmerman及其著名的免费数字取证工具包。这些工具可以从这里获取。
如果您更喜欢直接查看$MFT,可以使用MFTExplorer。不幸的是,这类查看工具速度不快,因此我建议先解析元文件。为此,有一个单独的工具——MFTECmd。使用它,您可以将$MFT中的数据转换为易于读取的逗号分隔值(CSV)文件,您可以使用您喜欢的工具(如Microsoft Excel)进行分析。
另一个在Eric Zimmerman工具包中提供的工具是Timeline Explorer。以下是通过Timeline Explorer分析的$MFT文件的示例。
![](https://zgao.top/wp-content/uploads/2024/06/img-48-1024x667.png)
图7.9展示了通过Timeline Explorer打开的已分析$MFT文件。
Timeline Explorer允许您选择要重点关注的列。它还具有方便的过滤功能,使您能够轻松排除不需要的内容。在Windows操作系统中,有许多对事件响应专家有用的证据来源。让我们从有助于收集执行痕迹的来源开始,首先讨论预取文件。
预取文件
预取文件位于C:\Windows\Prefetch文件夹中,用于通过预加载常用应用程序的代码来提高系统性能。
这些文件的扩展名为.pf,包含程序执行的时间戳和执行次数,以及与可执行文件交互的文件夹和文件列表。预取文件可以使用PECmd进行分析。
![](https://zgao.top/wp-content/uploads/2024/06/img-49.png)
图7.10展示了PECmd的一部分输出。
当然,预取文件不是唯一的程序执行痕迹来源,其他来源将在“Windows注册表”和“Windows事件日志”部分讨论。现在让我们来看看文件访问的证据——LNK文件和跳转列表。
LNK文件
LNK文件(或“快捷方式”)在用户(或攻击者)打开本地或远程文件时由Windows操作系统自动创建。可以在以下位置找到这些文件:
- C:%USERPROFILE%\AppData\Roaming\Microsoft\Windows\Recent\
- C:%USERPROFILE%\AppData\Roaming\Microsoft\Office\Recent\
这些文件包含LNK文件本身和其指向的文件(即被打开的文件,可能已经被删除)的时间戳等数据。
存在一个工具可以解析这些文件——LECmd。
![](https://zgao.top/wp-content/uploads/2024/06/img-50.png)
图7.11展示了LECmd的一部分输出。
屏幕截图显示了攻击者使用一种非常常见的凭证获取方法进行LSASS转储的证据。让我们来看看另一个与文件系统相关的类似数字取证证据来源——跳转列表。
跳转列表
跳转列表是Windows任务栏的一个功能,允许用户查看最近使用的项目列表。事件响应专家可以利用这一功能来研究最近访问的文件列表。
这些文件可以在以下文件夹中找到:
- C:%USERPROFILE%\AppData\Roaming\Microsoft\Windows\Recent\AutomaticDestinations
存在一个图形界面工具可以查看这些文件的内容——JumpList Explorer。
如图7.12所示,跳转列表不仅包含文件信息,还包含例如通过RDP访问的主机信息。这在跟踪网络中的横向移动时非常有用。
![](https://zgao.top/wp-content/uploads/2024/06/img-51.jpg)
图7.12展示了通过JumpList Explorer查看跳转列表的过程。
让我们来看看数据盗窃调查工具之一——系统资源使用监视器(SRUM)。
系统资源使用监视器
Windows使用该功能来监视系统性能,有助于事件响应专家获取每小时每个应用程序发送/接收的数据量,这在调查数据盗窃时至关重要。
SRUM数据的数据库位于C:\Windows\System32\SRU文件夹中。
您还可能需要C:\Windows\System32\config文件夹中的SOFTWARE注册表节文件来进行正确的数据分析。
两个文件都可以使用SrumECmd进行处理。生成的文件可以通过Timeline Explorer查看(图7.13)。
![](https://zgao.top/wp-content/uploads/2024/06/img-52.jpg)
图7.13展示了通过Timeline Explorer查看已分析的SRUM数据。
攻击者还使用什么工具来窃取数据和复制工具?当然是网络浏览器!
网络浏览器
网络浏览器广泛用于普通用户,他们可能成为目标钓鱼攻击的受害者,也被攻击者用来下载额外的工具和窃取数据。
让我们关注三个主要浏览器——Microsoft Edge、Google Chrome和Mozilla Firefox。
与浏览器相关的主要证据来源是浏览历史。其分析可以揭示攻击者下载工具的来源或他们存放数据的位置。这些数据通常存储在SQLite数据库中,可以在以下位置找到:
- Microsoft Edge:C:\Users%USERNAME%\AppData\Local\Microsoft\Edge\User Data\Default\History
- Google Chrome:C:\Users%USERNAME%\AppData\Local\Google\Chrome\User Data\Default\History
- Mozilla Firefox:C:\Users%USERNAME%\AppData\Roaming\Mozilla\Firefox\Profiles<random text>.default\places.sqlite
SQLite数据库可以手动分析,例如使用DB Browser for SQLite(下载链接),或者使用专用的浏览器取证工具,例如BrowsingHistoryView(下载链接)。
![](https://zgao.top/wp-content/uploads/2024/06/img-53.png)
图7.14展示了通过BrowsingHistoryView分析网络搜索历史的过程。
有用的取证证据还包括Cookie文件和缓存。
Cookie文件允许网络浏览器跟踪和保存每个用户会话的信息,包括访问的网站。这些信息也存储在SQLite数据库中:
- Microsoft Edge:C:\Users%USERNAME%\AppData\Local\Microsoft\Edge\User Data\Default\Cookies
- Google Chrome:C:\Users%USERNAME%\AppData\Local\Google\Chrome\User Data\Default\Cookies
- Mozilla Firefox:C:\Users%USERNAME%\AppData\Roaming\Mozilla\Firefox\Profiles<random text>.default\cookies.sqlite
另一个与浏览器相关的证据是其缓存,即本地保存的网页组件,以便下次访问时更快加载。
以下是不同浏览器缓存文件的位置:
- Microsoft Edge:C:\Users%USERNAME%\AppData\Local\Microsoft\Edge\User Data\Default\Cache
- Google Chrome:C:\Users%USERNAME%\AppData\Local\Google\Chrome\User Data\Default\Cache
- Mozilla Firefox:C:\Users%USERNAME%\AppData\Roaming\Mozilla\Firefox\Profiles<random text>.default\Cache
有几个工具可以解释缓存文件中存储的数据。一些工具包括ChromeCacheView(下载链接)和MozillaCacheView(下载链接),但也有其他工具。
另一个数字证据来源是Windows注册表。
Windows注册表
Windows注册表是一个分层数据库,存储了各种配置参数以及重要的程序启动和用户活动信息。
注册表文件的位置如下:
- SAM、SYSTEM和SOFTWARE文件位于C:\Windows\System32\config文件夹中。
- NTUSER.DAT和USRCLASS.DAT文件是每个用户特有的,NTUSER.DAT位于C:\Users%USERNAME%文件夹中,USRCLASS.DAT位于C:\Users%USERNAME%\AppData\Local\Microsoft\Windows文件夹中。
- Amcache.hve文件位于C:\Windows\AppCompat\Programs文件夹中。
- Syscache.hve文件位于C:\System Volume Information文件夹中。它仅在Windows 7和Windows Server 2008 R2中存在,但可能非常有用,因为它包含已执行的二进制文件的SHA1哈希值。
现在让我们来看一下分析Windows注册表文件时可以找到的最常见的证据来源:
- UserAssist(NTUSER.DAT\Software\Microsoft\Windows\Currentversion\Explorer\UserAssist{GUID}\Count)包含用户启动的图形界面程序的信息,包括启动次数、最后执行的日期和时间。
- ShimCache(SYSTEM\CurrentControlSet\Control\Session Manager\AppCompatCache)包含执行的程序信息,包括其路径、大小和最后修改日期。
- Amcache(Amcache.hve\Root\File{Volume GUID}#######)包含执行程序的信息,包括其路径、SHA1哈希和首次执行的时间戳。
当然,程序启动痕迹并不是可以从Windows注册表中提取的唯一数字证据。另一个重要的证据类型是最近使用的文件和文件夹的痕迹。让我们来看一下最常见的:
- 最近使用的文件(Most Recently Used,MRU)(NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\LastVisitedPidlMRU)包含基于文件扩展名的最近使用文件列表。
- 最近的文件(Recent files)(NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs)是另一个包含最近使用文件信息的来源。
- Shell bags(USRCLASS.DAT\Local Settings\Software\Microsoft\Windows\Shell\Bags)包含最近使用文件夹的列表,包括网络共享资源和可移动设备。
这些仅是可以在Windows注册表中找到的有价值证据的一些例子。其他例子包括系统持久化机制、远程访问痕迹等。
有多种方法可以分析注册表。可以手动分析,重点是基于现有的妥协指标进行关键字搜索。例如,您可以使用Registry Explorer(下载链接)——这是Eric Zimmerman开发的另一个有用工具,它允许您查看提取的注册表文件和当前注册表,包括已删除的键和值。
我推荐这个工具进行手动分析,但它也提供许多用于自动分析常见证据的插件。
![](https://zgao.top/wp-content/uploads/2024/06/img-54-1024x388.png)
图7.15展示了在Registry Explorer中打开的正在运行系统中的SYSTEM注册表文件。
另一个优秀的注册表分析工具是Harlan Carvey的RegRipper(下载链接)。它有图形界面和命令行版本,以及用于分析注册表证据的各种插件。您还可以自己编写额外的插件。
下一个有价值的数字取证证据来源是Windows事件日志。
Windows事件日志
日志记录是Windows操作系统及其各种应用程序记录各种事件的内置机制。它也可以成为与勒索软件攻击相关证据的极有价值的来源。
有时,攻击者会删除这些日志以掩盖痕迹,这本身就可以作为主机已被入侵的可靠指示。
默认情况下,日志文件位于C:\Windows\System32\winevt\Logs文件夹中,扩展名为.evtx。
Windows事件日志也可以使用SIEM(确保记录正确的日志)或EDR/XDR解决方案进行收集。
![](https://zgao.top/wp-content/uploads/2024/06/img-55.png)
图7.16展示了AccessData FTK Imager中列出的Windows事件日志文件。
让我们看看一些常用的日志文件和事件ID。
安全日志
- 4624——成功登录系统。
- 4625——登录失败。
- 4720——用户帐户已创建。
- 4732——已将成员添加到支持安全的本地组。
系统日志
- 7045——系统已安装服务。
- 7040——服务启动类型已更改。
- 7036——服务已停止或启动。
Windows PowerShell
- 400——指示命令或会话的开始。
Microsoft-Windows-TerminalServices-LocalSessionManager/Operational
- 21——会话成功登录。
- 24——会话中断。
- 25——会话成功恢复。
警报
- 300——Microsoft Office创建的警报。
Microsoft-Windows-TaskScheduler/Operational
- 106——已创建计划任务。
- 200——计划任务已启动。
- 201——计划任务已完成。
Microsoft-Windows-Windows-Defender/Operational
- 1117——恶意软件保护平台已采取措施保护您的系统免受恶意或其他不需要的软件的侵害。
这不是一个详尽的列表,但我们可以看到其中有很多有用的事件,可以帮助事件响应。
发生在Windows环境中的事件不仅记录在Windows事件日志中,还有其他日志也可能对我们有用。
其他日志
最后,让我们列出一些可能在您的调查中起关键作用的其他日志。
防病毒软件日志
正如您所知,勒索软件操作员可能会使用许多工具——这意味着其中一些工具会被防病毒软件检测到。防病毒软件日志可能非常有用。
防火墙日志
这些日志可以成为网络连接的宝贵信息来源,包括入侵尝试。这是极其宝贵的取证数据来源,尤其是当数据保存时间较长且您有一些网络妥协指标时。
VPN日志
VPN是访问网络的热门初始向量之一,因此VPN日志也可能揭示一些关于攻击者网络基础设施的信息。进行GeoIP(地理位置)分析非常有用——您可能会发现来自与公司无关国家的连接。
代理服务器日志
如果您有网络指标或想要跟踪异常事件,请检查代理服务器是否可用。
Web服务器日志
如果您怀疑勒索软件操作员使用Web Shell进行初始持久化,请确保检查Web服务器日志。
邮件服务器日志
邮件服务器也可能存在漏洞:回想一下Conti组织使用ProxyLogon获取初始访问权。这就是为什么邮件服务器日志可能非常有用的原因。
现在,您对各种数字取证证据来源有了更好的了解,并准备好进行最有趣的部分——调查。
结论
在本章中,我们讨论了最常见的数字取证证据来源,这些证据可以帮助事件响应团队调查勒索软件攻击。
我们研究了文件系统中最受欢迎的证据来源、注册表、各种日志,并了解了如何从易失性和非易失性内存中提取数据以及如何将收集的数据转换为便于深入取证分析的格式。
现在,您已准备好进行更实际的任务——根据各种数字取证证据重建实际的勒索软件攻击。
在下一章中,我们将讨论几种初始访问场景,并利用所获得的知识来理解攻击者如何获得初始访问权限并进行后期利用。
第8章 初始访问方法
在第7章中,我们讨论了在Windows操作系统中可用的各种数字取证证据来源。现在是时候分析具体示例,了解如何使用这些证据来重建勒索软件攻击的生命周期了。
让我们从最常见的初始访问方法的痕迹开始——滥用外部远程访问服务和钓鱼攻击。
攻击外部远程访问服务,特别是公共RDP服务器,是极其流行的。超过50%的成功攻击是通过暴力破解这些服务器开始的。
钓鱼攻击也是如此——勒索软件攻击的前兆通常是通过电子邮件和社交网络大量传播的各种机器人。
在本章中,我们将基于真实攻击场景讨论两个案例。我们将讨论以下主题:
- 收集证据以调查外部远程访问服务的攻击
- 调查暴力破解RDP攻击
- 收集证据以调查钓鱼攻击
- 调查钓鱼攻击
收集证据以调查外部远程访问服务的攻击
为了确定初始攻击向量,首先需要收集相关数据。通常,我的团队已经根据观察到的攻击者行为,列出了一份可能的入侵方法简要清单。事实上,在实际调查中,我们通常在分析结束时才会弄清楚使用的初始访问方法,因为通常需要从一个被加密的主机和消除后果开始调查。但是在本章和接下来的章节中,我们将一步步寻找证据,仿佛我们在追踪勒索软件攻击的生命周期从头到尾。在实际调查中,您也可以按照相反的顺序执行相同的分析步骤。
在许多与勒索软件相关的事件中,受害者没有安装高级安全产品,因此我们将专注于几乎总是可用的方法和证据。
分析外部远程访问服务的滥用通常包括日志分析。这些日志可能是防火墙日志、VPN日志或最常见的Windows事件日志,特别是涉及RDP攻击时。
有趣的是,在许多情况下,当我们几乎确定攻击始于公共RDP服务器的入侵时,客户的IT团队会试图说服我们该组织没有这样的服务器——尽管防火墙规则明显表明存在或最近存在这样的服务器(规则刚刚被删除)。有时IT团队想让您的工作变得更困难并隐藏证据,因为在许多事件中,人为因素起着重要作用——那些使攻击成为可能的人不想被抓住。
由于我们决定专注于流行且更重要的是免费的工具,我们将使用KAPE来收集数据。
如果您已经确定了服务器,可以直接连接外部硬盘并运行KAPE的图形界面版本,选择感兴趣的对象并开始收集数据。
![](https://zgao.top/wp-content/uploads/2024/06/img-56.png)
图8.1展示了使用KAPE收集与RDP相关的Windows事件日志的过程。
如图8.1所示,KAPE中有一个预设配置,用于收集与RDP相关的日志。图8.2显示了该工具收集的具体日志文件。
通过这种方式,我们可以获得以下文件:
- System.evtx
- Security.evtx
- Microsoft-Windows-TerminalServices-LocalSessionManager%4Operational.evtx
- Microsoft-Windows-TerminalServices-RemoteConnectionManager%4Operational.evtx
![](https://zgao.top/wp-content/uploads/2024/06/img-57-1024x833.png)
图8.2展示了为EventLogs-RDP配置收集的Windows事件日志文件。
如果有多台服务器,或者您不确定选择哪台服务器,可以使用KAPE的命令行版本。例如,您可以将其放在共享网络磁盘上,并使用组策略同时从多台主机收集数据。
调查暴力破解RDP攻击
因此,我们使用KAPE从被认为通过暴力破解攻击入侵的服务器上获取了一些Windows事件日志文件进行进一步分析。让我们重点关注Security.evtx文件,因为它包含许多适合此类调查的记录。以下是两个对分析暴力破解RDP攻击有用的主要事件ID。
- 4624——成功登录系统
- 4625——登录失败
第二个事件有助于我们识别入侵尝试,第一个事件则显示成功登录的情况。
您可能需要一本事件ID参考手册,以了解在调查特定类型的事件时应关注的内容。
让我们查看收集的事件日志。首先检查是否存在ID为4625的事件。这里我要介绍另一个来自Eric Zimmerman收藏的工具——EvtxExplorer。您可以使用它来分析事件日志文件,并将数据保存为便于阅读的格式,例如CSV。生成的文件可以通过Timeline Explorer进行分析。
![](https://zgao.top/wp-content/uploads/2024/06/img-58-1024x704.png)
图8.3展示了通过EvtxExplorer提取的ID为4625的事件。
我们获得了196,378个ID为4625的事件——这意味着此服务器遭受了暴力破解密码的攻击。但攻击成功了吗?为了弄清楚这一点,我们需要查看ID为4624的事件(图8.4)。
![](https://zgao.top/wp-content/uploads/2024/06/img-59-1024x711.png)
图8.4展示了通过EvtxExplorer提取的ID为4624的事件。
这些事件很多,但我们需要专注于两件事:异常的连接来源和通过RDP(类型10)登录系统的情况。
如果按类型10进行过滤,只剩下两个事件。两个连接都来自同一个IP地址——185.191.32.164。让我们试着了解更多信息。
![](https://zgao.top/wp-content/uploads/2024/06/img-60.png)
图8.5展示了从Group-IB图表中获取的IP地址信息。
根据收集的信息,我们可以准确识别出恶意连接——来源位于俄罗斯,而这样的连接对该受害者来说完全不正常。
从日志中还可以获取更多信息,例如攻击者使用管理员帐户登录系统。具有如此常见名称的帐户通常成为暴力破解攻击的目标。
现在让我们寻找数据源,以研究另一种初始访问方法——钓鱼。
收集证据以调查钓鱼攻击
我们已经知道,像Emotet、Trickbot和IcedID这样的机器人是人为操作勒索软件攻击的常见前兆。通常,它们通过电子邮件附带的恶意Office文档传播。在大多数情况下,为了下载和运行木马,受害者需要启用宏。此外,攻击者还可能利用软件漏洞来实现这一点。
这些机器人通常用于进行基础侦察和为后期利用做准备,例如交付Cobalt Strike Beacon等工具。
我们已经使用了一些KAPE工具,现在让我们使用另一个工具——Live Response Collection。
这个工具更容易使用:只需从外部或网络硬盘运行它,并选择操作模式。
![](https://zgao.top/wp-content/uploads/2024/06/img-61.png)
图8.6展示了Live Response Collection的启动界面。
这次我们不仅需要收集包含各种证据来源的初始数据,还需要对易失性内存进行转储,以便使用Volatility Framework进行分析。
收集到的数据分为两个文件夹——ForensicImages和LiveResponseData。内存镜像位于ForensicImages文件夹中。现在我们准备进入分析阶段。
调查钓鱼攻击
要研究通过Live Response Collection获取的内存镜像,我们将使用Volatility 3。如我们在第5章《勒索软件团伙的战术、技术和程序》中记得的那样,恶意软件使用的最流行的方法之一是进程注入。让我们从最简单的开始,运行malfind插件来分析内存镜像。
![](https://zgao.top/wp-content/uploads/2024/06/img-62.png)
图8.7展示了malfind的部分输出。
这个插件有助于找到隐藏代码、注入代码和DLL形式的代码,因此非常有助于检测进程注入。
通过malfind,我们提取了一些证据,但最有趣的是与进程rundll32.exe相关的PID 9772。根据输出,这很可能是代码注入。通常,IT专家和初级安全分析师会忽略合法文件rundll32.exe,但它需要仔细检查,因为它经常成为攻击者的目标。
让我们继续,通过pstree插件检查进程树。
![](https://zgao.top/wp-content/uploads/2024/06/img-63-1024x214.png)
图8.8展示了pstree的部分结果。
这个插件以树状结构显示正在运行的进程。
现在我们获得了更多关于所讨论进程的信息——它有一个PID为5952的父进程。不幸的是,没有关于该PID进程的信息。但这不是问题——让我们从另一侧入手。我们可以使用cmdline插件收集每个进程的命令行参数信息。
![](https://zgao.top/wp-content/uploads/2024/06/img-64.png)
图8.9展示了cmdline的部分输出。
如您所见,rundll32.exe用于启动一个没有扩展名的文件dll,名称随机生成——jwkgphpq.euz。这非常可疑。此外,该文件位于一个随机命名的文件夹中,这是恶意活动的另一个常见特征。
现在我们几乎可以确定,rundll32.exe用于启动恶意文件。让我们尝试找出是否有可疑的网络连接。为提取此信息,我们需要netscan插件。
![](https://zgao.top/wp-content/uploads/2024/06/img-65.png)
图8.10展示了netscan的部分输出。
第一个可疑的IP地址是81.0.236.93。让我们使用Group-IB图表收集更多关于它的信息。
![](https://zgao.top/wp-content/uploads/2024/06/img-66.jpg)
图8.11展示了Group-IB图表中的可疑IP地址。
如您所见,这个IP地址与许多恶意文件有关。单击其中一个文件,我们可以获取更多详细信息。能够转换视角并关联证据是调查事件的重要技能。
![](https://zgao.top/wp-content/uploads/2024/06/img-67.png)
图8.12展示了Group-IB图表中的恶意文件信息。
我们找到了一个DLL文件,其名称与我们先前发现的文件非常相似。这很可能是类似的恶意软件。
让我们深入一点——使用分析功能。现在我们不仅有一个网络指标,还有一个哈希值。此外,正如您在图8.12所见,该文件在VirusTotal上可用。让我们根据获得的哈希值找到它(图8.13)。
![](https://zgao.top/wp-content/uploads/2024/06/img-68-1024x537.png)
图8.13展示了VirusTotal上的恶意文件信息。
看起来是Emotet。尽管其操作员已被捕(参见第1章《现代勒索软件攻击的历史》),但在2021年11月,Emotet的基础设施开始恢复,许多公司再次面临其垃圾邮件活动。
尽管我们已经识别了恶意软件家族,但让我们进一步深入。例如,尝试从netscan中提取更多指标。如果查看输出,可以注意到另一个可疑的IP地址——163.172.50.82。该地址也与几个恶意文件有关。
![](https://zgao.top/wp-content/uploads/2024/06/img-69.jpg)
如图8.14所示。
![](https://zgao.top/wp-content/uploads/2024/06/img-70.png)
让我们详细查看其中一个文件(图8.15)。
如您所见,结果与前一个非常相似。让我们再次使用VirusTotal上的哈希值(图8.16)。
又是Emotet!我们通过内存取证分析获得的两个IP地址都与恶意活动有关。
现在让我们分析非易失性数据。Live Response Collection不仅让我们获得了内存镜像,还获取了许多我们在前一章讨论过的证据来源,例如预取文件。
我们已经知道我们正在处理Emotet。这种机器人通常通过带有恶意附件的钓鱼电子邮件传播,例如Microsoft Word文档或Excel电子表格。
![](https://zgao.top/wp-content/uploads/2024/06/img-71-1024x577.png)
图8.16展示了VirusTotal上的恶意文件信息。
如果查看收集的文件,很容易找到winword.exe的预取文件。让我们使用PECmd解析它,并检查其中的引用文件。
![](https://zgao.top/wp-content/uploads/2024/06/img-72-1024x295.png)
图8.17展示了PECmd的部分输出。
非常有趣——在Microsoft Outlook使用的临时文件夹中,有一个可疑的DOCM文件:受害者很可能通过电子邮件收到了它。
我们还看到用户名为CARPC,因此现在我们可以获取NTUSER.DAT注册表文件,并使用RegRipper提取与该用户相关的数据。
首先,分析存储最近打开文档信息的注册表键,我们看到可疑的DOCM文件是用户在2021年11月16日08:49:55(UTC)打开的。
另一个有趣的发现是Software\Microsoft\Windows\CurrentVersion\Run键中的jwkgphpq.euz值及其数据。
看起来很熟悉,不是吗?这是Emotet使用的系统持久化机制!
现在让我们查看事件日志。如我们所知,攻击者经常使用PowerShell从远程服务器下载文件,因此在调查钓鱼攻击时,一定要检查Windows PowerShell事件日志。
确实,在该日志中有一条有趣的记录。
这意味着什么?PowerShell被用来从前面列出的七个URL地址之一下载文件。程序被保存到C:\ProgramData文件夹中,并通过rundll32.exe启动。更重要的是,这一事件发生在打开可疑的DOCM文件之后。
总结一下:2021年11月16日08:49:55(UTC),用户CARPC打开了通过电子邮件收到的恶意文档FILE_24561806179285605525.docm。打开文档并启用受保护内容后,PowerShell启动以从远程服务器下载并启动Emotet。该机器人将自身复制到C:\Users\CARPC\AppData\Local\Iqnmqm\jwkgphpq.euz,并通过在Software\Microsoft\Windows\CurrentVersion\Run中记录路径来确保在受感染系统中持久存在。用于控制和管理的远程服务器IP地址为81.0.236.93和163.172.50.82。
结论
在本章中,我们讨论了勒索软件操作员使用的两种非常常见的初始访问方法——攻击外部远程访问服务和钓鱼。
正如您所见,在重建恶意行为时,可以依赖各种来源的证据——从易失性内存到Windows事件日志。此外,我们可以使用各种数据收集工具并对收集到的数据进行过滤。这一点非常重要,特别是在需要同时从多台主机收集和分析数据时。
当然,初始访问只是勒索软件攻击的开始,因此事件响应专家需要能够发现许多其他证据。
在下一章中,我们将重点讨论各种后期利用活动,例如网络侦察和凭证获取。
赞赏微信赞赏
支付宝赞赏
目前为止有一条评论