筆記滲透測試的步驟與使用工具,彙整各式的滲透測試工具與方法,綜合而成能夠自我實作的滲透測試步驟,在請滲透測試專業公司進行之前,能夠先以最少的費用來得到報告。
滲透測試步驟
本次的滲透測試以 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 進行識別。
使用 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
滲透測試的目的不是攻陷網站,而是產生出有價值的報告,幫助受測者改善網站的弱點。