emocheckを実行しSlackへ通知するPower Shellを書いてみた

Emotetがまた流行っていますね
JPCERTが公開しているemocheckを実行し、実行結果をSlackに通知するようにしてみます
emocheckはこちらからダウンロードできます
https://github.com/JPCERTCC/EmoCheck/releases

目次

Slackワークフロービルダーを作成する

Webhookの追加

まずはSlackワークフローを作成します

  1. スペース名をクリック→「ツール」→【ワークフロービルダー】をクリックします
  2. 【作成】をクリックします
  3. ワークフロー名をつけて、【次へ】をクリックします
  4. Webhookを選択します
  5. 【変数を追加する】をクリックします
  6. 「キー」に値を入力し、データタイプは文字列を選択します。
    【変数を追加する】をクリックし、下記キー値を設定します
  7. キー値を追加し、【保存する】をクリックします
キー データタイプ
scan_time 文字列
hostname 文字列
emocheck_version 文字列
is_infected 文字列

Slackへのメッセージ通知を追加する

  1. 【ステップを追加】をクリックします
  2. 「メッセージを送信」を追加します
  3. メッセージを通知するチャンネルを指定し、【変数を挿入する】をクリックし以下のように設定します。
  4. 【保存する】をクリックします
  5. 【公開する】をクリックします
  6. 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

通知テスト

  1. 作成したPower Shellを実行します
  2. emocheckが実行され、Slackに下記のように通知されれば成功です

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

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次