本文介紹如何安裝與使用 Strix 自動化滲透測試工具,進行白箱或黑箱滲透測試。
安裝 Strix
先安裝好 Docker 環境,再參考 Strix 的文件 安裝 Strix 滲透測試工具:
# 安裝 Strix
curl -sSL https://strix.ai/install | bash
vLLM 模型設定
這裡我們採用 vLLM 運行 Qwen/Qwen3.8-27B 模型,搭配以下環境變數設定 Strix:
export STRIX_LLM="openai/Qwen/Qwen3.8-27B"
export LLM_API_KEY="NA"
export LLM_API_BASE="http://localhost:8000/v1"
這裡的模型名稱要以 vLLM 實際運行的為準,可以用以下指令查詢:
# 查看 vLLM 所運行的模型資訊
curl -s http://localhost:8000/v1/models | jq -r '.data[0].id'
而 STRIX_LLM 的名稱就是在原本的模型名稱之前加上 openai/,LLM_API_KEY 若沒有的話就隨便填。
Strix 滲透測試
設定好環境變數之後,就可以用 Strix 進行滲透測試了,Strix 支援好幾種滲透測試方式:
# 本地端程式碼滲透測試(白箱)
strix --target ./app-directory
# GitHub 套件庫程式碼滲透測試(白箱)
strix --target https://github.com/org/repo
# 一般網站滲透測試(黑箱)
strix --target https://your-app.com
# 一次指定多個標的
strix -t https://github.com/org/app -t https://your-app.com
若有很多的不同的標的都要同時進行滲透測試,可以把所有標的寫在 targets.txt 文字檔案中,一行一個標的,再用 --target-list 參數指定標的清單:
# 以文字檔案指定標的清單
strix --target-list ./targets.txt
Strix 預設會以互動式 TUI 的介面顯示整個滲透測試過程,若不需要 TUI 介面,可以加上 -n 參數,使用簡單的 CLI 介面執行:
# 以普通 CLI 介面執行
strix -n --target https://your-app.com
若有一些額外的指令,可以使用 --instruction 參數指定,最常見的就是使用者帳號與密碼資訊:
# 指定使用者帳號與密碼
strix --target https://your-app.com --instruction "Perform authenticated testing using credentials: user:pass"
若有詳細的指令,也可以將指令寫在檔案中,讓 Strix 直接從檔案讀取指令,例如限制滲透測試的範圍與做法等:
# 指定詳細指令
strix --target https://your-app.com--instruction-file ./my_instruction.txt
Strix 掃描模式
Strix 有三種不同的掃描模式:
quick:快速掃描,大約幾分鐘可以完成,只檢查明顯漏洞。standard:標準掃描,大約需要半小時到一小時,掃描深度與時間的折衷方案。deep:完整滲透測試,依據標的複雜度,可能需要一至四個小時。
Strix 預設的掃描模式是 deep,我們可以用 --scan-mode 參數來更改掃描模式:
# 快速掃描
strix --target ./app --scan-mode quick
Docker 網路問題
由於 Strix 在進行滲透測試時,會自動開一個 strix-sandbox 的 Docker 容器,在容器中進行,若我們的靶機開在不同的 Docker 網路中,可以自行將 strix-sandbox 的 Docker 容器加入靶機的網路中:
# 查看目前的 Docker 容器
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 78ea44cdba62 ghcr.io/usestrix/strix-sandbox:1.3.0 "docker-entrypoint.s…" 30 minutes ago Up 30 minutes 127.0.0.1:32768->48080/tcp competent_dubinsky d2b983db9aba vulhub/laravel:8.4.2 "docker-php-entrypoi…" 14 hours ago Up 14 hours 0.0.0.0:8080->80/tcp, [::]:8080->80/tcp web02 fe9defc41b51 cve-2021-42013-web01 "httpd-foreground" 15 hours ago Up 15 hours 80/tcp web01
# 將 strix-sandbox 容器加入 pentest01 網路
docker network connect pentest01 78ea44cdba62
