滲透測試入門技術¶
2025-01-10 · cybersecurity
滲透測試入門¶
在現今網路發達的時代,企業的資安防護至關重要。滲透測試,作為一種模擬駭客攻擊的手段,可以幫助企業檢測並修補潛在的安全漏洞,從而保護企業的敏感資料和系統安全。本文將深入探討滲透測試的定義、流程、類型以及相關工具和規範,幫助讀者全面了解這一重要的資安服務。
什麼是滲透測試?¶
滲透測試,簡單來說,就是模擬駭客的攻擊行為,對企業的網路、系統、網站等進行安全檢測,找出其中的弱點與漏洞。滲透測試不僅僅是單純的掃描漏洞,更重要的是透過實際的攻擊嘗試,來驗證這些漏洞是否真的存在,以及可能造成的危害。
為什麼要做滲透測試?
企業內部往往存在大量的敏感資料,如客戶資料、業務資料、財務資料等,這些資料一旦被駭客取得並洩露,將對企業造成巨大的損失。為了在真正的駭客攻擊之前發現並修補這些漏洞,企業需要定期進行滲透測試,檢視自身的安全防護是否足夠。
滲透測試的目標與範圍¶
滲透測試的目標範圍涵蓋企業所使用的所有應用程式(包括網站、系統、設備等軟硬體)以及網路服務(如企業內部網路/網段)。無論是自行開發、委外開發或購買的服務/設備,都應納入滲透測試的範圍。
在進行滲透測試之前,受測方需要提供以下資訊給測試方,以利時程評估和報價: * 測試的域名/IP,並證明合法持有。 * 是否限制特定時間進行檢測。 * 其他特殊需求。
為了確保測試的合法性,企業需要與測試方簽訂合約,授權測試方進行滲透測試。
滲透測試的類型¶
滲透測試根據受測方提供的資訊量,可分為以下三種主要類型:
- 黑箱測試:受測方僅提供目標的名稱/網址/IP,測試方需要自行蒐集資訊,模擬真實駭客的攻擊。這種測試方式耗時較長,成本也較高。
- 白箱測試:受測方提供目標的所有資訊,包括內部結構、程式碼、帳號密碼等,測試方可事先針對程式碼進行審查,並擬定攻擊方式。
- 灰箱測試:受測方提供部分目標資訊,測試方仍需自行蒐集部分資訊,此類型介於黑箱與白箱之間。
滲透測試的流程¶
滲透測試是一個完整的流程,主要分為以下六個階段:
- 資訊蒐集:這是滲透測試中最重要的一步,透過各種手段蒐集目標的所有資訊,包括主動情蒐和被動情蒐。
- 被動情蒐:蒐集公開在網路上的資訊,如WHOIS資訊、公司聯絡資訊等。
- 主動情蒐:直接與目標互動,使用掃描工具蒐集資訊,如端口掃描、服務枚舉等。
- 漏洞識別:根據收集到的資訊,判斷目標是否存在漏洞和弱點,並使用弱點掃描工具輔助。
- 針對系統弱點掃描的工具有 Open-VAS 與 Nessus.
- 針對網站安全弱點掃描的工具有 AWVS 與 OWASP ZAP.
- 漏洞利用:針對識別出的漏洞和弱點,利用已知的漏洞或自行撰寫的 POC (Proof of Concept) 來驗證漏洞的存在和危害性。
- 重大風險的漏洞可能導致遠端執行目標系統指令或任意存取敏感資料.
- 清除紀錄:在測試結束後,清除測試過程中產生的所有資料,包括測試帳號、上傳檔案等,避免影響企業的正常運作。
- 撰寫報告:撰寫詳細的滲透測試報告,包括測試目的、方法、過程、結果、弱點分析和修復建議。
- 修復複測:企業根據報告內容修復漏洞後,測試方會進行複測,確認漏洞是否已修復。
滲透測試的相關工具¶
滲透測試需要使用許多工具來輔助,以下是一些常用的工具及其功能:
- Google Hacking:利用 Google 搜尋引擎的進階語法來尋找目標的敏感資訊,例如包含帳號密碼的檔案、網路設定檔等.
- Shodan:一個專門搜尋網路設備的引擎,可蒐集全球設備的資訊,包括端口、版本等.
- theHarvester:用來蒐集目標的電子郵件信箱,可針對不同的搜尋引擎進行蒐集.
- Recon-ng:一個 Python 撰寫的情蒐框架,內含多種模組可使用,例如可以查詢是否有電子信箱洩漏的紀錄.
- Nmap:一個強大的網路掃描工具,可以用來掃描端口、服務、版本,以及執行腳本以檢測漏洞.
- Whois:用來查詢域名註冊資訊的工具.
- nslookup:用來查詢 DNS 記錄的工具.
- host:與 nslookup 功能類似,可以將域名轉換成 IP.
- dig:另一個 DNS 查詢工具,可以檢測 DNS 伺服器的資訊.
- fierce:利用 Perl 腳本撰寫的工具,可以定位 IP 範圍和主機名稱,並爆破子域名.
- DNSenum:可以枚舉 DNS 資訊,找出非連續 IP 範圍,並蒐集子域名.
- DNSrecon:可以查詢 DNS 記錄,檢查 zone transfers.
- Sublist3r:利用 Python 撰寫,透過公開資料搜尋子域名,並進行爆破.
- .git 洩漏工具:例如
scrabble和GitHack.py可以用來從.git資料夾中獲取原始碼. - .DS_Store 洩漏工具:例如
ds_store_exp.py可以用來從.DS_Store檔案中獲取敏感資訊.
滲透測試的相關規範¶
在進行滲透測試時,需要遵循一些國際標準和規範,以確保測試的有效性和安全性: * OSSTMM (Open Source Security Testing Methodology Manual):開放原始碼安全測試方法指南. * PTES (Penetration Testing Execution Standard) Technical Guidelines:提供測試的注意事項與細節. * OWASP (Open Web Application Security Project) APSVS (Application Security Verification Standard):OWASP 應用程式安全驗證標準,提供 WEB 測試指南.
其他資安服務¶
除了滲透測試之外,還有其他常見的資安服務: * 弱點掃描:利用掃描工具針對企業的網路、系統、網站等進行弱點掃描,主要找出已知的漏洞. * 紅隊演練:模擬真實駭客的攻擊,並加入社交工程、DDoS、實體安全等元素,檢測企業的整體防禦能力. * BAS (Breach and Attack Simulation):一種介於弱點掃描和滲透測試之間的自動化攻擊模擬工具,通過預先編寫好的腳本進行攻擊演練,可測試防禦設備是否能有效偵測和阻隔.
結論¶
滲透測試是企業資安防護中不可或缺的一環。透過模擬駭客攻擊,企業可以及早發現並修補潛在的漏洞,降低資安風險。