scanning-tools
ネットワーク探索、脆弱性評価、Webアプリケーションテスト、無線セキュリティ、コンプライアンス検証など、必須のセキュリティスキャンツールを網羅的に習得できます。ツールの選定・設定・実践的な使い方をスキャンカテゴリごとに体系的にカバーします。
description の原文を見る
Master essential security scanning tools for network discovery, vulnerability assessment, web application testing, wireless security, and compliance validation. This skill covers tool selection, configuration, and practical usage across different scanning categories.
SKILL.md 本文
セキュリティスキャニングツール
目的
ネットワーク検出、脆弱性評価、Webアプリケーションテスト、ワイヤレスセキュリティ、コンプライアンス検証など、必須のセキュリティスキャニングツールをマスターする。このスキルはツール選択、設定、さまざまなスキャニングカテゴリー全体での実践的な使用方法をカバーします。
前提条件
必須環境
- Linuxベースのシステム(Kali Linux推奨)
- ターゲットシステムへのネットワークアクセス
- スキャニング活動に対する適切な認可
必須知識
- ネットワーキングの基本的な概念(TCP/IP、ポート、プロトコル)
- 一般的な脆弱性の理解
- コマンドラインインターフェースの習熟
出力と成果物
- ネットワーク検出レポート - 識別されたホスト、ポート、サービス
- 脆弱性評価レポート - CVE、設定ミス、リスク評価
- Webアプリケーションセキュリティレポート - OWASP Top 10の検出結果
- コンプライアンスレポート - CISベンチマーク、PCI-DSS、HIPAA確認
コアワークフロー
フェーズ1: ネットワークスキャニングツール
Nmap(Network Mapper)
ネットワーク検出とセキュリティ監査の主要ツール:
# ホスト検出
nmap -sn 192.168.1.0/24 # Pingスキャン(ポートスキャンなし)
nmap -sL 192.168.1.0/24 # リストスキャン(DNS解決)
nmap -Pn 192.168.1.100 # ホスト検出をスキップ
# ポートスキャン技法
nmap -sS 192.168.1.100 # TCP SYNスキャン(ステルス)
nmap -sT 192.168.1.100 # TCP接続スキャン
nmap -sU 192.168.1.100 # UDPスキャン
nmap -sA 192.168.1.100 # ACKスキャン(ファイアウォール検出)
# ポート指定
nmap -p 80,443 192.168.1.100 # 特定ポート
nmap -p- 192.168.1.100 # 全65535ポート
nmap -p 1-1000 192.168.1.100 # ポート範囲
nmap --top-ports 100 192.168.1.100 # 上位100個の一般的なポート
# サービスおよびOS検出
nmap -sV 192.168.1.100 # サービスバージョン検出
nmap -O 192.168.1.100 # OS検出
nmap -A 192.168.1.100 # アグレッシブ(OS、バージョン、スクリプト)
# タイミングとパフォーマンス
nmap -T0 192.168.1.100 # パラノイド(最遅、IDS回避)
nmap -T4 192.168.1.100 # アグレッシブ(高速)
nmap -T5 192.168.1.100 # インセイン(最高速)
# NSEスクリプト
nmap --script=vuln 192.168.1.100 # 脆弱性スクリプト
nmap --script=http-enum 192.168.1.100 # Web列挙
nmap --script=smb-vuln* 192.168.1.100 # SMB脆弱性
nmap --script=default 192.168.1.100 # デフォルトスクリプトセット
# 出力形式
nmap -oN scan.txt 192.168.1.100 # 通常出力
nmap -oX scan.xml 192.168.1.100 # XML出力
nmap -oG scan.gnmap 192.168.1.100 # Grepable出力
nmap -oA scan 192.168.1.100 # 全形式
Masscan
大規模ネットワーク向けの高速ポートスキャン:
# 基本スキャン
masscan -p80 192.168.1.0/24 --rate=1000
masscan -p80,443,8080 192.168.1.0/24 --rate=10000
# 全ポート範囲
masscan -p0-65535 192.168.1.0/24 --rate=5000
# 大規模スキャン
masscan 0.0.0.0/0 -p443 --rate=100000 --excludefile exclude.txt
# 出力形式
masscan -p80 192.168.1.0/24 -oG results.gnmap
masscan -p80 192.168.1.0/24 -oJ results.json
masscan -p80 192.168.1.0/24 -oX results.xml
# バナー取得
masscan -p80 192.168.1.0/24 --banners
フェーズ2: 脆弱性スキャニングツール
Nessus
エンタープライズグレードの脆弱性評価:
# Nessuサービスを開始
sudo systemctl start nessusd
# Webインターフェースにアクセス
# https://localhost:8834
# コマンドライン(nessuscli)
nessuscli scan --create --name "Internal Scan" --targets 192.168.1.0/24
nessuscli scan --list
nessuscli scan --launch <scan_id>
nessuscli report --format pdf --output report.pdf <scan_id>
Nessuの主な機能:
- 包括的なCVE検出
- コンプライアンスチェック(PCI-DSS、HIPAA、CIS)
- カスタムスキャンテンプレート
- より深い分析のための認証付きスキャン
- 定期的なプラグイン更新
OpenVAS(Greenbone)
オープンソースの脆弱性スキャン:
# OpenVASをインストール
sudo apt install openvas
sudo gvm-setup
# サービスを開始
sudo gvm-start
# Webインターフェース(Greenbone Security Assistant)にアクセス
# https://localhost:9392
# コマンドライン操作
gvm-cli socket --xml "<get_version/>"
gvm-cli socket --xml "<get_tasks/>"
# スキャン作成と実行
gvm-cli socket --xml '
<create_target>
<name>Test Target</name>
<hosts>192.168.1.0/24</hosts>
</create_target>'
フェーズ3: Webアプリケーションスキャニングツール
Burp Suite
包括的なWebアプリケーションテスト:
# プロキシ設定
1. ブラウザプロキシを127.0.0.1:8080に設定
2. Burp CAファイルをHTTPSにインポート
3. スコープにターゲットを追加
# 主要モジュール:
- Proxy: リクエストをインターセプトおよび変更
- Spider: Webアプリケーションをクロール
- Scanner: 自動化された脆弱性検出
- Intruder: 自動化された攻撃(ファジング、ブルートフォース)
- Repeater: 手動リクエスト操作
- Decoder: データをエンコード/デコード
- Comparer: レスポンスを比較
コアテストワークフロー:
- プロキシとスコープを設定
- アプリケーションをクロール
- サイトマップを分析
- アクティブスキャナーを実行
- Repeater/Intruderを使用した手動テスト
- 検出結果を確認しレポートを生成
OWASP ZAP
オープンソースのWebアプリケーションスキャナー:
# ZAPを開始
zaproxy
# CLIから自動スキャン
zap-cli quick-scan https://target.com
# フルスキャン
zap-cli spider https://target.com
zap-cli active-scan https://target.com
# レポート生成
zap-cli report -o report.html -f html
# APIモード
zap.sh -daemon -port 8080 -config api.key=<your_key>
ZAP自動化:
# Dockerベースのスキャン
docker run -t owasp/zap2docker-stable zap-full-scan.py \
-t https://target.com -r report.html
# ベースラインスキャン(パッシブのみ)
docker run -t owasp/zap2docker-stable zap-baseline.py \
-t https://target.com -r report.html
Nikto
Webサーバー脆弱性スキャナー:
# 基本スキャン
nikto -h https://target.com
# 特定ポートをスキャン
nikto -h target.com -p 8080
# SSLでスキャン
nikto -h target.com -ssl
# 複数ターゲット
nikto -h targets.txt
# 出力形式
nikto -h target.com -o report.html -Format html
nikto -h target.com -o report.xml -Format xml
nikto -h target.com -o report.csv -Format csv
# チューニングオプション
nikto -h target.com -Tuning 123456789 # 全テスト
nikto -h target.com -Tuning x # 特定テストを除外
フェーズ4: ワイヤレススキャニングツール
Aircrack-ng Suite
ワイヤレスネットワークペネトレーションテスト:
# ワイヤレスインターフェースを確認
airmon-ng
# モニターモードを有効化
sudo airmon-ng start wlan0
# ネットワークをスキャン
sudo airodump-ng wlan0mon
# 特定ネットワークをキャプチャ
sudo airodump-ng -c <channel> --bssid <target_bssid> -w capture wlan0mon
# 認証解除攻撃
sudo aireplay-ng -0 10 -a <bssid> wlan0mon
# WPAハンドシェイクをクラック
aircrack-ng -w wordlist.txt -b <bssid> capture*.cap
# WEPをクラック
aircrack-ng -b <bssid> capture*.cap
Kismet
パッシブワイヤレス検出:
# Kismetを開始
kismet
# インターフェースを指定
kismet -c wlan0
# Webインターフェースにアクセス
# http://localhost:2501
# 隠しネットワークを検出
# Kismetはすべてのビーコンフレームをパッシブに収集します
# 隠しSSIDを含む
フェーズ5: マルウェアおよびエクスプロイトスキャン
ClamAV
オープンソースのアンチウイルススキャン:
# ウイルス定義を更新
sudo freshclam
# ディレクトリをスキャン
clamscan -r /path/to/scan
# 詳細出力でスキャン
clamscan -r -v /path/to/scan
# 感染ファイルを移動
clamscan -r --move=/quarantine /path/to/scan
# 感染ファイルを削除
clamscan -r --remove /path/to/scan
# 特定ファイル型をスキャン
clamscan -r --include='\.exe$|\.dll$' /path/to/scan
# ログに出力
clamscan -r -l scan.log /path/to/scan
Metasploit脆弱性検証
エクスプロイトによる脆弱性を検証:
# Metasploitを開始
msfconsole
# データベース設定
msfdb init
db_status
# Nmapスキャン結果をインポート
db_import /path/to/nmap_scan.xml
# 脆弱性スキャン
use auxiliary/scanner/smb/smb_ms17_010
set RHOSTS 192.168.1.0/24
run
# 自動エクスプロイテーション
vulns # 脆弱性を表示
analyze # エクスプロイトを提案
フェーズ6: クラウドセキュリティスキャン
Prowler(AWS)
AWSセキュリティ評価:
# Prowlerをインストール
pip install prowler
# 基本スキャン
prowler aws
# 特定チェック
prowler aws -c iam s3 ec2
# コンプライアンスフレームワーク
prowler aws --compliance cis_aws
# 出力形式
prowler aws -M html json csv
# 特定リージョン
prowler aws -f us-east-1
# ロールを想定
prowler aws -R arn:aws:iam::123456789012:role/ProwlerRole
ScoutSuite(マルチクラウド)
マルチクラウドセキュリティ監査:
# ScoutSuiteをインストール
pip install scoutsuite
# AWSスキャン
scout aws
# Azureスキャン
scout azure --cli
# GCPスキャン
scout gcp --user-account
# レポート生成
scout aws --report-dir ./reports
フェーズ7: コンプライアンススキャン
Lynis
Unix/Linuxセキュリティ監査:
# 監査を実行
sudo lynis audit system
# クイックスキャン
sudo lynis audit system --quick
# 特定プロファイル
sudo lynis audit system --profile server
# 出力レポート
sudo lynis audit system --report-file /tmp/lynis-report.dat
# 特定セクションを確認
sudo lynis show profiles
sudo lynis audit system --tests-from-group malware
OpenSCAP
セキュリティコンプライアンススキャン:
# 利用可能なプロファイルをリスト
oscap info /usr/share/xml/scap/ssg/content/ssg-<distro>-ds.xml
# プロファイル付きスキャンを実行
oscap xccdf eval --profile xccdf_org.ssgproject.content_profile_pci-dss \
--report report.html \
/usr/share/xml/scap/ssg/content/ssg-rhel8-ds.xml
# 修正スクリプトを生成
oscap xccdf generate fix \
--profile xccdf_org.ssgproject.content_profile_pci-dss \
--output remediation.sh \
/usr/share/xml/scap/ssg/content/ssg-rhel8-ds.xml
フェーズ8: スキャニング方法論
構造化されたスキャニングアプローチ:
-
計画
- スコープと目的を定義
- 適切な認可を取得
- 適切なツールを選択
-
検出
- ホスト検出(Nmapピングスイープ)
- ポートスキャン
- サービス列挙
-
脆弱性評価
- 自動スキャン(Nessus/OpenVAS)
- Webアプリケーションスキャン(Burp/ZAP)
- 手動検証
-
分析
- 検出結果を相関
- 誤検知を排除
- 重大度別に優先順位付け
-
レポート作成
- 検出結果を文書化
- 修復ガイダンスを提供
- エグゼクティブサマリー
フェーズ9: ツール選択ガイド
各シナリオに適切なツールを選択:
| シナリオ | 推奨ツール |
|---|---|
| ネットワーク検出 | Nmap、Masscan |
| 脆弱性評価 | Nessus、OpenVAS |
| Webアプリテスト | Burp Suite、ZAP、Nikto |
| ワイヤレスセキュリティ | Aircrack-ng、Kismet |
| マルウェア検出 | ClamAV、YARA |
| クラウドセキュリティ | Prowler、ScoutSuite |
| コンプライアンス | Lynis、OpenSCAP |
| プロトコル分析 | Wireshark、tcpdump |
フェーズ10: レポート作成とドキュメント
プロフェッショナルなレポートを生成:
# Nmap XMLからHTMLへ
xsltproc nmap-output.xml -o report.html
# OpenVASレポートをエクスポート
gvm-cli socket --xml '<get_reports report_id="<id>" format_id="<pdf_format>"/>'
# 複数スキャン結果を統合
# Faraday、Dradis、カスタムスクリプトなどのツールを使用
# エグゼクティブサマリーテンプレート:
# 1. スコープと方法論
# 2. 主要検出結果サマリー
# 3. リスク分布チャート
# 4. 重大な脆弱性
# 5. 修復推奨事項
# 6. 詳細な技術的検出結果
クイックリファレンス
Nmapチートシート
| スキャン型 | コマンド |
|---|---|
| Pingスキャン | nmap -sn <target> |
| クイックスキャン | nmap -T4 -F <target> |
| フルスキャン | nmap -p- <target> |
| サービススキャン | nmap -sV <target> |
| OS検出 | nmap -O <target> |
| アグレッシブ | nmap -A <target> |
| 脆弱性スクリプト | nmap --script=vuln <target> |
| ステルススキャン | nmap -sS -T2 <target> |
一般的なポート参考表
| ポート | サービス |
|---|---|
| 21 | FTP |
| 22 | SSH |
| 23 | Telnet |
| 25 | SMTP |
| 53 | DNS |
| 80 | HTTP |
| 443 | HTTPS |
| 445 | SMB |
| 3306 | MySQL |
| 3389 | RDP |
制約と制限
法的検討事項
- 常に書面で認可を取得
- スコープ境界を尊重
- 責任ある情報開示慣行に従う
- 現地の法律と規制に準拠
技術的制限
- 一部のスキャンはIDS/IPSアラートをトリガーする可能性がある
- 高負荷スキャンはネットワークパフォーマンスに影響する可能性がある
- 誤検知は手動検証が必要
- 暗号化されたトラフィックは分析を制限する可能性がある
ベストプラクティス
- 非侵襲的スキャンから開始
- スキャン強度を段階的に増加
- すべてのスキャニングアクティビティを文書化
- レポート前に検出結果を検証
トラブルシューティング
スキャンがホストを検出しない
解決方法:
- 異なる検出方法を試す:
nmap -Pnまたはnmap -sn -PS/PA/PU - ICMPをブロックするファイアウォールルールを確認
- TCP SYNスキャンを使用:
nmap -PS22,80,443 - ネットワーク接続を確認
スキャンパフォーマンスが遅い
解決方法:
- タイミングを増加:
nmap -T4または-T5 - ポート範囲を削減:
--top-ports 100 - 初期検出にMasscanを使用
- DNS解決を無効化:
-n
Webスキャナーが脆弱性を見逃す
解決方法:
- 保護されたエリアにアクセスするために認証
- クロール深度を増加
- カスタム注入ポイントを追加
- 複数のツールを使用してカバレッジを向上
- 手動テストを実施
使用時期
このスキルは、概要で説明されているワークフローまたはアクションを実行するのに適用可能です。
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- sickn33
- ライセンス
- MIT
- 最終更新
- 不明
Source: https://github.com/sickn33/antigravity-awesome-skills / ライセンス: MIT
関連スキル
doubt-driven-development
重要な判断はすべて、本番環境への展開前に新しい視点から対抗的レビューを実施します。速度より正確性が重要な場合、不慣れなコードを扱う場合、本番環境・セキュリティに関わるロジック・取り消し不可の操作など影響度が高い場合、または後でバグを修正するよりも今検証する方が効率的な場合に活用してください。
apprun-skills
TypeScriptを使用したAppRunアプリケーションのMVU設計に関する総合的なガイダンスが得られます。コンポーネントパターン、イベントハンドリング、状態管理(非同期ジェネレータを含む)、パラメータと保護機能を備えたルーティング・ナビゲーション、vistestを使用したテストに対応しています。AppRunコンポーネントの設計・レビュー、ルートの配線、状態フローの管理、AppRunテストの作成時に活用してください。
desloppify
コードベースのヘルスチェックと技術負債の追跡ツールです。コード品質、技術負債、デッドコード、大規模ファイル、ゴッドクラス、重複関数、コードスメル、命名規則の問題、インポートサイクル、結合度の問題についてユーザーが質問した場合に使用してください。また、ヘルススコアの確認、次の改善項目の提案、クリーンアップ計画の作成をリクエストされた際にも対応します。29言語に対応しています。
debugging-and-error-recovery
テストが失敗したり、ビルドが壊れたり、動作が期待と異なったり、予期しないエラーが発生したりした場合に、体系的な根本原因デバッグをガイドします。推測ではなく、根本原因を見つけて修正するための体系的なアプローチが必要な場合に使用してください。
test-driven-development
テスト駆動開発により実装を進めます。ロジックの実装、バグの修正、動作の変更など、あらゆる場面で活用できます。コードが正常に動作することを証明する必要がある場合、バグ報告を受けた場合、既存機能を修正する予定がある場合に使用してください。
incremental-implementation
変更を段階的に実施します。複数のファイルに影響する機能や変更を実装する場合に使用してください。大量のコードを一度に書こうとしている場合や、タスクが一度では完結できないほど大きい場合に活用します。