亚洲精品中文字幕无码专区一,中文字幕av一区乱码深夜动态福利,粗大的内捧猛烈进出少妇

          系統城裝機大師 - 固鎮縣祥瑞電腦科技銷售部宣傳站!

          當前位置:首頁 > server > anz > 詳細頁面

          ElasticSearch事件查詢語言EQL操作教程

          時間:2022-10-02來源:www.snowmanhill.com作者:電腦系統城

          前述

          EQL 的全名是 Event Query Language (EQL)。事件查詢語言(EQL)是一種用于基于事件的時間序列數據(例如日志,指標和跟蹤)的查詢語言。在 Elastic Security 平臺上,當輸入有效的 EQL 時,查詢會在數據節點上編譯,執行查詢并返回結果。這一切都快速、并行地發生,讓用戶立即看到結果。

          EQL優點

          • EQL 使你可以表達事件之間的關系:許多查詢語言允許您匹配單個事件。EQL 使你可以匹配不同事件類別和時間跨度的一系列事件
          • EQL 的學習曲線很低:EQL 語法看起來像其他常見查詢語言,例如 SQL。 EQL 使你可以直觀地編寫和讀取查 詢,從而可以進行快速,迭代的搜索。
          • EQL 設計用于安全用例:盡管你可以將其用于任何基于事件的數據,但我們創建了 EQL 來進行威脅搜尋。 EQL 不僅支持危害指標(IOC)搜索,而且可以描述超出 IOC 范圍的活動

          基礎語法

          數據準備

          要運行 EQL 搜索,搜索到的數據流或索引必須包含時間戳和事件類別字段。默認情況下,EQL 使用 Elastic 通用模式(ECS)中的 @timestamp 和 event.category 字段。 @timestamp 表示時間戳,event.category 表示事件分類。

          1
          2
          3
          4
          5
          6
          7
          8
          9
          10
          11
          12
          13
          14
          15
          16
          17
          18
          19
          20
          21
          22
          23
          24
          25
          26
          27
          28
          29
          30
          31
          32
          33
          34
          35
          36
          37
          38
          39
          40
          41
          42
          43
          44
          45
          46
          47
          48
          49
          50
          51
          52
          53
          54
          55
          56
          57
          58
          59
          60
          61
          62
          63
          64
          65
          66
          67
          68
          69
          70
          71
          72
          73
          74
          75
          76
          77
          78
          79
          80
          81
          82
          83
          84
          85
          86
          87
          88
          89
          90
          91
          92
          93
          94
          95
          # 創建索引
          PUT /gmall
          # 批量增加數據
          PUT _bulk
          {"index":{"_index":"gmall"}}
          {
              "@timestamp":"2022-08-10T15:00:00.00+08:00",
              "event":{
                  "category":"page"
              },
              "page":{
                  "session_id":"42FC7E13-CB3E-5C05-0000-0010A0125101",
                  "last_page_id":"",
                  "page_id":"login",
                  "user_id":""
              }
          }
          {"index":{"_index":"gmall"}}
          {
              "@timestamp":"2022-08-10T15:02:00.00+08:00",
              "event":{
                  "category":"page"
              },
              "page":{
                  "session_id":"42FC7E13-CB3E-5C05-0000-0010A0125101",
                  "last_page_id":"login",
                  "page_id":"good_list",
                  "user_id":"1"
              }
          }
          {"index":{"_index":"gmall"}}
          {
              "@timestamp":"2022-08-10T15:05:00.00+08:00",
              "event":{
                  "category":"page"
              },
              "page":{
                  "session_id":"42FC7E13-CB3E-5C05-0000-0010A0125101",
                  "last_page_id":"good_list",
                  "page_id":"good_detail",
                  "user_id":"1"
              }
          }
          {"index":{"_index":"gmall"}}
          {
              "@timestamp":"2022-08-10T15:07:00.00+08:00",
              "event":{
                  "category":"page"
              },
              "page":{
                  "session_id":"42FC7E13-CB3E-5C05-0000-0010A0125101",
                  "last_page_id":"good_detail",
                  "page_id":"order",
                  "user_id":"1"
              }
          }
          {"index":{"_index":"gmall"}}
          {
              "@timestamp":"2022-08-10T15:08:00.00+08:00",
              "event":{
                  "category":"page"
              },
              "page":{
                  "session_id":"42FC7E13-CB3E-5C05-0000-0010A0125101",
                  "last_page_id":"order",
                  "page_id":"payment",
                  "user_id":"1"
              }
          }
          {"index":{"_index":"gmall"}}
          {
              "@timestamp":"2022-08-10T15:08:00.00+08:00",
              "event":{
                  "category":"page"
              },
              "page":{
                  "session_id":"42FC7E13-CB3E-5C05-0000-0010A0125102",
                  "last_page_id":"",
                  "page_id":"login",
                  "user_id":"2"
              }
          }
          {"index":{"_index":"gmall"}}
          {
              "@timestamp":"2022-08-10T15:08:00.00+08:00",
              "event":{
                  "category":"page"
              },
              "page":{
                  "session_id":"42FC7E13-CB3E-5C05-0000-0010A0125102",
                  "last_page_id":"login",
                  "page_id":"payment",
                  "user_id":"2"
              }
          }

          數據窗口搜索

          在事件響應過程中,有很多時候,了解特定時間發生的所有事件是很有用的。使用一種名為any的特殊事件類型,針對所有事件進行匹配,如果想要匹配特定事件,就需要指明事件分類名稱

          1
          2
          3
          4
          5
          6
          7
          #
          GET /gmall/_eql/search
          {
              "query" : """
                  any where page.user_id == "1"
              """
          }

          統計符合條件的事件

          1
          2
          3
          4
          5
          6
          7
          8
          9
          10
          11
          12
          13
          14
          GET /gmall/_eql/search
          {
              "query" : """
                  any where true
              """,
              "filter": {
                  "range": {
                      "@timestamp": {
                          "gte": "1654056000000",
                          "lt": "1654056005000"
                      }
                  }
              }
          }

          事件序列

          • 頁面先訪問 login,后面又訪問了 good_detail的頁面
          1
          2
          3
          4
          5
          6
          7
          8
          GET /gmall/_eql/search
          {
              "query" : """
                sequence by page.session_id
                  [page where page.page_id=="login"]
                  [page where page.page_id=="good_detail"]
              """
          }

          安全檢測

          EQL在 Elastic Securit 中被廣泛使用。實際應用時,我們可以使用 EQL 語言來進行檢測安全威脅和其他可疑行為。

          數據準備

          regsvr32.exe 是一個內置的命令行實用程序,用于在Windows中注冊.dll庫。作為本機工具,regsvr32.exe 具有受信任的狀態,從而使它可以繞過大多數允許列表軟件和腳本阻止 程序。有權訪問用戶命令行的攻擊者可以使用 regsvr32.exe 通過.dll庫運行惡意腳本,即使在其他情況下也不允許這些腳本運行。

          regsvr32 濫用的一種常見變體是Squfullydoo攻擊。在 Squfullydoo 攻擊中,regsvr32.exe 命令使用 scrobj.dll 庫注冊并運行遠程腳本。

           

          測試數據來自 Atomic Red Team 的測試數據集,其中包括模仿Squibledoo攻擊的事件。 數據已映射到Elastic通用架構(ECS)字段:normalized-T1117-AtomicRed-regsvr32.json 將文件內容導入到ES軟件中:

          1
          2
          3
          4
          5
          6
          7
          8
          # 創建索引
          PUT my-eql-index
          # 導入數據
          POST my-eql-index/_bulk?pretty&refresh
          {"index":{}}
          {
              ......
          }
          • 查看數據導入情況
          1 GET /_cat/indices/my-eql-index?v=true&h=health,status,index,docs.count

          獲取regsvr32事件的計數

          • 獲取與regsvr32.exe進程關聯的事件數
          1
          2
          3
          4
          5
          6
          7
          8
          9
          10
          11
          # 查詢數據
          # ?filter_path=-hits.events 從響應中排除hits.events 屬性。此搜索僅用于獲取事件計數,而不是匹配事件的列表
          # query : 匹配任何進程名稱為regsvr32.exe的事件
          # size : 最多返回200個匹配事件的匹配,實際查詢結果為143個
          GET my-eql-index/_eql/search?filter_path=-hits.events
          {
              "query": """
                any where process.name == "regsvr32.exe"             
              """,
              "size": 200                                            
          }

          檢查命令行參數

          該查詢將一個事件與創建的event.type相匹配,指示regsvr32.exe進程的開始。根據事件的 process.command_line值,regsvr32.exe 使用 scrobj.dll 注冊了腳本 RegSvr32.sct.這符合Squibledoo攻擊的行為

          1
          2
          3
          4
          5
          6
          7
          # 增加過濾條件查詢數據
          GET my-eql-index/_eql/search
          {
              "query": """
                 process where process.name == "regsvr32.exe" and process.command_line.keyword != null             
              ""
          }

          檢查惡意腳本加載

          • 檢查regsvr32.exe以后是否加載scrobj.dll
          1
          2
          3
          4
          5
          6
          7
          # 增加過濾條件查詢數據
          GET my-eql-index/_eql/search
          {
              "query": """
                  library where process.name == "regsvr32.exe" and dll.name == "scrobj.dll"
              """                                          
          }

          檢查攻擊成功可能性

          在許多情況下,攻擊者使用惡意腳本連接到遠程服務器或下載其他文件。 使用EQL序列查詢來檢查以下一系列事件:

          • regsvr32.exe進程
          • 通過相同的進程加載scrobj.dll
          • 同一過程中的任何網絡事件
          1
          2
          3
          4
          5
          6
          7
          8
          9
          10
          # 增加過濾條件查詢數據
          GET my-eql-index/_eql/search
          {
              "query": """
                  sequence by process.pid
                      [process where process.name == "regsvr32.exe"]
                      [library where dll.name == "scrobj.dll"]
                      [network where true]             
              """                                      
          }
          分享到:

          相關信息

          系統教程欄目

          欄目熱門教程

          人氣教程排行

          站長推薦

          熱門系統下載

          亚洲精品中文字幕无码专区一,中文字幕av一区乱码深夜动态福利,粗大的内捧猛烈进出少妇