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

SECURITY 642

Advanced Web App Penetration Testing, Ethical Hacking, and Exploitation Techniques

Penetration Testing and Ethical Hacking

English
日程

2021年11月29日(月)~12月4日(土)

期間
6日間
講義時間

1日目:9:00-17:30 (日本時間)

2日目~6日目:9:30-17:30 (日本時間)

受講スタイル
Live Online
会場

オンライン

GIAC認定資格
講師
Hassan El Hadary|ハッサン エル ハダリー
SANS認定インストラクター
言語
英語 英語教材・同時通訳
定員
40名
CPEポイント
36 point
受講料

■通常価格:880,000円(税込み:968,000円)

申込締切日
2021年11月19日(金)
オプション
  • OnDemand 105,000円(税込み:115,500円)
  • NetWars Continuous 190,000円(税込み:209,000円)

受講に必要なPC環境

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

SEC642 PC設定詳細


重要! 次の手順に従ってシステムを構成してください。

このコースに完全に参加するには、適切に構成されたシステムが必要です。これらの指示を注意深く読み、従わないと、このコースに不可欠な実践的な演習に参加できないため、講義への参加を満足できないままにしてしまう可能性があります。したがって、指定されたすべての要件を満たすシステムをご用意いただくことを強くお勧めします。

ノートPCの要件

  • CPU: x64互換 2.0+ GHzプロセッサ以上
  • HDD/SSD:20GB以上の空き容量
  • RAM:8GB(最低4GB、8GB以上を推奨)

ホストオペレーティングシステム

Windows 10、macOS 10.15.x以降、またはLinuxの最新バージョンで、後述するVmwareの仮想化製品をインストールして実行できること。最新のUSB 3.0デバイスを利用するために適切なドライバとパッチがインストールされていることを確認するため、講義の開始前にホストオペレーティングシステムを完全に更新する必要があります。Linuxホストを使用するユーザーは、適切なカーネルまたはFUSEモジュールを使用してexFATパーティションにアクセスできなければなりません。
注:M1プロセッサーを使用しているAppleシステムは、現時点では必要とする仮想化を実行できないため使用できません。

VMware

VMware Workstation Pro 15.5.x、VMware Player 15.5.x、またはFusion 11.5.x以降のバージョンを講義の開始前にダウンロードしてインストールします。VMware WorkstationまたはFusionのライセンス版を所有していない場合は、VMwareから無料の30日間試用版をダウンロードできます。VMwareのWebサイトでトライアルに登録すると、期限付きのシリアル番号が送信されます。

VirtualBoxやHyper-Vなどの他の仮想化ソフトウェアは、講義中、互換性に関する問題やトラブルシューティング上の問題が発生する可能性があるため、適切ではありません。

Windows 10上のVMware Workstation ProやVMware Playerは、Windows 10 Credential GuardやDevice Guardテクノロジーとの適合性がありません。システムでこれらの機能が有効になっている場合は、このドキュメント(https://sansorg.egnyte.com/dl/wO5QUU3BK5/Power_Computing_-_Generic_Laptop_Requirements_Checklist_v2.0.docx_)の指示に従って、講義の期間中は機能を無効にしてください。

重要な注意

このコースでは通常必要ありませんが、演習によってはアンチウイルスツールを一時的に無効にする必要がある場合があります。そのためにはアンチウイルスツールの設定ができる管理者権限が必要です。ほとんどのアンチウイルスツールは関連するサービスやプロセスが終了しても機能するため、アンチウイルスツールのサービスやプロセスを終了するだけの計画は立てないでください。多くの企業向け管理クライアントでは、アンチウイルスツールを無効にするために、Administratorアカウントのパスワードとは異なるパスワードを必要としています。アンチウイルスツールの管理者パスワードをご用意ください。

演習では、講義用のネットワークに接続します。いかなる攻撃も、演習のルールやSANSの倫理ポリシーに違反することですが、お持ちのノートパソコンが攻撃されてしまう可能性があります。システムに機密データを保存しないでください。受講生の誰かがワークショップであなたのシステムを攻撃したような場合においても、SANSは責任を負いません。

適切なノートPCを持ってきて事前に準備しておくことにより、このコースを通じた発見・学びが最大化され、同時に多くの楽しみが得られることでしょう。

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

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

SEC642コース概要

そのWebアプリケーションは、現代の高度な攻撃手法による猛攻に耐えられるものですか?

最新のWebアプリケーションは、新しいテクノロジを採用して、洗練され、より重要な業務をサポートするように複雑になっています。ベーシックなHTMLによるリクエストとレスポンスの時代はとっくに過ぎ去っています。HTTPというプロトコルや最新の複雑なWebアプリケーションは、驚異的な速さで進化していっています。高可用性Webクラスタや、クラウド導入への期待を受け、Webアプリケーションはバックエンドインフラストラクチャへの負荷を軽減しつつより小さなパケットで多くの機能を提供することを志向しています。暗号化、WebSockets、HTTP/2など、さまざまな要素が登場する新しい時代へようこそ。あなたが今現在持っているウェブアプリケーションの評価・ペネトレーションテストのスキルは、このような印象的な新技術を評価して安全を確保するのに十分ですか?


最先端のスキルを駆使して、Webアプリケーションをテストする準備はできていますか?

このペネトレーションテストに関するトレーニングでは、最新のWebアプリケーションと次世代のテクノロジーをテストするのに必要となる高度なスキルと技術について学習します。このコースでは、講義、実環境での経験、実践的な演習を組み合わせ、長期間稼働し続けているような自社開発のWebシステムから最先端のインターネット対応アプリケーションまで、セキュリティをテストするための手法について説明します。最終日のコースでは Capture-the-Flag コンテストが開催されます。このコンテストでは、それまでの5日間で習得した知識を、実際のテクノロジーをベースに作られた興味深い環境で試してみることができます。

高度なWebアプリケーション活用スキルの実践的な学習

このコースでは、まず、現代の複雑なアプリケーションの多くが脆弱性をかかえているであろうと考えられる高度な攻撃テクニックについて調べていきます。最新のWebフレームワークやWebバックエンドについて学び、Webアプリケーションに関連する暗号化について調べ、Webで使用されている暗号化についても深く掘り下げていきます。具体的には、アプリケーション内で使用されている暗号化の種類を識別するための技術や、暗号化を悪用する方法などを学んでいきます。次に、Webアプリケーションやモバイル・アプリケーションなどのフロントエンドについて確認し、HTTP/2やWebSocketなどの新しいプロトコルを確認していきます。コースの最後のセクションで行われるCapture-the-Flagコンペティションの前には、Webアプリケーションファイアウォール、フィルタリング、およびその他の保護技術などをバイパスする方法について焦点を当てていきます。


このコースで学ぶこと

  • 最新のWebフレームワーク、テクノロジー、およびバックエンドの脆弱性を発見して攻撃に利用する方法
  • HTTP/2、Webソケット、Node.jsなどの特定のテクノロジーをテストや攻撃に利用するスキル
  • 現代的なウェブアプリケーションで利用される暗号化技術において、脆弱性を評価し発見する方法
  • 企業内で使用されているモバイルバックエンドやWebサービスをテストおよび評価するスキル
  • カスタムソフトウェア、Webフレームワーク、Webアプリケーションファイアウォールの防御を識別し、バイパスする方法

 

このコースでできるようになること

  • Cross-Site Request Forgery (XSRF) とエクスプロイトを組み合わせ、高度なLocal File Include (LFI) /Remote File Include (RFI) 、Blind SQLインジェクション (SQLi) 、およびCross-Site Scripting (XSS) を実行する
  • Mass Assignments、Type Juggling、Object Serializationなど、バックエンド言語に共通する高度な脆弱性を悪用する
  • ExpressJS、Node.js、NoSQLに対するJavaScriptベースのインジェクションを実行する
  • SharePointやWordPressなど、CMS(コンテンツ管理システム)の特別なテスト方法を理解する
  • Webアプリケーションおよびフレームワーク内の暗号化実装を特定し、悪用する
  • SOAPやREST Webサービス、その他のデータストアにおけるXMLとXPathの脆弱性を発見する
  • ツールやテクニックを使用してHTTP/2やWebソケットを操作し、利用する
  • システムを悪用するために、Webアプリケーションファイアウォールやアプリケーションフィルタリングを特定し、回避する


受講生が受け取るもの

  • Burp Suite Proや最新のオープンソースのペネトレーションテストツールを含む、SEC 642用のSlingshot VMのコピー
  • コースのテキスト(スライド)、受講者向けのノート、演習などを含む6冊のテキスト

受講対象者

  • Webペネトレーションテスター
  • レッドチームのメンバー
  • 脆弱性評価の担当者
  • ネットワークペネトレーションテストの担当者
  • セキュリティコンサルタント
  • 開発者
  • QAテスター
  • システム管理者
  • ITマネージャ
  • システム設計の担当者

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

Webペネトレーションテストのテクニックと方法論をしっかり理解していることが参加の前提条件です。受講生は、HTTPプロトコル、HTML、およびWebアプリケーションに精通している必要があります。最低1~2年間のWebペネトレーションテストの経験や、GIAC GWAPT認定の取得、SANS SEC 542コースの受講経験などがこれらの前提条件を満たしています。

コース開発者より

SANS SEC 642:Advanced Web Application Penetration Testing, Ethical Hacking, and Exploitation Techniqueでは、他のコースでは扱っていないような内容について取り扱っています。最新のアプリケーション、最新のプロトコル、そして最新の攻撃について検討していきます。また、新たな脆弱性の特定・悪用において使用されるツールやテクニックを詳細に調べていきます。このコースの受講により、Webアプリケーションのペネトレーションテストのレベルをまったく新たで高度な次元にまで引っ張り上げます。私は常々、情報セキュリティコミュニティに恩返しをすることが、他の何より自分のキャリアにプラスになっていると感じてきました。これが私たちが他のみんなに "Pay It Forward" する (他者からの親切による恩を次へとつなげていく)やり方です。受講生の皆さんには、私がこのコースを開発していたときと同じくらい楽しんでいただけたらと思います。


 - Adrien de Beaupre

  • Day1
  • Day2
  • Day3
  • Day4
  • Day5
  • Day6

SEC642.1: Advanced Attacks

概要

アプリケーションとその脆弱性がより複雑になってゆく一方で、ペネトレーションテスターは高度なターゲットに立ち向かうことができなければなりません。講義の始まりでは、Document Object Model (DOM) に基づいたクロスサイト・スクリプティングを使用し、クロスサイト・リクエスト・フォージェリ (CSRF) トークンを盗用する小規模アプリケーションのペネトレーションテストからウォーミングアップしていきます。このテストについてレビューをした後、MongoDBのNoSQLインジェクションによるサーバの脆弱性に対する、より高度なテクニックをいくつか紹介します。次に、Server-Side Request Forgery (SSRF) 、Lightweight Directory Access Protocol (LDAP) インジェクション攻撃、およびSecurity Markup (SAML) Single Sign On (SSO) の権限エスカレーションについて説明します。HTTP Desync攻撃は、リクエスト・スマグリング攻撃とも呼ばれ、Webアプリケーションファイアウォール (WAF) をバイパスすることを可能にします。これらの脆弱性を発見した後、現在一般的に使用されている方法以外のさまざまな方法で脆弱性を悪用してゆきます。こうした高度な技術は、ペネトレーションテストの担当者が高度にカスタマイズされたエクスプロイトによる脆弱性について組織に説明していく方法を見出すために役立つことでしょう。

演習

  • DOM-XSSによるウォーミングアップ
  • SSRFによるエクスプロイト
  • LDAPインジェクションによるエクスプロイト
  • NoSQLインジェクションによるエクスプロイト
  • HTTP Dsync攻撃
  • SAMLへの攻撃

トピックス

  • テスト方法のレビュー
  • WebペネトレーションテストでのBurp Suiteの使用
  • DOM-XSSによるCSRFトークンの盗用
  • SSRFの検知とエクスプロイト
  • LDAPインジェクションの検知とエクスプロイト
  • NoSQLインジェクションの検知とエクスプロイト
  • HTTP Desync攻撃
  • SAML SSOでの権限エスカレーションの実行
  • 高度なエクスプロイト技術の習得

SEC642.2: Web Cryptography

概要

暗号化の不備がウェブアプリケーションの脆弱性の主な要因である一方、その欠陥を調査し、エクスプロイトに利用するだけのスキルを持つペネトレーションテスターはほとんどいません。Webアプリケーションの暗号化に対する攻撃を調査する場合、Webアプリケーションでの暗号化の実装と使用を対象とするのが一般的です。一般的なWebプログラミング言語や開発フレームワークの多くでは、開発者が暗号化のサービスを利用できるようになっています。ですが、多くの場合、暗号化されたデータが攻撃から保護されていないか、開発者による暗号化の利用の仕方によって脆弱なものになっています。この日の講義では、暗号アルゴリズム自体の欠陥をエクスプロイトに利用するのではなく、こうした実装の誤りに焦点を当てます。また、暗号化や、安全でない方法でハッシュを使用しているアプリケーションの様々な例についても説明します。受講生は、暗号化のタイプの識別から暗号化やハッシュ技術におけるさまざまな欠陥の使ったエクスプロイトに至るまで、様々な技術を学んでいきます。

演習

  • Hash Length Extention Attackの発見と悪用
  • バックエンドシステムにより強度が弱い鍵が選ばれることによるエクスプロイト
  • ストリーム暗号の攻撃
  • ウェブアプリケーションでのECB Shufflingの検知とエクスプロイト
  • WebアプリケーションでのCBC Bit Flippingの検知とエクスプロイト
  • WebアプリケーションでのPadding Oracle Attackの検知と悪用

トピックス

  • Webアプリケーションで使用される暗号化の識別
  • Hash Length Extention Attackの検知とエクスプロイト
  • 暗号鍵の分析と攻撃
  • Stream Cipher IV Collisionによるエクスプロイト
  • Electronic Codebook (ECB)モード 暗号 と Block Shufflingによるエクスプロイト
  • ビット反転とCipher Block Changing (CBC) モードによるエクスプロイト
  • PKCS#7パディング実装における脆弱性

SEC642.3: Alternative Interfaces and XML

概要

Webアプリケーションは、従来のHTMLベースのインタフェースだけに限らなくなっています。Webサービスやモバイルアプリケーションは世の中で一般的になっており、企業や組織を攻撃するために頻繁に利用されています。したがって、ペネトレーションテストの担当者がそうしたシステムのセキュリティを評価する方法を理解することが非常に重要になっています。この日の講義では、アプリケーションやバックエンド・システム内の欠陥を発見するためのさまざまな手法を、Burp Suiteやその他の自動化ツールを使って確認していきます。ラボ演習では、HTTP/2やWebSocketなど最新のプロトコルについて学習し、それらのプロトコルで露呈している脆弱性を使ったエクスプロイトを行います。次に、モバイルバックエンド、Representational State Transfer (REST) およびSimple Object Access Protocol (SOAP) 、Application Programming Interfaces (API) 、Graph Query Language (GraphQL) 、XML XPathインジェクション、およびXML External Entity (XXE) 攻撃について学習していきます。

演習

  • SocketToMeでWebSocketを使ってみる
  • H2OのHTTP/2実装の脆弱性の発見
  • Wiresharkでストリーム抽出し、モバイルサーバと対話する
  • REST APIの活用
  • GraphQLサービスとエクスプロイトの確認
  • XML Xpath Injectionとエクスプロイトの確認
  • XXE Attacとエクスプロイトの確認

トピックス

WebSocketプロトコルの問題と脆弱性

HTTP/2およびHTTP/3プロトコルの問題とペネトレーションテスト
 
  • モバイルアプリケーションバックエンドとの対話
  • SOAPおよびREST Webサービス
  • Webサービスのペネトレーションテスト
  • GraphQLサービス
  • XML Xpath Injection
  • XML External Entities (XXE)
 

SEC642.4: Modern Web Application Attacks Part 1

概要

この日の講義では、フレームワークと言語の根底となっているインフラの調査を開始します。すべてはポピュラーなフレームワークのアーキテクチャについて探求するところから始まります。Mass Assignmentのようなフレームワークで新たに発見されたばかりのアーキテクチャ上の脆弱性などについても取り上げていきます。Node JSを使ったサーバーサイドJavaScriptフレームワークのような新しいフレームワークには、いくつかのエクスプロイトの選択肢があります。受講生は、脆弱性を悪用してJavaScriptコードのブロックをフレームワークの内部に追加し、システム全体を乗っ取る方法を探求していきます。次に、Modern PHPについて見ていきます。PHPはかなり非難を受けている言語ではありますが非常に人気があります。Modern PHPを調べてみると、型推論のバグによる問題点が悪用され、システム操作やコントロールのバイパスにつながる可能性があることがわかります。次に、PHP Deserializationのバグについて説明します。受講生は、カスタムのPHP Deserializationペイロードを発見していきます。最後に、PHARペイロードを構築した結果、Deserializationが発生して基盤となるシステムを利用できるようになるような演習を行います。この日の講義で説明するトピックは、より複雑なフレームワークを扱う際に役立つことでしょう。

演習

  • Mass Assignment
  • テンプレート・インジェクション
  • SSJIsのテストと悪用
  • Type Confisionを伴う認証バイパス
  • PHP Deserialization
  • PHAR Deserialization

トピックス

  • Webアーキテクチャ
  • MVCとそのアーキテクチャのコンポーネント
  • JavaScriptおよびJavaScriptフレームワーク
  • サーバーサイドJavaScript
  • Modern PHP
  • PHP Deserializationのバグ
  • PHAR Deserialization

SEC642.5: Modern Web Application Attacks Part 2

概要

この日の講義では、Webフレームワークを取り上げていきます。まず、SinatraやRuby on RailsなどのRuby・Rackベースのアプリケーションを扱うところから始めていきます。開発担当者はRackベースのアプリケーションを不適切にセットアップしてしまう可能性があります。そうした設定ミスに端を発する、Rubyデシリアライゼーションによるミドルウェア層の悪用について調べていきます。次に、Java言語とその複雑さについて説明します。Java言語は成熟したエンタープライズ言語であると主張する人もいれば、セキュリティ障害に他ならないと主張する人もいます。受講生は、Javaアプリケーションを評価、活用するために、Javaのセキュリティ機能とセキュリティ上の問題点を確認します。この日の講義では、リフレクション、シリアライゼーションの問題、RMI、およびJava-Jarベースのペイロードの使用を通じてJava攻撃を構築する方法についてウォークスルーを行います。

Modern FrameworkについてのセクションはJavaに関する講義によって締めくくられ、次に、アプリケーション保護のバイパスについてのトピックへと進んでいきます。今日のアプリケーションでは、攻撃を防ぐために多くのセキュリティ制御が使用されています。これらのコントロール (Webアプリケーションファイアウォールやフィルタリング技術など) により、ペネトレーションテストが難しくなっています。こうした制御は、セキュリティ上の欠陥を発見するために使われる自動化ツールやシンプルなテクニックの多くをブロックするものです。受講生は、HTML 5、UNICODE、その他のエンコーディングを使用して、保護されたアプリケーション内で検出のためのテクニックを使用できるようにします。この日の講義の最後では、OSのコマンドを使用して、PHPの機能を乱用します。インタープリターの機能の操作によってシステムが危険にさらされる可能性があります。

演習

  • Rack Cookie Deserialization
  • ElasticsearchとGroovy Sandboxing
  • Javaペイロードの構築
  • Java Deserialization
  • 防御が困難なWeb脆弱性に基づくテストとフィンガープリント防御
  • XSSでの複合データURIの防御
  • sqlmapのカスタム改ざんスクリプトによるSQLインジェクション防御のバイパス
  • PHPとそのMail () 関数によるRCEバイパス

トピックス

  • RubyおよびRackアプリケーション
  • Java、Javaガジェット、およびJavaペイロード
  • Javaペイロードの武器化
  • Javaシリアライズ
  • 使用される防御テクニックのフィンガープリンティング
  • HTML 5インジェクションの仕組み
  • UNICODE、CTYPEおよびデータURIを使用した制限の回避
  • Webアプリケーションファイアウォールの最も防御された脆弱性であるXSSとSQLiの回避
  • アプリケーション制限のバイパス

SEC642.6: Capture-the-Flag Challenge

概要

最終日の講義では、ネットワークに接続し、ペネトレーション・テスト全体を完遂させるチャレンジを行います。目標は、5日間学習したテクニック、ツール、方法論をすべて振り返ることです。これらのスキルは、現実世界でのエクストラネットやイントラネットに対しても使用できます。チャレンジの最後には、完遂までに実施した調査の結果とその方法を口頭で報告します。受講生には、Burp Suite ProがインストールされたSEC 642 Slingshot仮想マシンを含むVMイメージが提供されますので、講義中のみならず、講義を終わり仕事に戻った後でもご利用いただけます。

 

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