流量套件
每個流量套件都是 /opt/traffic-generator/suites/ 下的一個目錄,其中包含由 runner.sh 依序執行的編號 Shell 腳本。每個腳本接受目標 FQDN 作為第一個參數,並將輸出寫入標準輸出及結果目錄。
api-attacks
Section titled “api-attacks”腳本數量: 4 | 預估執行時間: 10-17 分鐘
透過 F5 XC 對 VAmPI 進行 OWASP API Security Top 10 測試。註冊測試用戶、取得認證令牌,然後測試 BOLA、暴力破解驗證、過度資料暴露、功能層級授權漏洞、SSRF 模式、針對 REST API 端點的 SQL 注入、隱藏參數探索及端點模糊測試。目標應用程式為 VAmPI。
F5 XC 功能: API 安全性 / API 探索
| 順序 | 腳本 | 工具 | 說明 |
|---|---|---|---|
| 01 | 01-vampi-owasp-top10.sh | curl, jq | 全面的 OWASP API Top 10 測試套件。註冊測試用戶、取得認證令牌,然後測試 BOLA(存取其他用戶的資料)、暴力破解驗證、過度資料暴露、功能層級授權漏洞、SSRF 模式及安全設定錯誤探測。 |
| 02 | 02-sqlmap-api.sh | sqlmap | 針對 VAmPI REST API 端點進行 SQL 注入測試:用戶查詢、登入(POST)及使用 JSON 負載的註冊(POST)。 |
| 03 | 03-arjun-param-discovery.sh | arjun | 跨 Juice Shop、DVWA 及 VAmPI 端點進行隱藏參數探索。發現可能接受注入負載的未記錄查詢參數。 |
| 04 | 04-ffuf-api-fuzz.sh | ffuf | 兩階段模糊測試:使用常見 API 路徑詞表(api、swagger、graphql、admin、.env、.git)跨所有應用程式前綴進行端點探索,然後對關鍵端點進行 HTTP 方法模糊測試(GET、POST、PUT、DELETE、PATCH、OPTIONS、TRACE、PROPFIND)。 |
預期 F5 XC 行為: API 探索應能對應 VAmPI API 端點並識別異常請求模式。API 安全性原則應標記未授權存取嘗試、JSON 主體中的注入負載及列舉模式。F5 XC 中的 API 清單將顯示已探索的端點及請求計數。
bot-simulation
Section titled “bot-simulation”腳本數量: 4 | 預估執行時間: 5-10 分鐘
透過 F5 XC 進行自動化瀏覽器活動及類機器人爬取模式測試。包含無頭 Chrome、帶有隱身外掛的 Puppeteer、快速爬取及自動化表單互動。目標為所有應用程式。
F5 XC 功能: 機器人防禦
| 順序 | 腳本 | 工具 | 說明 |
|---|---|---|---|
| 01 | 01-headless-chrome.sh | playwright | 無頭 Chromium 瀏覽:載入目標、在應用程式路徑間導航、擷取頁面標題和內容、截取螢幕截圖。產生基於瀏覽器的流量,不使用隱身外掛(可被偵測為自動化)。 |
| 02 | 02-puppeteer-stealth.sh | puppeteer, puppeteer-extra-plugin-stealth | 使用帶有隱身外掛的 puppeteer-extra 進行隱身瀏覽。透過修補 navigator 屬性、WebGL 及其他瀏覽器指紋來嘗試規避機器人偵測。 |
| 03 | 03-rapid-crawl.sh | curl, wget | 使用 curl 和 wget 快速連續發送高頻率 HTTP 請求。模擬爬蟲行為,請求之間無延遲並積極輪換 User-Agent。 |
| 04 | 04-form-interaction.sh | playwright | 使用 Playwright 的表單互動 API,對 DVWA 登入、Juice Shop 註冊及 VAmPI API 端點進行自動化表單填寫和提交。 |
預期 F5 XC 行為: 機器人防禦應根據瀏覽器指紋分析、請求時序及 JavaScript 挑戰結果,將流量分類為自動化流量。未使用隱身功能的無頭 Chrome 應立即被偵測。隱身 Puppeteer 測試進階規避技術是否能繞過偵測。機器人防禦儀表板將顯示機器人分類類別及緩解動作。
cdn-load-testing
Section titled “cdn-load-testing”腳本數量: 18 | 預估執行時間: 20-30 分鐘
CDN 快取行為及來源保護測試。包含基準吞吐量、查詢字串隔離、accept-encoding 變化、雷鳴羊群模擬、POST/PUT 繞過、快取金鑰碰撞、條件式 GET、範圍請求、清除模擬、連線池耗盡、長連線最佳化、TLS 握手開銷、大型物件快取、多來源容錯移轉、速率限制、gzip 壓縮率測試、HTTP/2 多工及組合 kraken 基準測試。目標為 CDN 模擬器應用程式。
F5 XC 功能: CDN 整合
crapi-exploits
Section titled “crapi-exploits”腳本數量: 16 | 預估執行時間: 15-25 分鐘
OWASP crAPI(完全荒謬的 API)挑戰漏洞利用。包含註冊/認證、BOLA 車輛位置、BOLA 技師報告、OTP 暴力破解、資料暴露機制、過度資料暴露、大量分配訂單、SSRF 優惠券驗證、NoSQL 注入、JWT 操控、IDOR 儀表板、2FA 繞過、內部 API 存取、伺服器端參數污染、用戶刪除及影片上傳 IDOR。目標為 crAPI 應用程式。
F5 XC 功能: API 安全性
csd-demo-attacks
Section titled “csd-demo-attacks”腳本數量: 5(JavaScript)| 預估執行時間: 3-5 分鐘
客戶端 JavaScript 注入攻擊。包含信用卡側錄器注入、表單劫持、鍵盤記錄器、加密貨幣挖礦程式及 DOM 劫持腳本。測試 F5 XC 用戶端防禦所偵測並封鎖的 Magecart 風格客戶端供應鏈攻擊。目標為 CSD 示範應用程式。
F5 XC 功能: 用戶端防禦
demoapp-attacks
Section titled “demoapp-attacks”腳本數量: 2 | 預估執行時間: 2-3 分鐘
針對 F5 DemoApp 內建 WAF 測試端點(/WAF/SQL、/WAF/XSS、/WAF/DIR)的目標攻擊負載。直接向設計用於示範 WAF 封鎖行為的端點發送 SQL 注入、XSS 及路徑遍歷負載。當目標為 DemoApp 內容伺服器而非標準來源伺服器應用程式時,請使用此套件。
F5 XC 功能: WAF(Web 應用程式防火牆)
| 順序 | 腳本 | 工具 | 說明 |
|---|---|---|---|
| 01 | 01-sqli-waf-endpoint.sh | curl, python3 | 針對 /WAF/SQL?age= 發送 15 個 SQL 注入負載,包含 UNION SELECT、DROP TABLE、WAITFOR DELAY、xp_cmdshell、基於注解的繞過及布林邏輯負載。 |
| 02 | 02-xss-waf-endpoint.sh | curl, python3 | 針對 /WAF/XSS?update= 發送 18 個 XSS 負載,包含 script 標籤、事件處理器(onerror、onload、ontoggle、onfocus)、base64 eval、樣式表達式、polyglot 負載及 Cookie 竊取。 |
預期 F5 XC 行為: WAF 應封鎖包含 SQL 注入和 XSS 負載的請求並回傳封鎖頁面。安全事件儀表板將顯示每個被封鎖請求的違規類別及特徵碼匹配結果。
dvga-exploits
Section titled “dvga-exploits”腳本數量: 9 | 預估執行時間: 8-12 分鐘
針對 Damn Vulnerable GraphQL Application 進行 GraphQL 特定漏洞利用。包含批次查詢 DoS、深度遞迴、欄位重複、透過篩選器進行 SQL 注入、透過 createPaste 進行 XSS、基於別名的 DoS、內省濫用、授權繞過及資訊洩露。目標為 DVGA 應用程式。
F5 XC 功能: API 安全性(GraphQL)
dvwa-exploits
Section titled “dvwa-exploits”腳本數量: 14 | 預估執行時間: 15-25 分鐘
針對 Damn Vulnerable Web Application 進行 OWASP Top 10 測試。包含暴力破解、命令注入、CSRF 密碼更改、檔案包含、檔案上傳、SQL 注入(盲注)、SQL 注入(聯合)、XSS(DOM)、XSS(反射型)、XSS(儲存型)、CAPTCHA 繞過、弱 Session ID、不安全的 CORS 及開放重定向。目標為 DVWA 應用程式。
F5 XC 功能: WAF
javascript-exploits
Section titled “javascript-exploits”腳本數量: 3 | 預估執行時間: 3-5 分鐘
觸發用戶端防禦偵測的客戶端腳本注入及 DOM 操控模式。包含模仿 Magecart 風格側錄器的內聯腳本注入、透過無頭 Chromium 進行 DOM 操控,以及第三方腳本模擬。目標為 CSD 示範應用程式。
F5 XC 功能: 用戶端防禦(CSD)
| 順序 | 腳本 | 工具 | 說明 |
|---|---|---|---|
| 01 | 01-inline-script-injection.sh | curl | 發送包含內聯 JavaScript 負載的請求,設計用於模仿 Magecart 風格的信用卡側錄器及資料竊取腳本。 |
| 02 | 02-dom-manipulation.sh | playwright | 使用無頭 Chromium 載入 CSD 示範頁面並注入 DOM 修改:新增 script 標籤、修改表單動作,以及插入竊取表單資料的隱藏 iframe。 |
| 03 | 03-third-party-script-sim.sh | curl, playwright | 透過注入參考外部 JavaScript 來源的請求並嘗試將未授權腳本載入頁面上下文,模擬遭入侵的第三方腳本。 |
預期 F5 XC 行為: 用戶端防禦應偵測對受保護頁面的未授權腳本修改。CSD 儀表板將顯示新腳本來源、修改的 DOM 元素及資料竊取嘗試的警示。這將驗證 CSD 第二階段功能。
juice-shop-exploits
Section titled “juice-shop-exploits”腳本數量: 12 | 預估執行時間: 10-18 分鐘
OWASP Juice Shop 挑戰漏洞利用。包含 SQL 注入登入繞過、SQL 注入搜尋聯合、XSS DOM 反射型、XSS 儲存型 API、IDOR 購物籃存取、管理區段存取、偽造回饋、空位元組檔案存取、搜尋中的反射型 XSS、HTTP 標頭注入、重複註冊及登入暴力破解。目標為 Juice Shop 應用程式。
F5 XC 功能: WAF、機器人防禦
mitre-attack
Section titled “mitre-attack”腳本數量: 8 | 預估執行時間: 10-15 分鐘
MITRE ATT&CK 框架戰術模擬。包含偵察(外部掃描)、初始存取(憑證填充)、執行(命令注入)、憑證存取(預設密碼)、探索(目錄列舉)、橫向移動模擬、收集(資料爬取)及竊取模擬。每個腳本對應特定的 MITRE ATT&CK 戰術,用於結構化威脅覆蓋率報告。目標為所有應用程式。
F5 XC 功能: WAF、機器人防禦、API 安全性
owasp-scanning
Section titled “owasp-scanning”腳本數量: 10 | 預估執行時間: 20-35 分鐘
使用專用漏洞掃描器的全面 OWASP 掃描套件。包含 ZAP 基準掃描、ZAP 主動掃描、Nikto 完整掃描、Nuclei 完整掃描、Nmap 漏洞掃描、SSL/TLS 稽核、目錄模糊測試、子網域列舉、技術指紋識別及組合 OWASP 報告生成。目標為所有應用程式。
F5 XC 功能: WAF、Web 應用程式掃描
performance-testing
Section titled “performance-testing”腳本數量: 12 | 預估執行時間: 15-30 分鐘
在各種負載模式下測試效能特性。包含並發數遞增、每個應用程式吞吐量、持續負載、連線翻轉、混合攻擊+負載、尖峰測試、耐久測試、臨界點探索、回應時間百分位數、負載下錯誤率、資源耗盡及延遲分佈分析。目標為所有應用程式。
F5 XC 功能: DDoS、速率限制
reconnaissance
Section titled “reconnaissance”腳本數量: 6 | 預估執行時間: 8-15 分鐘
針對目標基礎架構進行網路掃描、服務列舉及目錄暴力破解。包含 nmap 服務偵測、masscan 連接埠掃描、目錄暴力破解、子網域列舉、Web 技術指紋識別及 DNS 偵察。目標為所有應用程式。
F5 XC 功能: WAF / 機器人防禦
| 順序 | 腳本 | 工具 | 說明 |
|---|---|---|---|
| 01 | 01-nmap-scan.sh | nmap | 針對目標的 HTTP/HTTPS 連接埠進行服務版本偵測及預設腳本掃描。 |
| 02 | 02-masscan-sweep.sh | masscan | 對常見 Web 連接埠(80、443、8080、8443)進行高速連接埠掃描,含速率限制。 |
| 03 | 03-gobuster-dirs.sh | gobuster | 使用 SecLists 常用詞表對所有應用程式前綴進行目錄暴力破解。 |
| 04 | 04-subfinder-enum.sh | subfinder, httpx | 對目標網域進行被動子網域列舉,然後對發現的主機進行 HTTP 探測。 |
| 05 | 05-whatweb-fingerprint.sh | whatweb | 對目標及所有應用程式路徑進行 Web 技術指紋識別。 |
| 06 | 06-dns-recon.sh | dnsrecon, fierce, dig | 針對目標網域進行 DNS 記錄列舉、區域傳輸嘗試及反向查詢。 |
預期 F5 XC 行為: WAF 應偵測並記錄掃描活動。機器人防禦可能將快速連續請求分類為自動化流量。安全事件儀表板將顯示偵察特徵碼及掃描工具 User-Agent 字串。
restaurant-exploits
Section titled “restaurant-exploits”腳本數量: 11 | 預估執行時間: 10-18 分鐘
針對餐廳 API 應用程式進行 OWASP API Security Top 10 2023 測試。包含註冊/認證、BOLA 個人資料、BOLA 訂單、BOPLA 大量分配、BFLA 權限提升、速率限制繞過、SQL 注入菜單、命令注入磁碟統計、SSRF 圖片 URL、JWT 弱密鑰及敏感資料暴露。目標為餐廳 API 應用程式。
F5 XC 功能: API 安全性
ssl-scanning
Section titled “ssl-scanning”腳本數量: 3 | 預估執行時間: 3-5 分鐘
對 F5 XC 負載均衡器 HTTPS 端點進行 TLS/SSL 設定分析。列舉加密套件、通訊協定版本、憑證詳細資訊,並檢查已知的 TLS 漏洞。目標為 F5 XC 負載均衡器端點。
F5 XC 功能: WAF(資訊性)
| 順序 | 腳本 | 工具 | 說明 |
|---|---|---|---|
| 01 | 01-sslscan.sh | sslscan | 列舉支援的加密套件、通訊協定版本及憑證詳細資訊。 |
| 02 | 02-sslyze.sh | sslyze | 全面的 TLS 分析,包含憑證驗證、加密套件排序及漏洞檢查(Heartbleed、ROBOT 等)。 |
| 03 | 03-testssl.sh | testssl.sh | 使用 testssl.sh 框架進行完整 TLS 評估。測試通訊協定支援、加密偏好、標頭分析及已知漏洞。 |
預期 F5 XC 行為: SSL 掃描會產生大量帶有異常加密套件提案的 TLS 握手。雖然 F5 XC 通常不會封鎖這些流量,但流量模式可在存取日誌中看到。主要價值在於驗證 F5 XC TLS 設定是否符合安全最佳實踐。
traffic-generation
Section titled “traffic-generation”腳本數量: 4 | 預估執行時間: 5-10 分鐘(可設定)
用於基準測量和負載測試的大量合法 HTTP 流量。在 F5 XC 分析中建立正常流量模式,以便與攻擊套件流量進行比較。目標為所有應用程式。
F5 XC 功能: 全部(基準比較)
| 順序 | 腳本 | 工具 | 說明 |
|---|---|---|---|
| 01 | 01-baseline-http.sh | curl | 使用標準瀏覽器 User-Agent 依序向所有應用程式路徑發送 HTTP GET 請求。在 F5 XC 分析中建立正常流量的基準。 |
| 02 | 02-concurrent-load.sh | curl | 使用 curl 以多個並發連線平行發送 HTTP 請求。測試負載處理能力並建立吞吐量基準。 |
| 03 | 03-mixed-methods.sh | curl | 針對 API 端點使用有效負載混合 HTTP 方法(GET、POST、PUT、DELETE)。產生正常 API 流量模式以便與攻擊流量進行比較。 |
| 04 | 04-user-journey.sh | playwright | 使用 Playwright 搭配標準瀏覽器設定,模擬真實用戶旅程:瀏覽頁面、搜尋產品、填寫表單及在應用程式間導航。 |
預期 F5 XC 行為: 此套件中的所有請求都應在不觸發 WAF 或機器人防禦干預的情況下通過。使用此套件在分析儀表板中產生「乾淨」流量,然後與攻擊套件流量進行比較,以展示合法請求與惡意請求模式之間的差異。
waf-encoding-evasion
Section titled “waf-encoding-evasion”腳本數量: 7 | 預估執行時間: 5-10 分鐘
多層編碼規避攻擊,旨在測試 WAF 是否在檢查前正確對負載進行正規化和解碼。涵蓋單層、雙層及三層 URL 編碼;HTML 實體編碼(十進制、十六進制、命名式、補零填充);Unicode/UTF-8 插入(零寬度空格、BOM、全形字元、軟連字符、超長序列);混合/巢狀多層編碼(URL 編碼的 HTML 實體、實體內的雙重 URL、三層堆疊);空位元組注入;IIS %uXXXX 編碼;大小寫操控;分塊傳輸編碼主體分割;Base64 參數規避;以及標頭/Cookie 編碼負載。目標為任何應用程式。
F5 XC 功能: WAF(編碼正規化深度)
| 順序 | 腳本 | 工具 | 說明 |
|---|---|---|---|
| 01 | 01-url-encoding.sh | curl | 跨多個端點路徑對 SQLi、XSS 及路徑遍歷負載進行單層、雙層及三層 URL 編碼。測試 WAF 是否遞迴解碼 URL 參數。 |
| 02 | 02-html-entity-encoding.sh | curl, python3 | 在 GET 參數和 POST 主體中對攻擊負載進行十進制、十六進制、命名式及補零填充 HTML 實體編碼。包含透過 {{7*7}} 進行的範本注入。 |
| 03 | 03-unicode-utf8-evasion.sh | curl | 在 SQL 關鍵字和 XSS 標籤中插入零寬度空格(U+200B)、BOM(U+FEFF)、全形字元、軟連字符及 ZWNJ。測試超長 UTF-8 序列(2 位元組和 3 位元組)。 |
| 04 | 04-mixed-nested-encoding.sh | curl | 多層負載:URL 編碼的 HTML 實體、實體內的雙重 URL、三層堆疊、帶有 Unicode 轉義的 JSON 主體(<),以及用戶特定的 {{7*7}} 範本注入模式。 |
| 05 | 05-null-byte-iis-base64.sh | curl | 用於副檔名繞過的空位元組注入(%00)、IIS %uXXXX Unicode 編碼,以及帶有解碼旗標的 URL 參數中的 Base64 編碼負載。 |
| 06 | 06-case-chunked-evasion.sh | curl | 結合編碼的大小寫隨機化(%3CsCrIpT%3E)、跨 HTTP 分塊分割 SQL/XSS 關鍵字的分塊傳輸編碼、Content-Length/Transfer-Encoding 衝突探測,以及替代路徑分隔符(%5c、%c0%af)。 |
| 07 | 07-header-cookie-evasion.sh | curl | 透過 Cookie、Referer、User-Agent、X-Forwarded-For 及 X-Original-URL 標頭注入編碼攻擊負載。測試 WAF 是否檢查並解碼所有 HTTP 標頭欄位,而不僅限於查詢參數和 POST 主體。 |
預期 F5 XC 行為: 正確設定的 WAF 應在進行模式匹配前對所有編碼層進行正規化。單層編碼的負載應立即被封鎖。雙層和三層編碼測試揭示 WAF 解碼管線的深度。Unicode 插入測試揭示在關鍵字匹配前是否會移除不可見字元。編碼變體通過而純文字等效項被封鎖的結果,表示 WAF 原則存在正規化缺口。
web-app-attacks
Section titled “web-app-attacks”腳本數量: 6 | 預估執行時間: 12-20 分鐘
透過 F5 XC 對 Juice Shop 和 DVWA 進行 OWASP Top 10 Web 應用程式漏洞測試。包含 SQL 注入、XSS、命令注入、路徑遍歷、Nikto 掃描及基於 Nuclei 範本的掃描。目標為 Juice Shop 和 DVWA 應用程式。
F5 XC 功能: WAF(Web 應用程式防火牆)
| 順序 | 腳本 | 工具 | 說明 |
|---|---|---|---|
| 01 | 01-sqli.sh | sqlmap, curl | 針對 Juice Shop 搜尋 API 和 DVWA SQLi 端點進行 SQL 注入負載測試。執行 sqlmap 自動化掃描,然後發送 10 個直接的 curl 注入負載。 |
| 02 | 02-xss.sh | dalfox, curl | 針對 Juice Shop 和 DVWA XSS 反射型/儲存型端點進行跨站腳本攻擊。執行 dalfox 自動化掃描,然後發送 12 個直接 XSS 負載,包含 script 標籤、事件處理器及 Cookie 竊取。 |
| 03 | 03-command-injection.sh | curl | 針對 DVWA exec 端點發送 OS 命令注入負載。發送 12 個負載,包含管線鏈、分號、URL 編碼換行符及反向 Shell 模式。 |
| 04 | 04-path-traversal.sh | curl | 針對多個應用程式端點進行目錄遍歷測試。跨 6 個端點路徑測試標準 ../ 遍歷、URL 編碼變體、雙重編碼變體、空位元組變體及 Unicode 變體。 |
| 05 | 05-nikto-scan.sh | nikto | 含 120 秒時間限制的完整 Web 伺服器漏洞掃描。產生觸發 WAF 特徵碼匹配的多樣化 HTTP 請求。 |
| 06 | 06-nuclei-scan.sh | nuclei | 在中、高及嚴重嚴重性等級進行基於範本的漏洞掃描。速率限制為每秒 50 個請求。 |
預期 F5 XC 行為: WAF 應封鎖或標記包含 SQL 注入、XSS、命令注入及路徑遍歷負載的請求。安全事件儀表板將顯示每個被封鎖請求的違規類別、特徵碼 ID 及請求詳細資訊。