這篇文章發表在了朋友的公眾號上,大家也可以移步公眾號閱讀,今天想起來備份到部落格上
https://mp.weixin.qq.com/s?__biz=Mzg5NzY1NTI2OQ==&mid=2247483751&idx=1&sn=d3b2ffcd2134e6d66d4935bf56c8115d&chksm=c06fc9edf71840fb5072f905e9ae8444a242cbb865bff2436c0d74818530e923adfb4f3343d4&token=1058397600&lang=zh_CN#rd
簡介
隨著網路攻防技術的提升,通常的對單一系統的滲透測試已逐漸滿足不了客戶市場。現在企業內部的紅藍對抗,各個地區的護網行動如雨後春筍一般飛速發展。
這篇文章是針對這紅藍對抗專案的第一步“資產資訊收集”進行一個總結和方法技巧的梳理。
企業資訊收集
紅藍對抗中往往只會給你目標企業的名稱,以及對應的靶標系統地址,而很少有直接從靶標系統入手獲取許可權的情況,這時候我們需要進行對企業的資訊進行收集。
天眼查 https://www.tianyancha.com/
企查查 https://www.qcc.com/
啟信寶 https://www.qixin.com/
以天眼查為例
首先我們需要收集一個企業的從屬企業,如子公司,分支,甚至供應商,因為子公司分支公司可能與我們目標的內網有所連線,供應商的系統中擁有著我們目標的資料,比如人員資訊,賬號等方便下一步利用
查詢子公司,一般控股在51%以上就可以算隸屬於該目標的資產
查詢分支公司
查供應商,供應商我們需要著重關注採購佔比高的供應商,因為比例高說明該供應商的產品大部分都是我們靶標的
查了完了從屬公司後我們下一步是去查對應公司的資產,也就是我們要從這些資產中去發現漏洞
查詢公眾號
查詢app
查備案,備案有時候是ip的形式,有時候是域名的形式,我們拿到域名可以進行子域名收集,拿到ip可進行歸納,看看是不是大多屬於同一個網段,如果是則可以對該網段進行一個收集
備案號查詢
工信部備案號查詢地址 https://beian.miit.gov.cn/#/Integrated/recordQuery
icp備案資訊查詢工具 https://www.icplist.com/
在有些較小的目標時,天眼查這類不一定能夠搜尋到備案資訊
我們通過百度還是能找到南京衛健委的官網的
接下來我們可以看到在官網底部存在備案資訊
我們把-7去掉,查詢就是支援單位的備案域名,這裡南京衛健委的網站是南京市資訊中心統一管理的,那麼有一定的概率南京市資訊中心其他站點與衛健委站點內網相連
子域名
子域名收集無非是2種途徑,一種是通過api介面如shodan,fofa之類的去查詢,一種是通過dns解析去爆破子域名
這裡推薦幾個工具
subfinder(api收集子域名)
https://github.com/projectdiscovery/subfinder
# 單目標
subfinder -all -o doamin_result.txt -d xxx.com
# 多目標
subfinder -all -o results.txt -dL target.txt
shuffledns(子域名爆破)
需要先安裝massdns
https://github.com/projectdiscovery/shuffledns
words.txt為爆破子域名字典,resolver.txt為dns伺服器ip檔案
shuffledns -massdns /usr/local/bin/massdns -w words.txt -r resolver.txt -o result.txt -d vivo.com
subfinder與shuffledns組合使用
結果儲存在results.txt裡面
#bash指令碼,多目標
subfinder -all -dL $1 -o tmp/subfinder_$1.txt
shuffledns -massdns /usr/local/bin/massdns -w words.txt -r resolver.txt -list $1 -o shufflendns_$1.txt
cat tmp/subfinder_$1.txt | tee -a tmp/shufflendns_$1.txt
sort -u tmp/subfinder_$1.txt -o results.txt
rm -rf tmp/subfinder_$1.txt tmp/shufflendns_$1.txt
echo 'subscan over'
使用方法
sh scan.sh qq.com
整合工具oneforall
這裡貼個連線,oneforall集合了很多資產收集工具,它的github文件寫的很詳細,讀者可自行了解下
https://github.com/shmilylty/OneForAll
ip資產收集
現在有些企業的系統更新迭代迅速,往往有些目標的系統沒有域名,並且為了免去備案過程的繁瑣,它往往會把系統開在非80,443埠,備案資訊也查不到
這時候思路一般是通過fofa,鍾馗之眼這類的資產查詢平臺去收集,當然fofa上的資產不一定是及時有效的,我們拿到目標ip還可以進行一次全埠掃描,往往也可以發現一些fofa上沒有記載的埠
直接搜尋關鍵字
以江蘇移動為例
(title="中國移動" || body="中國移動") && region="Jiangsu"
開啟第一個連結,即為目標資產
當然該種方法任然會有很多其他的資產,這時候根據實際情況進行過濾
(title="中國移動" || body="中國移動") && region="Jiangsu" && (body="江蘇" || title="江蘇")
當然也會遺漏一些資料,這個就需要自己進行一個取捨了
根據已有資產去搜集c段
在初步資訊收集結束後,手上會有備案過的ip地址,子域名解析對應的ip地址,進行歸納整理後,對其c段進行收集
我們根據備案資訊,發現183.207.100.1/24 或者說183.207.100.1/16網段中多個ip都是屬於目標資產的
我們可以對該網段進行一個資訊收集
ip="183.207.100.223/16" && (title="中國移動" || body="中國移動")
根據證書收集資產
在通過fofa收集目標資產的時候,在左邊就有證書資訊
我們可以點選該連結,他會自動幫我們自動填寫語法
cert.subject="中國行動通訊集團江蘇有限公司"
通過iconhash來收集
有些企業會將favicon.ico弄成相同的,比如移動的icon
https://github.com/Becivells/iconhash
我們通過iconhash工具進行計算
iconhash http://www.10086.cn/favicon.ico
也可以儲存下來進行hash計算
iconhash -file favicon.ico
fofa需要高階會員才能使用icon進行搜尋
根據header特徵收集
比如有些站點他的Set-Cookie有對應特徵欄位,或者csp資訊有域名等等,以tencent為例
header="tencent.com"
或者說搜尋set-cookie
header="Domain=.cloud.tencent.com"
小結
上述幾種方法讀者可根據情況自行的進行組合使用,但也不排除有些資產web確實沒有特徵
資產確認
fofa掃C段有個問題是在於,確實發現漏洞了,但是怎麼向紅藍對抗的裁判去證明該站點是我們的目標站點
可以從以下幾個途徑入手
站長之家-ip資訊查詢 http://ip.tool.chinaz.com/
該方法可以查到該ip的地理位置,如果是國外的話,那麼一般可以排除
查詢網-ip反查詢 https://site.ip138.com/
我們不知道ip地址對應的域名是什麼,但不代表他沒有域名,我們可以通過該方法對ip地址進行反查
下圖jscmcc.cn是江蘇移動的域名,則可以推斷出該ip就是江蘇移動資產
威脅情報中心(微步) https://x.threatbook.cn/
威脅情況中心一般是用來應急響應溯源ip用的,他甚至包含了該ip的歷史dns解析記錄,在ip反查查不到的情況下用威脅情報中心進行一次反查往往能夠有意想不到的收穫
埠掃描
在紅藍對抗高強度,時間短的情況下,拿nmap去掃全埠等到天荒地老都不一定有結果,這裡推薦2個快速掃描埠的工具
naabu
https://github.com/projectdiscovery/naabu
如果探測埠服務需要安裝nmap,很慢建議可在vps上執行,下面是全埠掃描的命令
# 多目標全埠
naabu -p - -nmap-cli "nmap -sT -Pn -T4 -o result.txt" -iL target.txt
# 單目標全埠
naabu -p - -nmap-cli "nmap -sT -Pn -T4 -o result.txt" -host xxx.com
masscan
https://github.com/robertdavidgraham/masscan
#在linux下
apt-get install masscan
yum install masscan
#在mac下
brew install masscan
執行
masscan -p 1-65535 ip --rate 10000
服務識別
在埠掃描的時候就能幫我們識別一些服務了,比如mysql,http,ssh等等
但是有些存在非常用埠存在web站點而nmap識別出來是unknown的情況,而web通常是我們的常見突破口
httpx
https://github.com/projectdiscovery/httpx
我們可以使用httpx來識別web服務
httpx -status-code -content-length -title -l target.txt
我們的target.txt檔案每行只需要域名或者ip,如果探測其他埠可以帶上埠
在識別到存在web了之後我們可以進一步去識別目標的服務,在紅藍對抗中往往一些通用元件的漏洞是突破口
Ehole
https://github.com/EdgeSecurityTeam/EHole
和whatweb這種指紋識別工具比起來,一般可以識別出各種oa,各種國內用的系統等等,在國內紅藍對抗中往往更加有效果,檔案一般是web的url連線(帶http協議的寫法)
Ehole -l 1.txt
結語
資產收集的方法還有很多,比如從apk中提取url地址,從dns伺服器上查詢解析記錄等等方式。
如今在紅藍對抗中掉點率是越來越高,並且大部分資產都有裝置waf等等,稍微掃一下路徑就被封ip,而資訊收集收集到防守方沒有梳理歸納劃入防守方的資產的時候,這種資訊差往往會成為進入內網的突破口。