sysmon简介
sysmon是由Windows Sysinternals出品的一款Sysinternals系列中的工具。它以系统服务和设备驱动程序的方法安装在系统上,并保持常驻性。sysmon用来监视和记录系统活动,并记录到windows事件日志,可以提供有关进程创建,网络链接和文件创建时间更改的详细信息。[1]
而wazuh已经原生支持sysmon
的日志解码和基本告警,我们只需细化两端的规则。
sysmon规则:https://github.com/ion-storm/sysmon-config
sysmon安装与配置
基本命令
简单安装 sysmon -accepteula -i c:\SysmonConfig.xml
更新配置 sysmon -c c:\SysmonConfig.xml
bat安装(尚未测试)
mkdir C:\ProgramData\sysmon
pushd "C:\ProgramData\sysmon\"
echo [+] Downloading Sysmon...
@powershell (new-object System.Net.WebClient).DownloadFile('https://live.sysinternals.com/Sysmon64.exe','C:\ProgramData\sysmon\sysmon64.exe')"
echo [+] Downloading Sysmon config...
@powershell (new-object System.Net.WebClient).DownloadFile('https://raw.githubusercontent.com/ion-storm/sysmon-config/develop/sysmonconfig-export.xml','C:\ProgramData\sysmon\sysmonconfig-export.xml')"
@powershell (new-object System.Net.WebClient).DownloadFile('https://raw.githubusercontent.com/ion-storm/sysmon-config/develop/Auto_Update.bat','C:\ProgramData\sysmon\Auto_Update.bat')"
sysmon64.exe -accepteula -i sysmonconfig-export.xml
安装好后,可以在“事件查看器”中的Microsoft-Windows-Sysmon/Operational
这里我已经事先配置好之后再运行empire
的,可以看到触发的规则名是Info=Powershell Network Connection,suspicious_net_event=True
也可以看到反弹连接的ip和端口
Wazuh的配置
客户端
修改ossec.conf
,添加内容如下,然后重启客户端。
<localfile>
<location>Microsoft-Windows-Sysmon/Operational</location>
<log_format>eventchannel</log_format>
</localfile>
服务端
在/var/ossec/etc/rules
,新建一个xml文件,添加如下规则(基于wazuh 3.8版本,注释的内容是原本3.7的匹配规则)
3.8版本更新以后,EventChannel的输出格式从原本的字符串变成了json,导致需要重写规则。
<group name="sysmon,MITRE,">
<rule id="220002" level="7">
<if_group>sysmon_event1</if_group>
<!-- <regex>RuleName: \.+ UtcTime</regex> -->
<field name="EventChannel.EventData.RuleName">\.+</field>
<description>Sysmon - Event 1: Process creation $(EventChannel.EventData.Image)</description>
<group>sysmon_event1,cmd_execution,</group>
</rule>
<rule id="220004" level="7" ignore="600">
<if_group>sysmon_event3</if_group>
<field name="EventChannel.EventData.RuleName">\.+</field>
<description>Sysmon - Event 3: Network connection $(EventChannel.EventData.Image)</description>
<group>sysmon_event3,cmd_execution,</group>
</rule>
</group>
1号事件——进程创建,可以用来监测whoami
tasklist
net user
等命令操作。
3号事件——网络连接,顾名思义。ignore
是首次触发规则后的忽略时间,如果不设置,那么每个几秒HIDS就会告警一次。
规则语法参照了官方原本的0330-sysmon_rules.xml
结果展示与结论
sysmon的即时性非常高,其规则需要不断的根据实际生产环境来润化,否则会生成非常多的噪音日志,不仅拖累HIDS而且会造成大量误报。虽然可以在HIDS中细化规则过滤,但是客户端一多,给服务端造成的性能消耗也很大。毕竟安全是要落到实处而不是摆个架子。
引用
参考
https://thesecuritystoic.com/2017/06/customizing-endpoint-intrusion-detection-with-ossec-and-sysmon/
https://laskowski-tech.com/2018/11/28/detecting-emotet-and-other-downloader-malware-with-ossec-wazuh/
网友评论