開源自動化滲透測試框架和漏洞掃描儀 OWASP Nettacker

簡介

OWASP Nettacker 是一個功能強大的開源自動化滲透測試框架,由 OWASP 基金會 開發,旨在幫助網絡安全專業人員和道德黑客高效地進行偵察、漏洞評估。它使用 Python 語言編寫,採用模塊化架構,支持多種協議和掃描方法,無需依賴外部工具。該工具支持自動化信息收集、漏洞掃描和憑證爆破...等功能,能夠識別網絡、Web 應用程序、物聯網設備和 API 中的弱點。它可以生成 HTML、TXT、JSON 和 CSV 格式的報告,並支持命令列、API、Web GUI 和 Maltego 轉換等多種運行模式。

免責聲明:
未經網路或設備所有者明確授權,任何人不得以任何形式干擾、入侵或破壞;本工具僅供教育研究與示範用途,不得用於任何非法或未經授權之活動。

安裝方法

前置安裝配置

  • python3-dev
  • python3-pip
  • libcurl4-openssl-dev
  • libcurl4-gnutls-dev
  • librtmp-dev
  • libssl-dev
  • libpq-dev (required if you wish to use PostgreSQL database)
  • libffi-dev
  • musl-dev
  • make
  • gcc
  • git

透過PIPX

1
2
3
4
5
sudo apt update
sudo apt install pipx
pipx ensurepath
pipx --version
pipx install nettacker

透過 Github

1
2
3
4
5
6
sudo apt update
sudo apt install python3-poetry git
git clone https://github.com/OWASP/Nettacker --depth 1
cd Nettacker
poetry install
poetry run nettacker --help

透過 Docker

1
2
docker pull owasp/nettacker
docker run -it owasp/nettacker /bin/bash

用法

Engine選項

參數 說明 範例
-L 設定語言(如 zh-cn) nettacker -L zh-cn
-v 設置 verbose 模式級別 (0-5,默認 0) nettacker -v 3
--verbose-event 顯示每個執行緒事件狀態 nettacker --verbose-event
-V 顯示版本資訊 nettacker -V
-o 輸出報告檔(可為 .html/.json/.csv/.txt) nettacker -o result.html
--graph 輸出互動式圖形報告(需配合 HTML) nettacker --graph d3_tree_v2_graph
-h 顯示說明 nettacker -h

Target

參數 說明 範例
-i 指定目標列表(IP、域名等,用逗號分隔)) nettacker -i 192.168.1.1,example.com
-l 從檔案讀取目標清單 nettacker -l targets.txt

Method選項

參數 說明 範例
-m 指定模組(支援模糊搜尋) nettacker -m ssh_brute,port_scan
--modules-extra-args 傳入模組專用參數 nettacker --modules-extra-args "api_key=123"
--show-all-modules 顯示所有可用模組 nettacker --show-all-modules
--profile 使用預設模組組合 nettacker --profile apache
--show-all-profiles 顯示所有模組組合資訊 nettacker --show-all-profiles
-x 排除模組 nettacker -x ftp_brute
-u 指定帳號 nettacker -u admin,test
-U 從檔案載入帳號清單 nettacker -U users.txt
-p 指定密碼 nettacker -p 123456,admin
-P 從檔案載入密碼清單 nettacker -P passwords.txt
-g 指定端口(可用逗號分隔) nettacker -g 21,22,80
--user-agent 指定或亂數 User-Agent nettacker --user-agent random_user_agent
-T 設定逾時時間(默認 3.0 秒) nettacker -T 1.0
-w 請求間延遲(秒) nettacker -w 1
-r 掃描整個 IP 範圍 nettacker -i 192.168.1.0/24 -r
-s 掃描子網域 nettacker -i example.com -s
-d 強制掃描,不偵測服務類型 nettacker -d
-t 每主機執行緒數(默認 250) nettacker -t 10
-M 模組並行掃描數量(默認 20) nettacker -M 5
--set-hardware-usage 設定硬體使用量(low、normal、high、maximum,默認 maximum) nettacker --set-hardware-usage high
-R 使用 SOCKS 代理 nettacker -R socks5://127.0.0.1:9050
--retries 逾時重試次數(默認 3) nettacker --retries 2
--ping-before-scan 掃描前先 ping 主機 nettacker --ping-before-scan

Scan Compare選項

參數 說明 範例
-K 使用唯一 scan_id 比較當前掃描與舊掃描 nettacker -K 20240625-001
-J 指定比較報告文件路徑 nettacker -J compare_report.html

API 介面選項(RESTful API)

參數 說明 範例
--start-api 啟動 API 服務 nettacker --start-api
--api-host 指定 API 監聽主機 nettacker --api-host 0.0.0.0
--api-port 指定 API 埠號(默認 5000) nettacker --api-port 5000
--api-debug-mode 啟用除錯模式 nettacker --api-debug-mode
--api-access-key 設置 API 訪問密鑰(默認隨機 MD5 哈希) nettacker --api-access-key mykey123
--api-client-whitelisted-ips 限定 API 可存取 IP nettacker --api-client-whitelisted-ips 127.0.0.1,192.168.1.0/24
--api-access-log 設定 API 訪問日誌檔案 nettacker --api-access-log api.log
--api-cert 指定 HTTPS 憑證 nettacker --api-cert cert.pem
--api-cert-key 指定憑證私鑰 nettacker --api-cert-key cert.key

參考資料

  1. OWASP Nettacker
  2. OWASP Nettacker Documentation