Penetration Test 滲透測試筆記


  1. 滲透測試步驟
    1. 偵查 Explore
    2. 攻擊 Attack
    3. 報告 Report

筆記滲透測試的步驟與使用工具,彙整各式的滲透測試工具與方法,綜合而成能夠自我實作的滲透測試步驟,在請滲透測試專業公司進行之前,能夠先以最少的費用來得到報告。

logo

滲透測試步驟

本次的滲透測試以 Web Application 為主旨進行說明,執行滲透測試一定要記得取得受測單位的同意,否則有相關的法律責任。

偵查 Explore

偵查階段可以調查 DNS 登記資訊,使用 WHOIS 來查詢,確認域名的註冊者身分,可以取得電話與電子郵件用於推測後台登入的帳號。

DNS Lookup
DNS Query - Whois
DNSDUMPSTER

檢查 HTTP Header 的 Security 以及判斷是否使用 HTTPS 並判斷使用的 Cipher 與 Protocol 是否存在漏洞。

Http Headers Scan
SSL Server Test

瀏覽 Web App 的程式碼判斷是否存在有幫助的註解,觀察介接的 XML、JSON、API 等服務,使用 Wappalyzer 確認 Web App 使用的框架與第三方元件,對於 Web App 的 finger Printing 進行識別。

WhatWeb & Wappalyzer Scan

使用 OWASP ZAP 自動化 Enumerate 管理者後台(Admin)、尋找任何可供利用的檔案 (bak, md, git, db) 等等。

使用 Burp Suite 與 OWASP ZAP 來進行 URL Fuzzing 的 Forced Browse,檢查任何隱藏的網址,並使用 Spider 來爬出 Web App 的架構輪廓。

此外也可以使用 DirBuster 來對 Directory Traversal 搜尋是否有未直接公開的檔案及路徑。

稍具侵略性可以使用 NMAP 來觀察 Web Server 有開啟的 Service 與 Port,從而判斷可以攻擊的管道。

侵略性提升可以使用弱點掃描工具,例如 OpenVAS 以及 Nikto 來進行掃描,自動化地取得 Web App 可能存在的弱點。

攻擊 Attack

如果 QueryString 或者 Post 搭配資料庫的 Web App 設計,使用 SQLMAP 驗證是否存在 SQL Injection 漏洞。

如果有任何可以供輸入資料的 input,測試各種 XSS、Command Injection 與 SQL Injection 的可能。

測試是否可以藉由修改 DOM 來達到 XSS。

使用 Metasploit 驗證弱點是否可以被利用。

使用 Mimikatz 攻擊來取得作業系統的密碼。

報告 Report

滲透測試的目的不是攻陷網站,而是產生出有價值的報告,幫助受測者改善網站的弱點。