banner
[面包]MrTwoC

[面包]MrTwoC

你好,欢迎来到这个基于区块链的个人博客 名字:面包 / MrTwoc 爱好:跑步(5/10KM)、咖啡、游戏(MMORPG、FPS、Minecraft、Warframe) 兴趣方向:Rust、区块链、网络安全、量子信息(量子计算)、游戏设计与开发
bilibili
steam
email
github

安全警報事件分析

安全設備#

在日常安全運維以及特殊時期的重點防護中,對於安全人員來說最重要的就是多種多樣的安全防護設備,比如態勢感知,WAF,防火牆,EDR,蜜罐等。

1. 防火牆:#

定位:訪問控制類產品,網絡出現後的第一類安全產品。
功能:隔離內網、外網以及 DMZ 區(業務系統對外發布區,Web 應用伺服器,郵件伺服器等)並控制用戶訪問。
部署方式:通常部署在網絡邊界或者重要系統邊界。通常工作在網絡層。

2.IPS:#

定位:訪問控制類產品,入侵防禦系統。功能:能夠對流經設備的網絡流量進行分析、監控,最重要的是發現攻擊後,能夠及時攔截阻斷。它是防火牆的重要補充。如果說防火牆是第一道防禦線,那麼 IPS 就是第二道
部署方式:通常串接在網絡主幹鏈路上,或者重要業務系統邊界,通常由防火牆的地方就有 IPS。

3.WAF#

定位:訪問控制類產品,Web 應用防火牆。功能:專門針對基於 HTTP/HTTPS 協議的流量,對來自 Web 應用程序客戶端的各類請求進行內容檢測和驗證,確保其安全性與合法性,對非法的請求予以實時阻斷,從而對各類網站站點進行有效防護。
部署方式:通常部署在 Web 應用邊界。通常工作在應用層。
與防火牆的區別與防火牆是兩類不同的產品。傳統防火牆工作在網絡層,提供 IP 地址、端口的訪問控制和阻斷,不對應用層做防護和過濾。而 WAF 專注於應用層,是對所有的 WEB 應用信息進行解析、過濾,解決注入攻擊、網頁篡改、網頁掛馬、敏感信息泄露等 WEB 安全問題。
與 IPS 的區別:雖然都能夠抵禦攻擊,而且在檢測攔截許多攻擊行為的時候,功能有所重合。但是 WAF 區別於 IPS 最大的地方,就是針對 WEB 應用的防護。IPS 的防護範圍很廣,只要發現攻擊行為都會檢測、攔截,其中也包括對 HTTP/HTTPS 流量的分析。而 WAF 只負責針對 WEB 系統的防護,對 HTTP/HTTPS 流量的雙向解碼和分析更加完整、全面,可以應對 WEB 應用中的各類安全威脅,如 SQL 注入、XSS、跨站請求偽造攻擊、Cookie 篡改以及應用層 DDoS 等,從 WEB 防護的專業性上來說,WAF 比 IPS 強很多。

安全事件分析思路及邏輯#

在一般的安全運維以及重保值守過程中,安全工程師們最常使用的設備就是上面介紹過的 IPS,有實力的安全廠商也都會開發自己的 IPS 設備,下面我們以某個設備為例,對整個安全值守的思路進行講解。
image.png

優先關注實時攻擊分析頁面的安全事件#

IPS 設備的告警頁面基本大同小異,以下圖為例,我們可以通過選擇不同的變量來對需要顯示的告警信息進行過濾,包括關注的資產範圍、優先關注的事件類型、事件危害等級,攻擊狀態等,還可以聯動其他安全設備對可疑 IP 進行封禁,對排除風險的 IP 進行加白等操作。

通過查看安全告警的詳情發現攻擊 IP,對 IP 進行封禁#

當多個攻擊者 IP 同屬於一個網絡時,在確認為惡意後,可以針對該網段進行封禁。
image.png
image.png

安全設備告警頁面展示的告警信息一般是經過聚合的有威脅的情報,如果需要有針對性行的對安全檢測信息或者 http 審計日誌進行分析的話,可以到日誌中心進行查找。#

image.png

其他的就是一些安全設備附加的工程,比如近期的漏洞檢查,弱密碼檢查,系統脆弱性檢查等,這些都可以根據需要,隨時展開。#

image.png

常見的攻擊告警分析#

暴力破解#

帳號爆破作為實施成本較低的攻擊方式,非常受到青睞,基本算是所有攻擊中排名前幾的攻擊方式,基本特徵就是短時間內大量的登錄請求,發起攻擊的點有很多,包括 SMB, 郵件,ftp,sslvpn,rdp,ssh,telnet,mysql 協議等。
誤報排除方法:

  1. 查看日誌:暴力破解安全事件來自審計日誌或者暴力破解安全日誌生成。

查看時間,是否為連續大量的訪問日誌或者暴力破解安全日誌,並確認是否每次暴力破解安全日誌之間的間隔相似。

  1. 查看事件趨勢,是否在一段時間內發起大量的訪問,如圖:

短時間內發起了大量的請求,一般不會是誤報,需要去相應終端盡行排查。image.png

  1. 到終端查看登錄日誌,是否存在大量的登錄失敗日誌不同協議爆破破解查看的方法不同

win 系統日誌位置:rdp/smb 都能在事件查看器裡找 4625 的登錄事件
image.png
Linux:
查詢 UID 為 0 的用戶
awk -F: '$3==0 {print $1}' /etc/passwd
查看 sudo 權限的用戶
more /etc/sudoers | grep -v "^#|^$" | grep "ALL=(ALL)"
可以遠程登錄的帳號信息
awk '/$1|$6/{print $1}' /etc/shadow

這條指令可以查詢登錄失敗的記錄,但是我可能輸錯了,查不出東西來,可能是虛擬機沒有登錄失敗過
image.png

Web 路徑探測#

可疑 IP 或者內網主句在較短時間內請求了目的系統較多的 web 目錄
image.png
誤報排除方法
1、如果短時間內掃描大量不存在的 web 頁面 (人工達不到的速度,比如上面一分多鐘達到 208 次)那就很有可能是在探測 web 目錄是否存在一些中間件。
2、查看掃描的部分路徑是否一些常見中間件的 url,比如上面一直掃描 web 是否存在 mysql 的管理工具,如果掃描到 mysql 管理工具可能利用工具存在漏洞進行滲透,那就不是誤報,或者掃描一些 webshell 路徑是否存在的時候會掃描一些奇奇怪怪的不存在的頁面,比如 xx. php/db. php/shell. php 等。掃描路徑一般帶有一些規律的,可以分為以下幾類:
a、數據庫管理頁面 (phpmyadmin,adminer 等)
b、後台管理頁面(manage.php , admin. php 等)
c、文本編輯器特定路徑(ewebeditor, ueditor)
d、部分 webshell 地址 (shell.php)
3、如果路徑裡面都是一些普通的 html 頁面、客戶自己的業務頁面則為誤報,比如掃描很多 index.index.html default. php 等,這種場景一般是客戶自己一些正常業務發出的大量請求。

永恆之藍漏洞利用攻擊#

永恆之藍,永恆浪漫等漏洞利用攻擊是通過 ips 規則識別到的,屬於系統漏洞攻擊,數據包不能直接查看。
誤報排除方法
永恆系統的漏洞誤報很少,若一台主機對多台主機發起時,基本不是誤報,還可以查看主機是否有別的行為比如掃描等行為。查看日誌,是否有訪問 445 端口的漏洞利用攻擊日誌,數據包為 16 進制。
1、可以通過 16 進制轉字符查看https://www.bejson.com/convert/ox2str/,查看內容是否為誤報。其它系統攻擊若有 16 進制數據包記錄,也可以嘗試使用該辦法。

WebShell 上傳#

檢測 webshell 上傳,在提交的請求中有 webshell 特徵的文件或者一句話木馬字段。可以網上檢索到 webshell。
1、若查看到日誌,為亂碼(實際為二進制無法讀取)可判斷為誤報。
2、若 SIP 提示的鏈接下載的 webshell 文件為正常文件也可判斷為誤報。
如果自己拿不準的話,將樣本的 md5 或者樣本上傳到 virustotal 或者微步雲沙箱進行檢查
image.png
3、查看到多條日誌,提交的數據包都是相同的 webshell 文件,可以判斷是否為客戶的業務行為,為誤報。如下圖,所有的日誌都是相同的,判斷為客戶業務行為。
4、若為複雜的代碼格式,含有 eval 等危險函數,各種編碼轉換和加密字符串的,基本為正報。
image.png
5、對於編碼的 webshell,需要進行解碼查看,Accept-Charset 字段值進行 base64 解碼
image.png
解碼結果讓如下圖,包含 syetem ()、echo ()、certutil.exe 等敏感關鍵字,且不涉及業務內容,判斷為真實漏洞探測行為。
image.png

SQL 注入攻擊#

Sql 注入通過判斷 web 請求提交的字段中是否有數據庫查詢語句或者關鍵詞進行判斷。
誤報排除方法
1、查看日誌,是否存在數據庫查詢的關鍵字,如 select,where,union,等,並判斷提交的語句是否為客戶業務請求不規範所導致。
(PPT 少了 2-5,可能是刪掉了)
6、通過返回包判斷是否攻擊成功,下圖判斷為攻擊行為,但是無返回包,判斷為攻擊不成功。image.png

XSS 攻擊#

看日誌中是否存在或類似的變形的字符串,這類是屬於探測類攻擊
看日誌中是否存在外部 url 地址,這些地址可能是用於接收管理員信息的第三方平台。
誤報排除方法
1、如果出現大量 xss 攻擊日誌,但日誌內容格式都是一樣的,沒有明顯變化,則可能是誤判
2、如果攻擊日誌為 json 類數據,需和客戶確認是否是正常業務,如果是正常業務,則為誤判

掃描攻擊#

分為 IP 掃描,端口掃描,在一定時間能訪問了大量的 IP 或者端口,在掃描 IP 時會記錄 IP,掃描端口時不會記錄端口。
1、當風險主機訪問了多個主機的 445 端口,會認為是掃描行為。其它協議的掃描行為舉證類似。需要審計到正常訪問的流量,並且連接時長會很短,每個掃描的間隔會也會很短。
2、主機遭受外網主機的 TCP 端口掃描
image.png
誤報排除方法
1、可直接通過平台 netflow (網絡流量日誌)判斷。提前是 ips 需要記錄對應方向的網絡流量日誌。對於主機發起掃描事件,直接在日誌中設定篩選條件為: src_ip。過濾出該 IP 所有的網絡流量日誌,點擊目的端口的小漏斗,查看是否存在大量的端口記錄,如果存在大量端口訪問記錄,切每個端口訪問次數都很小,則認為是端口掃描正判。
對於 IP 掃描則看目的 IP 是否多個,是否屬於同一個網段,思路都是一樣的。
2、若如當前還有掃描行為,可以到終端上查看連接情況,使用火絨劍或者 SIP 閉環工具,可以監聽一段時間的網絡連接,發現連接的進程,確認是否為誤報。其它掃描協議判斷方法相似。
3、確定為掃描事件後,向客戶了解是否有類似行為的運維工具在運行,若有需要將工具的 IP 進行加白。
4、如檢測到的掃描事件為目的端口不變,目的 IP 是零散的,很可能是 p2p 應用的行為。可能通過上網搜索被掃描端口,進行確認
5、對於主機遭受互聯網主機掃描行為,需要確認主機是否對外開放了端口
(1)是否為業務所需要,若不需要建議通過出口設備關閉映射關係。
(2)確認是否為客戶業務行為。

掃描攻擊 - 系統命令注入#

系統命令注入,查看到有相關報警後,可以直接查看日誌檢索中心,查看到提交的系統命令。
如 "rm -f”、“cmd”、“cd” 等系統命令。
誤報排除方法
1、可與客戶核對,是否業務有該行為,若沒有,可判斷是有攻擊行為。
2、若返回的包為亂碼並確認傳輸數據為非加密時,可以通過請求的數據類型是否為圖片等導致展示為亂碼。可以判斷為誤報

Struts2 攻擊#

Struts2 屬於遠程命令執行導致的安全問題。通過修改 HTTP 請求頭中的 Content-Type 值或其它字段來觸發該漏洞,導致遠程執行代碼。
下圖顯示請求數據包請求體內容包含 echo、cmd、bin/bash 等惡意代碼,判斷為惡意代碼被平台識別為遠程代碼執行
image.png
誤報排除方法
1、首先檢查 Content-Type 字段,正常 Content-Type 提交的為文件類型字段,不會提交為執行語句。
2、Struts2 攻擊不是所有的攻擊 payload 都在 content-type 裡面的。核心排查思路應該是查看請求方向數據是否有反序列化代碼,就是 java.getruntime 這類代碼。只要存在一般都不是誤報。
至於是否攻擊成功,則要看 java 中的命令是否有對應的結果在響應頁面輸出。以上圖中的攻擊舉例,cmd=‘netstat -ano’是在查詢端口連接情況,就去響應頁面看是否有對應的返回數據。
下圖無返回數據,判斷攻擊失敗。
image.png

目錄遍歷攻擊#

判斷條件較簡單,只要請求中有 ../ 或者..\ 就會判斷為目錄遍歷攻擊
image.png

誤報排除方法
確認主機業務情況,是否在業務傳輸數據包中存在 “../“易被識別為目錄遍歷的字符。如下圖,數據包中存在../../../../../ ../etc/passwd.jpg 惡意代碼,嘗試遍歷 etc/passwd 內容,判斷為真實攻擊行為
image.png

判斷是否攻擊成功。
下圖顯示響應中未返回任何相關敏感信息,判斷為攻擊未成功。
image.png

郵件安全#

郵件安全包括收、發郵件中的病毒郵件,垃圾郵件和釣魚郵件中的安全問題,只能檢測 pop3/imap/smtp 和 web 的 http 郵件,不支持檢測加密郵件的安全事件。
誤報排除方法
1、病毒郵件
判斷郵件下載的附件信息,是否為病毒,可以將文件的 md5 上傳至 vt 上進行確認。
2、垃圾郵件
判斷郵件內容或者主題是否存在垃圾信息關鍵詞
image.png

3、釣魚郵件
判斷郵件中是的 URL 或者文件是否為惡意。
image.png

4、主機存在可疑郵件外發行為
檢測原理:判斷主機是否使用過多域名的郵箱進行郵件外發
如果該主機的郵件業務是客戶的正常業務,則為誤報. 否則該主機可能感染了 mailer,需要排查異常進程。

信息泄露攻擊#

信息泄露攻擊為在攻擊起發起請求後,伺服器返回系統,中間件等的版本號信息,黑客可以通過返回的版本號信息,找到對應版本存在的漏洞,進行攻擊。
誤報排除方法
1、查看日誌數據包中否有反饋版本號信息,phpinfo 信息或者是網站源碼。
image.png
2、若是反饋內容沒有版本信息,可以展開,查看訪問的路徑,若沒有找到有用信息,可以確定為誤報。

威脅情報類檢測#

如訪問了某家族的通信域名
image.png
誤報排除方法
以下分析流程使用所有訪問惡意域名的安全事件。分析步驟,
1、到 wiki.sec. sangfor. com.cn 上查看看檢測結果。
或者去微步或者 vt 上可以進一步確認,如果在微步或者 vt 上也沒有,還是走以下的步驟。
image.png
3、使用 EDR 等終端安全設備進行全盤掃描,確保掃描時設備的規則庫已經更新到最新版本
4、如果沒有使用 edr 查殺到,確認客戶主機是否已經有安裝過殺軟,檢查殺軟的殺毒記錄,以
及白名單記錄,是否有可疑的病毒文件。

Webshell 後門#

Webshell 後門事件為 webshell 已經被上傳到 web 伺服器後,並被訪問後檢測出來的事件。是事後安全事件。
誤報排除方法
1、檢測出來的 webshell 後門誤報極少,存在一定的漏報情況。需要有訪問 webshell 的流量才能識別。可以在如下圖直接找到後門文件,再放到 windows 下用 D 盾查殺一下就能確認。
image.png

黑鏈#

通過檢測關鍵字識別出存在黑鏈的網站,如賭博等關鍵字。
誤報排除方法
1、客戶網站發的帖子中存在黑鏈關鍵字導致誤報。
2、有些稍微高級黑鏈無法在界面上直觀看到的,可以使用瀏覽器查看源代碼,找到黑鏈關鍵字。
3、再高級些的黑鏈也不能在源代碼中直觀看到,會調用 js 等函數實現,如搜索引擎能查看到黑鏈但是打開網站無法查看到。這裡可以使用 burpsuite 或者
wireshark 訪問網站進行跟蹤發現黑鏈的調用後訪問的地址。
image.png

Shell 反彈#

只在日誌檢測中心可以查看,檢測是主機有外連的 ssh 連接,會被判斷為 shell 反彈。
誤報排除方法
大部分是誤報,只有日誌,沒有安全事件。
若還有連接,可以到主機上使用進程分析工具,監測進程連接 SIP 報的目的端口的情況。

HTTP 定時請求可疑文件#

通過定時下載惡意文件,對病毒進行保活。在一定時間間隔像外網進行請求。
image.png
誤報排除方法
1、查看下載時間是否有定時特徵,比如上述截圖主機存在一個小時下載一次惡意程序的行為,如果沒有定時特徵可能是算法有問題
2、查詢下載 URL 裡面的域名 / IP 的威脅情報信息,如果域名或者 IP 是黑的那基本不會是誤報了。
3、通過 URL 直接放到開源雲沙箱(比如 VT、微步雲沙箱)如果 URL 沒有失效且能夠殺出毒就肯定不會是誤報
4、如果威脅情報沒有信息而且 URL 已經失效可以谷歌域名 / IP 的信譽度如何,如果是一些正常公司的域名 / IP 則有可能是誤報

下載偽造文件#

通過對比文件後綴與 SIP 檢測到的文件頭信息進行對比是否相同,不相同時為偽造文件。
image.png
誤報排除方法
l、查看 URL 裡面的文件後綴文件類型與文件頭是否符合,比如這裡 URL 裡面的文件後綴是一個 rar 壓縮文件但是發現文件的文件頭其實是一個 ELF 可執行文件,這種就不會是誤報
2、一般 URL 裡面的域名 / IP 很多也被威脅情報收錄了,能夠查到相關的威脅情報
3、如果是客戶自己的業務,確實存在一個錯誤後綴類型的可執行文件那可以定義為誤報(這種情況概率太低)

主機存在下載惡意程序的行為#

通過 http 下載可執行程序,通過域名 / IP/url 的威脅情報識別下載是否為惡意。
誤報排除方法
1、最常用的手段還是查一下 URL 裡面域名 / IP 的威脅情報,如果是黑的就是準的,如果是知名網站則是誤報
2、可以把 URL 還有效,放到雲沙箱(vt)殺一下

主機存在惡意泄露數據風險#

出現目錄遍歷成功的情況、出現.svn/.git 源碼泄露的情況、備份源碼泄露情況、備份數據庫文件泄露的情況。
image.png
誤報排除方法
敏感信息泄露主要分為幾種情況:出現目錄遍歷成功的情況、出現 .svn/.git 源碼泄露的情況、備份源碼泄露情況、備份數據庫文件泄露的情況,直接訪問 url 就可以訪問到,比較明顯,比如下面的情況,就是.svn 目錄放到了 web 目錄被訪問到了,可以造成源碼泄露
image.png

主機存在 CobalStrike 通信行為#

URL 包含的域名 /ip 基本都是 C2 伺服器
image.png
誤報排除方法
1、先確認檢測到的 IP 和可疑路徑是否指向單位正常業務。
2、如果檢測到的路徑非正常業務而是互聯網資源,則可以在 VT 和微步上查詢相關 url/ip 的信息,並從 url 下載樣本進行殺毒檢測 / 人工檢視。

主機存在 ICMP 隧道通信行為#

隧道技術是一種通過使用互聯網的基礎設施在網絡之間傳遞數據的方式,使用隧道傳遞的數據可以是不同協議的數據幀或包。隧道協議將其他協議的數據幀或包重新封裝,然後通過隧道發送。ICMP 隧道將數據封裝在 ICMP 協議的 ping 數據包中,利用防火牆不會屏蔽 ping 數據包的特點,將數據傳送出去。
比如,主機疑似與多個主機進行 ICMP 隧道通信,共計 517 次,次數較多,需要排查。
image.png

誤報排除方法
1、在規則庫沒有變化時,突然檢測到發起大量訪問次數,為可疑行為
2、使用終端殺毒軟件在終端上查殺是否存在 icmp 隧道通信的客戶端工具。

內網遠程創建任務#

檢測是否遠程創建服務的執行命令
image.png
誤報排除方法
1、遠程創建服務這個動作不會是誤報,檢測原理就是檢測是否遠程創建服務,比如上面的那個舉證就是主機 200.200.20.208 對 200.200.0.5 遠程執行了一個命令 \ |VSS\C$ \KHUOvydR.exe。
2、上面只是說能肯定創建了服務,但是運維場景也有可能出現這種動作,比如管理員通過類似於 psexe 的工具對遠程主機進行管理(這種情況目前還沒遇到過),這種情況問下客戶運維人員是否執行正常命令即可。也可以自己通過命令大概判斷一下,比如上面那個文件名比較雜亂,一看就不是好東西。

內網遠程創建定時任務#

與遠程創建服務相似很少有遠程創建定時任務的運維操作。
image.png
誤報排除方法
1、這個舉證描述已經比較清楚,主機 1.1.1.1 對主機 1.1.1.2 遠程創建了一個定時任務,首先 1.1.1.1 肯定已經發出這個創建定時任務的動作,這個不會誤報,而且如果顯示創建成功,可以查看 1.1.1.2 是否有被創建成功的定時任務。
2、與創建服務類型,有極端情況下應該是運維人員在搞事情,但是目前也是還沒遇到過,可以看看定時任務執行的命令可以看看這個定時任務是定時執行什麼命令,一般可以通過執行的命令來看是否惡意的定時任務,比如定時執行一個 powshell 命令,那就基本是惡意的了。

內網 SMB 一對多登錄#

看圖可以得知,有攻擊者還使用一個帳號對多台主機進行登錄嘗試
image.png
誤報排除方法
1、這個基本不會誤報,當黑客拿到一個帳號密碼之後會對多個主機進行登錄,其中登錄失敗的比例比較高,誤報場景還沒發現。
可以查看 windows 的安全日誌,登錄失敗日誌。

內網系統信息探測#

檢測到主機對多個主機進行匿名登錄
image.png

誤報排除方法
這個基本不會出現誤報,驅動人生經常使用該方法,對目標主機探測一下系統版本等信息。MSF 的 smb_verison 模塊就是通過該方式進行系統信息探測,在流量上表現的是對多個主機進行匿名登錄,這種正常場景以及運維場景都沒有。

日報以及總結報告的編寫#

日報的編寫#

在正常的安全運維服務中,特別是在重要時期的安全運維服務中,無論客戶是否要求提交日報,都應該在當天值守完成後及時編寫日報,這不僅僅是對當天工作的總結,更會在最後的總結報告的編寫上提供巨大的幫助。
日報應包含數據周期,值守範圍,使用的設備,現場人員,當日監測情況,應急處置情況等。

總結報告#

總結報告相對於日報在數據上肯定沒有那麼詳細,其更注重的是整個項目周期內的整體防守情況,除去一些基本信息如周期,人員,設備等信息,總體的攻擊類型以及各類攻擊的分布式更加需要體現的,因為這更能暴露出系統當前的薄弱點。對各重大攻擊事件在日報中可能只能關注到本日的情況,但是在總結報告中我們可以嘗試將一類或者幾類攻擊綜合進行考慮,對一些同源性的攻擊連貫的進行梳理,總結出攻擊者的攻擊路徑,精確定位當前系統的問題所在。

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。