1.前置环境

开源项目地址:该项目是将sysmon事件通过splunk app映射到ATT&CK上,可以快速的进行分析。 搭建过程中开始一直不出数据,这里记录搭建的过程。

https://github.com/olafhartong/ThreatHunting

https://github.com/olafhartong/sysmon-modular

环境:

Windows主机一台,已经安装splunk转发器

Linux 服务器一台,已经安装splunk

2.Windows 客户端配置

2.1安装sysmon

Sysmon下载:https://docs.microsoft.com/en-us/sysinternals/downloads/sysmon

规则文件下载(这个规则是这个项目配套的):

https://github.com/olafhartong/sysmon-modular/blob/master/sysmonconfig.xml

安装sysmon:sysmon.exe -accepteula -i sysmonconfig.xml

后续更新规则: sysmon.exe -c sysmonconfig.xml

验证:在事件查看器 应用程序和服务日志>Microsoft>Windows>Sysmon>Operational中可以看到事件日志。

image.png

2.2配置splunk采集

在以下路径配置文件中,配置采集内容(老外的视频是把sysmon,splunk服务端安装在一起,所以直接在splunk中选择即可,一般情况下都是要配置转发器)

C:\Program Files\SplunkUniversalForwarder\etc\apps\SplunkUniversalForwarder\default路径下的inputs.conf配置文件,配置如下内容:

[WinEventLog://Microsoft-Windows-Sysmon/Operational]

disabled = false

renderXml = false

index = windows

source = WinEventLog:Microsoft-Windows-Sysmon/Operational

如下图所示:(目的是为了采集Sysmon日志,并采集到splunk的windows索引中,指定source类型,不解析Xml。 这几行配置都很重要,跟后面的内容是一一对应的)

fba963aa22dffcdcfa003f42de602391.png

配置完成后,重启splunk, 到bin路径下执行splunk.exe restart

验证:在完成了3.3索引建立以后, 可以通过index=”windows”搜索数据,source一定要配对,不然关联不上数据

5c902f8f57c2efebc011011a6c2cbaa6.png

3.Linux服务端配置

3.1安装threathunting APP

在查找更多应用中搜索

3a2b579b41c7dfb6d196462b6505e36c.png

安装完成后会看到app出现在列表中

aaa21a7b4c78e80f08bceabc9401081c.png

3.2安装依赖APP,lookup文件

进入threathunting APP,点击关于>About this app,会看到一堆依赖的app和csv文件
59c93c3b1e363c15222019c08123ea86.png

需要安装的app:

Force Directed Visualisation App for Splunk

Link Analysis App for Splunk

Punchcard

Sankey Diagram

Timeline

到splunk的app管理中依次安装,其中Microsoft Sysmon Add-on可以不安装,老外的视频说根据经验装了会出问题。

上传白名单的csv文件:

文件下载路径:

https://github.com/olafhartong/ThreatHunting/raw/master/files/ThreatHunting.tar.gz

上传到安装splunk的服务器,解压到splunk/etc/apps/ThreatHunting/lookups路径下(根据你安装splunk的路径做调整)。

f79a0efd8729879a17f5c6aebfc789c0.png

验证:刷新页面,显示只有Microsoft Sysmon Add-on没安装

c93182397493cf4b153643b181ec1aa0.png

3.3建立索引

建立windows和threathunting索引, windows索引用来接收agent上来的原始数据,threathunting接收的是windows索引加工统计后的数据,这里比较不好理解。

注意:索引名称一定要对,数据完整性检查要选择Enable, 应要选择ThreatHunting(如果是从ThreatHunting跳过去默认会选这个,但是如果从其他应用过来会建到其他应用去)

e2522784566148e9230021ea17076e63.png
验证:

6ba2789edaa096a1e6aa0748abb6d374.png

4.效果

3f10a83c388f683a2e87afe2cf76f3c0.png
f9151c1ce661bbda164c5abe40e88f6b.png

5.遇到的一些坑

5.1仪表盘上没有数据

  1. 应用首页的数据需要从windows索引进行统计分析输入到threathunting索引,这个比较慢,会等比较久
  2. Windows和threathunting索引建到别的应用下面去了,参考3.3
  3. Source类型不对

5.2原文中修改配置

d961d5d0fd7d805a463a5875046c7e6f.png

原文中有这么一部分, 旧的版本sysmon配置只有source="XmlWinEventLog:Microsoft-Windows-Sysmon/Operational", 后面变成了source="XmlWinEventLog:Microsoft-Windows-Sysmon/Operational",所以新版本是不需要修改的。

5.3一些查询没有结果

有些语句app写的有问题, 参考最后的视频,找到原始语句进行查询,对报错语句进行修改并保存。通过这个方法遇到其他没结果的也可以使用类似的调试方式。

5.4错误could not load lookup=lookup-eventcode

参考解决方案:

https://community.splunk.com/t5/All-Apps-and-Add-ons/ThreatHunting-app-by-Olaf-Hartong-Red-Triangle-Error-quot-Could/td-p/482176

5.5source的作用

ca29c27b74111113feebcc837440627a.png
5c902f8f57c2efebc011011a6c2cbaa6.png

App的宏配置中有定义sysmon,而很多查询语句使用`sysmon`进行查询,所以配置source时需要source是准确的,尽量保证

source="WinEventLog:Microsoft-Windows-Sysmon/Operational"。

`sysmon`是个宏,会被替换成

index=windows (source="XmlWinEventLog:Microsoft-Windows-Sysmon/Operational" OR source="WinEventLog:Microsoft-Windows-Sysmon/Operational")

6.参考原文

https://www.linkedin.com/pulse/attckized-splunk-kirtar-oza-cissp-cisa-ms-/

https://www.youtube.com/watch?v=GVM8RRyQx7s&feature=youtu.be


来自天台的球迷
1 声望1 粉丝

« 上一篇
sysmon使用实践