導入と情報収集
このセクションでは、攻撃者の視点からWebアプリケーションのペネトレーションテストについて解説し、基礎的なWeb技術、DNS偵察、HTTPプロトコルセキュリティに重点を置きます。BurpSuite ProやZAPといったトラフィック傍受に必須のツールに加え、OWASP評価フレームワークなどの手法についても解説します。
取り上げられるトピック
- Webアプリケーション評価手法
- ペネトレーションテスターのツールキット
- インターセプションプロキシ
ラボ
- SSL構成分析
- ターゲットプロファイリング
- コンテンツ検出
概要
Webアプリケーションのペネトレーションテストを成功させるには、攻撃者の視点を理解することが不可欠です。このコースでは、まずこの視点から、プロトコル、言語、クライアント、サーバーアーキテクチャといった基礎的なWeb技術を詳細に解説します。特に、仮想ホストの検出と分析を含むDNS偵察の手法、そしてHTTPレスポンスやCookieのセキュリティ制御、HTTPメソッドといったHTTPプロトコルのニュアンスを理解することに重点を置きます。
このコースの重要な要素の一つは、OWASPが開発した評価手法であり、これは高品質な評価を提供する上で極めて重要な役割を果たします。ペネトレーションテスターのツールキットに不可欠なツールについて、特にインターセプションプロキシに焦点を当てて解説します。受講者は、Zed Attack Proxy (ZAP)やBurpSuite Professionalといった重要なツールの初期設定を習得します。これらのツールは、SSL トラフィックのプロキシや脆弱な Web アプリケーションの調査に広く利用されています。
セクション 1 では、Secure Sockets Layer (SSL)設定の複雑さについても深く掘り下げ、一般的な脆弱性に焦点を当てます。また、cURL、nmap、testssl.sh などのツールを使用して、Web アプリケーションのコンテンツ検出やスパイダー/クロールを行い、ターゲットの検出とプロファイリングのプロセスを受講者に指導します。ハンズオンラボでは、潜在的な設定上の欠陥を特定し、各サーバーの包括的なプロファイルを作成するための偵察活動の実践的な経験を積むことができます。
トピックの詳細
ファジング、スキャン、認証、セッションテスト
このセクションでは、ファジング、脆弱性スキャン、強制ブラウジングなどの手法を紹介し、隠れたコンテンツや潜在的な脆弱性を発見します。また、認証、認可、セッション管理のメカニズムについても考察し、BurpSuite、ZAP、ffufなどの一般的な攻撃ベクトルやツールについても解説します。
取り上げられるトピック
- ファジング
- 情報漏洩
- Burp Professionalの脆弱性スキャン
ラボ
- インターセプションプロキシ
- コマンドラインユーティリティ
- ユーザー名列挙
概要
このセクションでは、情報収集プロセスをさらに進め、ファジング、脆弱性スキャン、強制ブラウジングなどの重要な手法を紹介します。これらの手法は、前のセクションで説明した初期ステップを補完するものであり、Webアプリケーションの脆弱性を効果的に分析するために必要な包括的な詳細情報を取得するために不可欠です。侵入テストプロセスにおけるこのフェーズの重要性を強調するため、このコースには多くのハンズオンラボが含まれています。これらのラボは、インターセプションプロキシやffufなどのコマンドラインユーティリティといった必須ツールの習熟度を高め、これらの高度なテスト手法の理論と実践の両方を包括的に理解できるように設計されています。
脆弱性スキャンと強制ブラウジングの学習が進むにつれ、このコースでは次に、Webアプリケーション評価の主要要素である認証、認可、セッション管理について取り上げます。受講者は、Basic、Digest、Forms、Windows Integrated、SAML、OAuthなど、様々な認証メカニズムについて学ぶことができます。このコースでは、これらの技術の仕組みを説明するだけでなく、それらに関連する様々な攻撃ベクトルについても深く掘り下げます。実践的な演習には、ユーザー名の列挙、パスワードの推測、インターセプションプロキシとコマンドラインファザーの活用などが含まれます。さらに、Burp SuiteのSequencer機能を活用した専用ラボでは、セッションセキュリティ評価において重要なスキルである、予測可能なセッション識別子の識別を実践的に学ぶことができます。
トピックの詳細
-
ファジング
-
情報漏洩
-
Burp Professional の脆弱性スキャン
-
コンテンツ検出:強制ブラウジング
-
ZAPとffufによるリンクされていないコンテンツの検出
-
Web認証メカニズム
-
フェデレーションIDおよびアクセスプロトコル(SAMLおよびOAuth)
-
JWTとFlaskセッションCookie
-
ユーザー名の収集とパスワードの推測
-
セッション管理と攻撃
-
Burpシーケンサー
インジェクション
このセクションでは、認証および認可バイパス、インジェクションの脆弱性、安全でないデシリアライゼーションといった重大な脆弱性の特定と悪用に焦点を当てます。手動テスト手法に重点を置き、受講者はコマンドインジェクション、ファイルインクルード、そして様々な形式のSQLインジェクションを実践的に体験できます。
取り上げられるトピック
- 認証および認可バイパス
- コマンドインジェクション:ブラインドと非ブラインド
- ディレクトリトラバーサル
ラボ
- 一般的なインジェクションの脆弱性
- 脆弱性の連鎖
- sqlmapの使用
概要
3セクションでは、認証と認可のバイパスについて深く掘り下げ、これらの脆弱性が機密データや業務機能を攻撃者にさらす可能性があることを説明します。最後に、受講者がMutillidae の認証と認可の脆弱性を悪用するハンズオンラボを実施し、これらの脆弱性を特定して活用する実践的な経験を提供します。
この時点では、脆弱性スキャンの結果が利用可能であると考えています。受講者は一般的な脆弱性を扱い、手動による人的介入が必要な脆弱性を調査します。このフェーズでは、ターゲットプロファイリング、スパイダー、強制ブラウジングといったこれまでの演習で得られた知識を活用し、アプリケーション内の脆弱性を検出・検証する能力を高めます。
脆弱性発見のための手動テスト手法、特にインターセプションプロキシを用いた手法に重点が置かれています。ここでは、コマンドインジェクション、ローカルファイルインクルード(LFI)、リモートファイルインクルード(RFI)など、一般的なインジェクション脆弱性をそれぞれ紹介し、それぞれの脆弱性を実践的に応用し、概念を強化するためのラボ演習も用意しています。
さらに、このコースでは、オブジェクト指向プログラミング言語における安全でないデシリアライゼーションという複雑なトピックを取り上げます。付属のラボでは、受講者はJavaの安全でないデシリアライゼーションの脆弱性を悪用し、脆弱なWebアプリケーションから秘密のファイルを抽出します。これにより、脆弱性の連鎖の複雑さと影響を実証します。
このセクションの大部分は、SQLインジェクションの蔓延と重大な影響を考慮し、SQLインジェクションに焦点を当てています。これには、従来のSQLインジェクション、ブラインドSQLインジェクション、エラーベースSQLインジェクション、そしてこれらの脆弱性の悪用が含まれます。受講者は、SQLマップなどの専用ツールの使用を含む、理論的な側面と実践的な応用の両方を学び、Webアプリケーションのペネトレーションテストにおけるこの重要な分野を習得します。
トピックの詳細
XSS、SSRF、XXE
このセクションでは、高度なインジェクション脆弱性に焦点を当て、様々な形式のXSSを取り上げ、ブラウザエクスプロイト用のBeEFなどのツールを紹介します。また、REST、SOAP、AJAXを介したAPIおよびデータ攻撃についても解説します。最後に、SSRFやXXEなどの複雑な脆弱性に関する実践的なラボを実施し、エクスプロイトの連鎖とクライアントサイド分析に重点を置いています。
取り上げられるトピック
- クロスサイトスクリプティング(XSS)
- ブラウザエクスプロイトフレームワーク(BeEF)
- AJAX
ラボ
- クライアントサイドJavaScript分析
- サーバーサイドリクエストフォージェリ(SSRF)
- XML外部エンティティ(XXE)
概要
第4セクションでは、インジェクション脆弱性の探究を深め、特にクロスサイトスクリプティング(XSS)脆弱性に焦点を当て、反射型、保存型、DOMベースのXSSを網羅します。このセクションでは、ハンズオンラボを通して、手作業による脆弱性発見手法に重点を置きます。受講者はブラウザの開発ツールを用いて、最新のWebアプリケーションのクライアントサイドJavaScriptを分析します。
このセクションでは、複数のラボで使用されるツールであるブラウザエクスプロイトフレームワーク(BeEF)についても紹介します。AJAXを深く掘り下げ、ペネトレーションテスターの攻撃対象領域を拡大し、これまでに取り上げた他の脆弱性とどのように相互作用するかを検証します。
REST(Representational State Transfer)APIおよびSOAP(Simple Object Access Protocol)APIの利用におけるPostmanやSOAPUIなどのツールの使用方法を概説し、これらのWebサービスに関する洞察を提供します。第4セクションでは、サーバーサイドリクエストフォージェリ(SSRF)とXML外部エンティティ(XXE)について、それぞれラボ演習を交えて詳細に解説します。特にSSRFラボでは、コースの前半で学んだ概念と手法を統合し、複数の脆弱性の連鎖を実証します。
トピックの詳細
CSRF、論理的欠陥、高度なツール
このセクションでは、アクセスのエスカレーション、ネットワーク内でのピボット、そして脆弱性がビジネスに及ぼす広範な影響を理解する方法を学習します。MetasploitやNucleiなどのツールを用いた高度なテクニック、ロギングとモニタリング、そしてLLM特有の脆弱性について解説し、最後に手動によるエクスプロイトとカスタムツールの適応に関する実践的なチャレンジを行います。
取り上げられるトピック
- 論理的欠陥
- ロギングとモニタリング
- Webアプリ侵入テストのためのPython
ラボ
- SQLインジェクション攻撃
- クロスサイトリクエストフォージェリ攻撃
- Nuclei脆弱性スキャナー
概要
第5セクションでは、実際のアプリケーションに対するエクスプロイト演習へと展開し、アプリケーション内部の足掛かりを拡大し、それが接続されているネットワークにまで侵入範囲を広げる方法を実証します。このセクションでは、以前に発見された脆弱性を活用してより深いアクセスを獲得することを強調し、Webアプリケーションのペネトレーションテストの周期的な性質に焦点をあてます。
現代のWebアプリケーションは監視が不十分な場合が多く、攻撃者は脆弱性が検知されずに悪用できる機会があることを認識しています。この問題に対処するため、このコースではログ設定と基本的なインシデント対応テストについて簡単に解説し、セキュリティイベントの適切な監視の重要性を強調します。
大規模言語モデル(LLM)のOWASP Top 10に焦点を当てた議論では、LLMテクノロジーを活用したWebアプリケーションに共通する脆弱性について洞察を提供します。
エクスプロイト演習のフェーズでは、ZAP、BurpSuite Pro、sqlmap、Metasploitなどのツールを使用して、様々なWebアプリケーションに対するエクスプロイトを作成する方法について詳しく説明します。受講者は実践的な演習に取り組み、SQLインジェクションやクロスサイトリクエストフォージェリ攻撃などを実行します。これらの演習には、データ窃取、セッションハイジャック、ウェブサイト改ざん、シェル獲得、ネットワークピボットなどが含まれており、これらの脆弱性がビジネスに及ぼす潜在的な影響について包括的に理解することができます。
また、バグバウンティハンターに人気の高い最新のオープンソース脆弱性スキャナーであるNucleiについても、Metasploitと組み合わせたラボで紹介します。
セクション5の最後のラボでは、Metasploitモジュールが確認された脆弱性を悪用できないという難しいシナリオを提示します。受講者は、脆弱性を調査し、手動で悪用した後、Metasploitモジュールを修正してシェル獲得を成功させる方法を学び、自動化ツールを超えたスキルを身につけます。
このコースは、侵入テスト評価の準備と、レポート作成を含む評価後の重要な活動に関するガイダンスで締めくくられます。
トピックの詳細
- クロスサイトリクエストフォージェリ (CSRF)
- ロジックの欠陥
- ロギングと監視
- WebアプリのペネトレーションテストのためのPython
- WPScan
- ExploitDB
- BurpSuite Proスキャナー
- Nuclei
- Metasploit
- ツールが機能しない場合
- ペネトレーションテストのビジネス:
キャプチャー・ザ・フラッグ
セクション6では、受講者はチームを編成し、Webアプリケーション侵入テストのトーナメントで競い合います。
概要
セクション6では、受講者はチームを編成し、Webアプリケーション侵入テストのトーナメントで競い合います。Netwarsを利用したこのキャプチャー・ザ・フラッグ演習では、受講者は新たに習得した、あるいはさらに磨きをかけたスキルを駆使し、質問に答え、ミッションを達成し、データを盗み出す機会を得られます。このコースで習得したスキルを応用します。チャレンジ形式と統合されたヒントシステムにより、様々なスキルレベルの受講者がゲーム環境を楽しみながら、コースで学んだスキルを定着させることができます。