主動情蒐指主動跟目標進行互動,會透過工具枚舉所需的資訊,本系列文會介紹以下幾種工具。
工具名稱 | 類型 | 說明 |
---|---|---|
Netdiscover | 針對網路服務 | ARP偵查工具 |
Nmap | 針對網路服務 | 掃 port 、掃已知漏洞 |
Onesixtyone | SNMP | 爆破 SNMP |
SNMPwalk | SNMP | 可針對 MIB 查詢 |
rpcclient | Samba | 用來執行 MS-RPC 的功能 |
enum4linux | Samba | enum.exe 的 Linux 版本 |
Nikto | web | 爆破目錄 |
DIRB | web | 爆破目錄 |
Dirbuster | web | 爆破目錄 |
Netcat | 反彈 shell | 多功能,常用於反彈 shell |
WPScan | web | 針對 Wordpress 的弱點進行檢測。 |
1. 確認目標是否存活
使用工具 netdiscover、nmap、ping
工具名稱 | 使用協定 |
---|---|
Netdiscover | ARP |
Nmap | ICMP |
ping | ICMP |
2. 確認目標開什麼 port
,這個 port
是什麼服務
Windows - PortScan
Linux - Netcat,Nmap
可利用自己寫的腳本進行掃描
while read n;do nc -v -z target $n; done < ports
3. 確認目標服務的版本
使用 Linux 中的 nmap 可以針對目標的服務確認版本。
4. 確認目標的其他資訊
若目標是網站服務,要確認網頁伺服器是什麼以及他的版本。
何謂網頁伺服器:指能接收來自瀏覽器的請求(HTTP Request),並回傳回應(HTTP Response)給瀏覽器,如 Apache、Nginx、IIS。
透過 fingerprinting 確認:傳送封包給伺服器後,回傳的封包標頭可能含有網頁伺服器與其版本
使用工具:瀏覽器、telnet
、openss
5. 確認目標的服務是否存在已知的弱點
Linux - Nmap Scripting Engine (NSE)
nmap 提供多種掃描腳本,也可以自己去更新內部的內容。
其中可能有漏洞的原因:
(1) 若有已知漏洞,可能原因為版本太舊或是軟體支援結束導致漏洞無法修正
(2) 設定不完善,系統本身沒有安全相關設定
(3) 使用不安全的通訊協定,如未具有加密通訊功能協定(FTP、Telnet)
是否有自動化工具可以達到相同的目的:
port
,這個 port
是什麼服務透過弱點掃描工具可以達到相似的目的,也許會有人好奇滲透測試服務與弱點掃描服務不是不同服務嗎,那怎麼會在滲透測試中使用弱點掃描工具呢?
弱點掃描,透過專業的工具針對伺服器或設備進行掃描,為了找出伺服器、系統或網路有已知的弱點。在滲透測試中為了加快測試效率(可能是因為時程的關係),會透過弱點掃描工具輔助。
在弱掃工具中,廠商會有所謂的規則(rule),當掃描結果符合規則,報告就會出現有該筆弱點,但真實性與正確性還要再次驗證才會知道。
何謂已知弱點,要先談談常在資安新聞中聽到 ZeroDay Attack 零時差攻擊,所謂零時差攻擊指的是駭客比廠商先找到漏洞,並針對這個漏洞進行攻擊,廠商還沒有時間提出修補程式(patch)。
當廠商知道漏洞成因,並提出修補程式要求大家更新後,會思考說是否有地方紀錄這些被發現的漏洞?而這些漏洞是否有區分等級呢?
美國 NIST 組織針對這些問題提出 Security Content Automation Protocol 安全內容自動協議,這個框架為了統一漏洞評估標準與漏洞描述方式,包含以下:
CVE(Common Vulnerabilities and Exposures)
針對產品、設備的漏洞,提供一組唯一的編號「CVE-YYYY-OOOO」其中 YYYY 為年分,OOOO為流水號。
好處在於,談論漏洞是不需要以關於 Windows SMB 的漏洞這樣敘述,而是以「CVE-2017-0144」,讓對方快速知道目前指得是哪一個漏洞。
CVSS(Common Vulnerability Scoring System)
,CVSS 針對漏洞「嚴重性」進行評分,目前最新的版本為 3.1 版本,並由 FIRST(Forum of Incident Response and Security Teams)維護。
(1)Base Metrics,評估漏洞本身的特徵
(2)Temporal Metrics,評估漏洞當前的嚴重程度
(2)Environmental 環境影響
CCE(Common Configuration Enumeration: List of common security settings)
系統安全設定,如密碼長度、有效期限、密碼複雜度等。
CPE (Common Platform Enumeration)
作業系統、應用程式、設備命名
XCCDF (eXtensible Configuration Checklist Description Format)
安全檢查表
OVAL(Open Vulnerability and Assessment Language)
描述測試過程的語言