Play ランサムウェアがGrixba偵察キャンペーンでSentinelOneとして偽装
Detection stack
- AIDR
- Alert
- ETL
- Query
概要
このレポートは、Playランサムウェアの手口を詳述しており、カスタム.NET偵察ユーティリティGrixbaを利用し、RDPを介してWindowsサーバーに展開しています。GrixbaはSentinelOneの実行ファイル(GT_NET.exe)として偽装され、スキャン出力を ExportData.dbに保存します。このツールはPIA VPNのIPアドレスと通信し、パスワード保護された data.zip アーカイブを生成します。これらのアーティファクトを早期に発見することで、ランサムウェア段階以前に攻撃を阻止することができます。
Playランサムウェア攻撃分析
Field Effect MDRはGrixbaバイナリが C:UsersPublicMusic にドロップされ、次に data.datと共に実行され、 GT_NET.exe が実行され、XORキーが抽出されて inf_g.dllをデコードしました。さらなる分析で偵察や ExportData.dbの作成に使われるコマンドラインスイッチが明らかになりました。調査チームはまた、解除に必要なハードコーディングされたパスワード要素を回収しました。 data.zip.
軽減策
推奨される対策には、信頼できるバックアップの維持、ソフトウェアの迅速なパッチ適用、DNSファイアウォールの利用、安全なVPN使用の実施、MFAの適用、およびMDR/XDRプラットフォームを使った偵察活動の早期検出があります。チームはGrixbaに関連する明確なアーティファクトと実行挙動を継続して監視するべきです。
対応方法
GT_NET.exe、data.dat、inf_g.dll、またはExportData.dbが検出された場合、対応者はエンドポイントを隔離し、揮発性証拠をキャプチャし、埋め込まれた値からZIPパスワードを導き出し、横方向の動きやランサムウェアの段取りがないか調査すべきです。インシデントハンドラーは関連するIPアドレスをブロックし、RDPアクセスログを注意深く確認すべきです。
攻撃フロー
検出
特定のコマンドライン引数を持つGrixba偵察ツールの実行を検出 [Windowsプロセス作成]
表示
RDP経由でドロップされたGrixba偵察ツールを検出 [Windowsファイルイベント]
表示
IOC(DestinationIP)を検出: Grixbaの偽装: Playランサムウェアがセキュリティ警備のためにSentinelOneを装う
表示
IOC(SourceIP)を検出: Grixbaの偽装: Playランサムウェアがセキュリティ警備のためにSentinelOneを装う
表示
IOC(HashSha256)を検出: Grixbaの偽装: Playランサムウェアがセキュリティ警備のためにSentinelOneを装う
表示
シミュレーション実行
前提条件: テレメトリ & ベースライン事前フライトチェックが合格している必要があります。
根拠: 本セクションは、検出ルールを発動させるために設計された敵対者技法 (TTP) の正確な実行を詳述します。コマンドと詳細な説明は、識別されたTTPに直接反映され、検出ロジックが期待する正確なテレメトリを生成することを目的としています。抽象的な例や無関係な例は誤診につながります。
-
攻撃の話 & コマンド:
敵は侵害されたワークステーションで初期足場を得ました。横方向移動の前に内部ネットワークをマップするため、Grixba偵察バイナリ(
GT_NET.exe)を指揮統制サーバーからダウンロードし、Sigmaルールがターゲットとする引数セットで実行します。選ばれた引数-m:scanall -i:dはドメインに参加したホストの完全な発見を強制し、-i:rと-i:fはそれぞれリモートシェアとファイルシェアを列挙します。これらの引数はツールのデフォルトのペイロードに典型的であり、検出ルールが監視する明確なコマンドライン文字列を生成します。ステップ:
- ツールのダウンロード(テストフォルダからのコピーでシミュレート)。
- 各ターゲット引数セットでバイナリを実行 各ケースに対してルールが発動することを確認します。
- プロセスをしばらくの間実行させ SIEMがイベントをキャプチャできるようにします。
-
回帰テストスクリプト:
# 回帰テストスクリプト – Grixba偵察ツールの実行 # ---------------------------------------------------- # 仮定: # • GT_NET.exeはC:TempGT_NET.exeにあります(実際のパスに置き換えてください) # • バイナリの呼び出しに十分な特権で実行中 # ---------------------------------------------------- $exePath = "C:TempGT_NET.exe" if (-Not (Test-Path $exePath)) { Write-Error "GT_NET.exeが$exePathに存在しません。中止。" exit 1 } # 1. Execute with -m:scanall -i:d Write-Host "`n[+] GT_NET.exeを'-m:scanall -i:d'で起動中..." Start-Process -FilePath $exePath -ArgumentList "-m:scanall -i:d" -WindowStyle Hidden -PassThru | Out-Null Start-Sleep -Seconds 5 # 2. Execute with -i:r Write-Host "`n[+] GT_NET.exeを'-i:r'で起動中..." Start-Process -FilePath $exePath -ArgumentList "-i:r" -WindowStyle Hidden -PassThru | Out-Null Start-Sleep -Seconds 5 # 3. Execute with -i:f Write-Host "`n[+] GT_NET.exeを'-i:f'で起動中..." Start-Process -FilePath $exePath -ArgumentList "-i:f" -WindowStyle Hidden -PassThru | Out-Null Start-Sleep -Seconds 5 Write-Host "`n[+] 実行完了。SIEMで検出を検証してください。" -
クリーンアップコマンド:
# クリーンアップ – 残っているGT_NET.exeプロセスを終了し、バイナリを削除します Get-Process -Name "GT_NET" -ErrorAction SilentlyContinue | Stop-Process -Force $exePath = "C:TempGT_NET.exe" if (Test-Path $exePath) { Remove-Item $exePath -Force Write-Host "[+] GT_NET.exe削除済み。" } else { Write-Host "[*] GT_NET.exeは存在しません;削除するものはありません。"