如何基于Office 365提供的日志等信息分析商业邮箱入侵事件

  • A+
所属分类:安全文章

如何基于Office 365提供的日志等信息分析商业邮箱入侵事件

由于商业电子邮件攻击(Business Email Compromises,BEC)的情况越来越严重,对于安全分析师来说,了解Office 365(O365)违规行为以及如何对其进行适当调查就变得越来越重要。这篇文章是为那些还没有接触过O365 BEC的人准备的,它提供了一个关于微软云productivity suite及其对研究人员有用的各种日志和数据源的解释。研究人员还将介绍在响应BEC时观察到的常见攻击者策略,并深入了解Mandiant管理的防御分析师如何使用PowerShell和FireEye Helix平台对客户进行这些调查。

随着越来越多的组织决定使用Microsoft的基于云的产品来满足他们的需求,对这些O365环境的未经授权的访问,或者以Microsoft的说法,租户对于有动机的攻击者越来越有利可图。当前O365的高使用率意味着攻击者将获得大量使用和滥用该平台的经验。自从研究人员首次观察到这些策略以来,许多策略在很大程度上保持不变,但研究人员也见证了技术的发展,这些技术甚至对安全意识较强的用户也很有效。

一般而言,研究人员把O365攻击分为两类:

· 商业电子邮件攻击(BEC);

· APT或国家赞助的入侵;

根据研究人员的经验,BEC对任何组织的O365租户都是常见的攻击。术语“BEC”通常是指出于经济动机的攻击者实施的一种欺诈。BEC参与者严重依赖社会工程来执行其计划,最终欺骗组织安全人员。

BEC的一个常见方案就是通过网络钓鱼的方式损害高管的账户,一旦受害者在不知情的情况下将他们的凭证输入到伪装成合法Office 365登录门户的web表单中,攻击者就会登录并指示组织中的其他人进行电汇,这可能是以即将进行的尚未公开的收购为幌子。然而,研究人员也观察到一些更有效的方案,攻击者会攻击那些管理财务状况的人,然后耐心地等待,直到电子邮件已经开始支付。攻击者利用这个机会,代表受害用户向另一个负责付款的受害者发送伪造的发票(有时是基于之前被盗的合法发票)。由于攻击者创建的Outlook邮箱规则,这些电子邮件通常对受到攻击的用户隐藏。

员工的个人财务状况也是攻击者的目标,攻击者已经观察到一些W-2诈骗的案例,其中攻击者向HR发送请求,从受害者的帐户中获取W-2信息。一旦获得这些个人身份信息,就会被用来进行税务欺诈。

相反,APT入侵通常更为复杂,由国家赞助的攻击参与者进行。APT参与者通常不是为了获得经济利益,而是出于间谍的目的,他们经常以数据盗窃或破坏目的向O365租户发起攻击。考虑到任何组织的O365租户中都包含丰富的敏感信息,APT参与者甚至不需要接触单个端点就可以完成其任务,从而避开了组织已经实现和投入的许多安全措施。

如何基于Office 365提供的日志等信息分析商业邮箱入侵事件
O365日志和数据源

在本节中,研究人员将接触到大量包含与O365调查相关的取证数据的日志和门户。

在研究人员开始调查O365案件之前,研究人员将获得一个“调查员”帐户,该帐户配备有获取研究人员所需的取证数据所需的权限。就本文而言,研究人员将快速列出帐户所需的权限配置,但是在进行主动的托管防御调查期间,指定的托管防御顾问将提供有关帐户配置的进一步指导。

调查者帐户至少应具有以下权限:

Exchange管理员权限:

· 仅查看审核日志

· 仅查看配置

· 仅查看收件人

· 邮箱搜索

· 邮件追踪

· 电子发现权限:

· 电子数据展示管理器权限

· Azure Active Directory权限

· 全球读者

如何基于Office 365提供的日志等信息分析商业邮箱入侵事件
统一审核日志(UAL)

统一审核日志记录了Office 365套件中各种应用程序的活动,可以视为O365的主要日志源。UAL中的条目以JSON格式存储。研究人员建议使用PowerShell cmdlet Search-UnifiedAuditLog来查询UAL,因为它可以提供更大的灵活性,尽管也可以从位于protection.office.com上的Office 365安全与合规中心获取它。为了利用此日志源和管理审核日志,请确保启用了审核日志搜索功能。

UAL具有一些需要考虑的细微差别,虽然它提供了各种O365应用程序活动的简要概述,但它不会记录全面的邮箱活动。为此,请获取邮箱审核日志。此外,UAL也有一些局限性,比如:

单个查询的结果限制为5000个结果;

仅保留90天的活动事件;

事件可能需要长达24小时才能被搜索到;

如何基于Office 365提供的日志等信息分析商业邮箱入侵事件
邮箱审核日志(MAL)

邮箱审核日志是Exchange Online的一部分,它将捕获针对邮箱中的对象执行的其他操作。因此,最好使用PowerShell cmdlet Search-MailboxAuditLog获取并分析每个受影响的用户帐户的MAL。请注意,默认情况下MAL中的条目将保留90天,并且时间戳将基于用户的本地时区。始终可以使用PowerShell cmdlet Set-Mailbox以及AuditLogAgeLimit参数来增加MAL的保留时间。

在撰写本文时,Microsoft最近发布了有关增强审核功能的信息,这些信息使调查人员可以洞悉攻击者访问了哪些电子邮件。常规用户帐户的此级别的日志记录仅适用于具有Office 365 E5订阅的组织。一旦启用了高级审核,邮件访问活动将记录在UAL和MAL中的MailItemsAccessed操作下。

如何基于Office 365提供的日志等信息分析商业邮箱入侵事件
管理员审核日志

如果启用了审核日志搜索功能,则此补充数据源将记录管理员执行的所有PowerShell管理cmdlet(包括命令行参数)。如果你怀疑管理员帐户遭到入侵,请不要忽略此日志!PowerShell cmdlet Search-AdminAuditLog用于查询这些日志,但请注意,必须启用审核日志搜索功能,并且将保留相同的90天保留期限。

如何基于Office 365提供的日志等信息分析商业邮箱入侵事件
Azure AD日志

可以从Azure Active Directory服务下的Azure门户(portal.azure.com)访问Azure AD日志。Azure AD登录日志包含有关身份验证发生方式和O365应用程序使用情况的详细信息。Azure AD审核日志也是有价值的信息来源,其中包含密码重置,帐户创建,权限修改,OAuth授予的记录,以及可能显示可疑活动的更多记录。请注意,Azure AD日志的有效期只有30天。

如何基于Office 365提供的日志等信息分析商业邮箱入侵事件
云应用安全门户

对于观察到OAuth滥用的情况,可以在Microsoft的Cloud App Security门户(portal.cloudappsecurity.com)中找到有关云应用程序的信息。访问此门户需要E5许可证或独立的Cloud App许可证。

如何基于Office 365提供的日志等信息分析商业邮箱入侵事件
消息日志

邮件跟踪记录用户发送和接收的电子邮件,在调查期间,运行任何感兴趣的电子邮件地址的报告。消息跟踪报告将包含详细的邮件流信息以及主题行、原始客户端IP地址和消息大小。邮件跟踪对于识别攻击者从受感染帐户发送的电子邮件非常有用,并且如果使用网络钓鱼进行初始访问,还可以帮助识别初始网络钓鱼电子邮件。要获取实际的电子邮件,请使用“内容搜索”工具。

Get-MessageTrace PowerShell cmdlet仅提供过去10天的活动,可以使用Get-HistoricalSearch cmdlet运行对较旧邮件的历史搜索(默认情况下,最长为90天),但是历史搜索通常需要几个小时才能获得报告,历史报告也可以在安全和合规中心内生成。

如何基于Office 365提供的日志等信息分析商业邮箱入侵事件
eDiscovery内容搜索

内容搜索工具允许调查人员查询Office 365租户中存储的电子邮件、文档和即时消息对话。研究人员经常运行内容搜索查询来查找和获取攻击者发送的电子邮件副本。内容搜索仅限于Microsoft索引的内容,因此近期活动可能不会立即出现。此外,预览窗格中将仅显示最新的1000个项目。

如何基于Office 365提供的日志等信息分析商业邮箱入侵事件
O365 BEC遭受攻击的过程

如前所述,对O365租户来说,BEC是当今托管防御中最常见的威胁。有时,Mandiant分析师会在同一周内对研究人员客户的几起BEC案件做出回应。借助这些实践经验,研究人员整理了一系列常用的策略和技巧,以就可能开展的活动类型向读者提供安全建议。请注意,这绝不是O365攻击的完整列表,而是关注研究人员看到的BEC参与者为实现其目标所采取的通常路线。

如何基于Office 365提供的日志等信息分析商业邮箱入侵事件
第一阶段:初始攻击

网络钓鱼:发送给受害者的带有证书获取表格链接的电子邮件,有时来自被攻击的商业伙伴的账户。

暴力破解:针对感兴趣帐户的大型密码字典。

密码喷雾:针对已知用户帐户列表的常用密码字典。

访问凭证转储:从用户先前的入侵中使用的有效凭证。

MFA绕过:使用邮件客户端利用遗留的身份验证协议(例如IMAP/POP),这些协议绕过了MFA策略。攻击者还可能通过反复尝试登录来向受害者发送垃圾邮件推送通知,最终导致受害者错误地接受提示。

如何基于Office 365提供的日志等信息分析商业邮箱入侵事件
第二阶段:建立攻击点

更多网络钓鱼:从Outlook的全局地址列表发送给内部/外部联系人的其他网络钓鱼诱饵。

更可信的诱饵:新的钓鱼诱饵被上传到受害用户的OneDrive或SharePoint帐户,并与受害者的同事分享。

SMTP转发:在受害者邮箱中启用SMTP转发,可将所有电子邮件转发到外部地址。

转发邮箱规则:为将全部或某些邮件转发到外部地址而创建的邮箱规则。

邮件客户端使用情况:攻击者使用的Outlook或第三方邮件客户端。密码重置后,邮件将继续同步一会儿。

如何基于Office 365提供的日志等信息分析商业邮箱入侵事件
第三阶段:逃避规则

逃避邮箱规则:为删除邮件或将部分或全部邮件移动到Outlook中不常用的文件夹(如“RSS订阅”)而创建的邮箱规则。

手动逃避:手动删除传入和发送的邮件,攻击者可能会完全放弃邮箱规则。

邮件转发:如果较早设置了将邮件转发到外部地址的机制,则攻击者无需登录即可访问电子邮件。

邮件客户端使用情况:攻击者使用的Outlook或第三方邮件客户端,邮件可以本地同步到攻击者的计算机上,以后再访问。

VPN使用:VPN服务器有时与受害者具有相似的地理位置,旨在避免检测并逃避有条件的访问策略。

如何基于Office 365提供的日志等信息分析商业邮箱入侵事件
第四阶段:内部侦察

Outlook搜索:攻击者向受害者的邮箱查询感兴趣的电子邮件,虽然没有记录在审计日志中,但如果攻击者没有删除它,则可以将其导出。

O365搜索:在SharePoint和其他O365应用程序中进行的感兴趣内容搜索。虽然未记录在审核日志中,但SharePoint和OneDrive文件交互记录在UAL中。

邮件客户端使用情况:攻击者使用的Outlook或第三方邮件客户端。邮件可以本地同步到攻击者的计算机上,以后再访问。

如何基于Office 365提供的日志等信息分析商业邮箱入侵事件
第五阶段:完成任务

直接存款更新:发送给人事部门以更新受害者的直接存款信息的请求,将付款重定向到BEC参与者。

W-2骗局:发送给人事部门的W-2表格请求,用于收集PII进行税务欺诈。

电汇:为未付发票、即将到来的并购、慈善机构等请求的电汇。

第三方帐户滥用:滥用受感染用户对第三方帐户和服务的特权访问,例如对公司奖励网站的访问。

如何基于Office 365提供的日志等信息分析商业邮箱入侵事件
托管防御如何响应O365 BEC

在本部分中,研究人员将逐步介绍托管防御如何调查一个典型的O365 BEC案例。

研究人员调查中的许多步骤都依赖于使用PowerShell查询日志,为此,首先建立到Exchange Online的远程PowerShell会话。以下Microsoft文档提供了两种方法:

· 使用基本身份验证连接到Exchange Online PowerShell

· 使用带有V2模块的现代身份验证的Exchange Online PowerShell

如何基于Office 365提供的日志等信息分析商业邮箱入侵事件

攻击范围广

研究人员通过对统一审计日志(UAL)进行可疑活动的广泛查询来开始调查,他们还将审查OAuth活动,如果有比财务动机的BEC更邪恶的怀疑,这一点尤其重要,研究人员可以利用任何可用的FireEye设备(例如FireEye Helix和电子邮件安全性)来增加Office 365提供给研究人员的数据,下面是我们通常在托管防御计划开始时运行的一些初始范围查询。

如何基于Office 365提供的日志等信息分析商业邮箱入侵事件
范围最近的邮箱规则活动

即使在大型租户中,撤回所有最近的邮箱规则活动通常也不会产生难以控制的结果,并且攻击者创建的规则往往会与其他噪音区分开来。

在Hel中查询UAL的所有邮箱规则活动:

class=ms_office365 action:[New-InboxRule, Set-InboxRule, Enable-InboxRule] | table [createdtime, action, username, srcipv4, srcregion, parameters, rawmsg]

在PowerShell中查询UAL以查找新的邮件规则:

Search-UnifiedAuditLog -StartDate (Get-Date).AddDays(-90) -EndDate (Get-Date) -ResultSize 5000 -Operations "New-InboxRule","Set-InboxRule","Enable-InboxRule" | Export-CSV pathtofile.csv –NoTypeInformation -Encoding utf8

如何基于Office 365提供的日志等信息分析商业邮箱入侵事件
确定SMTP转发活动的范围

SMTP转发有时会被忽略,因为它出现在一个独立于邮箱规则的UAL操作下。此查询查找包含通过SMTP转发邮件的参数的Set-Mailbox操作,这表明从OWA启用了自动转发。

在Helix中查询UAL以进行SMTP转发:

class=ms_office365 action=Set-Mailbox rawmsg:ForwardingSmtpAddress | table [createdtime, action, username, srcipv4, srcregion, parameters, rawmsg]

在PowerShell中查询UAL以进行SMTP转发:

Search-UnifiedAuditLog -StartDate (Get-Date).AddDays(-90) -EndDate (Get-Date) -ResultSize 5000 -FreeText "ForwardingSmtpAddress" | Export-CSV pathtofile.csv –NoTypeInformation -Encoding utf

如何基于Office 365提供的日志等信息分析商业邮箱入侵事件
分析泄露的用户日志

在确定租户的范围之后,研究人员将注意力转移到被认为参与攻击的个人用户身上。研究人员将为识别出的受感染用户获取所有相关的O365日志,包括用户的UAL,邮箱审核日志(MAL)和管理员审核日志(如果用户是管理员的话)。研究人员将检查这些日志中是否存在异常的帐户活动,并收集攻击者IP地址和User-Agents字符串的列表,研究人员将使用此列表进一步确定租户的范围。

O365调查严重依赖于异常检测。很多时候,BEC参与者甚至可能与用户同时处于活动状态。为了准确区分受感染帐户中的合法用户活动和攻击者活动,建议尽可能提取数据作为合法活动的参考。使用Helix查询来转换groupby <[srccountry,srcregion],groupby

在Helix中为用户查询UAL:

class=ms_office365 [email protected] | table [createdtime, action, username, srcipv4, srccountry, srcregion, useragent, rawmsg] | groupby < [srccountry,srcregion]

在PowerShell中为用户查询UAL:

Search-UnifiedAuditLog -StartDate mm/dd/yyyy -EndDate (Get-Date) -ResultSize 5000 [email protected] | Export-CSV pathtofile.csv –NoTypeInformation -Encoding utf8

在PowerShell中为用户查询MAL:

Search-MailboxAuditLog -Identity [email protected] -LogonTypes Owner,Delegate,Admin -ShowDetails -StartDate (Get-Date).AddDays(-90) -EndDate (Get-Date) | Export-CSV pathtofile.csv –NoTypeInformation -Encoding utf8

在PowerShell中查询管理员审核日志中特定日期内的所有事件:

Search-AdminAuditLog -StartDate mm/dd/yyyy -EndDate mm/dd/yyyy | Export-CSV pathtofile.csv –NoTypeInformation -Encoding utf8

如何基于Office 365提供的日志等信息分析商业邮箱入侵事件
用新线索查询UAL

现在,研究人员已经建立了可疑IP地址(甚至整个CIDR范围)和User-Agent字符串的列表,研究人员将针对整个UAL运行新查询,以尝试识别其他受到攻击的用户帐户。对于每个新标识的用户帐户,研究人员将重复此步骤和上一步。

与PowerShell相比,使用FireEye Helix平台的一个优势是研究人员可以查询整个CIDR范围。当研究人员观察到来自VPN或ISP的攻击者会在同一地址块内动态分配IP地址时,就会出现非常有意思的事情。

攻击者用户代理字符串的查询通常会产生比IP地址搜索更多的噪音,在实践中,用户代理查询只有在攻击者使用不常见的浏览器或浏览器版本时才有用。由于Search-UnifiedAuditLog cmdlet的限制,研究人员在使用FreeText参数并搜索简单字符串方面取得了巨大的成功。

在Helix中:

class=ms_office365 (srcipv4:[1.2.3.4, 2.3.4.0/24] OR useragent:Opera) | table [createdtime, action, username, srcipv4, srccountry, srcregion, useragent, rawmsg] | groupby username

在PowerShell中查询IP和用户代理的UAL:

Search-UnifiedAuditLog -StartDate mm/dd/yyyy -EndDate (Get-Date) -ResultSize 5000 -IPAddresses 1.2.3.4, 2.3.4.5 | Export-CSV pathtofile.csv –NoTypeInformation -Encoding utf8

Search-UnifiedAuditLog -StartDate mm/dd/yyyy -EndDate (Get-Date) -ResultSize 5000 -FreeText "Opera" | Export-CSV pathtofile.csv –NoTypeInformation -Encoding utf8

如何基于Office 365提供的日志等信息分析商业邮箱入侵事件
分析邮件跟踪

研究人员将使用PowerShell查询已发现的受感染用户的邮件跟踪,如果电子邮件是在过去10天内发送的,请使用Get-MessageTrace cmdlet,该cmdlet立即返回结果并允许攻击者查询IP地址。对于较旧的电子邮件,请使用Start-HistoricalSearch cmdlet。

查询受害者在PowerShell中发送的最近10天的邮件:

Get-MessageTrace -StartDate (Get-Date).AddDays(-10) -EndDate (Get-Date) [email protected] | Select-Object Received, SenderAddress, RecipientAddress, Subject, Status, FromIP, Size, MessageID | Export-CSV pathtofile.csv –NoTypeInformation -Encoding utf8

在PowerShell中查询较旧的电子邮件(最长90天):

Start-HistoricalSearch -ReportTitle "Mandiant O365 investigation" -StartDate mm/dd/yyyy -EndDate mm/dd/yyyy -ReportType MessageTraceDetail -SenderAddress [email protected]

在检查“邮件跟踪”结果时,应注意IP地址,以确定攻击者发送了哪些电子邮件。如果网络钓鱼是可疑的初始攻击媒介,那么最好查询第一个入侵日期之前几天内收到的传入邮件,并查找可疑的发件人地址或主题行。

如何基于Office 365提供的日志等信息分析商业邮箱入侵事件
获取感兴趣的电子邮件

通过从邮件跟踪中识别出的可疑电子邮件列表,研究人员将使用Office 365安全和合规中心提供的“内容搜索”工具来获取电子邮件正文,并了解在钓鱼诱饵中使用了哪些域(如果存在钓鱼)。内容搜索是通过使用直观的GUI执行的,结果可以在浏览器中预览,可以分别作为EML文件下载,也可以作为PST文件批量下载。

如何基于Office 365提供的日志等信息分析商业邮箱入侵事件
总结

未经授权访问O365租户不仅对组织构成攻击,而且对组织的员工和业务合作伙伴构成攻击,在O365中未增强安全性控制的组织面临BEC的最大风险。但是,随着多因素身份验证变得越来越普遍,研究人员已经看到越来越熟练的攻击者进行的MFA绕过尝试次数有所增加。

参考及来源:https://www.fireeye.com/blog/threat-research/2020/07/insights-into-office-365-attacks-and-how-managed-defense-investigates.html

如何基于Office 365提供的日志等信息分析商业邮箱入侵事件

如何基于Office 365提供的日志等信息分析商业邮箱入侵事件

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: