淺談Web滲透測試中的信息收集
冷瘠薄2017-08-07
+12共270459人圍觀 ,發(fā)現(xiàn)16個(gè)不明物體WEB安全新手科普
下面一張圖比較詳細(xì)的介紹了滲透測試中的信息收集,看過許多 freebuf 大牛寫的文章,今天也給大家分享一些自己的經(jīng)驗(yàn)(也就一小白,錯(cuò)誤的地方各位牛牛多多指正)。

信息收集對于滲透測試可以說是重中之重,正所謂“知己知彼,百戰(zhàn)不殆”。所以我們的信息收集也是一樣,收集的信息自然也是越多越好,這里有個(gè)文章http://www.doc88.com/p-7784047461299.html,這里的PTES滲透測試執(zhí)行標(biāo)準(zhǔn)(諸葛建偉翻譯)中信息收集也是占到了差不多60%的樣子,可見滲透測試中信息收集的重要,廢話不多說進(jìn)入正題。
首先是whois信息,whois(讀作“Who is”,非縮寫)是用來查詢域名的IP以及所有者等信息的傳輸協(xié)議。簡單說,whois就是一個(gè)用來查詢域名是否已經(jīng)被注冊,以及注冊域名的詳細(xì)信息的數(shù)據(jù)庫(如域名所有人、域名注冊商)。至于這個(gè)的查詢也是說比較簡單的,比如站長之家,愛站網(wǎng)等等都提供了whois的查詢,下面這就是一張典型的站長之家的 whois 查詢

這是我自己的有些地方打碼了,我們可以看到注冊人信息,郵箱等等這樣我們可以進(jìn)行郵箱反查域名,爆破郵箱,社工,域名劫持等等,總的來說這也就是個(gè)網(wǎng)站的身份證那樣的作用,至于起到的作用就看你如何發(fā)揮了,上面也只是提供一些思路而已。下面是DNS相關(guān)的信息收集,在這之前我們需要首先明白dns的解析過程、
1. 根域
就是所謂的“.”,其實(shí)任何網(wǎng)址(比如www.baidu.com)的完整形式最后都有一個(gè)點(diǎn),即www.baidu.com.。一般我們在瀏覽器里輸入時(shí)會省略后面的點(diǎn),而這也已經(jīng)成為了習(xí)慣。
域名是分級的,域名解析也是分級的,當(dāng)本地DNS服務(wù)器沒有存儲我們要查找域名的IP地址時(shí),之后解析的第一步就是向根域名(.)DNS服務(wù)器發(fā)出域名解析請求。
根域服務(wù)器只是具有13個(gè)IP地址,但機(jī)器數(shù)量卻不是13臺。
因?yàn)檫@些IP地址借助了任播的技術(shù),所以我們可以在全球設(shè)立這些IP的鏡像站點(diǎn),你訪問到的這個(gè)IP并不是唯一的那臺主機(jī)。
kali linux也是提供了一個(gè) dig 命令來查看相關(guān)信息

如果需要查看具體網(wǎng)站的直接dig+指定站點(diǎn)就ok、
二. 域的劃分
根域下來就是頂級域或者叫一級域。
有兩種劃分方式,一種互聯(lián)網(wǎng)剛興起時(shí)的按照行業(yè)性質(zhì)劃分的com.,net.等,一種是按國家劃分的如cn.,jp.等。
每個(gè)域都會有域名服務(wù)器,也叫權(quán)威域名服務(wù)器。
Baidu.com就是一個(gè)頂級域名,而www.baidu.com卻不是頂級域名,他是在baidu.com這個(gè)域里的一叫做www的主機(jī)。
一級域之后還有二級域,三級域,只要我買了一個(gè)頂級域,并且我搭建了自己BIND服務(wù)器(或者其他軟件搭建的)注冊到互聯(lián)網(wǎng)中,那么我就可以隨意在前面多加幾個(gè)域了(當(dāng)然長度是有限制的)。
比如a.www.baidu.com,在這個(gè)網(wǎng)址中,www.baidu.com變成了一個(gè)二級域而不是一臺主機(jī),主機(jī)名是a
三. 域名服務(wù)器
提供域名解析的服務(wù)器,上面的記錄類型可以是A(address)記錄,NS記錄(nameserver),MX(mail),CNAME等。


A 記錄
又稱IP指向,用戶可以在此設(shè)置子域名并指向到自己的目標(biāo)主機(jī)地址上,從而實(shí)現(xiàn)通過域名找到服務(wù)器。說明:·指向的目標(biāo)主機(jī)地址類型只能使用IP地址;
1)泛域名解析即將該域名所有未指定的子域名都指向一個(gè)空間。在“主機(jī)名”中填入*,“類型”為A,“IP地址/主機(jī)名”中填入web服務(wù)器的IP地址,點(diǎn)擊“新增”按鈕即可。
2)負(fù)載均衡的實(shí)現(xiàn):負(fù)載均衡(Server Load Balancing,SLB)是指在一系列資源上面動態(tài)地分布網(wǎng)絡(luò)負(fù)載。負(fù)載均衡可以減少網(wǎng)絡(luò)擁塞,提高整體網(wǎng)絡(luò)性能,提高自愈性,并確保企業(yè)關(guān)鍵性應(yīng)用的可用性。當(dāng)相同子域名有多個(gè)目標(biāo)地址時(shí),表示輪循,可以達(dá)到負(fù)載均衡的目的,但需要虛擬主機(jī)服務(wù)商支持。
CNAME
通常稱別名指向。您可以為一個(gè)主機(jī)設(shè)置別名。比如設(shè)置test.mydomain.com,用來指向一個(gè)主機(jī)www.rddns.com那么以后就可以用test.mydomain.com來代替訪問www.rddns.com了。
CNAME的目標(biāo)主機(jī)地址只能使用主機(jī)名,不能使用IP地址;·主機(jī)名前不能有任何其他前綴,如:http://等是不被允許的;
A記錄優(yōu)先于CNAME記錄。即如果一個(gè)主機(jī)地址同時(shí)存在A記錄和CNAME記錄,則CNAME記錄不生效
MX 記錄
郵件交換記錄。用于將以該域名為結(jié)尾的電子郵件指向?qū)?yīng)的郵件服務(wù)器以進(jìn)行處理。如:用戶所用的郵件是以域名mydomain.com為結(jié)尾的,則需要在管理界面中添加該域名的MX記錄來處理所有有@mydomain.com結(jié)尾的郵件。
MX記錄可以使用主機(jī)名或IP地址;
MX記錄可以通過設(shè)置優(yōu)先級實(shí)現(xiàn)主輔服務(wù)器設(shè)置,“優(yōu)先級”中的數(shù)字越小表示級別越高。也可以使用相同優(yōu)先級達(dá)到負(fù)載均衡的目的;
如果在“主機(jī)名”中填入子域名則此MX記錄只對該子域名生效。
當(dāng)域名的MX記錄有多個(gè)目標(biāo)地址且優(yōu)先級相同時(shí),表示輪循,可以達(dá)到負(fù)載均衡的目的
NS 記錄
解析服務(wù)器記錄。用來表明由哪臺服務(wù)器對該域名進(jìn)行解析。這里的NS記錄只對子域名生效。
例如用戶希望由12.34.56.78這臺服務(wù)器解析news.mydomain.com,則需要設(shè)置news.mydomain.com的NS記錄。
說明:·“優(yōu)先級”中的數(shù)字越小表示級別越高;·“IP地址/主機(jī)名”中既可以填寫IP地址,也可以填寫像ns.mydomain.com這樣的主機(jī)地址,但必須保證該主機(jī)地址有效。
將news.mydomain.com的NS記錄指向到ns.mydomain.com,在設(shè)置NS記錄的同時(shí)還需要設(shè)置ns.mydomain.com的指向,
否則NS記錄將無法正常解析;·NS記錄優(yōu)先于A記錄。即,如果一個(gè)主機(jī)地址同時(shí)存在NS記錄和A記錄,則A記錄不生效。這里的NS記錄只對子域名生效。
附加說明
1)負(fù)載均衡服務(wù)器負(fù)載均衡(Server Load Balancing,SLB)是指在一系列資源上面智能地分布網(wǎng)絡(luò)負(fù)載。負(fù)載均衡可以減少網(wǎng)絡(luò)擁塞,提高整體網(wǎng)絡(luò)性能,提高自愈性,并確保企業(yè)關(guān)鍵性應(yīng)用的可用性。當(dāng)相同子域有多個(gè)目標(biāo)地址,或域名的MX記錄有多個(gè)目標(biāo)地址且優(yōu)先級相同時(shí),表示輪循,可以達(dá)到負(fù)載均衡的目的,但需要虛擬主機(jī)和郵箱服務(wù)商支持。
2) TTL值TTL值全稱是“生存時(shí)間(Time To Live)”,簡單的說它表示DNS記錄在DNS服務(wù)器上緩存時(shí)間

四. 解析過程
使用Dig來查看迭代查詢的過程。


當(dāng)然你也有可能遇到域傳送漏洞
如何高效的進(jìn)行子域名收集
這里也有幾個(gè)在線的網(wǎng)站
shodanhttps://www.shodan.io/
shadan(傻蛋聯(lián)網(wǎng)設(shè)備搜索系統(tǒng))https://www.oshadan.com/
ZoomEyhttps://www.zoomeye.org/

github上也有不少自動化的工具
例如Fierce,當(dāng)然也有著名的?Layer子域名挖掘機(jī)

在幾千個(gè)域名中使用nmap找到一個(gè)薄弱點(diǎn)

真實(shí)ip
繞過CDN查看網(wǎng)站真實(shí)IP的一些辦法 (參考lovesec公眾號的)
1、驗(yàn)證是否存在CDN最簡單的辦法
通過在線的多地ping,通過每個(gè)地區(qū)ping的結(jié)果得到IP
看這些IP是否一致,如果都是一樣的,極大可能不存在cdn,但不絕對
如果這些IP大多都不太一樣或者規(guī)律性很強(qiáng),可以嘗試查詢這些IP的歸屬地,判斷是否存在CDN
2、驗(yàn)證IP和域名是否真實(shí)對應(yīng)最簡單的辦法
修改本地hosts文件,強(qiáng)行將域名與IP解析對應(yīng)
然后訪問域名查看頁面是否變化
1、ping
假設(shè)如下存在cdn
? ~ pingwww.sysorem.xyz
PING 539b1c6d114eec86.360safedns.com (221.204.14.177): 56 data bytes
Request timeout for icmp_seq 0
Request timeout for icmp_seq 1
Request timeout for icmp_seq 2
可以嘗試? ~ ping sysorem.xyz
很多廠商可能讓www使用cdn,空域名不使用CDN緩存。
所以直接ping sysorem.xyz可能就能得到真實(shí)IP
2、分站域名
很多網(wǎng)站主站的訪問量會比較大。所以往往主站都是掛了CDN的
但是分站就不一定了,畢竟CDN要錢,而且也不便宜
所以可能一些分站就沒有掛CDN,所以有時(shí)候可以嘗試通過查看分站IP
可能是同個(gè)IP或者同個(gè)站都是沒準(zhǔn)的。Zoomeye.org, shodan.io ,fofa.so,微步在線,是我們不錯(cuò)的選擇,使用api效果更佳
3、國外訪問
國內(nèi)的CDN往往只會針對國內(nèi)用戶訪問加速
所以國外就不一定了。因此通過國外代理訪問就能查看真實(shí)IP了
或者通過國外的DNS解析,可能就能得到真實(shí)的IP
當(dāng)然還有郵件、ddos、社工等等
端口掃描
這里當(dāng)然非我們的nmap莫屬了,號稱四十分鐘掃描全網(wǎng)啊

指紋識別
這個(gè)主要是主機(jī)系統(tǒng)的識別,網(wǎng)站程序的識別,cms等等
bt5下的whatweb、nmap、windows下的御劍等等都是不錯(cuò)的工具,網(wǎng)站的roboxt.txt文件有時(shí)也會有不一樣的效果
還有破曉團(tuán)隊(duì)的在線識別http://whoweb.secbug.org/


敏感信息泄露
phpinfo文件泄露

.ht、.svn、.git、網(wǎng)站源碼文件信息泄露等等
自動化的腳本

基本也就這些了,希望對大家有用,O(∩_∩)O哈哈哈~
(參考文章https://xianzhi.aliyun.com/forum/read/451.html)
*本文作者:冷瘠薄,轉(zhuǎn)載請注明來組FreeBuf