はじめに
Nova_Observer β
は、Webアプリケーションの診断・調査を自動化するPython製の脆弱性スキャナです。セキュリティ初心者でも簡単に使えるよう、コマンド一発で以下のような診断を実行できます。
- コマンドインジェクションの可能性をチェック
- 不正アクセス可能なファイル・パスを列挙(トラバーサル)
- ポートスキャンによるサービス調査
- Shodan APIを用いた脅威情報の収集
- Markdown形式で自動的にレポートを出力
簡易的なセキュリティチェックやCTF前のリコンツールとして活用できます。
機能概要
機能 | 内容 |
---|---|
Payload Injection | GET/POSTリクエストでペイロードを送信し、応答の中に脆弱性の兆候を検出 |
Directory Traversal | パス列挙用ワードリストを使い、アクセス可能な隠しファイルや設定を探索 |
Port Scan | TCPポート範囲を指定してスキャン。サービス名も自動判別 |
Shodan InternetDB連携 | ターゲットIPのCPE、ポート、脆弱性情報をShodanの無料API経由で取得 |
Markdownレポート出力 | スキャン結果をReport_Logs/ 内に日時付きで保存。報告用途にも活用可能 |
使用方法
コマンド例
python3 nova_observer.py -url https://example.com -m POST \
-payw payloads.txt -traw paths.txt -ps 20 100 -t 6
基本コマンド
python3 nova_observer.py -url <ターゲットURL> [オプション]
オプション一覧
オプション | 内容 |
---|---|
-url |
スキャン対象のURL(必須) |
-p |
任意のポート番号(デフォルト: 80/443) |
-m |
HTTPメソッド(GETまたはPOST) |
-s |
有効とみなす追加のステータスコード(例: 403 500) |
-payw |
ペイロードワードリストファイル(コマンドインジェクション用) |
-traw |
ディレクトリトラバーサル用ワードリストファイル |
-cua |
カスタムUser-Agentリスト |
-ps |
ポートスキャン範囲(開始ポートと終了ポート) |
-t |
スレッド数(並列スキャンに使用。デフォルトは4) |
出力ディレクトリ構成
Nova_Observer/
├── Payload_logs/ # ペイロードの応答ログ
├── Traversal_Logs/ # トラバーサル成功時のログ
├── Port_Scan_Logs/ # ポートスキャン結果
├── Err_Checked_logs/ # エラーログ(例外や失敗した通信など)
└── Report_Logs/ # Markdown形式の最終レポート
Markdownレポート例(抜粋)
date : 2025_4-08_15-44
Scan_Targets : https://example.com
Used_Modules : Payload_Checkers / Multi_Traversal / Port_Scan / Shodan API
Method : POST
Payload_Detections:
- cat /etc/passwd
- ; ls -la /etc
Traversal Hits:
- [GET/200] ../../../../etc/passwd
- [GET/200] /.git/config
Open Ports:
- http/80
- ssh/22
Shodan:
- IP : 93.184.216.34
- Ports : [80, 443]
- Vulns : ['CVE-2021-41773']
インストール方法
必要な依存パッケージをインストール
pip install -r requirements.txt
requirements.txt:
requests
GitHub リンク
ソースコード・更新情報はこちら:
https://github.com/Alecto-Fsociety/Nova_Observer-Beta
さいごに
Nova_Observer はセキュリティ調査の第一歩として使える軽量スキャナです。
現状β版ではありますが、シンプルかつ直感的な操作性で、初学者から実務者まで役立てる設計にしています。
Pull Request / Issue / Fork 大歓迎です。