NRIセキュアではNews BitesやOUCH! を日本語に翻訳して皆さまにお届けしています。
購読制を採っておりますので、
ご希望の方は、ニュースレター登録からお申し込みください。
Advanced Exploit Development for Penetration Testers
Penetration Testing and Ethical Hacking
English2023年3月6日(月)~3月11日(土)
1日目:9:00-19:30
2日目~5日目:9:30-19:30
6日目:9:30-17:30
【為替差益還元キャンペーン※】1,080,000 円(税込み 1,188,000円)
※キャンペーン価格のため、他の割引の重複適用はできません。ご了承ください。
※オプションの価格は、コース本体と同時にお申し込みいただく場合のみ有効です。
演習で使用するノートPCをご準備下さい。受講に必要なPC環境についてご確認ください。
重要! この説明書に従って設定されたご自身のシステムをお持ちください。
このコースに完全に参加するためには、正しく設定されたシステムが必要です。この説明書をよく読み、それに従わない場合、このコースに不可欠な実習に参加できないため、満足のいく授業が受けられない可能性が高くなります。そのため、コースで指定されたすべての要件を満たすシステムを持って来ることを強くお勧めします。
クラスの演習を行う際には、複数のオペレーティングシステムを実行するために、VMwareを持参する必要があります。Windows 10、各種Linuxディストリビューション、IDA Proの4ヶ月ライセンス(Hex-Raysを通じて割引価格で購入(延長)可能)など、必要なツールをすべて搭載した仮想マシンがコース初日に提供される予定です。OSやアプリケーションの構成が非常に特殊なラボがあります。これらのラボでは、クラス内のネットワーク上に存在する仮想マシンにRDPで接続します。これらのシステムは持ち帰ることができませんが、特定のOSやアプリケーションのビルドを入手することができれば、自宅で再現するために必要な詳細が提供されます。
仮想マシンゲスト間の接続に問題がある場合、ホスト OS のアンチウイルスおよびパーソナルファイアウォールを含むすべてのセキュリティソフトウェアおよび保護機能を無効にする管理能力があることを確認してください。このレベルの管理能力がないと、演習を完了できない場合があります。さらに、その性質上、管理者やセキュリティのコントロールによってブロックされる可能性のあるソフトウェアをインストールできることを確認してください。ネットワーク接続によるWindows Kernelのデバッグのため、ホストOSにWindowsデバッグツールをインストールできる必要があります。ホストはWindows 10を推奨します。ホストがMac OSまたはLinuxディストリビューションの場合は、Windows 10のゲストVMをお持ちください。
以下の要件の遵守を必須とします。
授業のメディアは、現在ダウンロードで配信されています。授業で使用するメディアファイルは、40~50GBの大容量となる場合があります。ダウンロードが完了するまでには、十分な時間が必要です。インターネット接続と速度は、多くの異なる要因によって大きく異なります。そのため、教材のダウンロードにかかる時間の目安をお知らせすることはできません。リンクを入手したら、コースメディアのダウンロードを開始してください。授業初日には、コースメディアがすぐに必要になります。授業開始の前夜にダウンロードを開始すると、失敗する可能性が高くなります。
SANSでは、PDF形式の印刷物の提供を開始しました。さらに、一部のクラスでは、PDFに加え、電子ワークブックを使用しています。電子ワークブックを使用するクラスは、今後急速に増加すると思われます。この新しい環境では、セカンドモニターやタブレット端末があれば、講師の講義中やラボの演習中に授業資料を見ることができ、便利であることが分かっています。
Microsoft Windows 10や11、最新のLinuxディストリビューションなどの最新OSの脆弱性は、非常に複雑で巧妙であることが多い。しかし、非常に高いスキルを持つ攻撃者に悪用された場合、これらの脆弱性は組織の防御力を低下させ、大きな損害にさらされる可能性があります。複雑な脆弱性がなぜ存在するのかを発見し、それを侵害するためのエクスプロイトを作成するスキルを持つセキュリティ専門家は、ほとんど存在しません。逆に言えば、攻撃者は、複雑さが増しているにもかかわらず、このスキルセットを維持しなければならないのです。SANS SEC760: 侵入テスト担当者のための高度なエクスプロイト開発では、アプリケーションのリバースエンジニアリングによる脆弱性の発見、リモートユーザーアプリケーションとカーネルのデバッグ、ワンデイエクスプロイトのためのパッチ分析、高度なファジング、Windowsカーネルや最新のLinuxヒープなどのターゲットに対する複雑なエクスプロイトの記述に必要なスキルを学び、同時に最先端の悪用防止策に対して回避または対処することができるようになります。
学ぶこと
できるようになること
得られるもの
ハンズオンラボ
前提条件
SANS SEC660で扱われているようなテクニックを使ってエクスプロイトを書いた経験があることが必須となります。Advanced Penetration Testing, Exploit Writing, and Ethical Hackingで扱われているようなテクニックを使って、エクスプロイトを作成した経験があることが必須です。これには、Linux と Windows の両方におけるスタックベースのバッファオーバーフローの経験、およびデータ実行防止、アドレス空間レイアウトのランダム化、カナリア、SafeSEH などの最新のエクスプロイト緩和策を打ち破った経験が含まれます。AFL、Sulley Fuzzing Framework、Peach などのファジングツールの使用経験または理解が必要です。プログラミングの経験が重要であり、C/C++が望ましい。最低限、Python、Perl、Ruby、LUAなどの言語によるスクリプトの経験が必須です。Pythonの使用経験があることが強く推奨されます。関数、ポインタ、呼び出し規約、構造体、ポリモーフィズム、クラスなどのプログラミングの基本的な知識は想定しています。また、脆弱なコードをリバースエンジニアリングした経験や、デバッガやディスアセンブラからx86/x64のディスアセンブルを読み取る能力も必要です。ARMとMIPSはこのコースでは扱いません。LinuxとWindowsの両方のナビゲーション経験が必要です。これらの要件を満たさない場合、コースのペースについていけない可能性があります。
SEC760につながるコース
SEC660: Advanced Penetration Testing, Exploit Writing, and Ethical Hacking
FOR610: Reverse-Engineering Malware: Malware Analysis Tools and Techniques
SEC760の前提条件となるコース
SEC660: Advanced Penetration Testing, Exploit Writing, and Ethical Hacking
SEC760は、IDAによるリモートデバッグ、IDA PythonおよびIDCスクリプトの作成、Linuxヒープオーバーフロー、パッチ差分、ユースアフターフリー攻撃、Windowsカーネルのデバッグとエクスプロイトなど、非常に難しいトピックを扱うコースです。コースの詳細については、シラバスをご覧ください。また、推奨される前提条件とラップトップの要件も必ずご確認ください。受講者は、WindowsおよびLinuxアプリケーションのエクスプロイトの書き方、DEPやASLRなどのエクスプロイト緩和制御の回避、リターン指向プログラミング(ROP)の活用について、すでに知っていることが期待されています。
SANSには、このコースについて多くの質問が寄せられます。SEC760を受講する準備はできていますか?SEC660を先に受講した方が良いですか?SEC660を受講しましたが、SEC760を受講する準備はできていますか?SEC560を受講していますが、エクスプロイト開発教材だけであれば、SEC760にすぐに移行できますか?SANSのペンテスト・コースを受講したことがないのですが、どのコースから始めるべきでしょうか?Offensive SecurityやCorelanのコースを受講したことがありますが、教材は同じですか?
これらの質問に対する回答は、人によって経験レベルが異なるため、「一律に同じ」ということはありません。受講を検討されているコースのシラバスと前提条件をよくお読みになることをお勧めします。コースの共同執筆者であるStephen Simsは、お客様が十分な情報を得た上で決断できるよう、このテーマに関するあらゆる質問にお答えしています。彼の連絡先は、stephen@deadlisting.com です。
SANSは、あなたがSEC660とSEC760のどちらに適しているかを判断するのに役立つ10問のテストを用意しています。これは、純粋にエクスプロイト開発の観点からのものであることを忘れないでください。SEC660には、エクスプロイト開発入門とエクスプロイト緩和制御のバイパスに関する2つのセクションの資料が含まれています。SEC660では、ネットワークデバイスのエクスプロイト(ルータ、スイッチ、ネットワークアクセスコントロール)、暗号実装のペンテスト、ファジング、Python、ネットワークブート攻撃、LinuxやWindowsの制限環境からの脱出など、高度な侵入テストに関する幅広い内容が多く含まれているのです。SEC760の受講者の多くは、Offensive Security、Exodus Intelligence、Corelanなどのトレーニングを受講しています。重複しているセクションもありますが、重複していないユニークなセクションも多く、受講生からは互いに補完し合っているとよく言われます。
情報セキュリティの永遠の学習者として、SEC760: Advanced Exploit Writing for Penetration Testersを提供できることに興奮しています。エクスプロイトの開発はホットなトピックであり、今後もその重要性は増していくでしょう。Windows 10などのOSが提供する最新のエクスプロイト緩和制御のすべてにおいて、動作するエクスプロイトを作成するスキルを持つ専門家の数は非常に限られています。脆弱性を発見し、その脆弱性が悪用可能かどうかを判断し、一般的なセキュリティ調査を行う能力を持つ専門家を雇用したいと考える企業はますます増えています。このコースは、このような非常に人気の高い職種に就くために書かれたもので、ターゲットを徹底的に評価する最先端のトリックを学び、エクスプロイト開発を向上させるスキルを身につけることができます。
- Stephen Sims
SEC760: Advanced Exploit Writing for Penetration Testersは、私のこれまでのエクスプロイト作成経験と技術システムの知識を、共有に値する形式に抽出する機会を与えてくれました。このコースは、さまざまなエクスプロイト技術を紹介するものであり、最新のアプリケーションやシステムをエクスプロイトするための素晴らしい出発点として機能するものです。このコースは、エクスプロイト・ライティングや脆弱性研究の分野でキャリアを積むつもりがなくても、エクスプロイトを構築するための思考プロセスや、エクスプロイト・ライターの成功を阻止するための技術について理解する上で、貴重なものとなるでしょう。
- Jaime Geiger
SEC760は、非常にお勧めできる素晴らしいコースです。まさにペンテストのカリキュラムの "頂点 "と言えるでしょう。Jaimeは、私たち初心者に複雑な内容を説明する素晴らしい仕事をし、物事を具体的かつ分かりやすく説明していただきました!
- Markus Dauberschmidt, Siemens
このコースでは、まず、成熟したエクスプロイトの緩和策と最新の緩和策について深く掘り下げます。今日、脆弱性の悪用を阻止するために緩和策の組み合わせを使用しないアプリケーションやオペレーティングシステムに出会うことは稀です。産業用制御システムやモノのインターネットの分野など、時代遅れのオペレーティングシステムやアプリケーションも存在しますが、このコースの焦点はそこではありません。Windows Defender Exploit Guard で実装されているような各コントロールの有効性と技術的な詳細について説明し、カーネルの緩和策について深く掘り下げます。初日の残りの時間は、オプションでコースにバンドルされているIDA Proを使用します。ディスアセンブラとしてのIDA Proの基本を素早く習得し、このツールによるリモートデバッグに移ります。セクション1の最後には、IDA FLIRTとFLAIRを活用し、IDAPythonスクリプトを書いて、バグ探しと解析に役立てます。
より高度なリバースエンジニアリングやエクスプロイトを行うには、SANSのSEC660コースで扱うような基本的なソフトウェアの脆弱性を専門家レベルで理解していることが必要です。ヒープオーバーフローは、最新のエクスプロイト技術への通過儀礼のようなものです。このセクションでは、このような知識のギャップを埋めることで、コースをさらに進めるために必要な、より抽象的な方法での思考を促すことを目的としています。Linux は、これらのテクニックを習得する上でより簡単なオペレーティングシステムであり、Windows への生産的なゲートウェイとして機能する場合があります。エクスプロイト開発に関する多くのコースは、純粋にWindows OSにフォーカスしていますが、Linux OSの脆弱性調査についても理解しておくことが重要です。
このセクションでは、SEC660で扱ったものよりもさらに高度なファジングツールと技術に焦点を当てます。ファジングの概要と再確認の後、クローズドソースアプリケーションファジング、コードカバレッジなどのファジングメトリクス、ファジングハーネスの構築、フルシステムファジングなど、より高度なファジング技術とアーキテクチャに踏み込んでいきます。また、人気の高いWinAFLファザーを使って、PDFリーダーをファジングし、脆弱性を探します。
攻撃者は、マイクロソフトなどのベンダーからパッチが配布されるとすぐにダウンロードし、新たにパッチが適用された脆弱性を見つけ出すことが多い。通常、脆弱性は非公開で公開され、また社内で発見されることもあるため、ベンダーはより静かに脆弱性にパッチを当てることができます。このため、ベンダは、パッチが適用された脆弱性についての詳細を限定的に、あるいは全く公表しないことも可能です。攻撃者はこのことを認識しており、多くの組織がパッチを迅速に提供することに苦労しているため、パッチが適用されていないシステムを制御するために、迅速にパッチを適用した脆弱性を見つけ出そうとします。バイナリ差分とパッチ差分は、インシデントハンドラ、IDS管理者やベンダー、脆弱性テストや侵入テストのフレームワーク企業、政府機関などでも実施されています。このセクションでは、マイクロソフトがパッチを適用したバグを特定し、そのうちのいくつかを悪用するために使用される資料です。このセクションの最後には、Windows カーネル内部の紹介に焦点を当て、セクション 5 のカーネルドライバのデバッグとエクスプロイトに備えることができます。
Windows 10のカーネルデバッグを行い、その固有の複雑さへの対処を学びます。演習では、Ring 0 ドライバの脆弱性を分析し、エクスプロイトのテクニックを確認し、エクスプロイトを実行できるようにします。
最後のセクションでは、1週間を通して学習した内容の中から様々なタイプの課題を用いて、Capture-the-Flagイベントを開催します。リバースエンジニアリング、バグ発見、エクスプロイト作成などのスキルを、1日中Capture-the-Flagの演習で試してみてください!