美文网首页
wazuh联动sysmon检测反弹powershell

wazuh联动sysmon检测反弹powershell

作者: jjf012 | 来源:发表于2019-01-24 18:05 被阅读0次

    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中细化规则过滤,但是客户端一多,给服务端造成的性能消耗也很大。毕竟安全是要落到实处而不是摆个架子。

    引用

    1. https://www.freebuf.com/sectool/122779.html

    参考

    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/

    相关文章

      网友评论

          本文标题:wazuh联动sysmon检测反弹powershell

          本文链接:https://www.haomeiwen.com/subject/mreujqtx.html