書名: 黑客與安全技術指南作者名: 王成編著本章字數: 1577字更新時間: 2019-07-30 17:53:52
3.1 滲透信息搜集
信息搜集是Web滲透的第一步,也是至關重要的一步(實際上除了Web滲透,很多工作的第一步都是信息搜集)。一次完整的滲透過程是漫長的,前期信息搜集可以讓人們初步了解滲透目標,而后期信息搜集卻往往是成功的關鍵。任何攻擊與防御之間的較量,都是基于信息的掌控程度,在信息不對等的情況下,很容易出現誤判或失誤。在安全行業團隊的測試中,信息搜集被視為“最重要,最耗時”的一個步驟,甚至有專門的成員負責信息的搜集與分析。下面我們來了解一些常用的信息搜集技巧(這里使用的詞語是“信息搜集”而非“信息收集”,是因為“搜”字能更好地體現出歸納整理的含義,有一定的選擇性和方向性)。
3.1.1 服務器信息搜集
1.旁站
何謂旁站攻擊?就是一個服務器上有多個Web站點,而我們的滲透目標是其中的一個Web站點,當我們無法拿下目標站點時,則可以嘗試對服務器上的其他站點進行滲透,然后再通過跨目錄或提權等方法拿下目標站點。常見的旁站查詢流程如下。
(1)獲得滲透目標的真實IP地址。
(2)利用網站平臺、工具反查IP地址。
2.端口掃描
一臺計算機開放的端口和它開放的服務是對應的,而滲透測試人員可以通過端口掃描大致了解目標開放了哪些服務,如80端口對應了HTTP服務,3306端口對應了MySQL數據庫,1433端口對應了MSSQL數據庫。通過對開放端口的分析,我們便可以大致知道目標網站使用了什么數據庫,并可以嘗試進行數據庫的爆破。此外,端口掃描對后臺的查找和后期的提權也是至關重要的。那常見的端口掃描方式又有哪些呢?
(1)在線平臺。很多平臺都提供端口掃描的功能,并且提供常見服務的默認端口,如圖3-1所示。

圖3-1 在線端口掃描平臺
(2)工具。端口掃描工具如圖3-2所示。

圖3-2 端口掃描工具
3.1.2 Web信息搜集
1.二級域名
在對一些大型網站進行滲透測試時,主站很難直接發現漏洞,而子站容易出現問題。例如SQL注入,往往因為數據庫的配置不嚴謹,導致黑客可以利用子站的注入進行跨庫,或者拿下子站的服務器,利用內網危害到主站的安全。圖3-3便是用一個Python的腳本來對百度的二級域名爆破的結果。

圖3-3 利用腳本爆破出211個子域名
2.目錄信息
在滲透中,目錄是極為重要的信息。如果得到了根目錄,便可以結合注入進行GetShell(取得權限),如果有了Web目錄,便可以嘗試對后臺地址進行爆破,對后臺文件進行猜解。由此可見目錄的重要性,而獲得目錄的常見方法如下所述。
(1)phpinfo和探針文件。phpinfo文件如圖3-4所示。

圖3-4 phpinfo文件
PHP探針文件如圖3-5所示。

圖3-5 PHP探針文件
(2)搜索引擎。在滲透中,搜索引擎是一把利器,嘗試用搜索引擎的語法,往往會有意想不到的收獲。
下面是一些常用的搜索引擎語法。
domain:用domain命令可以查找跟某一網站的相關信息。
filetype:限制查找文件的格式類型。目前可以查找的文件類型有.pdf/.doc/.xls/.ppt/.rtf。
inurl:限定查詢匹配只搜索URL鏈接。
link:網站外鏈接查詢。
site:網站整站搜索引擎收錄查詢。
intitle:搜索網頁標題中含有的關鍵詞。
(3)掃描器。對滲透目標用常見的目錄進行暴力破解。此方法往往對那些安全性較低的網站有效。
(4)爬蟲。爬蟲在滲透中起著很重要的作用,用來發現一些隱蔽的目錄。
3.1.3 Whois信息搜集
Whois即域名查詢協議,是用來查詢域名的IP地址以及所有者等信息的傳輸協議。網絡上有很多提供Whois查詢的平臺,如圖3-6所示,將目標域名輸入查詢,便可以看到目標站點的域名服務器、DNS服務器以及其他隱私信息。

圖3-6 Whois查詢結果
3.1.4 爆破信息搜集
“爆破”是一種形象的說法,即暴力破解,一般使用窮舉或字典(大量數據集合)列舉的方法。在滲透測試中,爆破的作用非常重要。特別是針對一些大型企業的內部系統,很多員工為了使用方便,而忽略了密碼的安全性,常常使用一些弱口令作為密碼,而用戶名往往就是其姓名或拼寫。黑客可能嘗試利用搜索引擎和社工庫對滲透目標的員工名單進行搜集,然后進行密碼字典生成和爆破。防范這種攻擊的方式,一是增加驗證,讓暴力破解無法進行,例如驗證碼;二是提高密碼安全性,這在附錄中會詳細探討。