亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

利用ELK協助安全性攻擊的數據分析

發布時間:2020-08-09 06:46:12 來源:ITPUB博客 閱讀:296 作者:IT168GB 欄目:網絡安全

你是否曾經進行過網絡滲透測試,其范圍如此之大,以至于最終會得到包含Nmap掃描結果在內的數十個文件,而每個文件又包含多個主機? 如果答案是肯定的,那你應該會對這篇博文感興趣。

以下是我最近進行的一個工作,旨在找到一種方法來對滲透測試的結果進行分類,同時實現團隊成員之間的并發協作。 我們將會看到,在解析和分析數據時,使用傳統的“防御性”工具進行攻擊性安全數據分析比傳統的grep更具優勢。

最后,這個工程的所有源代碼大家可以在github上下載,我也希望這能夠給后面將和我有一個需求的老哥們有所幫助: https://github.com/marco-lancini/docker_offensive_elk .

 

當前所能選擇的

如果你還在閱讀這篇文章,說明你想要摒棄原來基于grep的方法,但是我們有什么替代品嗎?
我首先瀏覽了我一直忽略的東西:Nmap HTML報告。 我不知道有多少人知道并實際使用它,但確實可以從Nmap獲取XML輸出文件并將其傳遞給XML處理器(如xsltproc),將其轉換為HTML文件,如下圖所示:

利用ELK協助安全性攻擊的數據分析

如果對此感興趣,可以在Nmap網站上找到獲取此信息的完整流程。 但是,我認為這種方法有一些缺陷。 首先,除非使用—webxml開關啟動Nmap,否則必須拋出每個輸出文件以替換XSL樣式表引用,以使其指向當前計算機上nmap.xsl文件的確切位置。 其次,更重要的是,這沒有擴展。

放棄了HTML的辦法后,我想起來我的前同事Vincent Yiu的一篇博客,利用Splunk進行攻擊性操作。 這是一個有趣的想法,因為我們越來越多地看到人們也使用所謂的“防御”工具進行攻擊。 Splunk絕對不適合我(因為我沒有license),但經過一些研究后我終于偶然發現了這篇博客文章:“ Nmap + Logstash to Gain Insight Into Your Network ”。

我之前聽說過ELK(下面有更多內容介紹ELK),但我從未真正了解過它,可能是因為我把它歸類為主要由SOC分析師使用的“防御”工具。 而它引起我注意的是上面的博客文章解釋了如何:
“直接將Nmap掃描結果導入Elasticsearch,然后您可以使用Kibana將其可視化”。

 

ELK Stack的介紹

那么,ELK Stack是什么? “ELK”是三個開源項目的首字母縮寫:Elasticsearch,Logstash和Kibana。 Elasticsearch是一個搜索和分析引擎。 Logstash是一個服務器端數據處理管道,它同時從多個源中提取數據,對其進行轉換,然后將其發送到像Elasticsearch這樣的“存儲”。 Kibana允許用戶使用Elasticsearch中的圖表和圖形可視化數據。
利用ELK協助安全性攻擊的數據分析

我不會詳細解釋這個堆棧的不同組件,但對于有興趣的人我強烈推薦 “ The Complete Guide to the ELK Stack ”,它給出了堆棧及其三個主要組件的非常好的概述(可以跳過“安裝ELK”部分,因為我們將采取不同的方法)。

我感興趣的部分是Elasticsearch如何不僅可以用于檢測(防御),還可以用于進攻。

 

安裝

以下是一個完整的演示,一直到最后安裝成功。對這個不感興趣的同學可以直接跳到“操作數據”部分。

首先我們將使用由 @deviantony 完成的一個很棒的存儲庫,這將允許我們在幾秒鐘內啟動完整的ELK堆棧,這要歸功于docker-compose:
利用ELK協助安全性攻擊的數據分析

克隆存儲庫后,我們可以從docker-compose.yml文件中看到將啟動三個服務。 這是修改后的docker-compose.yml文件,我在其中添加了容器名稱(為了清楚起見)和一種Elasticsearch存儲數據的方式,即使在刪除其容器之后,通過在主機上安裝卷來保存數據(./_data/elasticsearch:/USR/共享/ elasticsearch/數據):

docker-elk ? cat docker-compose.yml
version: ‘2’
services:

# -------------------------------------------------------------------# ELASTICSEARCH# -------------------------------------------------------------------
  elasticsearch:
      container_name: elk_elasticsearch    build: elasticsearch/    volumes:
        - ./elasticsearch/config/elasticsearch.yml:  /usr/share/elasticsearch/config/elasticsearch.yml:ro
        - ./_data/elasticsearch:/usr/share/elasticsearch/data    ports:
        - "9200:9200"
        - "9300:9300"
    environment:
        ES_JAVA_OPTS: "-Xmx256m -Xms256m"
    networks:
        - elk# -------------------------------------------------------------------# LOGSTASH# -------------------------------------------------------------------logstash:
    container_name: elk_logstash    build: logstash/    volumes:
        - ./logstash/config/logstash.yml:/usr/share/logstash/config/logstash.yml:ro
        - ./logstash/pipeline:/usr/share/logstash/pipeline:ro    ports:
        - "5000:5000"
    environment:
        LS_JAVA_OPTS: "-Xmx256m -Xms256m"
    networks:
        - elk    depends_on:
        - elasticsearch# -------------------------------------------------------------------# KIBANA# -------------------------------------------------------------------
  kibana:
      container_name: elk_kibana    build: kibana/    volumes:
        - ./kibana/config/:/usr/share/kibana/config:ro
    ports:
        - "5601:5601"
    networks:
        - elk    depends_on:
        - elasticsearchnetworks:
    elk:
    driver: bridge

默認情況下,堆棧開放以下端口:

5000:Logstash TCP輸入
9200:Elasticsearch HTTP
9300:Elasticsearch TCP傳輸
5601:Kibana

用幾秒鐘時間來安裝Kibana,然后在web頁面上訪問它: http://localhost:5601 .

利用ELK協助安全性攻擊的數據分析

準備Elasticsearch以獲取Nmap結果

對于一個完整的ELK新手來說,這是一個挑戰,直到我找到以下帖子:“ How to Index NMAP Port Scan Results into Elasticsearch
”。 這不是一個完整的解決方案,而是一個很好的起點。 讓我們從那里開始并以此為基礎。

首先,我們需要Logstash Nmap編解碼器插件。 Logstash編解碼器簡單地提供了一種指定原始數據應如何解碼的方法,而不管源是什么。 這意味著我們可以使用Nmap編解碼器從各種輸入中讀取Nmap XML。 在將數據傳遞給Nmap編解碼器之前,我們可以從消息隊列或通過syslog讀取它。 幸運的是,添加它就像修改位于logstash / Dockerfile的Logstash Dockerfile一樣簡單:
docker-elk ? cat logstash/Dockerfile

 # https://github.com/elastic/logstash-docker
 FROM docker.elastic.co/logstash/logstash-oss:6.3.0
 # Add your logstash plugins setup here # Example: RUN logstash-plugin install logstash-filter-json
 RUN logstash-plugin install logstash-codec-nmap

接下來,要將其放入Elasticsearch,我們需要創建一個映射。 可以從Logstash Nmap編解碼器的Github存儲庫獲得映射模板。 我們可以下載它并將其放在logstash / pipeline / elasticsearch_nmap_template.json中:

利用ELK協助安全性攻擊的數據分析

最后,我們需要修改位于logstash / pipeline / logstash.conf的logstash配置文件,以便為新的Nmap插件添加過濾器和輸出選項:

利用ELK協助安全性攻擊的數據分析

利用ELK協助安全性攻擊的數據分析

準備攝取者服務

我們將使用修改后的VulntoES版本來獲取結果并將它們導入Elasticsearch。 為了做到這一點,我創建了一個新的文件夾攝取器,用于實際攝取數據的新服務。

利用ELK協助安全性攻擊的數據分析
在上面的清單中,文件夾攝取器包含:

? VulntoES,原始腳本的修改版本,修復了一些解析錯誤
? 腳本提取將為放置在容器的/ data文件夾中的每個XML文件運行VulntoES.py(更多內容見下文)

利用ELK協助安全性攻擊的數據分析

? Dockerfile將修改后的VulntoES導入到python:2.7-stretch圖像中

利用ELK協助安全性攻擊的數據分析

我們現在只需要將這個新容器添加到docker-compose.yml文件中:
利用ELK協助安全性攻擊的數據分析

請注意我們如何在路徑/ data /下的容器中映射本地文件夾./_data/nmap。 我們將使用此“共享”文件夾來傳遞Nmap結果。

在所有這些修改之后,這就是您的項目文件夾的樣子:
利用ELK協助安全性攻擊的數據分析

利用ELK協助安全性攻擊的數據分析

完成后,請確保使用docker-compose build命令重建圖像。

創建索引

最后一步是創建一個索引,用于將數據索引到:
1、使用curl創建nmap-vuln-to-es索引:

curl -XPUT ‘localhost:9200/nmap-vuln-to-es’

2、在瀏覽器中打開Kibana(http:// localhost:5601),您將看到以下屏幕:
利用ELK協助安全性攻擊的數據分析

3、插入nmap *作為索引模式,然后按“下一步”:
利用ELK協助安全性攻擊的數據分析

選擇“I don’t want to use the Time Filter”, 然后點擊 “Create Index Pattern”:

利用ELK協助安全性攻擊的數據分析 如果一切順利,您應該看到一個頁面,其中列出了nmap *索引中的每個字段以及Elasticsearch記錄的字段的相關核心類型。
利用ELK協助安全性攻擊的數據分析

 

操作數據

Elk正確配置完后,我們可以用它來玩玩處理數據了。

獲取Nmap結果

為了能夠獲取我們的Nmap掃描,我們必須以XML格式的報告(-oX)輸出結果,該報告可以由Elasticsearch解析。 完成掃描后,將報告放在./_data/nmap/文件夾中并運行攝取器:

分析數據

現在我們已經導入了一些數據,現在是時候開始研究一下Kibana的功能了。
利用ELK協助安全性攻擊的數據分析

“dicover”視圖將索引中的所有數據顯示為文檔表,并允許以交互方式瀏覽數據:我們可以訪問與所選索引模式匹配的每個索引中的每個文檔。 你可以提交搜索查詢,過濾搜索結果以及查看文檔數據。 還可以查看與搜索查詢匹配的文檔數量并獲取字段值統計信息。 通過過濾(例如,通過開放端口或服務)來對目標進行分類是很好的。

利用ELK協助安全性攻擊的數據分析

相反,“Dashboard”視圖顯示可視化和搜索的集合。 您可以排版,調整大小和編輯儀表板內容,然后保存儀表板以便共享。 這可用于創建高度自定義的數據概覽。

利用ELK協助安全性攻擊的數據分析

利用ELK協助安全性攻擊的數據分析

儀表板本身是交互式的:您可以應用過濾器來查看實時更新的可視化以反映查詢的內容(在下面的示例中,我按端口22過濾)。

利用ELK協助安全性攻擊的數據分析

對這個感興趣的同學,我將我的示例儀表板導出到一個易于重新導入的json文件中:
?  https://raw.githubusercontent.com/marco-lancini/docker_offensive_elk/master/kibana/dashboard.json

 

結論

傳統的“防御性”工具可以有效地用于攻擊性安全數據分析,幫助您的團隊協作并對掃描結果進行分類。
特別的,Elasticsearch提供了聚合不同數據源的數量的機會,使用統一的接口進行查詢,目的是從大量未分類的數據中提取可操作的知識。


本文轉載自“安全客”翻譯文章,原文來源:marcolancini.it ,原文編輯:邊邊

向AI問一下細節
推薦閱讀:
  1. 初學ELK
  2. ELK——Logstash

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

沙洋县| 铜川市| 济阳县| 郯城县| 独山县| 当涂县| 新河县| 蚌埠市| 河津市| 醴陵市| 烟台市| 龙岩市| 深泽县| 铜川市| 上林县| 淮阳县| 台江县| 泰来县| 元江| 尼勒克县| 上虞市| 楚雄市| 塔城市| 云龙县| 德令哈市| 边坝县| 宜兰县| 丰镇市| 余姚市| 通道| 通城县| 宁城县| 松溪县| 宁阳县| 定边县| 清远市| 松阳县| 文化| 玉林市| 庄浪县| 玛多县|