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ワークフローのステップを追加し、スプレッドシートにも実行結果を書き込むや
ホスト名をキーにして検索し、スプレッドシートの値を自動的に変更する
といったことも可能かと思います。