信息收集內容及一些工具
信息收集
信息收集分為兩種:
- 主動收集:通過直接訪問、掃描網站,這種流量將流經網站
- 被動收集:利用第三方的服務對目標進行訪問了解,比例:Google搜索、Shodan搜索等
域名信息收集
當我們確定了滲透的目標(域名)時,接下來我們需要收集域名對應的IP,whois信息和子域名等信息。
尋找對應的ip:
首先,我們要判斷該域名是否存在CDN的情況,我們可以去在線CDN查詢網站:http://ping.chinaz.com/ 。如果查詢出的ip數量大於一個的話,則說明該ip地址不是真實的服務器地址。以我的經驗來看,如果是2個或者3個,並且這幾個地址是同一地區的不同運營商的話,則很有可能這幾個地址是服務器的出口地址,該服務器在內網中,通過不同運營商NAT映射供互聯網訪問,同時采用幾個不同的運營商可以負載均衡和熱備份。如果是多個ip地址,並且這些ip地址分布在不同地區的話,則基本上可以斷定就是采用了CDN了。
查找對應的whois信息:
whois是用來查詢域名注冊所有者等信息的傳輸協議。簡單說,whois就是一個用來查詢域名是否已經被注冊,以及注冊域名的詳細信息的數據庫(如域名所有人、域名注冊商)。通過whois來實現對域名信息的查詢。早期的whois查詢多以命令行接口存在,但是現在出現了一些網頁接口簡化的線上查詢工具,可以一次向不同的數據庫查詢。網頁接口的查詢工具仍然依賴whois協議向服務器發送查詢請求,命令行接口的工具仍然被系統管理員廣泛使用。whois通常使用TCP協議43端口。每個域名/IP的whois信息由對應的管理機構保存。
whois查詢網站:http://whois.chinaz.com/;然后查出來信息之后,可以根據查詢出來的郵箱、注冊人、公司、電話等進行反查。
網站指紋識別
在滲透測試中,對目標服務器進行指紋識別是相當有必要的,因為只有識別出相應的Web容器或者CMS,對我們進行滲透有很大的幫助,可以讓我知道它對應的版本有什么漏洞,然后進行相應的滲透操作。CMS又稱整站系統。常見的CMS有:WordPress、Dedecms、Discuz、PhpWeb、PhpWind、Dvbbs、PhpCMS、ECShop、、SiteWeaver、AspCMS、帝國、Z-Blog等。
常見的網站指紋識別工具有:御劍Web指紋識別、椰樹等。
在線指紋識別網站:
BugScaner:http://whatweb.bugscaner.com/look/
雲悉指紋:http://www.yunsee.cn/finger.html
WhatWeb:https://whatweb.net/
整站分析
- 服務器的類型
服務器信息包括服務器用的操作系統:Linux 還是 Windows 。現在企業網站服務器的操作系統有百分之九十以上用的是Linux操作系統。知道了服務器的操作系統之后,還需要知道操作系統使用的具體版本。因為很多低版本的操作系統都存在已知的漏洞。
判斷是Linux還是Windows最簡單就是通過ping來探測,Windows的TTL值都是一般是128,Linux則是64。所以大於100的肯定是Windows,而幾十的肯定是Linux。
而判斷目標網站服務器的具體的版本的話,可以采用 nmap 進行掃描, -O 和 -A 參數都能掃描出來。
- 網站容器
知道了這些信息之后,我們就需要知道網站用的web服務器是什么類型的:Apache、Nginx、Tomcat 還是 IIS。知道了web服務器是哪種類型后,我們還要探測web服務器具體的版本。比如Ngnix版本<0.83會有解析漏洞 ,IIS6.0會有文件名解析漏洞、IIS7.0會有畸形 解析漏洞等。不同的web服務器版本,存在着不同漏洞。探測網站是哪種web服務器,可以使用工具 whatweb 。
- 腳本類型
我們需要知道網站用的腳本類型:php 、Jsp 、Asp 、Aspx 。
1:可以根據網站URL來判斷
2:site:xxx filetype:php
3:可以根據Firefox的插件Wappalyzer來判斷
- 數據庫類型
我們需要知道網站用的是哪種類型的數據庫:Mysql、Oracle、SqlServer 還是 Access 。雖然這幾種數據庫的語法大體上相同,但是還是有區別的。所以我們還是要知道目標網站用的是哪種數據庫,並且數據庫是哪個版本的。
幾種數據庫的區別:
Access 全名是Microsoft Office Access,是由微軟發布的關聯式數據庫管理系統。小型數據庫,當數據庫達到100M左右的時候性能就會下降。數據庫后綴名: .mdb 一般是asp的網頁文件用access數據庫
SQL Server是由Microsoft開發和推廣的關系數據庫管理系統(DBMS),是一個比較大型的數據庫。端口號為1433。數據庫后綴名 .mdf
MySQL 是一個關系型數據庫管理系統,由瑞典MySQL AB 公司開發,目前屬於 Oracle 旗下產品。MySQL是最流行的關系型數據庫管理系統,在 WEB 應用方面MySQL是最好的應用軟件之一,MySQL數據庫大部分是php的頁面。默認端口是3306
Oracle又名Oracle RDBMS,或簡稱Oracle。是甲骨文公司的一款關系數據庫管理系統。常用於比較大的網站。默認端口是1521
首先,成本上的差距,access是不要錢的,mysql也是開源的,sql server 是收費的一般也就幾千,Oracle的費用則數萬。其次,處理能力,access支持千以內的訪問量,sql server支持幾千到上萬的訪問,而Oracle則支持海量的訪 問。再次,從數據庫的規模來看,access是小型數據庫,mysql 是中小型數據庫,sql server是中型數據庫,Oracle是大型數據庫。
常見搭配:
ASP 和 ASPX:ACCESS、SQL Server
PHP:MySQL、PostgreSQL
JSP:Oracle、MySQL
主機掃描
對目標主機進行掃描,而不僅僅是對網站進行掃描,掃描目標主機開放了哪些端口,掃描端口運行的服務,目標主機上有哪些漏洞。可以用Nessus進行掃描。
端口掃描
需要知道目標服務器開放了哪些端口。
端口掃描工具有nmap和masscan。nmap掃描的准確性較高,但是掃描的比較慢。masscan掃描的比較快,但是准確性較低。
敏感目錄和文件
掃描網站目錄結構,看看是否可以遍歷目錄,或者敏感文件泄漏。
- 后台目錄:弱口令,萬能密碼,爆破
- 安裝包:獲取數據庫信息,甚至是網站源碼
- 上傳目錄:截斷、上傳圖片馬等
- mysql管理接口:弱口令、爆破,萬能密碼,然后脫褲,甚至是拿到shell
- 安裝頁面 :可以二次安裝進而繞過
- phpinfo:會把你配置的各種信息暴露出來
還有robots.txt文件:robots.txt 文件是專門針對搜索引擎機器人robot 編寫的一個純文本文件。我們可以在這個文件中指定網站中不想被robot訪問的目錄。這樣,我們網站的部分或全部內容就可以不被搜索引擎收錄了,或者讓搜索引擎只收錄指定的內容。因此我們可
以利用robots.txt讓Google的機器人訪問不了我們網站上的重要文件,GoogleHack的威脅也就不存在了。
探測目標網站后台目錄的工具有: wwwscan 、御劍 、 dirbuster、cansina 等
旁站和C段
旁站指的是同一服務器上的其他網站,很多時候,有些網站可能不是那么容易入侵。那么,可以查看該網站所在的服務器上是否還有其他網站。如果有其他網站的話,可以先拿下其他網站的webshell,然后再提權拿到服務器的權限,最后就自然可以拿下該網站了!
C段指的是同一內網段內的其他服務器,每個IP有ABCD四個段,舉個例子,192.168.0.1,A段就是192,B段是168,C段是0,D段是1,而C段嗅探的意思就是拿下它同一C段中的其中一台服務器,也就是說是D段1-255中的一台服務器,然后利用工具嗅探拿下該服務器。
網站漏洞掃描
網站漏洞掃描就是直接對網站進行漏洞探測了。網站漏洞掃描也有很多工具。比如 AWVS、AppScan、OWASP-ZAP、nessuss等等。