Emotetがまた流行っていますね
JPCERTが公開しているemocheckを実行し、実行結果をSlackに通知するようにしてみます
emocheckはこちらからダウンロードできます
https://github.com/JPCERTCC/EmoCheck/releases
目次
Slackワークフロービルダーを作成する
Webhookの追加
まずはSlackワークフローを作成します
- スペース名をクリック→「ツール」→【ワークフロービルダー】をクリックします

- 【作成】をクリックします

- ワークフロー名をつけて、【次へ】をクリックします

- Webhookを選択します

- 【変数を追加する】をクリックします

- 「キー」に値を入力し、データタイプは文字列を選択します。
【変数を追加する】をクリックし、下記キー値を設定します
- キー値を追加し、【保存する】をクリックします
| キー | データタイプ |
|---|---|
| scan_time | 文字列 |
| hostname | 文字列 |
| emocheck_version | 文字列 |
| is_infected | 文字列 |
Slackへのメッセージ通知を追加する
- 【ステップを追加】をクリックします
- 「メッセージを送信」を追加します

- メッセージを通知するチャンネルを指定し、【変数を挿入する】をクリックし以下のように設定します。

- 【保存する】をクリックします
- 【公開する】をクリックします

- URLコピーをクリックし、URLを控えておきます

PowerShellを作成する
emocheck_v2.1.1_x64.exeがC:\emocheck に保存されている想定です
毎回違うファイル名でJSONファイルが作成されるので、JSONファイルがあったら削除するっていう適当なコードを書いてます
$url = 上記でコピーしたURL
$filecheck = (Test-Path "*.json")
Write-Output $filecheck
if ($filecheck) {
Remove-Item "*.json"
}
$ret = Invoke-Command -ScriptBlock {.\emocheck_v2.1.1_x64.exe /quiet -json}
Invoke-RestMethod -Uri $url -InFile "*.json" -ContentType 'application/json' -Method Post
通知テスト
- 作成したPower Shellを実行します
- emocheckが実行され、Slackに下記のように通知されれば成功です

exeとps1を同じフォルダにおいて、intunewin化すればIntuneからの実行も可能なはずです。
Slackワークフローのステップを追加し、スプレッドシートにも実行結果を書き込むや
ホスト名をキーにして検索し、スプレッドシートの値を自動的に変更する
といったことも可能かと思います。
