搭建自己的SEIM(Sysmon+Winlogbeat+ELK+Sigma)

前言

本篇文章简单介绍下如何使用免费软件搭建自己的SEIM系统

组件

日志捕获组件:

日志捕获组件Sysmon

下载
https://learn.microsoft.com/en-us/sysinternals/downloads/Sysmon
安装配置

下载配置模板

https://github.com/SwiftOnSecurity/Sysmon-config

将其放到与sysmon同一路径,使用CMD以管理员权限执行

sysmon.exe -accepteula -i sysmonconfig-export.xml

更新配置文件时,使用

sysmon.exe -c sysmonconfig-export.xml

日志发送组件Winlogbeat

下载
https://www.elastic.co/cn/downloads/beats/winlogbeat
安装配置

以管理员身份打开 PowerShell,在Winlogbeat路径下执行

.\install-service-winlogbeat.ps1

遇到以下报错时

PS C:\Users\doinb\Desktop\Sysmon\winlogbeat-8.6.2-windows-x86_64> .\install-service-winlogbeat.ps1
.\install-service-winlogbeat.ps1 : 无法加载文件 C:\Users\doinb\Desktop\Sysmon\winlogbeat-8.6.2-windows-x86_64\install-s
ervice-winlogbeat.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.microsoft.com/fwlink/?LinkID=135170
中的 about_Execution_Policies。
所在位置 行:1 字符: 1
+ .\install-service-winlogbeat.ps1
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : SecurityError: (:) [],PSSecurityException
    + FullyQualifiedErrorId : UnauthorizedAccess

运行以下命令解决

PS C:\Users\doinb\Desktop\Sysmon\winlogbeat-8.6.2-windows-x86_64> Set-ExecutionPolicy -Scope CurrentUser

位于命令管道位置 1 的 cmdlet Set-ExecutionPolicy
请为以下参数提供值:
ExecutionPolicy: RemoteSigned

执行策略更改
执行策略可帮助你防止执行不信任的脚本。更改执行策略可能会产生安全风险,如 https:/go.microsoft.com/fwlink/?LinkID=135170
中的 about_Execution_Policies 帮助主题所述。是否要更改执行策略?
[Y] 是(Y)  [A] 全是(A)  [N] 否(N)  [L] 全否(L)  [S] 暂停(S)  [?] 帮助 (默认值为“N”): A
PS C:\Users\doinb\Desktop\Sysmon\winlogbeat-8.6.2-windows-x86_64>

打开winlogbeat.yml,默会收集以下日志,不需要的日志类型可以注释掉

winlogbeat.event_logs:
  - name: Application
    ignore_older: 72h

  - name: System

  - name: Security

  - name: Microsoft-Windows-Sysmon/Operational

  - name: Windows PowerShell
    event_id: 400, 403, 600, 800

  - name: Microsoft-Windows-PowerShell/Operational
    event_id: 4103, 4104, 4105, 4106

  - name: ForwardedEvents
    tags: [forwarded]

根据需要配置ELK,这里以配置Logstash为例

output.logstash:
  # The Logstash hosts
  hosts: ["ip:5044"]

  # Optional SSL. By default is off.
  # List of root certificates for HTTPS server verifications
  #ssl.certificate_authorities: ["/etc/pki/root/ca.pem"]

  # Certificate for SSL client authentication
  #ssl.certificate: "/etc/pki/client/cert.pem"

  # Client Certificate Key
  #ssl.key: "/etc/pki/client/cert.key"

修改完winlogbeat.yml之后,PowerShell执行以下指令重新加载配置文件

.\winlogbeat.exe setup -e

之后就可以启动winlogbeat服务了,winlogbeat会实时将收集的日志文件发送到logstash

Start-Service winlogbeat

登陆Elasticsearch查看发送过来的数据,先选择management

01.png

选择索引管理查看Logstash转发过来的数据

02.png

正确找到创建的索引

03.png

创建Kibana视图

04.png

创建数据视图

05.png
06.png

规则导入及编写

Sigma规则

Sigma_.png

Sigma是一种通用且开放的签名格式,以直接的方式描述相关的日志事件。规则格式非常灵活,易于编写,适用于任何类型的日志文件。Sigma提供了一种结构化的形式,研究人员或分析师可以在其中描述他们曾设计开发的检测方法,并与其他安全人员共享。

Github https://github.com/SigmaHQ/sigma

我们可以使用官方库中的威胁检测主机收到的威胁,也可以自己编写规则,下面演示一下如何编写自己的sigma规则

Sigma规则编写测试

我们以Windows上使用net user /add命令创建用户为例,使用下面的命令创建新用户

net user admin.123 admin1 /add

使用Windows时间查看器查看事件ID为4720的事件

07.png
日志名称:          Security
来源:            Microsoft-Windows-Security-Auditing
日期:            2023/3/16 15:31:03
事件 ID:         4720
任务类别:          User Account Management
级别:            信息
关键字:           审核成功
用户:            暂缺
计算机:           DESKTOP-31UM2QN
描述:
已创建用户帐户。

使用者:
    安全 ID:      DESKTOP-31UM2QN\doinb
    帐户名:        doinb
    帐户域:        DESKTOP-31UM2QN
    登录 ID:      0x1576CA

新帐户:
    安全 ID:      DESKTOP-31UM2QN\admin.123
    帐户名:        admin.123
    帐户域:        DESKTOP-31UM2QN

属性:
    SAM 帐户名:    admin.123
    显示名称:   <未设置值>
    用户主体名称: -
    主目录:        <未设置值>
    主驱动器:   <未设置值>
    脚本路径:   <未设置值>
    配置文件路径: <未设置值>
    用户工作站:  <未设置值>
    上次设置的密码:<从不>
    帐户过期:   <从不>
    主要组 ID: 513
    允许委托给:  -
    旧 UAC 值:    0x0
    新 UAC 值:    0x15
    用户帐户控制: 
        已禁用的帐户
        '不要求密码' - 已启用
        '普通帐户' - 已启用
    用户参数:   <未设置值>
    SID 历史: -
    登录时间(以小时计):全部

附加信息:
    特权      -
事件 Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
  <System>
    <Provider Name="Microsoft-Windows-Security-Auditing" Guid="{54849625-5478-4994-a5ba-3e3b0328c30d}" />
    <EventID>4720</EventID>
    <Version>0</Version>
    <Level>0</Level>
    <Task>13824</Task>
    <Opcode>0</Opcode>
    <Keywords>0x8020000000000000</Keywords>
    <TimeCreated SystemTime="2023-03-16T07:31:03.6696152Z" />
    <EventRecordID>31488</EventRecordID>
    <Correlation ActivityID="{404e6454-57b5-0001-8d64-4e40b557d901}" />
    <Execution ProcessID="832" ThreadID="5620" />
    <Channel>Security</Channel>
    <Computer>DESKTOP-31UM2QN</Computer>
    <Security />
  </System>
  <EventData>
    <Data Name="TargetUserName">admin.123</Data>
    <Data Name="TargetDomainName">DESKTOP-31UM2QN</Data>
    <Data Name="TargetSid">S-1-5-21-3678678421-903751620-185585966-1001</Data>
    <Data Name="SubjectUserSid">S-1-5-21-3678678421-903751620-185585966-1000</Data>
    <Data Name="SubjectUserName">doinb</Data>
    <Data Name="SubjectDomainName">DESKTOP-31UM2QN</Data>
    <Data Name="SubjectLogonId">0x1576ca</Data>
    <Data Name="PrivilegeList">-</Data>
    <Data Name="SamAccountName">admin.123</Data>
    <Data Name="DisplayName">%%1793</Data>
    <Data Name="UserPrincipalName">-</Data>
    <Data Name="HomeDirectory">%%1793</Data>
    <Data Name="HomePath">%%1793</Data>
    <Data Name="ScriptPath">%%1793</Data>
    <Data Name="ProfilePath">%%1793</Data>
    <Data Name="UserWorkstations">%%1793</Data>
    <Data Name="PasswordLastSet">%%1794</Data>
    <Data Name="AccountExpires">%%1794</Data>
    <Data Name="PrimaryGroupId">513</Data>
    <Data Name="AllowedToDelegateTo">-</Data>
    <Data Name="OldUacValue">0x0</Data>
    <Data Name="NewUacValue">0x15</Data>
    <Data Name="UserAccountControl">
        %%2080
        %%2082
        %%2084</Data>
    <Data Name="UserParameters">%%1793</Data>
    <Data Name="SidHistory">-</Data>
    <Data Name="LogonHours">%%1797</Data>
  </EventData>
</Event>

我们根据事件ID创建一条Sigma规则

title: 创建本地用户账户行为
status: test
description: 使用net user /add命令创建本地用户帐户
references: 
  - https://attack.mitre.org/techniques/T1136/001/
logsource:
    product: windows
    service: security
detection:
    selection:
        EventID: 4720 #已创建用户帐户。
    condition: selection
falsepositives:
    - 域控制器日志
    - 由特权帐户管理工具管理的本地用户账户
level: low

使用sigmac转换Sigma规则为es-dsl查询语句

PS D:\document\sigma\tools> python .\sigmac  -t es-dsl -c .\config\winlogbeat.yml ..\rules\test_rules\test11.yml
{
  "query": {
    "constant_score": {
      "filter": {
        "bool": {
          "must": [
            {
              "match_phrase": {
                "winlog.channel": "Security"
              }
            },
            {
              "match_phrase": {
                "winlog.event_id": "4720"
              }
            }
          ]
        }
      }
    }
  }
}

在Elasticsearch开发工具中查询,可以看到成功匹配到了日志。

08.png
最后编辑于
?著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,100评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,308评论 3 388
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事?!?“怎么了?”我有些...
    开封第一讲书人阅读 159,718评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,275评论 1 287
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,376评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,454评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,464评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,248评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,686评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,974评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,150评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,817评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,484评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,140评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,374评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,012评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,041评论 2 351

推荐阅读更多精彩内容