ニュースレター登録
資料ダウンロード
お問い合わせ

SECURITY 542

Web App Penetration Testing and Ethical Hacking

Penetration Testing and Ethical Hacking

English
日程

2022年10月17日(月)~10月22日(土)

期間
6日間
講義時間

1日目:9:00-17:30
2日目~6日目:9:30-17:30

受講スタイル
Live Online
会場

オンライン

GIAC認定資格
GWAPT
講師
Aron Cure|アロン キュア
SANS認定インストラクター
言語
英語 英語教材・同時通訳
定員
40名
CPEポイント
36 Points
受講料

1,050,000円(税込 1,155,000円)

申込締切日
2022年10月7日(金)
オプション
  • GIAC試験  135,000円(税込み 148,500円)
  • OnDemand  120,000円(税込み 132,000円)
  • NetWars Continuous  220,000円(税込み 242,000円)

※オプションの価格は、コース本体と同時にお申し込みいただく場合のみ有効です。

※コース本体のお申し込み後から講義開始までの間に、GIAC試験オプションを追加される場合は、事務手数料10,000円(税込11,000円)をいただきます。

※講義開始後のGIAC試験のお申込みは、こちらのページ(英語)をご参照のうえ、GIACへ直接お申し込みください。

受講に必要なPC環境

演習で使用するノートPCをご準備下さい。受講に必要なPC環境についてご確認ください。

SEC542 PC設定詳細

SANSトレーニングを有意義に受講していただくには、以下の要件を満たすノートPCが必須です。下記要件を確認し、事前に必要な設定を完了しておいてください。セッション中には、下記の設定を実施する時間は設けられていません。必ず事前の確認・設定をお願いいたします。

授業の前にシステムをバックアップしておくことが重要です。また、機密データが保存されているシステムは持ち込まないことを強く推奨します。

ノートPCのハードウェア要件

  • CPU:64bit Intel i5/7 2Ghz以上のプロセッサ
  • RAM:8GB(またはそれ以上)
  • HDD/SSD:30GB以上の空き容量
  • BIOS:「Intel-VT」が有効であること
  • NW:無線 802.11 b/g/nEthernet NIC
  • Windows 10 macOS 10.15以降、または Linuxの最新バージョン
    注意 : M1プロセッサ搭載のapple社製品は現時点で必要な仮想化を行うことができないため、使用できません。
  • その他:ホストOSのローカルアドミニストレーター権限
  • その他:事前にシステムをバックアップすること

ノートPCのソフトウェア要件(下記を事前にインストールしてください)

  • VMware Workstation または Fusion のライセンス版をお持ちでない場合は、VMware 社から 30 日間の無償評価版をダウンロードすることができます。VMware社のウェブサイトで試用版に登録すると、期間限定のシリアル番号が送られてきます。
  • VirtualBoxやHyper-Vのような他の仮想化ソフトウェアは、互換性やトラブルシューティングの問題が発生する可能性があるため避けていただきますようお願いいたします。
  • Windows 10上のVMware Workstation ProおよびVMware Playerは、Windows 10のCredential GuardおよびDevice Guardテクノロジーとの互換性がありません。お使いのシステムでこれらの機能が有効になっている場合は、このドキュメントの指示に従い、受講期間中はこれらの機能を無効にしてください。

 

Live Onlineでのコースメディアの事前準備、テキストについて

コースのメディアがダウンロード版で配信されるようになりました。授業で使用するメディアファイルは大容量で、40~50GBのものもあります。ダウンロードに必要な時間は様々な要因に左右されるため、所要時間を見積もることはできませんが、非常に時間がかかってしまう場合もあります。メールよりダウンロードリンクを取得したら、コースメディアのダウンロードを開始してください。コースメディアは授業初日すぐに必要になります。開始前夜などにダウンロードを開始すると、失敗する可能性が高くなりますので、時間に余裕をもってご準備ください。

SANSでは、PDF形式のテキストの提供を開始しました。さらに、一部のクラスではPDFに加えて電子ブックを使用しています。電子ブックを使用するクラスは今後増えていく予定です。セカンドモニターやタブレット端末を使って、授業の資料を見られるようにしておくと便利です。

SEC542 コース概要

Webアプリケーションが多くの組織で重要な役割を果たしていることは、不正侵害やそれに伴うビジネス上の損失、データ漏えいなどの被害の実態を見れば明らかです。

残念ながら、多くの組織には「脆弱性検知ツールを使用していれば、確実にシステムの欠陥を発見できる」という誤った考えがまん延しています。 SEC542は、犯罪者よりも早く、専門的なペネトレーションテストによって脆弱性を発見しその対策がとれることを目指します。単なるプッシュボタン式のツールによる侵入テストでは限界があることが十分認識できます。

お客様は、Webアプリケーションを通じて重要な機能やデータアクセスが提供されることを期待するようになりましたが、それにも増して、組織内で利用される業務アプリケーションもWebアプリケーション化しているのが一般的です。残念ながら、このような業務Webアプリケーションには、いわゆる「パッチ火曜日(Patch Tuesday)」が適用できないことが多いため、Webアプリケーションの欠陥が重大な情報漏えいや不正侵害の温床になり続けています。攻撃者は、外部公開用のWebアプリケーションと同様に、高い情報価値を持った内部の業務アプリケーションもターゲットにしています。

最新のサイバー防衛では、Webアプリケーションのセキュリティ上の課題を現実的かつ徹底的に理解していなければ太刀打ちできません。Webに対するいくつかのハッキング技術を手軽に学ぶことはできますが、Webアプリケーションの侵入テストではより深くかつ体系化された手法が不可欠です。SEC542は、多くの組織を悩ませているWebアプリケーションのセキュリティ状況を正しく評価し、発見された脆弱性や欠陥の影響を実証するスキルを受講者に提供します。

このコースでは、一般的なWebアプリケーションの不具合を理解し、ビジネスへの潜在的な影響を示すための方法を理解します。その過程で、受講生はフィールドテストされた繰り返し可能なプロセスに従って、一貫して欠陥を見つけます。多くの情報セキュリティ専門家は、ビジネス用語を使ってわかりやすくリスクを説明するのに苦労します。一方で、組織がリスクを真剣に受け止め、適切な対策を講じなければ、そうしたハッキングをする価値はほとんどありません。SEC542の目標は、ペネトレーションテストによって組織のセキュリティを向上させることであり、ハッキングの技術を誇示することではありません。このコースでは、Webアプリケーションの脆弱性が実際にどのような影響を与えるか、ハッキングだけではなく、適切に文書化・レポートできるように受講生を導きます。。

SEC542は、高品質なコースコンテンツに加えて、実践的な演習に強く焦点を当てています。経験豊かな世界クラスのインストラクター陣は、そのインストラクションスキルは当然のこと、実務スキルに精通したプラクティショナーとしても最高の能力を有しています。初日から5日目までの30以上の演習項目に加え、最終日には、Webアプリケーションの侵入テストを実行するためのCTF(Capture the Flag)イベントを行います。

本講座受講にあたっての前提

  • Linuxのコマンドラインに関する基本的な知識があること

受講対象者

  • ペネトレーションテスター/エシカルハッカー(侵入テストや脆弱性診断を実施しているセキュリティコンサルタントの方)
  • 一般的なセキュリティ実務対応者
  • Webアプリケーション開発者
  • Webサイトデザイナー、アーキテクト、開発者

※SEC542は、GIAC(GWAPT)認定試験対象コースです。

講義内容の一例

  • プロキシによる通信傍受
    ZAP (Zed Attack Proxy)
    BurpSuite Professional
  • 共通の脆弱性
     ・SSL/TLS ミスコンフィグレーション
     ・ユーザーネーム収集
     ・コマンドインジェクション
     ・SQLインジェクション
     ・クロスサイトスクリプティング(XSS)
     ・セキュアでないデシリアライゼーション
     ・XMLエクスターナルエンティティ(XXE)
     ・ローカル・リモートファイルインクルード(LFI/RFI)
     ・クロスサイトリクエストフォージェリ(CSRF)
  • オープンソースインティジェンス(OSINT)
  • ターゲットプロファイリング
  • アプリケーションディスカバリー
  • 認証と認可
  • セッション管理の欠陥
  • 自動化されたエクスプロイト

コース開発者より

企業内で使われているWebアプリケーション脆弱性スキャナに意気消沈し、SEC542を参加される受講者は多いものです。ビジネスの側面からスキャンを行う立場にいる受講生たちは、1,000ページ以上のfalse-positiveが散りばめられた出力結果に立ち会うことさえあります。SEC542を教えていて最もやりがいを感じるのは、同じ受講生たちが、1週間で学んだスキルを自分の担当するアプリケーションに応用しようとする熱意を目の当たりにすることです。受講生は、押しボタン式のペネトレーションテストのアプローチではうまくいかないことを本質的に理解している一方、違ったやりかたでの評価を適切かつ効率的に行うための知識・スキルが不足しています。SEC542は、こうした問題を解決します。受講生は、主要なWebアプリケーションの欠陥についての深い知識を身につけ、それらを発見して悪用する方法と、それらの発見結果をインパクトのある方法で提示する方法を身につけて、このコースを完了することができます。- Eric ConradTimothy McKenzieBojan Zdrnja

  • DAY1
  • DAY2
  • DAY3
  • DAY4
  • DAY5
  • DAY6

Introduction and Information Gathering

攻撃者の観点を理解することは、Webアプリケーション・ペネトレーションテストの成功の鍵です。1日目は、プロトコル、処理言語、クライアント、サーバのアーキテクチャを含むWeb技術を、攻撃者の視点に立って綿密に学ぶことから始まります。また、攻撃をより成功させるために役立つと思われるデータポイントに特化したオープンソースインテリジェンス(OSINT)の収集に注目します。そして暗号化と HTTPS の重要性を分析します。HTTPS を離れる前に、悪名高い Heartbleed の欠陥を体験し、ハンズオンラボでエクスプロイトの初体験ができます。

次に、質の高い評価の提供を確実にするためにOWASPが推進している方法論と、ペネトレーションテスターのツールキットに必要なものを見ていきます。最も重要なツールであるプロキシツールは、OWASP の Zed Attack Proxy (ZAP) と BurpSuite Professional の初期設定手順を実行することで紹介されます。コースの一日を完了するために、BurpSuite を使用して脆弱性のあるウェブアプリケーションの側面を探ります。

  • 侵入テスト担当者の観点から見たWebの概要
  • Webアプリケーション評価メソッド
  • 侵入テスト担当者のためのツールキット
  • WHOISとDNSの偵察
  • 仮想ホストの探索 
  • Open source intelligence (OSINT)
  • HTTPプロトコル
  • Secure Sockets Layer(SSL)の設定と弱点
  • プロキシツール
  • BurpSuit Pro Zed Attack Proxyを使ったSSL通信のプロキシ

 

Content Discovery, Authentication, and Session Testing

2日目は、ターゲットをプロファイリングし、基礎となる設定を理解することから始まります。収集したデータは、各サーバのプロファイルを構築し、潜在的な構成上の欠陥を特定するために使用されます。さらにこの回では、いくつかの実践的なラボを使用して偵察を行っていきます。これらのエクスプロイト行為は、BurpSuite ProcURL、手動のエクスプロイト技術を使って、より深く実践的な経験を積む機会となります。

システムの設定について、セキュリティ関連のイベントを見逃さないように、適切なロギングとモニタリングを行う必要があります。ロギング設定と基本的なインシデント・レスポンステストについて簡単に説明します。

この日の講義では、アプリケーションのページと機能のマップまたはダイアグラムを作成します。コンポーネントを見つけ出し、コンポーネント間の関係を分析し、各コンポーネントがどのように連携するかを見出します。次に、侵入テストを通じての重要なパートであるスパイダリング/クロールの結果について詳しく学ぶとともに、隠しコンテンツを見つけるための強制ブラウジングについてラボで学びます。

2日目の終盤にかけては、Basic認証、Digest認証、Forms認証、Windows Integrated認証、OAuth認証を含むさまざまな認証システムを調べ、サーバがどのようにそれらを使用しているか、攻撃者がそれらをどのように悪用しているかを議論します。ユーザー名の列挙を行い、最後の演習では、Burpの「fuzzer」「Intruder」を使用して、Webアプリケーションへの認証に使用されるパスワードを推測します。ハンズオンを通じ、Burp Sequencerについても知識を得ていきます。そして最後に、認証と承認のバイパスについて説明します。このバイパスは、機密データの窃取、業務上の機能の不正利用につながる可能性があります。Mutillidaeの認証機能の欠陥を題材に学習します。

  • ロギングとモニタリング
  • Webサイトをスパイダリングするためのツール
  • Webサイトのコンテンツ分析
  • ZAPとffufを使った、リンクのないファイルとディレクトリのブルートフォース
  • Web認証のメカニズム
  • Burpの「Intruder」を使用したファジング
  • ユーザー名の取得とパスワードの推測
  • Burp sequencer
  • セッション管理と攻撃
  • 認証とそのバイパス
  • Multillidae

Injection and XXE

2日目の認証関連の演習を成功裏に完了した後、3日目は、Webアプリケーションが認証したユーザーを追跡する方法と、セッション管理の弱点を突く方法を探ることから始めます。

ターゲットのプロファイリング、スパイダー、強制ブラウジングの演習で特定された情報を基に、アプリケーション内の脆弱性を見つけて検証する方法を探ります。また、受講生は様々な脆弱性の間の相互作用を探り始めます。

さらに、脆弱性発見のための重要な手動テスト技術に深く取り組みます。そして、Webアプリケーションの脆弱性発見のためのインターセプト・プロキシの深い知識について焦点を当てます。最も一般的なインジェクションの欠陥(コマンド・インジェクション、ローカルおよびリモートファイル・インクルージョン)のいくつかを紹介し、発見と悪用について理解するためにラボの演習を続けます

この他にも、オブジェクト指向プログラミング言語の一般的な脆弱性である、安全でないデシリアライゼーションについてのセクションがあり、受講生はラボでJavaの安全でないデシリアライゼーションの脆弱性を悪用し、脆弱なWebアプリケーションから秘密のファイルを盗むことに挑戦します。

なお、一日のうちのかなりの部分は、伝統的なSQLインジェクションとブラインドSQLインジェクションに費やします。そして、XML External Entities (XXE)のようなWebアプリケーションのメジャーな脆弱性について検知する方法を学び、一日を締めくくります。

  • コマンドインジェクション
  • ディレクトリトラバーサル
  • ローカルファイルインクルード(LFI)
  • リモートファイルインクルード(RFI)
  • 安全ではないデシリアライゼーション
  • SQLインジェクション
  • ブラインドSQLインジェクション
  • エラーメッセージを悪用したSQLインジェクション
  • SQLインジェクションを悪用する
  • SQLインジェクションツール:sqlmap
  • XML External Entity (XXE)

XXE

3日目にXXEの学習とその脆弱性について学んだ後、4日目はReflected XX, Stored XSS, DOM Baseなどのクロスサイトスクリプティングの脆弱性悪用について確認を続けていきます。

これらを手動で検出する技術を、実践的な演習を通じて習得します。

4日目の講義では、様々な演習で使用されているBrowser Exploitation Framework (BeEF) についても紹介します。AJAXについての詳細な説明をしつつ、侵入テスターが攻撃可能面を拡大するための方法を探ります。また、コースの前半ですでに詳細に説明した、他の脆弱性がAJAXに与える影響についても分析します。
また、REST (Representational State Transfer) とSOAP (Simple Object Access Protocol) について説明します。
最終的に、4日目の講義はドキュメントオブジェクトモデル (DOM) ベースのクロスサイトスクリプティング (XSS) の脆弱性が悪用され、BeEFで完全に制御を握るラボで締めくくられます。
 
  • クロスサイトスクリプティング(XSS)
  • ブラウザ開発フレームワーク(BeEF)
  • AJAX
  • XMLとJSON
  • ドキュメントオブジェクトモデル(DOM)
  • API攻撃
  • データ攻撃
  • RESTとSOAP

CSRF, Logic Flaws and Advanced Tools

5日目は、現実的なアプリケーションに対して実際の攻撃を開始し、アプリケーション内における足場を広げて、その足場をきっかけにして対象のネットワークにまで攻撃を拡張します。ペネトレーションテスト担当者として、以前に発見された脆弱性を活用し、特にさらなるアクセス権を獲得する方法にフォーカスし、Webアプリケーション侵入テストの周期的な特性にハイライトします。

エクスプロイトの段階では、ZAPやBurpSuite Proなどのツールの使用をさらに拡張し、加えてsqlmapやMetasploitも使用し、様々なWebアプリケーションに対するエクスプロイトを行います。主にSQLインジェクションやクロスサイト・リクエスト・フォージェリ攻撃などを実行します。講義では、これらの欠陥を悪用して、データの窃盗、セッションの乗っ取り、ウェブサイトの改ざん、シェルの取得、接続されたネットワークに対するピボットなどを行います。様々な形での悪用を通じて、受講生はこれらの欠陥が組織に与える潜在的なビジネス上の影響を深く理解することができます。

コース全体としては、Webアプリケーションの脆弱性がどのように機能して、どのように悪用されるかを理解することを目的としていますが、5日目にはBurpSuite Proのアクティブ・スキャナー・コンポーネントも紹介します。

受講生が自分のスキルを次の段階にレベルアップするために、5日目の最後のラボでは、ターゲットのWebアプリケーションに存在することが分かっている脆弱性を悪用することを目的として、Metasploitモジュールが失敗した例に注目します。ここでは、欠陥を調査し、手動で脆弱性を悪用し、その後、シェルを取得するためにMetasploitモジュールを再構成するプロセスを探ります。この演習は、自動化されたツールが失敗した場合に、受講生がより深く掘り下げるために必要なスキルを提供します。

最後に、ペネトレーションテストの評価の準備の仕方や、レポート作成などの評価後の重要な活動を復習して、この日の内容を総括します。

  • クロスサイト・リクエスト・フォージェリ(CSRF)
  • ロジックへの攻撃
  • Webアプリケーションの侵入テスト用のPython
  • WPScan
  • ExpolitDB
  • BurpSuite Pro スキャナー
  • Metasploit
  • ツールが失敗した時
  • ペネトレーションテスト
    ・準備
    ・評価プロセスとレポート作成

Capture the Flag

6日目には、チームを組んで、Webアプリケーションに対するペネトレーションテスト・トーナメントを行います。この、NetWarsで組まれたCapture the Flagの演習では、新しく身に付けたスキルや、これまでに持っていたスキルを活用して、質問に答えたり、ミッションを完了させたり、データを抽出したり、コースを通して得られたスキルを試す機会を提供します。チャレンジスタイルと統合されたヒントシステムにより、さまざまなスキルレベルの受講生が同時にゲーム環境を楽しむことができ、クラスで学んだスキルを固めることができます。

NRIセキュアではNews BitesやOUCH! を日本語に翻訳して皆さまにお届けしています。
購読制を採っておりますので、
ご希望の方は、ニュースレター登録からお申し込みください。