藍(lán)隊(duì)的自我修養(yǎng)之事中監(jiān)控 | HVV經(jīng)驗(yàn)分享
一年一度的重保活動(dòng)即將到來,作為防守方將進(jìn)行 7*24h 的值守安全設(shè)備,防守方主要從“事前排查”、“事中監(jiān)控”、“事后溯源”三個(gè)維度開展自己的工作。
“事前排查”主要是針對組織資產(chǎn)信息進(jìn)行深度了解,掌握隱形資產(chǎn),發(fā)現(xiàn)明顯風(fēng)險(xiǎn)點(diǎn)并修復(fù); “事中監(jiān)控”也就是監(jiān)控安全設(shè)備的告警,從海量日志中篩選出漏報(bào)、誤報(bào)以及發(fā)現(xiàn)真實(shí)的攻擊者; “事后溯源”是基于“事中監(jiān)控”的更進(jìn)一步,只有從安全設(shè)備上發(fā)現(xiàn)更多的真實(shí)攻擊者,才能提升溯源的成功率。
2.1 掃描器
Crawlergo
0Kee-Team 開源了 360 天相的爬蟲模塊Crawlergo(https://github.com/0Kee-Team/crawlergo),白帽子通常會(huì)把 Crawlergo 集成到自己開發(fā)的掃描器中去挖掘漏洞,使用 Crawlergo 掃描網(wǎng)站,HTTP 頭帶有自定義字段 Spider-Name: crawlergo,故搜索該規(guī)則可以獲取到 360 掃描器或者白帽子基于 Crawlergo 二次開放的掃描器地址。下圖為通過規(guī)則檢索到 Crawlergo 爬蟲攻擊的日志。

AWVS 掃描器

白帽子使用 AWVS 掃描器對企業(yè)資產(chǎn)進(jìn)行掃描時(shí),HTTP 請求包和響應(yīng)包中都存在有特征。
(1) Accept:acunetix/wvs



AWVS 在進(jìn)行無回顯漏洞探測時(shí)候會(huì)使用到 DNSLog(bxss.me),DNSLog 生成規(guī)則為 "http://hit" + rndToken + '.bxss.me/' 隨機(jī)的三級(jí)域名作為 payload。
2.2 DNSLog
域名 | 備注 |
ceye.io | 知道創(chuàng)宇 |
admin.dnslog.link | 四葉草安全 |
www.dnslog.cn | —— |
dnslog.io | hackit-me |
hyuga.co | Buzz2d0 |
dnslog.cn | —— |
tu4.org | —— |
h.i.ydscan.net | —— |
burpcollaborator.net | burpsuite自帶dnslog |
dns1.tk | https://dns.xn--9tr.com/ |
地址 | 備注 |
https://github.com/BugScanTeam/DNSLog | —— |
https://github.com/donot-wong/dnslog | —— |
https://github.com/chennqqi/godnslog | —— |
(3) Cland Beta
開源工具 X-ray 提供了一個(gè)針對無回顯漏洞驗(yàn)證的平臺(tái) Cland Beta,通過 Fofa 語法檢索到互聯(lián)網(wǎng)上存在 200 多個(gè) Cland Beta,可以將以上 IP 作為重點(diǎn)監(jiān)控對象。


#!/usr/bin/env python# -*- coding: utf-8 -*-import requestsimport randomimport timedef atttack():for i in range(1, 1000):random_name_id = random.randint(3,8)random_name = ''.join(random.sample(['z','y','x','w','v','u','t','s','r','q','p','o','n','m','l','k','j','i','h','g','f','e','d','c','b','a'], random_name_id))random_id = random.randint(1,100)url = "http://" + str(random_id) + "." + str(random_name) + ".4ymeeo.dnslog.cn/Exploit"print(url)response = requests.get(url,timeout=5)print(response.text)if __name__ == '__main__':atttack()
2.3 最新漏洞
在重保中攻擊者會(huì)利用 0day 或者 Nday 攻擊業(yè)務(wù)系統(tǒng),通過互聯(lián)網(wǎng)公開的漏洞情報(bào),基于漏洞利用特征到全流量日志系統(tǒng)中提取相關(guān)攻擊者 IP。比如 fastjson 漏洞,可以在日志中檢索數(shù)據(jù)包的請求體中檢索關(guān)鍵字 “rowset.JdbcRowSetImpl”。

2.4 HTTP 返回包
攻擊者通過利用遠(yuǎn)程命令執(zhí)行類漏洞或者 webshell 執(zhí)行一些命令后,返回包中會(huì)返回命令的執(zhí)行結(jié)果,這里拋磚引玉說幾個(gè)返回的包含的特征,如果存在以下特征說明已經(jīng)漏洞利用成功。
(1) “Windows IP”
2.5 Referer 來源
2.6 其他手段
其一,http 請求包中有個(gè) X-forwarded-for 字段,某些情況下我們將其值修改為 127.0.0.1 可以繞過一些系統(tǒng)限制,因此提取數(shù)據(jù)包中包含這個(gè)字段的相關(guān) IP,也會(huì)有驚喜的發(fā)現(xiàn);
其二,大多數(shù)系統(tǒng)需要登錄才能進(jìn)一步操作,那么登錄處大概率攻擊者會(huì)嘗試弱口令攻擊,所以在數(shù)據(jù)包的請求體中找 username=test、 admin 等字段,如果 IP 存在多次嘗試登錄,那么這個(gè) IP 也可以歸為攻擊者;
其三,有些攻擊者不注意自己隱私,用個(gè)人信息注冊目標(biāo)業(yè)務(wù)系統(tǒng),如果業(yè)務(wù)系統(tǒng)不注重用戶隱私,可能數(shù)據(jù)包的 cookie 字段明文顯示攻擊者使用的手機(jī)號(hào)或者常用 id,在流量日志中檢索包含這些敏感信息的 IP 是否存在攻擊行為。
其四,查詢 User-Agent 字段包含 python、golang 等腳本語言的日志,因?yàn)榇蟛糠珠_源的漏洞工具沒有設(shè)置 User-Agent 字段,可以通過 User-Agent 判斷哪些是腳本利用,但是這種搜索結(jié)果不是很準(zhǔn)確,因?yàn)榛ヂ?lián)網(wǎng)上僵尸網(wǎng)絡(luò)也會(huì)利用自定義腳本攻擊業(yè)務(wù)系統(tǒng)。
作為一名藍(lán)方值守人員,依托安全設(shè)備,基于自己的安全經(jīng)驗(yàn),從海量的日志中盡可能的發(fā)現(xiàn)更多威脅,幫助攻防演練中甲方找到自己的短板,在第一時(shí)間進(jìn)行安全修復(fù)。本文介紹了筆者在一線使用安全設(shè)備的思路,只是拋磚引玉,相信還有更多的技巧方法。關(guān)于對捕獲到攻擊者 IP 進(jìn)行“事后溯源”,我們下篇見。
- END -
微步在線 TDP 10G 萬兆版、主機(jī)安全檢測與響應(yīng)平臺(tái) OneEDR 重磅發(fā)布!

我們不差錢,就差一個(gè)你~

關(guān)于微步在線研究響應(yīng)團(tuán)隊(duì)
內(nèi)容轉(zhuǎn)載與引用
微步在線
研究響應(yīng)中心
-長按二維碼關(guān)注我們-

