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

SECURITY 542

Web App Penetration Testing and Ethical Hacking

Penetration Testing and Ethical Hacking

English
日程

2021年3月1日(月)~3月6日(土)

期間
6日間
講義時間

9:00 ~ 17:00

受講スタイル
Live Online
会場

オンライン

GIAC認定資格
GWAPT
講師
言語
英語 英語教材・同時通訳
定員
40名
CPEポイント
36 Points
受講料

■810,000円(税抜)

申込締切日
2021年2月19日(金)
オプション
  • GIAC試験 95,000円(税抜)

※オプション価格は、講義と同時にお申込いただく場合にのみ有効です。
※講義へのお申し込み後、講義開始までの間に追加でお申し込みいただく場合は、事務手数料(10,000円)が必要です。
※講義開始後は、こちらのページ(英語)を参照のうえ、GIACへ直接お申し込みください。

  • OnDemand 95,000円(税抜)
  • NetWars Continuous 174,000円(税抜)

受講に必要なPC環境

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

SEC542 PC設定詳細

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

注意:実習のためのツール類をインストールすることによって、一部のシステムの動作に支障をきたす可能性があります。また、ネットワークへの接続を伴う実習内容があり、故意過失を問わず、自分のノートPCのデータに他の受講生からアクセスされる可能性もあります。いずれの場合もSANSではデータの破損や読み書きに関して責任をとることはできませんので、重要なデータが格納されているノートPCでの実習はお控えください。

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

  • CPU:64bit Intel i5/7 2Ghz以上のプロセッサ
  • RAM:8GB(4GB以上)
  • USB:3.0 Type-A ポート
  • HDD/SSD:30GB以上の空き容量
  • BIOS:「Intel-VT」が有効であること
  • NW:802.11無線LAN、Ethernet NIC(有線LAN、無線LANともに必要)
  • OS:Windows、Linux、Macのいずれか(VMware製品が正常に動くこと)
  • その他:USBメモリの読込ができること
  • その他:ホストOSのローカルアドミニストレーター権限
  • その他:ウィルス対策製品の停止、解除ができること
その他:ファイアウォールの停止、設定変更ができること
ノートPCのソフトウェア要件(下記を事前にインストールしてください)
ノートPCの設定に関して追加で質問がある場合は、info@sans-japan.jp(NRIセキュアテクノロジーズ)にお問い合わせください。ただし、米国と問合せを行う関係上時間を要する場合がございます。お急ぎの方はlaptop_prep@sans.orgに直接お問い合わせください。(英文)

留意事項

このコースのワークショップでは、地球上で最も危険なネットワークのひとつに接続します。ご持参いただいたノートPCが攻撃を受けるかもしれません。したがって、システム上にいかなる機密情報も保存しないでください。演習中、他の受講者によって故意過失を問わずアタックを仕掛けられたとしても、SANSは一切の責任を負いません。要件を満たした機器を事前に正しく設定してご持参いただければ、このコースで習得する内容を最大限に活用し、楽しんでいただけることでしょう。

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

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

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

SEC542 コース概要

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

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

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

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

ある程度の技術力を持ったいわゆる「セキュリティオタク」は、組織のリスクを業務に関連付けて説明できません。ペネトレーションテストの技術の多くは、適切な対策を採用するように組織に働きかけるというよりも、攻撃者が行うのと同等の手法を習得するというリスクの側面の方が強調されがちです。SEC542の目標は、単に高度なハッキングスキルを習得することでなく、侵入テストを正しく活用して組織をより安全にすることです。

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通信のプロキシ
  • Heartbleedの悪用

Configuration, Identity, and Authentication Testing

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

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

マッピングの段階では、実際に「地図」すなわちアプリのダイアグラムを描いてきます。これは、コンポーネントを特定してそれらの関係を分析し、どのように各要素が協調して動いているかを確定させる作業です。

2日目の終盤にかけては、Basic認証、Digest認証、Forms認証、Windows Integrated認証、OAuth認証を含むさまざまな認証システムを調べ、サーバがどのようにそれらを使用しているか、攻撃者がそれらをどのように悪用しているかを議論します。ユーザー名の列挙を行い、最後の演習では、Burpの「fuzzer」「Intruder」を使用して、Webアプリケーションへの認証に使用されるパスワードを推測します。

  • ターゲットプロファイリング
  • サーバ情報の収集
  • ロギングとモニタリング
  • Webサイトをスパイダリングするためのツール
  • Webサイトのコンテンツ分析
  • リンクのないファイルとディレクトリのブルートフォース
  • ファジング
  • Web認証のメカニズム
  • ユーザー名の取得とパスワードの推測
  • Burp Intruder

Injection

2日目の認証関連の演習を成功裏に完了した後、3日目は、Webアプリケーションが認証したユーザーを追跡する方法と、セッション管理の弱点を突く方法を探ることから始めます。また、Mutillidaeの認証の欠陥を悪用するだけでなく、機密データやビジネスロジックを攻撃者に晒す可能性のある認証と認可のバイパスについても議論します。

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

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

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

なお、一日のうちのかなりの部分は、伝統的なSQLインジェクションとブラインドSQLインジェクションに費やします。というのも、この脆弱性が一般的に普及しており、この脆弱性に関連して重大な影響が及ぼされるためです。

  • セッション管理と攻撃
  • 認証と認可のバイパス
  • Mutillidae
  • コマンドインジェクション
  • ディレクトリトラバーサル
  • ローカルファイルインクルード(LFI)
  • リモートファイルインクルード(RFI)
  • 安全ではないデシリアライゼーション
  • SQLインジェクション
  • ブラインドSQLインジェクション
  • エラーメッセージを悪用したSQLインジェクション
  • SQLインジェクションを悪用する
  • SQLインジェクションツール:sqlmap

XXE and XSS

4日目は、前日に引き続いて発見フェーズの方法論を模索していき、クロスサイトスクリプティング、クロスサイトリクエストフォージェリなどのWebアプリケーション内の主要な脆弱性を発見する方法をカバーします。これらを手動で検出する技術を、実践的な演習を通じて習得します。

また、AJAXやWebサービスの技術が攻撃可能領域をどのように拡大しているか、それをテスターとしてどう活用するかを詳細に吟味する内容も含まれます。既に見てきた脆弱性がAJAXやWebサービスに与える影響も考察します。

そして、AJAX Webアプリケーションがエクスプロイトされるラボで一日が終わり、最後にBeEFを使って完全にアプリケーションを制御することに挑戦します

  • XML外部エンティティ(XXE)
  • クロスサイトスクリプティング(XSS)
  • ブラウザ開発フレームワーク(BeEF)
  • AJAX
  • XMLとJSON
  • ドキュメントオブジェクトモデル(DOM)
  • API攻撃
  • データ攻撃

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! を日本語に翻訳して皆さまにお届けしています。
購読制を採っておりますので、
ご希望の方は、ニュースレター登録からお申し込みください。