1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Microsoft Defender for Endpoint プラグイン for Windows Subsystem for Linux (WSL) を試す

Posted at

1. はじめに

私は WSL2 (Windows Subsystem for Linux 2) が大好きで、主に API の接続テストや Python スクリプトの開発環境に用いています。仮想環境でも特殊なツールなので、セキュリティはあまり考えていなかったのですが、ふと Microsoft のサイトを見ていたら WSL2 用に Microsoft Defender for Endpoint のプラグインが提供されていることを見つけました。
かなりマニアックな部類ですが、こちらを試してみたいと思います。

2. 何ができるのか

  • WSL2 で動かしている Linux での EDR 検知が出来るようになります
  • EPP は残念ながら未対応のようです

[参考] 事前調査 - 企業内でハンティングする

企業内に WSL を用いているユーザー、端末があるかどうかをハンティングクエリーで調査することが出来ます。

  • 企業内で wsl.exe を実行したことがある端末の調査
DeviceProcessEvents
| where ActionType has "ProcessCreated"
| where ProcessVersionInfoOriginalFileName has "wsl.exe"
| where ProcessVersionInfoFileDescription has "Windows Subsystem for Linux"
| summarize by DeviceName
  • 既に Windows PC に MDE プラグインをインストールしているかの調査
DeviceTvmSoftwareInventory
| where SoftwareName has "microsoft_defender_for_endpoint_plug-in_for_wsl"
| summarize by DeviceName
  • 組み合わせ (WSLをインストールしているが MDE プラグインをインストールしていない端末のリスト)
let WSLDevices = DeviceProcessEvents
| where ActionType has "ProcessCreated"
| where ProcessVersionInfoOriginalFileName has "wsl.exe"
| where ProcessVersionInfoFileDescription has "Windows Subsystem for Linux"
| project DeviceName;
WSLDevices
    | join kind=leftanti (DeviceTvmSoftwareInventory
    | where SoftwareName has "microsoft_defender_for_endpoint_plug-in_for_wsl"
    | project DeviceName
) on DeviceName
| distinct DeviceName

4. 試してみる

4.1 インストール

WSL2 のインストールは Defender XDR の設定画面より、「エンドポイント」の「デバイス管理」からオンボード画面に出てきます。こちらの「Linux 用 Windows サブシステム 2 (プラグイン)」から、インストールパッケージのダウンロードが出来ます。

image.png

インストールは WSL 内の Linux 環境ではなく、利用している Windows マシンにプラグインのモジュールをインストール形式です。

image.png

インストールが完了すると、以下のディレクトリに WSL2 を監視する MDE のモジュールが作成されます。

  • C:Program Files\Microsoft Defender for Endpoint Plug-in for WSL
    image.png
  • C:Program Data\Microsoft Defender for Endpoint Plug-in for WSL
    image.png

4.2 動作確認

実際に WSL2 の Linux 側のエージェントが導入されてはいないので、MDE Linux の mdatp コマンドは使えません。ヘルスチェック用のコマンドとして、上記インストールフォルダの tools 内に healthcheck.exe が用意されています。
以下のような healthy ステータスになっていれば、Microsoft Defender for Endpoint プラグイン for WSL が正常に起動していることになります。

image.png

4.3 Defender XDR 側での見え方

Defender XDR 側では、デバイスのアセットとして WSL2 の Linux が表示されます。

  • マシン名は、Windows デバイスと一緒
  • タグに WSL2 が自動付与(カスタマイズで変更も可能)

image.png

デバイスの情報は以下のように表示されます。
IaaS の他マシンとは異なり、脆弱性やアセット情報(在庫)、セキュリティ推奨事項などは表示されません。
image.png
タイムラインは Linux と同じように見ることが出来ます。
image.png
EDR による検知では、アラートとインシデントが作成され、XDR ポータルで確認することが出来ます。
image.png

4.4 EDR テスト方法

MDE Linux 用に提供されているスクリプトを用いて、疑似アラートが生成できます。

$ wget -o MdeLinuxEdrTest.zip https://aka.ms/LinuxDIY
$ unzip MdeLinuxEdrTest.zip
$ chmod +x ./mde_linux_edr_diy.sh
$ ./mde_linux_edr_diy.sh

image.png

なお、組み込み型の MDE ではないため、EPP (マルウェア保護)は対象外です。
EICAR ツールは普通にDLができてしまいますのでご注意ください。

image.png

5. まとめ

企業内で WSL2 を開発用として許可している場合に、WSL2 側で疑わしい試みを実施しているような逃げ道を検知する手段として使えるのではと思います。MDE を試している方でご興味がある方はぜひ試していただけたらと思います。

*本稿は、個人の見解に基づいた内容であり、所属する会社の公式見解ではありません。また、いかなる保証を与えるものでもありません。正式な情報は、各製品の販売元にご確認ください。

6. 参考リンクなど

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?