滲透測試----掃描技術
掃描技術
在滲透測試過程中,為了節省人力和時間,通常採用手工和工具相結合的方式。使用工具,就是將一些機械性的操作自動化實現,用來提高滲透測試的效率。例如,尋找內網網段[10.10.10.20/24] 所有線上主,如果一個一個去ping 測試主機是否存活,顯然是不合適的。
~ 主機測探與埠掃描
主機測探是指確定目標主機是否存活。
埠掃描就是尋找線上主機所開放的埠,並且在埠上所執行的服務。
甚至可以進一步確定目標主機作業系統型別和更詳細的資訊。
! 基礎知識
@ 常見埠號
21 FTP
443 HTTPS
22 SSH
1433 SQL Server
23 Telnet
1521 Oracle DB
25 SMTP
3306 MySQL
80 HTTP
3389 RDP
! TCP 包頭格式
! TCP 三次握手過程
! TCP 四次揮手過程
! Nmap-掃描器之王
nmap 被譽為“掃描器之王”,nmap 為開源工具,並且是跨平臺的。
官方網站[https:/nmap.org]
使用kali 虛擬機器中的nmap
! 重要常用引數
-sP ping 掃描
-p 指定埠範圍
nmap 在掃描主機的時候,如果沒有指定埠
預設掃描top1000。
-sT TCP 連線掃描
-sS TCP SYN 掃描
-sU UDP 掃描
-sN/-sF/-sX 隱蔽掃描
-sV 版本探測
-O 啟用作業系統探測
-A 全面掃描
-oA 儲存到所有格式
--traceroute 路由追蹤
! 主機發現
@ ping掃描
nmap -sP 192.168.1.1/24
nmap -sP 192.168.1.1-2
! 簡單的掃描
nmap 192.168.1.148
nmap 會預設掃描部分埠。
! 埠掃描
@ 指定埠
nmap -p 80,3389 192.168.1.1
-p 21,80,3389
-p 1-100,3389
-p 1-1000
-p 1-65535
! TCP (全)連線掃描
nmap -sT 192.168.1.148 -p 3389
------------
ip.addr==172.18.1.129 and tcp.port == 3389
------------
可以使用wireshark 進行抓包分析,埠開放的情況[nmap -sT 192.168.1.148 -p 3389]
埠關閉的情況[nmap -sT 192.168.1.148 -p 22]
向目標傳送SYN 資料包,如果對方回 RST 包說明埠關閉
如果對方回SYN ACK 包,namp 在傳送ACK 包,nmap 再次傳送RST 包
說明埠開放。
對方沒有任何迴應,就說明埠被過濾
優缺點:
準確
留下大量的密集的日誌記錄
! TCP SYN (半)掃描
nmap -sS 192.168.1.148 –p 3389
可以使用wireshark 進行抓包分析,埠開放的情況[nmap -sS 192.168.1.148 –p 3389]
埠關閉的情況[nmap -sS 192.168.1.148 –p 22]
SYN 半連線掃描,nmap 傳送SYN 包,如果對方回RST 包,說明埠關閉
如果對方回SYN ACK 包,namp 回RST 包。說明埠開放
優缺點
比較快速,沒有完成三次握手過程,不會留下日誌記錄
需要專門的系統呼叫函式。
! 隱蔽掃描
注意:隱蔽掃描不適用於windows 系統
null 掃描
nmap -sN 192.168.1.148 –p 3389
標誌位全為零
FIN 掃描
nmap -sF 192.168.1.148 –p 3389
標誌位FIN=1
Xmas
nmap -sX 192.168.1.148 –p 3389
標誌位 FIN=1,PSH=1,URG=1
! 目標主機版本
有點不太準確
nmap 172.18.1.129 -p 3389 -O
! 測探服務版本
nmap 192.168.1.159 -p 21 -sV
/usr/share/nmap
! 全面掃描
nmap -A 192.168.1.144
! 儲存掃描報告
-oN 儲存成txt 純文字格式
nmap -sT 127.0.0.1 -sV -oN result.txt
-oX 儲存成xml 格式
nmap -sT 127.0.0.1 -p 22 -sV -oX result.xml
~ 網路漏洞掃描
我們可以通過網路漏洞掃描,全面掌握目標伺服器存在的安全漏洞。市面上常用的掃描有Nessus、NeXpose、OpenVAS等,這些掃描器都有商業版和免費版或者家庭版。
本課程使用的網路漏洞掃描器是OpenVAS,可以用來識別遠端主機、Web 應用存在的各種漏洞。Nessus 曾將是業內開源漏洞掃描工具的標準,在Nessus 商業化不在開放原始碼後,在它的原始專案中分支出OpenVAS 開源專案。經過多年的發展,OpenVAS 已經成為當前最好的開源漏洞掃描器,功能非常強大,甚至可以與一些商業的漏洞掃描器相媲美。OpenVAS 使用NVT 指令碼對多種遠端系統(包括Windows、Linux、UNIX 以及Web 應用程式等)的安全問題進行檢測。
! 漏洞掃描原理
網路漏洞掃描指的是利用一些自動化工具發現網路上各類主機裝置的安全漏洞。這些自動化工具通常稱為漏洞掃描器。
漏洞掃描通常可以分為兩類:
@ 黑盒掃描
黑盒掃描一般都是通過遠端識別服務的型別和版本,對服務是否存在漏洞進行判定。在一些最新的漏洞掃描軟體中,應用了一些更高階的技術,比如模擬滲透攻擊等。
@ 白盒掃描
白盒掃描就是在具有主機操作許可權的情況下進行漏洞掃描。比如微軟的補丁更新程式會定期對你的作業系統進行掃描,查詢存在的安全漏洞,並向你推送相應的作業系統補丁。
白盒掃描的結果更加準確,但一般來說它所識別出的漏洞不應當作為外部滲透測試的最終資料,因為這些漏洞由於防火牆和各類防護軟體的原因很可能無法在外部滲透測試中得到利用。同時,一般情況下你是沒有機會獲取使用者名稱和口令。
漏洞掃描器一般會附帶一個用於識別主機漏洞的特徵庫,並定期進行更新。在漏洞掃描的時候,就是利用特徵庫裡的指令碼與目標系統的反饋資訊進行匹配,如果能夠匹配上,就說明存在某一個漏洞。
漏洞掃描器在識別漏洞的過程中,會向目標傳送大量的資料包,有時候會導致目標系統拒絕服務或被掃描資料包阻塞,掃描行為也會被對方的入侵檢測裝置發現。
漏洞掃描器掃描出的結果通常會有很多誤報(報告發現的漏洞實際並不存在)或者漏洞(未報告發現漏洞但漏洞實際存在)。因此,需要對掃描結果進行人工分析,確定哪些漏是實際存在的,這個過程就叫做漏洞驗證。這是滲透測試過程中不可缺少的一步,只有驗證漏洞存在的真實性,才能對漏洞進行深度利用。
滲透測試工作中,在得到客戶認可的情況下,可以使用掃描器進行掃描,但使用時一定要注意規避風險,對其系統執行可能造成的影響將到最低。
- OpenVAS
OpenVAS 的官網地址為[http://www.openvas.org/]
推薦從iso 映象安裝OpenVAS。
目前OpenVAS 的gsm 映象最新版本是[4.2.19],OpenVAS 的詳細安裝過程,被文件不做詳細展示。
在使用OpenVAS 有Web 端,管理使用OpenVAS ,登入Web 端需要有一個賬號,本課程中通常設定為[admin/123456]。
在使用OpenVAS 的時候,必須更新feed,否則會有[Warning: SecInfo Database Missing] 這樣的報錯,在更新feed 的時候,建議掛一個http 代理,例如[http://10.10.10.189:1080]。
~ Web 漏洞掃描
! Web 漏洞掃描簡述
隨著網際網路的發展以及雲端計算的發展,使得政府、銀行、企業以及各個組織基本上都有自己的入口網站。Web 應用越來越多,同時Web 應用的攻擊成本、難度都比較低,Web 應用成為黑客攻擊的主要目標。無論黑客出於什麼樣的目的,Web 應用所面臨的挑戰都是很大的。
如何及時、快速發現Web 應用安全漏洞,並且修補安全漏洞,減輕或消除Web
安全風險成為安全行業的重要課題。
小型Web 應用幾十上百個頁面,大型的Web 應用成千上萬個頁面。如果靠人工的方式去檢測每個頁面的安全性,顯然,這個成本是難以估計的。所以,我們需要藉助於自動化工具,幫助審計員去發現Web 安全漏洞。這些自動化工具就是Web 漏洞掃描器。
市面上Web 漏洞掃描器有很多,其中以IBM 公司的AppScan 和商業化Web 漏洞掃描器AWVS 為優秀。Web 漏洞掃描器大同小異,本課程以AWVS 為例子,講解Web 漏洞掃描器的使用。
- Web 漏洞掃描原理
進行Web 漏洞掃描的時候,大致分為一下幾個步驟:
@ 爬行網站目錄
@ 使用漏洞指令碼掃描
@ 儲存掃描結果
使用AWVS 掃描
其他掃描器
有很多掃描器都可以幫助審計員開展滲透測試工作,一下列出幾款比較常用的。
- 御劍
我們使用御劍掃描器,主要是掃描網站敏感目錄,包括網站後臺等。其掃描原理也是爆破,即通過敏感目錄的字典去匹配。字典檔案如下。
御劍的使用非常簡單,進行簡單的配置之後即可進行掃描,可惜的是御劍不能夠匯出掃描報告。
- k8 C段旁註查詢
嚴格來說,K8 C段旁註查詢工具,不算是掃描器,應該是資訊收集工具。由於這款工具功能比較豐富,所以放在這裡介紹。
DNS 解析
查詢旁(同IP 地址的網站)
- whatweb
whatweb 是用來識別Web 應用指紋的,該款工具已經整合在了kali 虛擬機器中。其官網地址為[https://www.whatweb.net/]