NRIセキュアではNews BitesやOUCH! を日本語に翻訳して皆さまにお届けしています。
購読制を採っておりますので、
ご希望の方は、ニュースレター登録からお申し込みください。
Cloud Penetration Testing
Penetration Testing and Ethical Hacking
English2023年2月27日(月)~3月4日(土)
1日目: 9:00-17:30
2日目~6日目: 9:30-17:30
オンライン
【為替差益還元キャンペーン※】1,080,000 円(税込み 1,188,000円)
※キャンペーン価格のため、他の割引の重複適用はできません。ご了承ください。
※オプションの価格は、コース本体と同時にお申し込みいただく場合のみ有効です。
※コース本体のお申し込み後から講義開始までの間に、GIAC試験オプションを追加される場合は、事務手数料10,000円(税込11,000円)をいただきます。
※講義開始後のGIAC試験のお申込みは、こちらのページ(英語)をご参照のうえ、GIACへ直接お申し込みください。
演習で使用するノートPCをご準備下さい。受講に必要なPC環境についてご確認ください。
重要:以下の手順に従って設定されたPCを各自用意してください。
講義の全てのコンテンツに参加するためには、適切に設定されたノートPCが必要です。この指示に従わないと、このコースの演習に参加することができず、満足のいく授業を受けることができない可能性が高いです。そのため、以下の条件をすべて満たすシステムを用意することを強くお勧めします。
授業前にシステムのバックアップを取っておくことが重要です。また、機密データが保存されているシステムをお持ちにならないことを強くお勧めします。
CPU
・64 ビット Intel i5/i7 2.0+ GHz プロセッサ
・お使いのシステムのプロセッサが 64 ビット Intel i5 または i7 2.0 GHz 以上のプロセッサであること。 CPU と OS が 64 ビットのゲスト仮想マシンをサポートしている必要があります。
・ VMware は、ホストが 64 ビットゲスト仮想マシンをサポートしているかどうかを検出する Windows 用のフリーツールを提供しています。
・Windowsユーザーの方は、こちらの記事を参考にして、お使いのCPUやOSの性能についてご確認ください。
BIOS
・"Intel-VT"を有効化
・システムの BIOS または UEFI の設定で、Intel の VT (VT-x) ハードウェア仮想化技術が有効になっている必要があります。
授業中は、システムのBIOSにアクセスできるようにしておく必要があります。
BIOS がパスワードで保護されている場合は、パスワードを知っている必要があります。
USB
・USB 3.0 Type-A ポート
・授業で使用するUSB3.0サムドライブから大容量のデータファイルをコピーするためには、USB3.0 Type-Aポートが
1つ以上必要です。USB ポートはハードウェアやソフトウェアでロックされていないこと。
新しいノートパソコンには、Type-Cポートしかない場合があります。その場合は、
USB Type-C to Type-Aアダプタを持参してください。
RAM
・8GB RAM(最低4GB)が必要です。
Windows10で確認するには、Windowsキーを押して「設定」を開き、「システム」→「バージョン情報」の
順にクリックします。ページにRAMの情報が表示されます。
Macで確認するには、ディスプレイの左上隅にあるAppleのロゴをクリックし、「このMacについて」をクリックします。
ハードドライブの空き容量
・ハードディスクに60GBの空き容量を確保することは、仮想マシンや配布する追加ファイルをホストする上で非常に重要です。
また、HDDよりも高速に仮想マシンを動作させることができるため、SSDの使用を強くお勧めします。
オペレーティングシステム
・Windows 10、macOS 10.15.x 以降の最新バージョン、または Linux で、後述する VMware の仮想化製品を
インストールして実行できること。最新の USB 3.0 デバイスを利用するためのドライバやパッチがインストール
されていることを確認するために、授業前にホスト OS をフルアップデートする必要があります。
また、Linux ホストを使用している場合は、適切なカーネルまたは FUSE モジュールを使用して
exFAT パーティションにアクセスできる必要があります。
注意 : M1プロセッサ搭載のapple社製品は現時点で必要な仮想化を行うことができないため、使用できません。
上記の基本要件に加えて、以下の要件を満たす必要があります。
授業開始前に、仮想化ソフトウェアをインストールし、以下に記載されている追加のハードウェアとソフトウェアの要件を満たす必要があります。
これらの指示を注意深く読み、それに従わないと、本コースに不可欠なハンズオン演習に参加することができず、
満足のいかないまま授業が終了してしまいます
・ネットワーク、無線接続
・ワイヤレス 802.11 b, g, n,もしくはac のネットワークアダプタが必要です。
システムに内蔵されているワイヤレスアダプターでも、外付けの USB ワイヤレスアダプターでも構いません。
ワイヤレスアダプタを使用すると、ケーブルを接続することなくネットワークに接続することができます。
ネットワークケーブルを差し込まなくても、システム上でWeb閲覧ができれば、問題ありません。
・VMware Workstation Pro 15.5.x、VMware Player 15.5.x、Fusion 11.5.x 以上のいずれかのバージョンを授業前に
ダウンロードし、インストールしてください。ライセンス版をお持ちでない方は、VMware から 30 日間の無料トライアル版を
ダウンロードすることができます。VMwareのウェブサイトでトライアルに登録すると、期間限定のシリアル番号が
送られてきます。
・VirtualBoxやHyper-Vなどの仮想化ソフトウェアは、互換性やコース中のトラブルシューティングの観点から、
適切ではありません。
・Windows 10上のVMware Workstation ProおよびVMware Playerは、Windows 10のCredential GuardおよびDevice Guardの
技術との互換性がありません。お使いのシステムでこれらの機能が有効になっている場合は、このドキュメントの指示に
従って、クラスの期間中はこれらの機能を無効にしてください。
・ローカル管理者 - ローカル管理者権限を持つアカウントを持っていること。
・講座で使用するツールの中には、ローカル管理者権限を必要とするものがあります。これは絶対に必要です。
会社が許可しない場合は、別のシステムを持参するなどの手配をしてください。
・VPN の無効化 - 一部の演習では、エンタープライズ VPN クライアントを一時的に無効化する必要があります。
・エンタープライズ VPN クライアントは、講義に参加するためのネットワーク設定に支障をきたす可能性があります。
授業中は企業向け VPN クライアントをアンインストールするか、無効にしてください。
インストールしたままにしている場合は、授業中にアンインストールまたは無効化できるようにしてください。
・AV の無効化 ・一部の演習でアンチウイルスツールを一時的に無効化できるようにしてください。
・アンチウイルスツールを一時的に無効にする必要がありますので、その権限を持っていることを確認してください。
ほとんどのアンチウイルスツールは、関連するサービスやプロセスが終了しても機能しているため、
アンチウイルスサービスやプロセスを単に終了させることはしないでください。
多くの企業管理クライアントでは、アンチウイルスツールを無効にするには、管理者アカウントのパスワードとは
異なるパスワードが必要になる場合があります。アンチウイルスツールの管理者パスワードをお持ちください。
あなたは、侵入テストやセキュリティ評価、あるいは攻撃者シミュレーションやレッドチーム演習の実施を依頼されたことがあります。対象の環境は主にクラウドに特化したものです。サービスプロバイダーにとっては完全にクラウドネイティブかもしれないし、Kubernetesベースかもしれない。もしかしたら、AmazonとAzureの両方に資産を持つ、マルチクラウドの環境かもしれません。Azure Active Directory や Amazon Web Services (AWS) のワークロード、サーバレス機能、Kubernetesなどを評価しなければならないとしたらどうしますか?
このコースでは、クラウドに焦点を当てた最新のペネトレーションテスト手法と、クラウド環境の評価方法について学んでいきます。
コンピューティングのワークロードは、何年も前からクラウドに移行しています。アナリストは、ほとんどの企業が近い将来、パブリッククラウドやその他のクラウド環境にワークロードを置くようになるだろうと予測しています。クラウドファーストでスタートした組織が、最終的にはハイブリッド・クラウドとローカル・データセンターのソリューションに移行するかもしれませんが、クラウドの利用が大幅に減少することはないでしょう。そのため、組織のリスクを評価する際には、クラウドで提供されるサービスのセキュリティを評価する準備をしておく必要があります。このコースでは、クラウドに焦点を当てた最新のペネトレーションテスト技術と、クラウド環境の評価方法を学びます。
クラウドのセキュリティに関するよくある質問は、"クラウドに特化したペネトレーションテストのトレーニングは必要ですか?"と "他のペンテストのトレーニングで目的を達成し、クラウドに適用できますか?"です。どちらの質問に対する答えもイエスですが、その理由を理解するためには、クラウドに特化したペネトレーションテストを実施することの明確な重要性を知る必要があります。クラウド・サービス・プロバイダーの環境では、ペネトレーション・テスターは従来のデータセンターの設計には遭遇しません。具体的には、オペレーティング・システムの所有者、インフラストラクチャの所有者、アプリケーションがどのように実行されているかなど、従来の環境とは大きく異なる可能性が高いのです。アプリケーション、サービス、およびデータは、各クラウド・プロバイダーに固有の共有ホスティング環境でホストされることになります。
本コースでは、クラウド環境を適切に評価するために必要な多くのスキルセットを利用しています。ペネトレーションテスターの方には、お持ちのスキルをクラウド環境上のものへと発展させるための道筋を提供します。クラウドセキュリティに軸足をおくディフェンダーやアーキテクトには、攻撃者がどのようにクラウドインフラストラクチャを悪用して足掛かりを得ているかを解説します。
また本コースでは、マイクロサービス、従来のクラウド仮想マシン、パケット、インメモリデータストア、クラウド内のファイル、サーバーレス機能、Kubernetesメッシュ、コンテナなど、クラウドに登場する新しいトピックにも取り組んでいきます。このコースでは、Amazon Web ServicesとMicrosoftが市場の半分以上を占めていることを考えると、特に重要なAzureとAWSのペネトレーションテストも具体的に取り上げています。このコースの目的は、これらの技術を実演することではなく、これらのサービスが安全でないまま放置された場合に組織が直面する可能性のある真のリスクをどのように評価し、報告するかを教えることにあります。
このコースでは、攻撃に焦点を当てたセキュリティ実務者と防御に焦点を当てたセキュリティ実務者の両方が、脆弱性、安全でない構成、および組織に関連するビジネスリスクを深く理解することで、大きな利益を得ることができます。
このコースは、ペネトレーションテスト担当者、脆弱性アナリスト、リスクアセスメント担当者、DevOpsエンジニア、site reliability エンジニアなど、多くの方にメリットがあります。
NICEフレームワークの作業役割
GIAC Cloud Penetration Testing (GCPN) 認定資格は、クラウドに特化した侵入テストを実施し、システム、ネットワーク、アーキテクチャ、およびクラウド技術のセキュリティを評価する実務者の能力を検証するための資格です。
netcatとSSHを利用したポートピボットの仕組みを体験する
最初にクラウドペネトレーションテストのコースの開発を依頼されたとき、多くの質問がありました。このようなニッチなコースを開催する余地があるのだろうか?私たちは、他のペネトレーションテストのコースではカバーしていない新しい素材やトピックを使った講義が必要だと感じていました。このクラスでは、ほとんどの人が想像もしなかった方法でその必要性を満たしたと思います。このコースではこれまでの常識を覆し、クラウド環境でのテスト、評価、安全性確保のお手伝いをすることができます。
- Moses Frost
概要
このセクションでは、クラウドに焦点を当てたペネトレーションテスト評価の最初のフェーズを実施します。クラウドサービスプロバイダのサービス規約、境界点、制限がどのように機能するかを理解します。また、オープンデータベースやインターネットレベルのスキャンが、ターゲットとなるインフラや脆弱性を発見するために、ほぼリアルタイムで、また、過去の履歴に基づいてどのように利用されているかについての実習も行います。このコースのセクションでは、ウェブの規模が偵察にどのような影響を与えるのか、そしてそれにどのように対処するのがベストなのかを説明します。このセクションでは、外部および内部の偵察に使用できる、アセットディスカバリーパイプラインを手動で構築することを学習します。これは、これ以降のコースの中で脆弱性を発見するのに役立ちます。
演習
・ドメイン検出
・インターネットの規模でのポートスキャン
・Nucleiのようなツールを使ったシステムの脆弱性の特定とスキャン
・rEngineのようなフレームワークでディスカバリーをスケーリングする
トピックス
・テスト工程
・テストと制限
・クラウドスケールでの偵察
・ドメイン発見ツールとワードリスト
・IPアドレスとホスト
・URLとWordlistのマッピング
・外部からの脆弱性スキャン
・偵察中の可視化
・アセット検証のフレームワーク
概要
アイデンティティ・システムは、クラウド・インフラにとって非常に重要である。クラウドプロバイダー、ソフトウェアサービス、その他のクラウド関連技術にアクセスするために使用されることが多い。アイデンティティ・システムは、VPNのようなデータ・プレーン・アクセスを提供することもできる。このセクションでは、様々なアイデンティティ・システムを検証し、認証、認可、および未認証のアクセスについて見ていきます。OAuth や OpenIDConnect のようなプロトコルを通して、テスト者はこれらのシステムのブレークポイントについてより良く理解することができ ます。最後に、Microsoft Graphを使用したアプリ同意フィッシングの演習を活用し、Microsoft製品へのバックドアアクセスについて説明します。
演習
・キー・マテリアルのハンティング
・IdPで有効なユーザーを見つける
・パスワード攻撃
・公開ファイル共有の検索
・アプリ同意フィッシングとMicrosoftグラフ
トピックス
概要
クラウドインフラでは、システム管理者や開発者に提供される機能により認証情報がエスカレーションされる潜在的な可能性があります。こうした機能が悪用されると、横方向移動や権限の昇格やパーミッションの変更が行われてしまいます。このセクションでは、クラウドをターゲットにした攻撃の自動化メカニズムについて説明し、その利用のされ方について解説します。ラボでは、ツールを使用または使用せずに、攻撃者がどのように活動するのか、重点的に演習に取り組んでいきます。
このセクションでは、前の2つのセクションで学んだことを応用して、AWSとAzureのCompute、Identity、Permissionsを悪用する方法を学びます。アカウントに設定ミスのあるAssumeRoleの問題を探すことから、過度に寛容なアカウントを活用することまで、また環境におけるコントロールプレーンからデータプレーンに至るまで、どのように行うことができるかを紹介します。学んだ概念は、GCPやOCIなど、コースで扱う他のクラウドにも応用できます。
演習
トピックス
・AWS CLI
・フィルタリングと出力
・AWS IAM
・AWS KMS
・AWS IAM権限のエスカレーションパス
・AWSコンピューティング
・コンピュート・アタック・シナリオ
・PACU
・socatとシェル
・混乱した代理問題
・Azure VMs
・Azure上でのコード実行
概要
本講座の4日目では、クラウドネイティブアプリケーションに焦点を当てています。クラウド・ネイティブ・アプリケーションがどのように動作し、どのように評価することができるのかを示すようにデザインされています。最近では、コンテナにパッケージ化されたマイクロサービス指向のアプリケーションが多くなってきています。また、それらは主にステートレスアプリケーションであり、使用するために異なるパターンを必要とします。これらのアプリケーションには、それぞれのニュアンスがあります。これらのアプリケーションは通常、Kubernetes のようなシステムが使用されていることを示すようなサービスメッシュでデプロイされることが多いでしょう。このセクションでは、次のような多くの疑問を探っていきます。
・私の環境では、どのアプリケーションの脆弱性が危険なのか?
・サーバーレスとLambdaはアプローチをどのように変えるのか?
・CI/CDパイプラインとは何か?どう悪用できるのか?
・マイクロサービスアプリケーションはどのように動作するのか?
演習
・TerraformのState Files
・CI/CDのバックドア
・クラウド環境のSSRFの影響
・コマンドラインインジェクション
・SQL インジェクション
・サーバーレス関数に対する攻撃
・データベース、NoSQLとポート
トピックス
・クラウドネイティブアタック入門
・アプリケーションのマッピング
・Infrastructure as Code
・デプロイメントのパイプライン
・Webアプリケーションのインジェクション
・サーバサイドリクエストフォージェリとその影響
・コマンインジェクション
・サーバーレスファンクションへの攻撃・データベースとポートの公開
・クラウドアプリケーションにおけるSQLインジェクション
概要
このセクションでは、Kubernetesとそのインフラストラクチャについて学び、クラウドにおける脆弱性の悪用とレッドチーミングについて掘り下げます。Dockerなどのコンテナ技術についても深く掘り下げます。この時点までに受講生はターゲットとなる環境について基本的な理解が済んでいます。その地の利を生かし、どのように環境の深部へと侵入し、最終的にラテラル・ムーブメントが実現されるかを検討します。コンテナの分離、サービスメッシュの理解、様々な方法でのデータ持ち出しに焦点を当て、これらのタイプの攻撃の実際のビジネスへの影響を示します。最後に、クラウドを活用した攻撃基盤の構築について、クラウドプロバイダーと連携して標的のインフラを操作するための戦略について説明します。
演習
トピックス
・Docker概要
最終日は、クラウド環境でのエンドツーエンドのアセスメントをチームで完遂します。使用するアプリケーションと環境は、実世界の環境を模してデザインされています。この日は、1週間分の知識をまとめ、理論と実践を強化し、エンドツーエンドのテストをシミュレーションします。また、開発者・ビジネスサイドのメンバーに理解されやすい方法でレポートを作成します。いくつかの目標設定とシナリオを提供し、実際の作業方法を提示します。常に最新かつ斬新な解決策を提示しますので、受講生同士で学んだことや、どのように作業を行ったか共有いただくことを望んでいます。