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

SECURITY 670

Red Teaming Tools - Developing Windows Implants, Shellcode, Command and Control

日程

2026年11月9日(月)~2026年11月14日(土)

期間
6日間
講義時間

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

受講スタイル
LiveOnline(オンライン受講)
会場

◆LiveOnline形式
 オンライン

GIAC認定資格
-
講師
Kevin Ott|ケヴィン オット
SANS認定インストラクター候補
言語
英語 英語教材・同時通訳
定員
40名
CPEポイント
46 Points
受講料
早期割引価格:1,259,500円(税込み 1,385,450円)
※キャンペーン価格のため、他の割引の重複適用はできません。ご了承ください。
通常価格:1,334,500円(税込み 1,467,950円)
申込締切日
早期割引価格:2026年9月25日(金)
通常価格:2026年10月29日(木) 13:00
オプション
  • OnDemand 価格:149,850円(税込み 164,835円)
  • Skills Quest by NetWars 価格:74,250円(税込み 81,675円)
※オプションの価格は、コース本体とセットでお申込みいただく場合のみ有効です。
※お申込み締切後はオプションの追加のお申込みを承ることができませんのでご了承ください。

「お申し込み」を押すと、NRIセキュアのお申し込みサイトに遷移します。

受講に必要なPC環境

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

SEC670 PC設定詳細

重要:次の手順に従って構成したノートPCをご準備ください。

本コースの実習に参加するには、適切に設定されたシステムが必要です。指示をよく読み、その通りに設定を行わない場合、実習に十分に参加できない可能性があります。そのため、指定された要件をすべて満たすシステムをご用意の上、ご参加ください。

受講前にシステムのバックアップを取っておいてください。機密データや重要なデータが含まれていないシステムを使用することを強く推奨します。SANSは、受講者のシステムやデータについて一切の責任を負いません。

必須システムハードウェア要件

  • CPU: 64ビット Intel i5/i7(第8世代以降)または同等のAMD製プロセッサが必要です。本コースでは、x64アーキテクチャ、2.0GHz以上のプロセッサが必須です。
  • 重要: Apple Silicon搭載デバイスでは必要な仮想化機能が利用できないため、本コースでは一切使用できません。
  • BIOS設定で、「Intel-VT-x」や「AMD-V」などの仮想化技術(拡張機能)が有効になっている必要があります。BIOSがパスワードで保護されている場合は、設定変更が必要になった際にアクセスできるよう、必ずパスワードを確認しておいてください。
  • RAM(メモリ): 16GB以上が必要です。
  • ストレージ空き容量: 100GB以上が必要です。。
  • USB 3.0 Type-Aポート: 1つ以上が必要です。新しいノートPCでは、Type-CからType-Aへの変換アダプターが必要になる場合があります。一部のエンドポイントプロテクションソフトウェアはUSBデバイスの使用を制限することがあるため、受講前にUSBドライブを使用して動作確認を行ってください。
  • 無線ネットワーク(802.11規格): 必須です。会場内に有線インターネット接続環境はありません。

ホスト構成とソフトウェア要件

  • ホストOSは、Windows 10、Windows 11、またはmacOS 10.15.x以降の最新バージョンである必要があります。
  • 受講開始前にホストOSを完全にアップデートし、適切なドライバとパッチがインストールされていることを確認してください。
  • Linuxホストは、その多様なバリエーションのため、コースではサポートされていません。Linuxをホストとして使用する場合は、コース教材や仮想マシン(VM)との連携に必要な設定をすべてご自身で行ってください。
  • ローカル管理者権限が必要です。(これは必須です。)会社がコース期間中の管理者権限を許可しない場合は、別のノートパソコンを持参するようにしてください。
  • ウイルス対策ソフトやエンドポイントプロテクションソフトは無効化、完全に削除するか、管理者権限で削除できることを確認してください。多くのコースではOSへの完全な管理者権限が必要となり、これらのソフトがインストールされていると実習が完了できない場合があります。
  • 送信トラフィックのフィルタリングは、コースのラボ演習の実施を妨げる可能性があります。ファイアウォールは無効にするか、無効にするための管理者権限が必要です。
  • 受講開始前に、VMware Workstation Pro 16.2.X以降またはVMware Player 16.2.X以降(Windows 10ホスト用)、VMware Workstation Pro 17.0.0以降またはVMware Player 17.0.0以降(Windows 11ホスト用)、またはVMware Fusion Pro 12.2以降またはVMware Fusion Player 11.5以降(macOSホスト用)をダウンロードしてインストールしてください。VMware Workstation ProまたはVMware Fusion Proのライセンスをお持ちでない場合は、VMwareから30日間の無料トライアル版をダウンロードできます。VMwareのWebサイトでトライアル版に登録すると、VMwareから有効期限付きのシリアル番号が送付されます。なお、VMware Workstation PlayerはVMware Workstation Proよりも機能が少ないことにご注意ください。Windowsホストシステムをご利用の場合は、よりスムーズな学習体験のためにWorkstation Proをお勧めします。
  • Windowsホストでは、VMware製品とHyper-Vハイパーバイザーが共存しない場合があります。最適な動作環境を確保するには、VMwareが仮想マシンを起動できることを確認してください。そのためには、Hyper-Vを無効にする必要がある場合があります。Hyper-V、Device Guard、およびCredential Guardを無効にする手順は、コース教材に付属のセットアップドキュメントに記載されています。
  • 7-Zip(Windowsホスト用)またはKeka(macOSホスト用)をダウンロードしてインストールしてください。これらのツールも、ダウンロードしたコース教材に含まれています。

コースで使用するメディアは、ダウンロード形式で提供されます。メディアファイルは容量が大きく、中には40~50GBに及ぶものもあります。そのため、ダウンロードには十分な時間を確保する必要があります。インターネット接続環境や通信速度は、様々な要因によって大きく異なります。したがって、教材のダウンロードにかかる所要時間を正確に見積もることはできません。リンクを入手したら、すぐにコースメディアのダウンロードを開始してください。コースメディアは、受講初日から必要となります。受講開始の前夜になってからダウンロードを開始すると、失敗する可能性が高くなります。

SANSでは、印刷物として提供していた教材をPDF形式で提供するようになりました。さらに、一部のクラスではPDFに加え、電子ワークブック(eWorkbook)も使用されています。電子ワークブックを使用するクラスは今後急速に増えていく見込みです。こうした新しい環境においては、講師による講義中やラボ演習中に教材を表示させておくために、2台目のモニターやタブレット端末を活用することが有効です。

ノートPCの仕様についてご質問がある場合は、カスタマーサービスまでお問い合わせください。

SEC670コース概要

SEC670は、Windows環境向けの専用攻撃ツールを開発・構築するスキルをサイバーセキュリティの専門家向けに提供します。現代のツール開発に求められる高度かつ複雑な要件に従来の教育機関が対応できていないため、この専門分野では深刻な人材不足が生じています。受講者は集中的なハンズオン演習に取り組み、現代の防御策を回避・突破できるカスタムコンパイル・プログラムを作成します。演習では、高度な脅威アクターが用いる手法を学び、Windows APIの活用、プロセスインジェクション、永続化メカニズムに関する専門知識を深めます。C++プログラミングを戦略的に活用することで、受講者は、目的に合わせたインプラントの作成、シェルコードの操作、秘密のコマンド通信チャネルの確立といった能力を習得し、組織のセキュリティ体制を根本的に強化できるようになります。

Windows向け攻撃ツール開発:高度なレッドチーム・アーセナル
Windows向けのカスタムコンパイル・ツールを開発するために不可欠なスキルセットは、大学やその他の教育機関では教えられていません。その結果、サイバーセキュリティ業界では深刻なスキル不足が生じ、レッドチーム・オペレーションの全体的な能力が制限されています。Windowsツール開発者を求める防衛関連企業や一般企業は、深刻な人材不足に直面しており、防御能力をさらに向上させることが困難な状況にあります。

「SEC670: Red Team Operations - Developing Custom Tools for Windows」は、この種のコースとしては初めてのものであり、C/C++言語を使用してWindows専用のカスタムコンパイル・プログラムを作成するハンズオン演習を提供します。受講者は、Windows APIを使用して独自のツールを作成することで、権限昇格、永続化、情報収集などの機能を持つ既存の攻撃ツールの内部動作を学びます。Windowsの防御機能は強化されており、クラウド連携型のウイルス対策(AV)ソリューションの普及により、検知を回避して活動することはますます困難になっています。これに対応するため、本コースでは、国家レベルの攻撃者が開発するマルウェアのインプラントに実際に実装されている手法を紹介します。

コースは、Windowsにおけるコンピュータ・ネットワーク・オペレーションツールの開発に関する導入から始まります。悪意ある動作を検知するために設計されたMonetaやPE-Sieveといった、現在の攻撃・防御ツールについて学びます。その後、受講者は迅速にステップアップし、最初のコンパイル済みプログラムを作成します。コースを進める中で、ターゲット情報の取得方法、その情報を利用して実行可能な操作(インジェクションや権限昇格など)、そして永続化によってシステムへのアクセスを維持・活用する方法を学びます。さらに、C言語とコンパイラのテクニックを駆使し、シェルコード(暗号化されたものを含む)をプロセス内で実行する方法も習得します。最後に、受講者はアンチウイルス製品の機能フックエンジンを回避したり、`AmsiScanBuffer` などの主要関数やコード・ケイブをパッチしたりすることで、AVソリューションを回避する手法を学びます。さらに、独自のカスタムローダーを作成し、それを最終的なインプラントに組み込みます。仕上げとして、HTTPライブラリを活用し、カスタムPython C2サーバーへビーコンを送信して適切にコマンド&コントロールを行う方法を習得します。

SEC670の締めくくりとして、これまでにないほど受講者に挑戦を強いる、没入型のCTFイベントが実施されます。受講者は、コース期間中に構築したツールや機能を駆使し、リモートプロセスのメモリからの情報取得といった複雑な課題に挑みます。コース終了時には、Windowsレジストリ、ファイル、フォルダ、ネットワーク接続、ユーザー、プロセスの列挙、UACやアンチウイルス製品の回避、権限昇格、再起動後も持続する永続化、他プロセスへのインジェクション、そしてユーザーや他のツールからの隠蔽といった機能を備えた、軽量なWindowsインプラントを完成させていることになります。

受講対象者

SEC670のトレーニングは、以下を含む幅広い方々にお勧めします。

  • レッドチーム・オペレーター
  • エクスプロイト開発者
  • ペネトレーションテスター
  • Linux CNO開発者
  • Windows開発者
  • AV/EDR開発者

シラバス

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

Windowsツール開発

セクション1では、攻撃用ツールの開発に向けたWindowsの内部構造(Windows Internals)とプログラミングの基礎を学びます。受講者は、LinuxとWindowsの主な違い、Windowsのデータ型、呼び出し規約(Calling Conventions)、そしてWindows APIプログラミングの主要なテクニックについて学習します。

取り上げられるトピック

  • 攻撃用ツールの開発
  • 開発環境の構築
  • Windowsと*Nixでの開発の違い
  • Windowsのデータ型
  • 呼び出し規約

ラボ

  • プロセスインジェクションの検知
  • Windowsブートシーケンスの調査
  • Hello World DLLの作成
  • 呼び出し規約の特定
  • SALv2の理解

概要

本コースは、Windowsの内部構造(Windows Internals)の概要を学ぶことから始まり、OSを機能させている中核的なメカニズムについて段階的に理解を深めていきます。攻撃用ツールと防御用ツールの主な違いや、それらの必要性についても解説します。Windowsプログラミングに関する確かな知識を身につけた上で、受講者はWindows向けの攻撃用ツールまたは防御用ツールのいずれかを作成することを選択できます。ただし、本コースではC/C++言語を用いた攻撃用サイバー機能の作成に焦点を当てます。

inuxとWindowsの主な違いを理解することは重要であり、LinuxからWindowsへの移行を円滑にする助けとなります。C言語には基本的なデータ型が存在しますが、Windowsでは独自のデータ型が導入されており、本セクションでそれらについて解説します。またcalling conventionsや、Windowsがプログラミングの世界に導入した独自の規約についても紹介します。セクションの締めくくりとして、主要なWindows APIを実際に使用する演習を行い、これまでの学習内容を統合しながら、Windows APIについてより本格的に学びます。

ラボの詳細

  • PE-Sieveによるプロセスインジェクションの検出
  • Process Monitorを使用したWindowsブートシーケンスの調査
  • Hello World DLLの作成
  • Calling Conventionsの特定
  • SALv2の理解と活用
  • オブジェクト作成のためのWindows APIの調査

トピックの詳細

  • 攻撃用ツールの開発
  • 防御用ツールの開発
  • 開発環境の構築
  • *Nix環境での開発との類似点と相違点
  • Windowsのデータ型
  • 関数の呼び出し(Call Me Maybe)
  • SALアノテーション
  • Windows API

ターゲットの把握

セクション2では、ターゲット環境を包括的にマッピングするためのプログラムによる偵察手法について解説します。具体的には、システム情報の収集、プロセスの列挙、ファイルシステムの調査、およびネットワークに関する情報の収集を取り上げます。

取り上げられるトピック

  • OS情報の収集
  • Service Pack/パッチの追跡
  • プロセスの列挙
  • ソフトウェアインベントリ
  • ユーザーとネットワークの関連付け

ラボ

  • OS情報の収集
  • プロセスの列挙
  • ディレクトリの探索
  • ユーザー情報の取得

概要

本コースのセクションでは、標的を対象とした偵察の技術について学びます。レッドチームのオペレーターが初期アクセスを確立した直後に行う最初の行動の一つに、標的環境に対する詳細な列挙があります。この工程は時間がかかるうえ、ゼロデイ脆弱性を利用した攻撃のような派手さがないため、見落とされがちです。しかし、自身がどのような環境に置かれているのか、そして次に何ができるのかを把握することは極めて重要です。受講者は、詳細なアプローチを用いてプログラム的に環境を調査する方法を学び、OSのバージョン・ビルド、パッチ、プロセス、インストール済みアプリケーション、ファイルシステム、ユーザーとグループ、ネットワーク、サービス、タスク、レジストリなどの情報を収集・整理する手順を習得します。

ラボの詳細

  • OS情報の取得
  • 実行中プロセスの列挙手法の検討
  • ディレクトリ列挙手法の実装

トピックの詳細

  • OS情報の収集
  • サービスパック/ホットフィックス/パッチ
  • プロセスの列挙
  • インストール済みソフトウェア
  • ディレクトリ・ウォーク
  • ユーザー情報
  • サービスとタスク
  • ネットワーク情報
  • レジストリ情報

運用上のアクション

セクション3では、高度なシステム操作を行うための手法に焦点を当てます。具体的には、プロセスインジェクション、PEヘッダーの解析、スレッド操作、特権昇格の手法などが含まれます。

取り上げられるトピック

  • PEフォーマットの理解
  • カスタムWin32 APIの作成
  • スレッドの内部構造
  • プロセスインジェクションの手法
  • 特権昇格ツール

ラボ

  • PEヘッダーの解析
  • DLLインジェクション
  • プロセスインジェクション技術
  • Token Stealing
  • サービスの作成

概要

このセクションでは、初期アクセスの段階に続くアクションに焦点を当てます。レッドチームのオペレーターは、目的のアクションを実行するために、一般的にプロセスインジェクションの手法を活用します。受講者は、Portable Executable (PE) ヘッダーの構造に関する詳細な学習を皮切りに、これらの機能をプログラムで実装する方法を学びます。また、PEヘッダーの重要なセクションを解析する方法も習得します。これは、GetProcAddressのようなWindows APIの独自実装を作成する際に役立つ重要なスキルです。PEフォーマットを理解した後は、スレッドの内部構造や生成の仕組みについて学習します。さらに、プロセスインジェクションを支援するために、非同期プロシージャコール(APC)をスレッドのキューに追加する方法についても探求します。ここでは、標的プロセス内のスレッドに悪意のあるDLLを強制的に読み込ませる「クラシックなDLLインジェクション」を含む、いくつかのプロセスインジェクション手法を取り上げます。アクセス後の別のアクションとして、標的システム上での活動をより効果的に行うための権限昇格があります。そのため、受講者は自身のインプラント向けの権限昇格モジュールをプログラムで作成し、標的システムでテストを行います。

ラボの詳細

  • PEヘッダーの解析
  • クラシックなDLLインジェクション
  • 非同期プロシージャコール(APC)を使用したプロセスインジェクション
  • スレッド実行のハイジャック
  • トークンの窃取
  • サービスの作成

トピックの詳細

  • PEフォーマットの理解
  • Win32 APIの独自実装の作成
  • スレッド内部構造の探求
  • プロセスインジェクション手法の探求
  • リモートプロセスとのプログラムによる対話
  • 権限昇格用カスタムツールの作成

永続化:Die Another Day

セクション4では、Windowsの様々なシステムメカニズムを利用し、再起動や予期せぬ中断が発生してもシステムへのアクセスを維持するための、複数の永続化手法について解説します。

取り上げられるトピック

  • インメモリ実行
  • バイナリパッチング
  • レジストリによる永続化
  • サービスの操作
  • ポートモニター

ラボ

  • サービスを利用した永続化
  • ポートモニターによる永続化
  • Image File Execution(IFEO)による永続化

概要

本セクションでは、再起動後もアクセスを維持する「永続化(Persistence)」を実現するための様々な手法に焦点を当てます。初期アクセスの確立は重要な第一歩ですが、電源喪失、予期せぬ再起動、初期アクセスプロセスの停止といった不測の事態が発生してもそのアクセスを維持できるよう、適切な措置を講じる必要があります。通常、オペレーターは既存のツールやフレームワークに組み込まれた永続化機能を利用しますが、それらのツールも何らかの形で開発されたものです。本セクションのブートキャンプ・チャレンジでは、受講生がプログラムによって永続化ツールを実装し、コンパイルされたツールをWindows 10のテスト用仮想マシン(VM)上でテストして、再起動後もアクセスが維持されるかを確認します。

ラボの詳細

  • サービスを利用した永続化
  • ポートモニターを利用した永続化
  • Image File Execution Options(IFEO)を利用した永続化

トピックの詳細

  • インメモリ実行
  • ディスクへの書き出し(ドロップ)
  • バイナリパッチ適用
  • レジストリキー
  • 永続化のためのサービス(再考)
  • ポートモニター
  • Image File Execution Options(IFEO)

インプラントの強化:シェルコード、回避技術、C2

本セクションでは、シェルコードの実行、アンチウイルス(AV)回避、およびC2(コマンド&コントロール)通信に関する高度な手法を習得し、洗練された攻撃用ツールの開発を可能にします。

取り上げられるトピック

  • シェルコードの生成
  • AV回避技術
  • プロセスの隠蔽
  • フック操作
  • C2通信

ラボ

  • ローカル/リモートでのシェルコード実行
  • プロセスの隠蔽
  • 関数フックの制御
  • ペイロードのインジェクション

概要

本セクションでは、ツール開発者が成功を収めるために習得すべき、より高度なテクニックを扱います。インプラントの重要な機能の一つに、位置独立(position-independent)なシェルコードを実行する能力があります。このシェルコードは、msfvenom、donut、shelterといった既存のツールで生成することも、C言語を用いて手動で作成することも可能です。受講者は、自身のプロセス内でローカルにシェルコードを実行する方法に加え、プロセスのアドレス空間の境界を越えてリモートで実行する方法についても詳細に学びます。シェルコードは難読化や暗号化が施されていないと即座に検知されてしまうため、実行直前に復号する手法を習得します。インプラントのもう一つの機能として、AV製品の回避が挙げられます。回避には様々な手法がありますが、本セクションでは特に、関数のフック解除、システムコールの復元、そして独自のフックの実装に焦点を当てます。シェルコードの実行やAV検知率の低減は重要ですが、標的マシンから情報を収集する手段がなければ意味がありません。そこで、インプラントがオフライン分析用にオペレーターへ情報を送信し、次のタスク(指示)を受け取る仕組みについても学習します。

ラボの詳細

  • ローカルおよびリモートプロセスでのシェルコード実行
  • ユーザーからのプロセス隠蔽
  • 関数フックへの対処
  • 悪意あるペイロードを実行するための関数パッチ適用

トピックの詳細

  • シェルコードの生成と実行
  • プロセスの隠蔽
  • Doppelgänging
  • フックの解除(Unhooking)
  • コード・ケイブ(Code Caves)
  • AV製品の回避
  • C2通信(Calling Home)
  • C言語によるシェルコード作成

キャプチャ・ザ・フラッグ

セクション6は、没入型の「Capture the Flag」形式の課題です。ここでは、学習したスキルを複雑な現実世界のシナリオ・シミュレーションに適用し、独自のツールを開発する能力が試されます。

取り上げられるトピック

  • 標的の偵察
  • AVの回避
  • 権限昇格
  • 永続化の仕組み
  • システム・フック

概要

このCapture the Flagイベントでは、現実世界の事象を模した一連のハンズオン課題に取り組みます。受講者は国家レベルのチームに所属するシニア開発者という役割を担い、標的を攻撃するためのサイバー能力を構築します。課題を解決するには、その週に学んだすべての知識とスキルを駆使する必要があります。しかし、学んだスキルはあくまで出発点に過ぎません。標的ごとに状況が異なるため、受講者は標的への初期アクセスを足掛かりにし、その特定の標的に合わせて独自に開発したツールのみを使用してアクセスを拡大していく必要があります。

トピックの詳細

  • 標的の調査と偵察
  • AV回避
  • 権限昇格
  • 永続化
  • フック
  • コードインジェクション

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