日志和文件集、其位置、格式和内容因应用程序而异。但是,对于大多数应用程序,您将可以访问包含服务或 API 访问、启动详细信息、应用程序访问、身份验证和授权的日志。例如,当分析Outlook Web Access ( OWA ) 时,您可以参考包含有关用户登录时间和所用 IP 地址的信息的访问日志。服务器上日志的位置可能因服务器配置而异,但通常它们存储在 Windows 事件日志中或专用位置。某些应用程序(例如 NetScaler)还允许使用图形界面导出日志。
自从恶意代码或恶意软件通常会被植入系统,如果成功利用,我们可以使用文件系统分析来找到它。最新版本的 Windows 和 Windows Server 的主要文件系统是新技术文件系统( NTFS )。此文件系统最重要的元素之一是位于在文件系统的根目录。此表包含有关系统上存储的所有文件的信息,包括它们的位置、大小、属性和时间戳。这意味着,如果在应用程序被利用时在系统上创建了任何文件,则有关它们的信息将包含在 $MFT 中。要以易于分析的形式从 $MFT 检索数据,您可以使用 Eric Zimmerman 开发的 EZ Tools 套件中的工具 - MFTECmd 和Timeline Explorer。
使用 MFTECmd 成功解析后,您可能会得到一个.csv文件,可以使用时间线资源管理器 GUI 工具查看该文件,如图5.1所示:
图5.1仅显示了输出信息的一部分。为了便于分析,以下列表给出了最有用的属性的描述:
父路径:父目录的路径
文件名:文件的名称,包括扩展名
扩展名:文件扩展名(如果有)
文件大小:文件的大小(以字节为单位)
Created0x10、Last Modified0x10、Last Record Change0x10、Last Access0x10:STANDARD_INFO时间戳,与文件内容相关
Created0x30、Last Modified0x30、Last Record Change0x30、Last Access0x30:FILE_NAME时间戳,与文件名称相关
ZoneIdContents:名为Zone.Identifier的备用数据流的内容,可用于分析区域 ID,有时还可分析文件来源——例如,检索文件的 URL 或提取文件的存档链接
笔记
一些威胁行为者可能会采用一种技术称为timestomping 的攻击会更改恶意文件的时间戳,使调查变得更加困难。分析 $MFT 是检测此技术的方法之一。为此,MFTECmd 在 $ MFT 解析期间添加了以下属性:
- SI<FN:检查STANDARD_INFO 创建或上次修改时间戳是否小于相应的FILE_NAME时间戳
- uSecZeros:检查除上次记录更改之外的STANDARD_INFO时间戳是否有亚秒精度的零
- 复制:检查STANDARD_INFO 修改时间戳是否小于STANDARD_INFO 创建时间戳
所有这些属性都可以识别具有修改时间戳的文件。
通过这种方式,$MFT 分析可以用来识别在利用漏洞时或获得初始访问权限后出现在服务器上的未知可疑文件,以及它们在系统上的位置。
如果先前发现的证据指向基于 RDP 的入侵,我们应该从零耐心主机或域控制器上的事件日志开始搜索。默认位置C:/Windows/System32/winevt/Logs中的以下日志和事件将主要在这里使用:
事件日志:Security.evtx
事件ID:4624
描述:登录成功。在事件详细信息中,您可以找到时间戳、用于登录系统的凭据以及远程IP 地址。
事件ID:4625
描述:登录失败。
数额巨大日志中此类事件可能表明存在暴力破解尝试。事件详细信息将包括时间戳、用于登录尝试的凭据以及远程IP 地址。
事件日志:Microsoft-Windows-TerminalServices-LocalSessionManager%4Operational.evtx
事件ID:21、25
描述:会话登录和会话重新连接成功。这两个事件都表示成功连接到主机,并在详细信息中包含时间戳、用户名和源 IP 地址。
笔记
由于Security.evtx中记录了大量事件,因此一开始就对其进行分析并不总是足够的。通常,您会在本地会话管理器操作日志中找到更多历史记录。
VPN 网关和远程管理工具的情况略有不同。根据安装的具体解决方案,您需要分析不同的文件和日志。好消息是,大多数这些工具都会保留已建立连接的日志。
例如,AnyDesk日志可以在位于C:Users<username>AppDataRoamingAnyDesk的ad.trace文件中找到。在此文件中,你可以找到有关应用程序本身的详细信息,包括连接中涉及的时间戳和 IP 地址,如图5.2所示:
什么时候分析安装在 VDI 上的外部远程服务时,方法将非常相似,因为持久虚拟桌面可以以与物理机器类似的方式处理。但是,对于非持久性机器,用户注销或重新启动进程后数据将丢失。在这种情况下,强烈建议重定向和单独存储潜在证据源。
例如,在早期的活动中,RedCurl 组织 ( https://www.group-ib.com/resources/research-hub/red-curl/ ) 在电子邮件中使用链接,进而导致合法云服务托管恶意软件。图5.3显示了这种方法的另一个示例。在这里,受害者收到一封电子邮件,其中附有指向恶意资源的.pdf文件托管链接:
最近,另一种网络钓鱼传播方式越来越流行——第三方服务,因为人们不太关注它们的安全性。此类服务包括即时通讯应用或流行的社交网络,如 LinkedIn 和 X(以前称为 Twitter)。使用第三方服务进行网络钓鱼的最显著例子是一个名为Operation Dream Job 的长期活动,该活动与 Lazarus Group 有关联(https://www.infosecinstitute.com/resources/malware-analysis/what-is-operation-dream-job-by-lazarus/)。在此行动中,威胁行为者伪装成跨国公司人力资源人员,联系目标公司的员工,寻求新的就业机会。社交媒体。在沟通过程中,威胁行为者会诱骗员工运行恶意应用程序,以进行虚假的技术任务或工作面试。
那么,我们如何才能找到零号病人身上是否还有钓鱼的痕迹?在这种情况下,我们应该考虑以下几点:
潜在的网络钓鱼传播方式- 电子邮件、即时通讯或其他服务
钓鱼目标——开场文档、下载并运行可执行文件、通过点击链接访问网络资源
这为我们提供了以下分析方法——检查浏览器历史记录、电子邮件代理、通讯文件和应用程序(如果相关),以及搜索可疑文档或从外部来源下载的文件。
首先要做的是找出主机上安装和使用的应用程序。如果研究是在收集分类的基础上进行的,您可以使用 Eric Zimmerman 的注册表资源管理器工具,在Windows 注册表中找到每个用户经常启动的应用程序列表:
文件:C:/Users/<用户名>/NTUSER.DAT
钥匙:
软件MicrosoftWindowsCurrentVersionExplorerUserAssist
图 5.4显示了注册表资源管理器中显示的UserAssist项的内容示例:
这这种方法不仅可以让您了解主机上正在使用哪些程序,还可以建立特定程序与用户之间的联系。尽量注意那些可能成为网络钓鱼传递渠道的程序。检查主机上是否存在特定程序的另一种方法是使用前面描述的 $MFT 详细信息,您可以使用关键字来确定是否存在与特定程序关联的文件,以及它们在磁盘和分类中的位置,如图5.5所示:
一次所用程序列表很清晰,您可以逐一进行分析。由于浏览器通常用于检查电子邮件和社交网络资料,以及点击链接和下载恶意软件,所以我们可以从它开始。
大多数现代浏览器将数据存储在 SQLite 格式的文件中。在此类文件中,您可以找到有关访问的资源和下载的内容的信息。每个浏览器都有自己的文件存储位置,但它们都与特定用户相关联并位于其主目录中。表 5.1总结了在撰写本文时流行的浏览器中最有用的文件的位置和描述:
微软Edge | |
C:Users<用户>AppDataLocalMicrosoftEdgeUser DataDefaultHistory | |
urls表包含访问过的资源的历史记录 | 下载表包含有关下载文件、其原始 URL 及其当前位置的信息 |
火狐浏览器 | |
C:Users<用户>AppDataRoamingMozillaFirefoxProfiles*.default*places.sqlite | |
moz_places表包含访问过的 URL的历史记录 | moz_annos表包含已下载文件及其当前位置的信息。可以通过moz_annos中的place_id值与moz_places中的id值的关联来识别原始 URL 。 |
谷歌浏览器 | |
C:Users<用户>AppDataLocalGoogleChromeUser Data<配置文件>History | |
urls表保存了访问过的资源的历史记录 | 下载表记录下载的文件、其原始 URL 以及它们在文件系统上的位置 |
表 5.1 – 流行浏览器和相关文件
所有文件列于该表均为SQLite 3数据库,可在任何数据库管理工具中直接打开,例如DB Browser for SQLite,其界面如图5.6所示:
笔记
表 5.1并未包含所有可用于调查的浏览器文件。我们特意跳过了本节中有关 cookie、缓存、自动填充数据等内容的讨论,以便集中精力快速找到初始入侵的痕迹,并将在后面的章节中再次讨论这些内容。
从数据库浏览器开始对于 SQLite 来说,它是一个通用工具,可以完全访问原始数据库内容。在使用浏览器时,这并不总是很方便,因为不同的浏览器可能会以不同的格式存储访问和下载的时间戳。因此,专家可能需要自己将时间戳转换为可读格式。为了避免这种情况,您可以使用 NirSoft 的工具 - BrowsingHistoryView和BrowserDownloadsView,它们支持各种浏览器并允许您快速获取所有必要的信息。
在分析访问历史时,我们可以集中精力搜索关键字——电子邮件和其他服务的名称,以及单词附件。在下载中,我们可以关注下载文件的 URL 以及下载的文件类型。如果检测到可疑文件,我们可以借助 $ MFT 分析检查它们是否存在于磁盘上。
在分析电子邮件代理时,我们可以做同样的事情——专注于查找带有附件或链接的电子邮件。例如,要分析内置的 Windows 邮件,可以使用以下位置:
C:Users<user>AppDataLocalCommsUnistoredata3 – 存储电子邮件正文的容器
C:Users<user>AppDataLocalCommsUnistoredata7 – 包含电子邮件附件的容器
C:Users<user>AppDataLocalCommsUnistoreDBstore.vol –可扩展存储引擎( ESE ) 数据库包含消息、联系人、会议、电子邮件附件、收件人数据
或者,在对于 Outlook,您可能对包含 Outlook 数据的 OST 和 PST 文件感兴趣,这些文件存储在C:Users<user>AppDataLocalMicrosoftOutlook下。
但是,在某些情况下,附件可能缓存在某个地方,而不是存储在上述位置。这就是为什么值得使用诸如mail、attachment、outlook等关键字分析 $MFT,以及检查区域 ID 内容值,尤其是 ZoneId 为 3 的值,这些值标识从不受信任的位置检索的文件。此方法也适用于从 Messenger 和其他服务下载的文件。
搜索驱动入侵的痕迹将涉及前面描述的多种技术。首先,由于该技术与浏览器直接相关,因此我们将关注用户访问的资源。为了更有效地搜索,我们可以使用威胁情报( TI ) 数据并应用已知的错误比较来识别可能受到损害的合法网站。
使用时这种技术,攻击者可能会专注于利用浏览器本身或已安装扩展中的漏洞,因此我们应该检查被分析的主机上安装了哪些扩展。浏览器通常将有关扩展的信息存储在单独的目录中:
浏览器:Microsoft Edge
扩展位置:C:Users<用户>AppDataLocalMicrosoftEdgeUser DataDefaultExtensions<扩展 id>
浏览器:Google Chrome
扩展位置:C:Users<用户>AppDataLocalGoogleChromeUser DataDefaultExtensions<扩展名 ID>
浏览器:Mozilla Firefox
扩展位置:C:Users<用户名>AppDataRoamingMozillaFirefoxProfiles*.default* extensions <扩展名 id>.xpi
这样,您不仅可以获得有关扩展安装的一般信息,还可以分析位于其各自文件夹中的源代码。在这里,您还可以找到manifest.json文件,任何扩展都必须在其根目录中包含该文件。此文件列出了有关该扩展的结构和行为的重要信息。
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...