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

SECURITY 505

Securing Windows and PowerShell Automation

※本コースは中止となりました。次回開催をお待ちください。

Blue Team Operations

English
日程

2024年1月22日(月)~1月27日(土)

期間
6日間
講義時間

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

受講スタイル
Live Online
会場

オンライン

GIAC認定資格
GCWN
講師
Clay Risenhoover|クレイ リゼンフーバー
SANSプリンシパルインストラクター
言語
英語 英語教材・同時通訳
定員
40名
CPEポイント
36 Points
受講料

【早割価格】1,220,000 円(税込み:1,342,000 円)
※キャンペーン価格のため、他の割引の重複適用はできません。ご了承ください。
【通常価格】1,350,000 円(税込み:1,485,000 円)

申込締切日
【早割価格】2023年12月27日(水)
【通常価格】2024年1月12日(金)
オプション
  • GIAC試験 価格:160,000 円(税込 176,000 円)
  • OnDemand 価格:160,000 円(税込 176,000 円)
  • NetWars Continuous 価格:270,000 円(税込 297,000 円)

※オプションの価格は、コース本体と同時にお申し込みいただく場合のみ有効です。

※コース本体のお申し込み後から講義開始までの間に、GIAC試験オプションを追加される場合は、事務手数料10,000円(税込11,000円)をいただきます。

※講義開始後のGIAC試験のお申込みは、こちらのページ(英語)をご参照のうえ、GIACへ直接お申し込みください。

受講に必要なPC環境

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

ノートパソコンの条件

重要以下の説明に従って設定したシステムを持参してください!

このコースに完全に参加するためには、適切に設定されたシステムが必要です。これらの指示を注意深く読み、それに従わなければ、このコースに不可欠な実地演習に参加できないため、満足できないままクラスを去ることになるでしょう。従って、コースで指定されたすべての要件を満たすシステムで参加されることを強くお勧めします。

SEC505にご参加の際は、以下のものをご持参ください:

  • 8GB以上のメモリ、USBポート、お好きなOSを搭載したノートパソコン。
  • Oracle VirtualBoxやVMwareなど、ローカルにインストールした仮想化ソフトウェアを使用し、授業初日までにWindows Server VMを作成します。
    リモートの仮想化サーバーやクラウド上でVMを実行したり作成したりしないでください。
  • MicrosoftからWindows Server 2022の評価版を無料でダウンロードできます。このISOファイルは無料で、ライセンス番号も必要ありません。
    site:microsoft.comのwindows server trial evalをクリックするだけで、マイクロソフトのウェブサイトからISOをダウンロードできます。
  • Windows Server 2022の無償評価版を実行する仮想マシン(VM)をインストールしてください。
    Windows Server VMをインストールする際、"Windows Server 2022 Datacenter Evaluation (Desktop Experience)" のオプションを選択してください。
    それ以外の特別なOS設定は必要ありません。インストール時にデフォルト設定をすべて受け入れるだけです。
    セットアップに関するご質問は、SANS(laptop_prep@sans.org)までお問い合わせください。

注意:M1プロセッサを使用したアップル社のシステムは、必要な仮想化機能を実行できないため、このコースには使用できません。
Windows Server VMにパッチやアップデートを適用しないでください。

トレーニング当日の朝ではなく、事前にWindows Server VMをインストールしてください。そうすることで、ファームウェアの問題やVMの作成に関するその他の問題が発生しないようになります。
IT部門が遅すぎたり、ロックダウンされた「貸し出し用ノートパソコン」を渡して、トレーニングの経験を台無しにしないようにしてください。
ノートパソコンに管理者権限があり、仮想マシンを2台作成でき、USBフラッシュドライブからファイルをコピーできる必要があります。


セットアップに関するご質問

ノートパソコンやVMのセットアップについてご質問がある場合は、laptop_prep@sans.orgまでお問い合わせください。

Windows Serverをインストールする際の「Desktop Experience」オプションはどのようなものですか?

Windows Server インストール ISO ファイルから VM を起動すると、以下の画面が表示されます。Windows Server 2022 Datacenterのリストの一番下にある「Desktop Experience」オプションを選択します。
d554d1c169a45e898295985f6fa1c6d87ce69559

Windows Server 2022の無償評価版はどこで入手できますか?

マイクロソフト社からWindows Server 2022の無料バージョンをISOイメージファイルとしてダウンロードすることができます(ISOファイルとは、CD/DVDディスクのエクスポートされたコピーのことです)。site:microsoft.comのwindows server trial evalをクリックするだけで、マイクロソフトのウェブサイトにあるISOファイルへのダウンロードリンクが見つかります。ライセンス番号は必要ありません。
コース受講の際は、ISOファイルをハードディスクに保存してお持ちください。

VMware Workstationがライセンス番号の入力を求めるか、ライセンスエラーメッセージを表示します!

Windows Serverの評価版を持っていることを確認してください。
VMWare Workstationで仮想マシンを作成する場合、「後でオペレーティングシステムをインストールする」というオプションを選択し、Windows Server用のISOファイルのパスを、最初の作成時ではなく、VMの作成後に指定するのがベストです。
82b8be0c628c6b8c34437adca3f43fe2dfba1af3

VMが作成されたら、そのVMのSettingsに行き、ソースISOファイルのパスを指定する。これで、VMを起動しても、評価ライセンスの問題は発生しないはずです。SANS(laptop_prep@sans.org)までお問い合わせください。

なぜSANSは参加者に構築済みの仮想マシンを提供しないのか?

マイクロソフトは、ISOのダウンロードが無料でライセンス番号も必要ないにもかかわらず、Windows Server仮想マシンの評価版を再配布することを許可していません。
また、インターネット・アクセスや他の仮想化されたラボ環境に依存しないよう、自分のローカルVMを持ち帰ることができるようにしています。

SEC505のコースウェアのダウンロードを教えてください。

1)Microsoftからダウンロードした無料のWindows ServerインストールISO
2)SANSポータルからダウンロードしたSEC505コースウェアマニュアルPDFファイル
3)SANSポータルからダウンロードしたSEC505コースウェアISOラボファイルです。
授業初日の朝にファイルをダウンロードしないでください。事前にこれらのファイルをダウンロードし、VMを作成してください。

ご不明点がある場合

ノートパソコンの要件や仮想マシンのセットアップに関するご質問は、laptop_prep@sans.org までお問い合わせください。

SEC505 コース概要

ウィンドウズ・セキュリティの自動化とは

このコース(SEC505)では、以下のことを学びます:

  • WindowsとActive Directoryのセキュリティ自動化のためのPowerShellスクリプトを書く
  • ネットワーク上の数千台のホストでPowerShellスクリプトを安全に実行
  • ランサムウェアなどのPowerShellマルウェアからの防御
  • 熟練した攻撃者からWindows ServerおよびWindows 10/11を守る

特に、PowerShell を使用して、MITRE ATT&CK マトリックスに記載されている多くの攻撃、特に盗まれた管理者認証情報、ランサムウェア、LAN 内でのハッカーの横移動、および RDP や SMB などの安全でない Windows プロトコルから Windows を保護します。
このコースを修了すると、Windows環境のセキュリティを確保するための独自のPowerShellスクリプトを書き始める準備が整います。Windowsのセキュリティチェックリストを見つけるのは簡単ですが、何千台ものマシンの変更を自動化するにはどうすればよいのでしょうか?多数のリモートマシンでスクリプトを安全に実行するにはどうすればよいのでしょうか。このコースでは、WindowsやActive Directoryのセキュリティだけでなく、PowerShellを使ってセキュリティを管理する方法を学びます。

Powershellの構文を学ぶだけでなく、PowershellをWindowsセキュリティの戦力として活用する方法を学ぶ。

PowerShellが人気になった理由はもう一つある:PowerShellはとにかく楽しいのです!PowerShellは単なるスクリプト言語以上のもので、コーディングの達人でなくてもすぐに使い始めることができます。
PowerShellの習得は、もうひとつのセキュリティ、つまり雇用の安定にも役立つ。雇用主はPowerShellのスキルを持ったIT人材を求めています。このコースに参加するためにPowerShellを学ぶ必要はありません。
PowerShellの基本的な構文はYouTubeで無料で学べますが、今週は構文をはるかに超える内容です。このコースでは、PowerShellをセキュリティ管理のプラットフォームとして、ブルーチームの「戦力」として、そしてWindows ITキャリアのロケットブースターとして活用する方法を学びます。

Pwershellランサムウェアスクリプトを作成し、それを防御する

残念ながら、PowerShellはハッカーやマルウェア作者に悪用されています。コースの最終日には、独自のランサムウェア・スクリプトを作成し、このようなスクリプトに対する防御方法を確認します。
経験豊富なWindows管理者にとっても、目からウロコの楽しいコースです。PowerShellとWindowsセキュリティを同時に楽しく学びましょう。
このコースの著者である Jason Fossen 氏は、SANS Institute のフェローであり、1998 年から SANS のために執筆や講義を行っています。実際、このコース(SEC505)では、10年以上前から少なくとも1日はPowerShellを扱っており、今ではPowerShellがコースの中心となっています。

本トレーニングのトピック

  • Windows Management Instrumentation (WMI)のPowerShellスクリプティング
  • PowerShellリモートコマンド実行
  • PowerShellコアとOpenSSH
  • PowerShell Just Enough Admin (JEA)
  • Active DirectoryのPowerShellスクリプティング
  • Microsoft LAPSを置き換えるPowerShellスクリプト
  • YubiKeysなどのPowerShell証明書認証
  • TLS、RDP、SMBのPowerShellハードニング
  • PowerShellマルウェアとLAN内部への横移動
  • PowerShellランサムウェア - 簡単すぎる、あまりにも簡単すぎる

以下のスキルを習得できます。

  • セキュリティ自動化のためのPowerShellスクリプトを作成する。
  • リモートシステム上でPowerShellスクリプトを実行する。
  • PowerShell自体を悪用されないようにし、SIEMのトランスクリプション・ロギングを有効にする。
  • PowerShellを使用してWMIサービスにアクセスし、リモートコマンドの実行、イベントログの検索、偵察などを行います。
  • グループ・ポリシーとPowerShellを使用して、攻撃が成功した場合(違反したと仮定した場合)の被害を軽減する方法で管理者権限を付与する。
  • Windowsファイアウォール、IPsec、管理者クレデンシャル保護などを使用して、ハッカーやランサムウェアの横の動きをブロックします。
  • PowerShellを使用して、AppLockerやその他のWindows OSのハードニング技術を使用したエクスプロイトをスケーラブルな方法で防止します。
  • Windows 版 Linux の sudo と setuid root を作成するために、Just Enough Admin (JEA) ポリシーを使用するように PowerShell リモーティングを設定します。
  • パスザハッシュ攻撃、Kerberos ゴールデンチケット、リモートデスクトッププロトコル(RDP)中間者攻撃、セキュリティアクセストークンの不正使用、その他 SEC504 やその他の SANS ハッキングコースで説明されている攻撃に対する防御策を設定する。
  • スマートカード、証明書の自動登録、オンライン証明書ステータスプロトコル(OCSP)ウェブレスポンダー、なりすましルート証明書認証(CA)の検出を含む、完全なWindows公開鍵基盤(PKI)のインストールと管理。
  • SSL、RDP、DNS、PowerShell Remoting、SMBなど、悪用されないように重要なプロトコルを強化する。

受講者へ配布物

  • デジタルダウンロードパッケージには、コースの著者によって書かれた200以上のPowerShellスクリプトと、ラボで使用されるセキュリティテンプレートやその他のツールが含まれています。
    スクリプトはパブリックドメインで、https://BlueTeamPowerShell.com からダウンロードできます。
  • 印刷版のテキスト
  • 電子コースウェアは、単なるスライドとまばらなノート以上のものです。このコースウェアは、スクリーンショットやラボの練習問題など、教科書のように書かれています。
    一般的に、SEC505の受講生がセミナー中に手書きのメモを取る必要はほとんどありません。
  • 全コースの音声をダウンロードして保管することができます。

受講対象者

  • Windows ServerおよびActive Directoryの概念に精通していることが前提ですが、専門家である必要はありません。
  • コマンドシェルを開き、引数を指定してスクリプトを実行することには慣れているはずだ。
  • PowerShellスクリプトの経験は問いません。PowerShellコーディングの基礎を一緒に学びましょう。

※SEC505は、GIAC(GCWN)認定試験対象コースです。

GCWN ( GIAC Certified Windows Security Administrator )

GIAC 認定 Windows システム管理者(GCWN)資格は、Microsoft Windows クライアントおよびサーバーのセキュリティを確保する能力を認定するものです。GCWN 認定者は、Microsoft オペレーティングシステムおよびアプリケーションのセキュリティを設定および管理するために必要な知識とスキルを有しています:PKI、IPSec、グループポリシー、AppLocker、PowerShell、およびマルウェアや永続的な敵対者に対する Windows の強化が含まれます。

  • PowerShellのセキュリティ
  • ゼロ・トラスト多要素認証
  • Windowsエンドポイントプロテクション
  • オペレーティング・システムとアプリケーションのハードニング
  • PKI管理
  • 管理上の妥協の制限

講義内容の一例

コース開発者より

「私がSANSのために執筆するコースは、常に2つの問いによって導かれています:

(1) 管理者はネットワークのセキュリティを確保するために何を知る必要があるのか?
(2) ITプロフェッショナルとしてキャリアアップするために、管理者は何を学ぶべきか?

私はマイクロソフト社の社員でもマイクロソフト社叩きでもないので、ここではどちらの宣伝もしません。私が心配しているのは、あなたのネットワークとキャリアの健全性である。私はセキュリティ・コンサルタントとして、(良いことも、悪いことも、醜いことも)すべてを見てきました。私の経験は、SANSのために書くマニュアルやセミナーで話す話に生かされています。WindowsのセキュリティとPowerShellの自動化コースは、インターネットではなかなか見つけることのできない、興味深く有益なアドバイスが満載です。いつも楽しい時間を過ごしていますので、次回のトレーニングイベントでお会いできることを楽しみにしています。」

- Jason Fossen, SANS Faculty Fellow(@JasonFossen)


「SEC505は最初から最後まで素晴らしく、最終日には1週間を通して学んだことをすべてまとめてくれます。ジェイソン・フォッセンはこのトピックを驚くほど深く知る素晴らしい講師です。」

- Jim Blanchard, JPMC

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

SEC505.1: Learn PowerShell Scripting for Security

概要

本講座では、PowerShellを使い始めるために必要な知識を学びます。スクリプトやプログラミングの経験がなくても大丈夫です。週を通してPowerShellラボを行いますので、今日だけがPowerShellの教材ではありません。基本的なことから始め、週が進むにつれて、より深く掘り下げていきます。PowerShellラボでは、すべてのステップを順を追って説明していきますので、ご安心ください。すでにPowerShellの経験がある方は、中級者向けのトピックもあります。
今週のラボのほとんどはPowerShellを使用し、その他のラボではPowerShellに相当するものがない場合など、必要な場合にのみグラフィカルなセキュリティツールを使用する。
PowerShell CoreはWindows PowerShellとは異なります。PowerShell Coreは、Windows、Linux、macOS用の新しいクロスプラットフォーム版のPowerShellだ。PowerShell Coreの完全なソースコードはGitHubにある。PowerShell CoreにはOpenSSHとの統合が組み込まれています。このコースでは、Windows PowerShellとPowerShell Coreの両方を使用します。
システムのクラウド化が進むにつれ、PowerShellの重要性はさらに高まるだろう。Amazon Web Services、Microsoft Azure、Office 365、Hyper-V、VMwareは、すでに多くのタスクでPowerShell管理をサポートしている。PowerShellを学ぶことは、ネットワーク・セキュリティの管理にも、仕事のセキュリティにも役立つ。
あなたのコースのメディアファイルには、コースの著者が書いた200以上のPowerShellスクリプトが含まれています。週中のマニュアルで示されるPowerShellコードは、すべてコースのメディアファイルに含まれます。すべてのスクリプトはパブリックドメインであり、個人またはビジネスで制限なく使用できます(https://BlueTeamPowerShell.com からダウンロードできます)。

トピックス

PowerShellは危険である(そして楽しい)

  • PowerShellは簡略化されたC#のようなもの
  • テキストではなく、.NETとCOMオブジェクトのパイピング
  • WindowsとAzure自動化のバックボーン
  • PowerShellを包むグラフィカルな管理ツール
  • 組み込みのリモート・スクリプト実行

独自のスクリプト、関数、モジュールを書く

  • スクリプトに引数を渡す
  • プロファイルスクリプト内のコマンドレット、関数、エイリアス
  • フロー制御: if-then、do-while、foreach、switch
  • .NET Frameworkクラスライブラリ:広大な遊び場
  • スクリプトからデータを出し入れする方法
  • 独自のモジュール・スクリプトの作成方法

PowerShellで素早く立ち上げ、実行する

  • コマンドの出力をキャプチャする
  • 正規表現パターンによるテキストファイルとログの解析
  • レジストリをドライブとしてマウントする
  • サードパーティのモジュールと関数のインポート
  • https://www.PowerShellGallery.com

テキストの代わりにオブジェクトをパイピングする

  • クラス、オブジェクト、プロパティ、メソッド
  • オブジェクトの配列は、SQLレコードのテーブルのようなものです。
  • 必要なプロパティだけを抽出する
  • CSV、HTML、XML、JSONファイルへのオブジェクトのエクスポート
  • オブジェクト(テキストではない)のフィルタリング、ソート、グループ化

SEC505.2: You Don't Know THE POWER!

概要

数行のコードで何千ものシステム上でPowerShellスクリプトを実行するには?今日は、PowerShell Remoting、WindowsのSSHサービス、タスク・スケジューラ・サービス、グループ・ポリシーで割り当てられたブートアップ・スクリプトを使ったリモート・コマンド実行について説明します。
OpenSSHはLinuxだけのものではありません。Windowsは現在、クライアントとしてもサーバーとしてもSecure Shell (SSH)をビルトインでサポートしている。PowerShell CoreもSSHをネイティブサポートしている。もうPuTTYは必要ない。
PowerShell Remotingは、PowerShellスクリプトの暗号化されたリモートコマンド実行で、数千台のワークステーションやサーバーに拡張可能です。PSEXEC.EXEよりもはるかに優れています。リモーティングトラフィックはSSL/TLS、IPsec、SSHで暗号化され、スマートカードやYubiKeyで認証されます。
しかし、パワーは常に諸刃の剣だ。PowerShell Remotingはランサムウェアやハッカーにも悪用される可能性があります。PowerShell Remotingを使用できるグループを制限し、各グループが実行できるコマンドを制限することはできますか?はい、これはPowerShellのJEA(Just Enough Admin)と呼ばれています。JEAは、非管理者ユーザが管理者権限を持つコマンドをリモートで実行できるようにしますが、管理者認証情報は一切公開されません(Linuxのsetuid rootのようなものです)。JEAを使用すると、明示的に許可したコマンドを除き、すべてのPowerShellコマンドがデフォルトでブロックされます。MicrosoftのWindows Admin Center(WAC)ウェブ・アプリケーションのように、PowerShell JEAの上にグラフィカル・アプリケーションを構築することもできる。
PowerShell RemotingとSSHは素晴らしいですが、それでも十分なスケールではありません。毎晩(あるいは毎時間)、何万台ものホスト上で何十ものPowerShellスクリプトを実行する必要がある場合は、タスク・スケジューラ・サービスが必要です。ビルトインのタスク・スケジューラ・サービスは、PowerShellとグループ・ポリシーを使ってリモートで管理することができます。ランサムウェアもしばしばタスク・スケジューラを使用します。ここでは、管理者認証情報を保護しながら、昇格した権限でスケジュールされたPowerShellスクリプトを実行する方法について説明します。
グループ・ポリシーについてはすでにご存知かもしれませんが、本日のコースではグループ・ポリシーのPowerShell機能に重点を置きます。グループ・ポリシーを使用して、PowerShellスクリプトを何千ものホストにプッシュし、誰もログオンしていなくても、ハンズフリーでスクリプトを実行させることができます。これらのスクリプトは、共有フォルダ、syslogパケット、またはSIEMロギングを通じて、私たちにデータを返すことができます。
今日のPowerShellリモート・コマンド実行の資料は、管理者にとってしばしば衝撃的なものだ。善悪両方の可能性が非常に大きい!

トピックス

PowerShellリモーティング

  • PowerShellによるリモートコマンドシェル
  • スマートカードとYubiKey認証
  • SSL/TLS、SSHまたはIPsecを使用してトラフィックを暗号化する。
  • スケジュールタスクでのリモートコマンド実行
  • PowerShell Remotingプロトコルを使用したファイルのアップロードとダウンロード
  • グラフィカルなアプリもPowerShellリモーティングを利用できる

Windows上のOpenSSH

  • WindowsはSSHサーバーになれるのか?はい!
  • OpenSSHのサポートがWindowsに組み込まれた
  • PowerShell CoreとSSHの統合
  • インターネット用にSSHをハード化する
  • SSHのKerberos認証と公開鍵認証

PowerShell Just Enough Admin (JEA)

  • JEAはLinuxのsetuid rootのようなものだ。
  • PowerShellコマンドと引数の制限
  • コマンドの詳細な転記ロギング
  • JEAの設定方法
  • 特権アクセスワークステーション(PAW)用JEA

PowerShell、グループ・ポリシー、タスク・スケジューラ

  • PowerShell起動スクリプトとログオンスクリプトの展開
  • グループポリシーのスケジュールタスクによるPowerShellスクリプトの実行
  • タスクスケジューラサービスと管理者認証情報
  • PowerShellスクリプトのWMIアイテムレベルのターゲティング

SEC505.3: WMI and Active Directory Scripting

概要

PowerShellはWindows Management Instrumentation(WMI)サービスに深く統合されている。PowerShellコマンドの多くは、WMI関数のラッパーに過ぎない。ハッカーもWMIサービスが大好きだが、その理由は間違っている。
WMIサービスはデフォルトで有効になっており、ネットワーク経由でアクセスできます。PowerShell WMIスクリプトを使えば、リモートでコマンドを実行したり、マシンを再起動したり、ユーザーを強制的にログオフしたり、プロセスを強制終了したり、その他いろいろなことができる。今日は、これらすべてを実行する方法を見ていこう。WMIスクリプトは少し難しいですが、奇妙な名前空間とクラスをすべて一緒に見ていきましょう。
今日はPowerShellを使ってActive Directoryの検索、管理、セキュリティーを行います。PowerShellを使えば、放置されたユーザーアカウントを見つけ、無効にすることができます。スケジュールされたスクリプトを使って、必要なグループ・メンバーシップを強制することができます。何千ものユーザーアカウントのパスワードをリセットすることができます。また、ハッカーがパスワードを総当たりで入力するような場合でも、PowerShellスクリプトを使用することで、標的となるアカウントを見つけることができます。もちろん、悪意のあるインサイダーもBloodhoundツールのように同じことができます。
Active Directoryのすべてのオブジェクトには権限と監査設定がある。単純にIT部門の全員をDomain Adminsグループに加えるのではなく、組織単位(OU)レベルでより正確に権限を委譲することができる。PowerShellやグラフィカルツールを使用しても、これらのActive Directoryの権限は常にドメインコントローラーによって強制されます。
Microsoft LAPSは使わないでください!管理者パスワードを保護するには、もっと良い方法がある。PowerShellを使ってActive Directoryのドメインアカウントを管理することもできますが、PowerShellを使ってサーバーやワークステーションのローカル管理者アカウントとパスワードをMicrosoft LAPSよりも優れた方法で管理することもできます。本日は、LAPSよりも優れたPowerShellラボを実施します。カンファレンスの後、LAPSの代わりにこれらのスクリプトをネットワークで使用することを歓迎します。
PowerShellはスクリプトとコマンドシェルだけ?いいえ!Windows Admin Center (WAC)は、Webブラウザでリモート管理するための無料のMicrosoft Webアプリケーションです。WACは、WMIとPowerShell Remotingの両方を使用しています。これは、オンプレミスとAzureの両方でマシンを管理するために、MicrosoftがPowerShellをグラフィカルなツールでラッピングしている素晴らしい例だ。WACをインストールし、それが公開するPowerShell関数を見てみよう。


トピックス

WMIによるPowerShellベースライン

  • WMIとは何か、なぜハッカーたちはWMIを悪用するのか?
  • WMIによるリモートコマンド実行
  • PowerShellを使用してWMI名前空間とクラスを照会する
  • WMIサービスの認証とトラフィックの暗号化
  • リモートシステムのベースライン監査
  • Microsoft Windows Admin Center (WAC) ウェブアプリケーション
  • ハッカーとマルウェアの可視化のためのWMIロギング

Active DirectoryのためのPowerShell

  • PowerShellによるActive Directoryのクエリと管理
  • ドメイン管理者グループメンバーシップの強制
  • 放棄されたユーザーアカウントの無効化とパスワードのリセット
  • パスワード総当たり攻撃の検出
  • フィルター条件による組織単位の検索
  • PowerShell 用 ADSI Edit およびその他のヘルパーツール
  • アクティブディレクトリ管理センター(ADAC)

Active Directoryの権限と監査

  • Active Directoryオブジェクトにはパーミッションがある
  • Active Directoryオブジェクトの監査
  • Active DirectoryでPowerShellスクリプトができることを制限する
  • PowerShellスクリプトがActive Directoryで行っていることをログに記録する
  • 代わりにOUレベルで権限を委譲する
  • ActiveDirectoryの設計

SEC505.4: Hardening Network Services with PowerShell

概要

PowerShellは、特にAzureやAWSでホストされている場合、Windows Server、Server Core、Server Nanoを構成し、ハードニングするための主要なツールです。今日は、PowerShellを使用して、ロールのインストール、サービスの管理、スタンドアロン・サーバーへのグループ・ポリシー・オブジェクトの適用(これは可能です)、その他のセキュリティ・タスクを実行する方法を紹介します。その過程で、PowerShellの新しいテクニックも学んでいきます。
ホストベースのファイアウォールは、LAN内部でのハッカーの横方向の動きや、マルウェアが "ビーコン "または "電話ホーム "する際のマルウェアのアウトバウンド接続をブロックすることができる。モバイル・デバイスの場合は、ホスト・ベースのパケット・フィルタリングを行う必要がある。なぜなら、モバイル・デバイスはLANの外を移動するため、境界ファイアウォールでは保護できないからだ。そのコツは、スケーラブルで反復可能な自動化された方法で、異なるマシン・セットに異なるファイアウォール・ルール・セットを適用できることだ。これをPowerShellと内蔵のWindowsファイアウォールで実現する。
IPsecはVPNのためだけのものではない!実際、今日はVPNについては全く触れない。組み込みのWindows IPsecドライバは、Active Directoryのユーザーのグローバルグループメンバーシップに基づいて、TCP/UDPリスニングポートの共有パーミッションを実装するために、Active Directoryでユーザーを認証することができます。PowerShellスクリプトを使用して、(1)リモートコンピューターがIPsecによってドメインのメンバーであることが事前認証されている、(2)ユーザーがDomain Adminsグループのメンバーであることが事前認証されている、(3)パケットがすべて256ビットAESで暗号化されている、(4)クライアントが許可されたサブネットのIPアドレスを持っている場合にのみ、RPC、RDP、またはSMBポートへのアクセスを許可するように、ワークステーションやサーバー上のWindowsファイアウォールを構成することを想像してみてください。これは可能なだけでなく、本日のコースではPowerShellを使った具体的な方法をご紹介します!

トピックス

DevOpsのためのサーバー・ハードニング・オートメーション

  • Server ManagerをPowerShellに置き換える
  • 役割と機能の追加と削除
  • 役割と機能のインベントリをリモートで収集
  • なぜServer NanoやServer Coreを使うのか?
  • サービス障害後にPowerShellを自動的に実行する
  • サービスアカウントのID、パスワード、リスク
  • サービスアカウントのパスワードを安全にリセットするツール

Windowsファイアウォール・スクリプティング

  • WindowsファイアウォールルールのPowerShell管理
  • マルウェアのアウトバウンド接続をブロック
  • リスニング・ポートのロール・ベースのアクセス制御
  • ユーザー認証のための深いIPsec統合
  • ファイアウォールのログをテキストログではなくイベントログに記録

IPsecポート認証によるゼロ・トラスト

  • IPsecルールのPowerShell管理
  • 侵入後の横の動きをブロックするIPsec
  • グローバルグループメンバーシップに基づくポートへのアクセス制限
  • IPsecベースの暗号化VLAN
  • IPsecはVPNのためだけのものではない!

PowerShellの可視化と検出

  • PowerShellによる転記ロギング
  • WMIネームスペースの監査
  • Windowsイベントログ監査ポリシー
  • PowerShellでWindowsイベントログを照会する

SEC505.5: Certificates and Multifactor Authentication

概要

YubiKeysなどのスマートカードやスマートトークンは、多要素認証(MFA)のゴールドスタンダードです。今日はPowerShellを使って、スマートカードやスマートUSBトークンのデプロイに使用できる証明書サーバーをインストールします。スマート・カードとトークンは、PowerShell Remoting、PowerShellスクリプトの署名、リモート・デスクトップ・プロトコル(RDP)のログオン、ユーザー・アカウント制御(UAC)、ASP.NETウェブ・アプリケーションのログオンなどに使用できます。
管理者向けに完全なスマートカード/トークン・ソリューションを展開するのに必要なものは、カードとトークンそのものを除いて、すべてWindowsに含まれている。PowerShellとグループ・ポリシーを使えば比較的簡単です。
ノートパソコンやタブレットにTPM(Trusted Platform Module)チップを搭載している場合、TPMを内蔵スマートカードとして使用することもできる。TPMベースのスマートカードはユーザーには見えないため、AppleのiPhoneに搭載されているセキュリティ・プロセッサと同様、トレーニングはほとんど必要ありません。TPMはまた、バイオメトリック・データを保護し、BitLockerキーを暗号化し、Windows 10/11のクレデンシャル・ガードを強化するのに役立ちます。Windows 11ではTPMが必須であり、もはやオプションではありません!
PowerShell Remotingのネットワークトラフィックは、SSL/TLSで暗号化することができます。ターゲットサーバーは、HTTPSを使用するWebサーバーのように、証明書で認証されます。ユーザーも証明書で認証され、できればスマートカードやトークンに格納されます。今日は、SSL/TLSを使用し、ユーザからスマートカードまたはトークンを要求するようにPowerShell Remotingを設定します。これらの同じ証明書とスマートカードは、RDPにも使用できます。
組織では、他にも多くの目的で証明書が必要になります。本日のコースでは、PowerShellスクリプトへの署名、失効チェックのためのオンライン証明書ステータスプロトコル(OCSP)レスポンダのインストール、証明書のインストールと更新をハンズフリーで行うための自動登録の設定、PowerShellを使用したエンドポイント上の信頼されたルート証明書認証の監査と管理などを行います。

トピックス

PowerShellの証明書認証とTLS暗号化

  • PowerShellリモーティングのスマートカード認証用証明書
  • PowerShellリモーティングのTLS暗号化用証明書
  • AppLocker用PowerShellスクリプトに署名する証明書
  • PowerShellでWMIクエリをTLS暗号化するための証明書
  • 管理者パスワードを暗号化する証明書(LAPSの代わり)
  • ウェブサーバー、ドメインコントローラー、その他すべての証明書

PowerShellでWindows証明書サーバをインストールする

  • 公開鍵基盤(PKI)のPowerShellインストール・スクリプト
  • PowerShellでデジタル証明書を管理する
  • Active Directoryのカスタム証明書テンプレート
  • 証明書の自動登録を制御する
  • オンライン証明書ステータスプロトコル(OCSP)レスポンダ・ウェブファームの設定
  • 証明書失効リスト公開の設定

スマートカード、スマートトークン、TPM仮想スマートカードの導入

  • 多要素認証のゴールド・スタンダードは、スマート・カード/トークンである。
  • ログオン、PowerShellリモーティング、その他のためのYubiKeyスマートトークン
  • トラステッド・プラットフォーム・モジュール(TPM)仮想スマートカード
  • Windows 11にはTPMが必要
  • 他のユーザーに代わってトークンやカードを安全に登録できる
  • 危殆化した証明書を失効させる方法
  • 信頼されたルートCAを監査するPowerShellスクリプト
  • ハッカー証明書を削除するPowerShellスクリプト

セキュリティのベストプラクティス

  • 証明書の秘密鍵をマルウェアから守る
  • PKIスマートカードおよびスマートトークンの使用方法
  • ハードディスク上の秘密鍵を暗号化する方法
  • CA用ハードウェア・セキュリティ・モジュール(HSM)
  • PowerShellスクリプトにデジタル署名する方法
  • SSLは終わり、TLS万歳
  • TLS暗号スイートの最適化

SEC505.6: PowerShell Security, Ransomware, and DevOps

概要

今日はPowerShellのランサムウェア・スクリプトを書き、トレーニング用VMの中で解き放ちます(野放しにしてはいけません、連邦刑務所に行くことになります)。この倫理的ハッキングの目的は、この種のPowerShellの悪用に対する防御について議論することです。
PowerShell自体をセキュアにするには?PowerShellは単一のツールではありません。PowerShellを魔法のように「安全」にするレジストリ値やパッチは存在しませんが、私たちにできることはたくさんあります。本日は、将来の侵害を防止し、侵害後に被る被害を軽減し、フォレンジック、インシデント対応、脅威探索のためにPowerShellの悪意のある活動を可視化するための、多くの防御テクニックを取り上げます。
ハードニング作業を自動化したいので、新しいサーバーやワークステーションを構築するためのDevOps PowerShellスクリプトに、すべてのネットワーク設定を含めて、防御の変更もロールバックします。このスクリプトは、このコースの前の日に行われた PowerShell の教材をすべてまとめたものです。その目的は、できるだけ手作業を少なくしてWindowsマシンを再設定できるようになることです。コンピュータがマルウェアに感染しているかどうか疑わしい場合、そのマシンをゼロから再構築することで「軌道上から核攻撃」できるようにしなければならない。
最も重要なことは、PowerShell マルウェアが管理者認証情報を取得するのを防ぐことです。マルウェアは、パスザハッシュ攻撃やKerberos Golden Ticket攻撃などのように、権限の昇格や他のマシンへの横移動のために、メモリから認証情報をスクレイピングすることができます。ランサムウェアがドメイン管理者の認証情報を盗むと、ゲームオーバーになります。
パスザハッシュ攻撃やトークンの不正使用を防御するために、LSASSメモリ保護、クレデンシャル・ガード、リモート・クレデンシャル・ガード、ネットワーク・ログオン権限の制限、ユーザー・アカウント制御(UAC)、RDP制限管理モードなどについて説明します。これらの設定はすべて、PowerShellスクリプトで適用または監査できます。
防御側の視点から見ると、PowerShellは素晴らしい。C++のハッカーツールと比較すると、私たちは敵対者にPowerShellを使ってもらいたいと思っています。PowerShellのトランスクリプション・ロギングは、敵の戦術を深く可視化します。マルウェアが難読化されている場合でも、メモリ内のPowerShellマルウェアを検査するための特別なアンチウィルス・スキャン・インターフェイス(AMSI)があります。Just Enough Admin(JEA)サンドボックスを使ってPowerShellリモーティングをロックし、AppLockerルールを適用してPowerShellの実行を制限することができます。

トピックス

PowerShellランサムウェア

  • ラボでPowerShellランサムウェアスクリプトを作成します。
  • ランサムウェア対策として何ができるか?
  • バックアップを取るだけでは不十分

PowerShellのエクスプロイト対策

  • PowerShell用AppLocker
  • PowerShellでAppLockerをスクリプト化する
  • PowerShell実行ポリシー
  • PowerShell制約言語モード
  • アンチマルウェア・スキャン・インターフェイス(AMSI)
  • ピボッティングをブロックするためにネットワークへのアクセスを制限する
  • 変更検出のためのハッシュスクリプト
  • PowerShellスクリプトに電子署名を付ける方法
  • (エンドポイントの)最小特権の原則
  • ドメイン管理者クレデンシャルの盗難を全力で防ぐ!
  • Windows 10/11 クレデンシャル・ガード
  • RUNAS.EXEの代わりにユーザーアカウント制御(UAC)

キャップストーンDevOps PowerShell オーケストレーション・エンジン

  • PowerShellですべてをまとめる
  • OSのハードニングを含むオールインワンのビルド・スクリプトの書き方
  • ロール、機能、ネットワーク、ポリシーなどのためのPowerShell。
  • セキュリティDevOpsにはクロスプラットフォームの自動化が必要
  • 私たちは皆、すぐに「フルスタック・エンジニア」になる必要がある。

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