天天看點

Kali Linux滲透基礎知識整理(一):資訊搜集(一)

什麼是資訊收集:

收集滲透目标的情報是最重要的階段。如果收集到有用的情報資料的話,可以大大提高對滲透測試的成功性。收集滲透目标的情報一般是對目标系統的分析,掃描探測,服務查點,掃描對方漏洞,查找對方系統IP等,有時候滲透測試者也會用上“社會工程學”。滲透測試者會盡力搜集目标系統的配置與安全防禦以及防火牆等等。

内容概要

1. 網站及伺服器資訊

2. 搜尋引擎

3. Google Hacking

網站及伺服器資訊:

whois

whois是用來查詢域名的IP以及所有者等資訊的傳輸協定。簡單說,whois就是一個用來查詢域名是否已經被注冊,以及注冊域名的詳細資訊的資料庫(如域名所有人、域名注冊商)。在whois查詢中,注冊人姓名和郵箱資訊,通常對于測試個人站點非常有用,因為我們可以通過搜尋引擎,社交網絡,挖掘出很多域名所有人的資訊。而對于小站點而言,域名所有人往往就是管理者。

例如下面 whois www.sysorem.xyz 檢視www.sysorem.xyz這個域名的注冊資訊

Kali Linux滲透基礎知識整理(一):資訊搜集(一)

DNS伺服器查詢

除了whois查詢之外,我們還可以通過host指令來查詢dns伺服器,

格式:

1. host 指令

2. [-aCdlriTwv]

3. [-c class]

4. [-N ndots]

5. [-t type]

6. [-W time]

7. [-R number]

8. [-m flag]

9. hostname [server]

查詢域名伺服器

Kali Linux滲透基礎知識整理(一):資訊搜集(一)

從圖中可以看到有3個dns伺服器,分别為:

1. dns1.hdu.edu.cn

2. dns2.hdu.edu.cn

3. dns2.hdu.edu.cn

DNS記錄類型=>在買了域名後IDC的那個背景裡,添加解析記錄的地方就能看到

Kali Linux滲透基礎知識整理(一):資訊搜集(一)

例如查詢A記錄,即查IP,如圖

Kali Linux滲透基礎知識整理(一):資訊搜集(一)

域名枚舉

在得到主域名資訊之後,如果能通過主域名得到所有子域名資訊,再通過子域名查詢其對應的主機IP,這樣我們能得到一個較為完整的資訊。

使用fierse工具,可以進行域名清單查詢:fierce -dns domainName

Kali Linux滲透基礎知識整理(一):資訊搜集(一)

除fierse之外,dnsdict6、dnsenum、dnsmap都可以進行域名枚舉。

反向位址解析

我們經常使用到得DNS伺服器裡面有兩個區域,即“正向查找區域”和“反向查找區域”,正向查找區域就是我們通常所說的域名解析,反向查找區域即是這裡所說的IP反向解析,它的作用就是通過查詢IP位址的PTR記錄來得到該IP位址指向的域名.

由于在域名系統中,一個IP位址可以對應多個域名,是以從IP出發去找域名,理論上應該周遊整個域名樹,但這在Internet上是不現實的。為了完成逆向域名解析,系統提供一個特别域,該特别域稱為逆向解析域in-addr.arpa。這樣欲解析的IP位址就會被表達成一種像域名一樣的可顯示串形式,字尾以逆向解析域域名”in-addr.arpa”結尾。例如一個IP位址:222.211.233.244,其逆向域名表達方式為:244.233.221.222.in-addr.arpa

dig:使用dig進行反向解析的指令格式為:

dig -x ip @dnsserver #用 dig 檢視反向解析

Kali Linux滲透基礎知識整理(一):資訊搜集(一)

線上查詢也是一種辦法 http://dns.aizhan.com/

想要獲得完整的資訊,可以多嘗試不同的工具,整合結果。很多工具無法做反向查詢的原因,在于域名所有者沒有添加反向解析記錄。

關于DNS區域傳送漏洞

區域傳送操作指的是一台後備伺服器使用來自主伺服器的資料重新整理自己的zone資料庫。一般來說,DNS區域傳送操作隻在網絡裡真的有後備域名DNS伺服器時才有必要執行,但許多DNS伺服器卻被錯誤地配置成隻要有人送出請求,就會向對方提供一個zone資料庫的拷貝。當一個機關沒有使用公用/私用DNS機制來分割外部公用DNS資訊和内部私用DNS資訊的時候,此時内部主機名和IP位址都暴露給了攻擊者。就像是把一個機關的内部網絡完整藍圖或導航圖奉送給了别人。

Kali Linux滲透基礎知識整理(一):資訊搜集(一)

詳細了解,傳送門,感覺這位大神寫的蠻清楚的,可以參考下

服務指紋識别

很多站點,可能沒有自定義錯誤資訊。是以在url上随便輸入一個不存在的位址,可能會傳回有用的資訊。

Kali Linux滲透基礎知識整理(一):資訊搜集(一)

通過上圖,我們知道該站點的應用程式由PHP編寫,Web伺服器為Apathe/2.2.22,作業系統為Windows

通過端口判斷服務

通過掃描伺服器開放的端口判斷伺服器上存在的服務,nmap具體使用在後面會講到

Kali Linux滲透基礎知識整理(一):資訊搜集(一)

從圖中可以看出該伺服器搭建了http(Web)、msrpc(檔案共享)、MSSQL資料庫等

作業系統指紋識别

識别目标主機的作業系統,首先,可以幫助我們進一步探測作業系統級别的漏洞進而可以從這一級别進行滲透測試。其次,作業系統和建築在本系統之上的應用一般是成套出現的,例如LAMP或者LNMP。作業系統的版本也有助于我們準确定位服務程式或者軟體的版本,比如一般情況下windows server 2003 搭載的IIS為6.0,windows server 2008 R2 搭載的是IIS7.5。

Banner抓取

banner抓取是應用程式指紋識别而不是作業系統指紋識别。Banner資訊并不是作業系統本身的行為,是由應用程式自動傳回的,比如apathe、exchange。而且很多時候并不會直接傳回作業系統資訊,幸運的話,可能會看到服務程式本身的版本資訊,并以此進行推斷。下圖可以看出ftp伺服器軟體為FileZilla及版本等資訊

Kali Linux滲透基礎知識整理(一):資訊搜集(一)

使用Nmap進行作業系統探測

使用Nmap識别作業系統最簡單的方法為使用-O參數

格式 nmap -O URI,從圖中可以看到伺服器作業系統為Linux

Kali Linux滲透基礎知識整理(一):資訊搜集(一)

使用p0f進行作業系統探測

p0f是一款被動探測工具,通過分析網絡資料包來判斷作業系統類型。同時p0f在網絡分析方面功能強大,可以用它來分析NAT、負載均衡、應用代理等。下面指令的含義為監聽網卡eth0,并開啟混雜模式。這樣會監聽到每一個網絡連接配接,部分結果摘錄如下:p0f -i eth0 –p

Kali Linux滲透基礎知識整理(一):資訊搜集(一)

使用Xprobe2進行作業系統探測

Xprobe2是一款使用ICMP消息進行作業系統探測的軟體,探測結果可以和Nmap互為參照。但是該軟體目前公開版本為2005年的版本,對老的作業系統探測結果較為準确。簡單用法:xprobe2 -v URI (這個平時用用我基本也掃不出什麼東西233333)

Kali Linux滲透基礎知識整理(一):資訊搜集(一)

抓取作業系統指紋的工具還有很多,如miranda等,不過多舉例。

WAF檢測

WafW00f是Python腳本,用于檢測網絡服務是否處于網絡應用防火牆保護狀态,極其有用。使用WafW00f檢測網絡伺服器和網絡傳輸之間是否存在網絡應用防火牆,這不僅可以發展測試戰略,而且還能開發出繞過網絡應用防火牆的進階技術。簡單用法 wafw00f URL

Kali Linux滲透基礎知識整理(一):資訊搜集(一)

從圖中可以看到該網站處于Waf保護狀态

搜尋引擎

Google搜尋技術融合了用于執行Google的詳細搜尋的進階搜尋技術。在Google首頁右下角可以點選“Settings”->”Advanced search”進行詳細設定

Kali Linux滲透基礎知識整理(一):資訊搜集(一)

在進階設定頁面可以設定“所有字”、“精确的字或短語”、“含以下任何字”、“不含以下任何字”、“數字範圍”、“語言”、“地區”、“最新更新”、“網站或域名”、“關鍵字出現位置”、“安全搜尋”、“閱讀級别”、“檔案類型”、“使用權限”等等,更精确的搜尋

Kali Linux滲透基礎知識整理(一):資訊搜集(一)

由于一些衆所周知的原因,我們在不能歡快滴通路外國網站的時候,會用到國内的一些搜尋引擎。同樣也是可以設定的,不過相對而言沒Google強大。

Kali Linux滲透基礎知識整理(一):資訊搜集(一)

滲透測試中還有一些非常好用的搜尋引擎,比如shodan(https://www.shodan.io/)

下面是搜尋sogou.com的傳回結果

Kali Linux滲透基礎知識整理(一):資訊搜集(一)

點選第一個結果的Details可以檢視詳細資訊,包括地理位置、伺服器開放的端口等等

Kali Linux滲透基礎知識整理(一):資訊搜集(一)

除了shodan之外,當然還不得不提知道創宇的“鐘馗之眼”-> ZoomEye 分分鐘吊炸天有木有?

Kali Linux滲透基礎知識整理(一):資訊搜集(一)

推薦餘弦的《ZoomEye進階黑》

Google hacking

對于普通的使用者而言,Google是一個強大的搜尋引擎;而對于黑客而言,則可能是一款絕佳的黑客工具。正因為google的檢索能力強大,黑客可以構造特殊的關鍵字文法,使用Google搜尋網際網路上的相關隐私資訊。通過Google,黑客甚至可以在幾秒種内黑掉一個網站。這種利用Google搜尋相關資訊并進行入侵的過程就叫做Google Hack。 下面介紹一些常用的所謂“谷歌黑客文法”。

例如批量查找學校網站的背景 輸入如下關鍵字

site:hdu.edu.cn intext:管理|背景|登入|使用者名|密碼|驗證碼|系統|賬号|背景管理|背景登入

Kali Linux滲透基礎知識整理(一):資訊搜集(一)

· intext: 把網頁中的正文内容中的某個字元做為搜尋條件.

· 例如在google裡輸入:intext:杭電.将傳回所有在網頁正文部分包含”杭電”的網頁

· allintext:使用方法和intext類似.

· intitle: 搜尋網頁标題中是否有我們所要找的字元.

· 例如搜尋:intitle:杭電.将傳回所有網頁标題中包含”杭電”的網頁.同理allintitle:也同intitle類似.

· cache: 搜尋google裡關于某些内容的緩存,有時候往往能找到一些好東西.

· define: 搜尋某個詞的定義,例如搜尋:define:杭電,将傳回關于“杭電”的定義.

· filetype: 搜尋制定類型的檔案,例如:filetype:doc.将傳回所有以doc結尾的檔案URL.

· info: 查找指定站點的一些基本資訊.

· inurl: 搜尋我們指定的字元是否存在于URL中.

· 例如輸入:inurl:admin,将傳回N個類似于這樣的連接配接:http://xxx/admin,

· 常用于查找通用漏洞、注入點、管理者登入的URL

· allinurl:也同inurl類似,可指定多個字元.

· linkurl: 例如搜尋:inurl:hdu.edu.cn可以傳回所有和hdu.edu.cn做了連結的URL.

· site: 搜尋指定域名,如site:hdu.edu.cn.将傳回所有和hdu.edu.cn有關的URL.

還有一些*作符

· + 把google可能忽略的字列如查詢範圍

· – 把某個字忽略

· ~ 同意詞

· . 單一的通配符

· * 通配符,可代表多個字母

· “” 精确查詢

實際操作時需根據情況組合使用,下面列舉些常用的:

· intext:to parent directory

· inurl:upload.php

· intitle:powered by xxx

· index of/upload

· Filetype:txt

· inurl:robots.txt

· index of /passwd

· site:xxx.com filetype:mdb|ini|php|asp|jsp

這次文章就到這裡,下一篇會繼續資訊收集中的社交網站和未公開資料的文章,喜歡的都話請點贊轉發,謝謝大家。