SOC Prime Bias:

01 12月 2025 17:35

Play ランサムウェアがGrixba偵察キャンペーンでSentinelOneとして偽装

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Follow
Play ランサムウェアがGrixba偵察キャンペーンでSentinelOneとして偽装
shield icon

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アクセスログを注意深く確認すべきです。

graph TB %% Class Definitions classDef action fill:#99ccff classDef malware fill:#ff9999 classDef data fill:#ccffcc %% Nodes initial_access[“<b>アクション</b> – <b>T1021.001 リモートサービス: RDP</b><br/>攻撃者は RDP を使用して初期アクセスを取得し、<b>GT_NET.exe</b> と <b>data.dat</b> を C:\Users\Public\Music に配置する”] class initial_access action tool_gt_net[“<b>マルウェア</b> – <b>名称</b>: GT_NET.exe<br/><b>説明</b>: RDP セッション中に配置されるカスタム .NET ペイロード”] class tool_gt_net malware execution_obfusc[“<b>アクション</b> – <b>T1027.007 動的 API 解決</b><br/>難読化された .NET ツールが Base64 および XOR エンコードを使用して機能を隠蔽する”] class execution_obfusc action discovery[“<b>アクション</b> – <b>T1016 システムネットワーク構成の探索</b>, <b>T1018 リモートシステム探索</b>, <b>T1595.001 アクティブスキャン: IP ブロックのスキャン</b><br/>Grixba は内部ネットワークをスキャンし、ホスト、ソフトウェア、実行中のプロセスを列挙する”] class discovery action collection[“<b>アクション</b> – <b>T1560.001 収集データのアーカイブ: ユーティリティによるアーカイブ</b><br/>収集結果は ExportData.db に書き込まれ、その後パスワード保護された data.zip に圧縮される”] class collection action credential_extraction[“<b>アクション</b> – <b>T1140 ファイルまたは情報の復号/デコード</b><br/>XOR キーをデコードして data.dat を復号し、ZIP のパスワードを生成する”] class credential_extraction action preparation[“<b>アクション</b> – 次段階への準備<br/>収集したインテリジェンスは権限昇格および脆弱性悪用に使用される”] class preparation action %% Connections initial_access u002du002du003e|配置| tool_gt_net tool_gt_net u002du002du003e|実行| execution_obfusc execution_obfusc u002du002du003e|実施| discovery discovery u002du002du003e|つながる| collection collection u002du002du003e|生成| credential_extraction credential_extraction u002du002du003e|可能にする| preparation

攻撃フロー

シミュレーション実行

前提条件: テレメトリ & ベースライン事前フライトチェックが合格している必要があります。

根拠: 本セクションは、検出ルールを発動させるために設計された敵対者技法 (TTP) の正確な実行を詳述します。コマンドと詳細な説明は、識別されたTTPに直接反映され、検出ロジックが期待する正確なテレメトリを生成することを目的としています。抽象的な例や無関係な例は誤診につながります。

  • 攻撃の話 & コマンド:

    敵は侵害されたワークステーションで初期足場を得ました。横方向移動の前に内部ネットワークをマップするため、Grixba偵察バイナリ(GT_NET.exe)を指揮統制サーバーからダウンロードし、Sigmaルールがターゲットとする引数セットで実行します。選ばれた引数 -m:scanall -i:d はドメインに参加したホストの完全な発見を強制し、-i:r と-i:f はそれぞれリモートシェアとファイルシェアを列挙します。これらの引数はツールのデフォルトのペイロードに典型的であり、検出ルールが監視する明確なコマンドライン文字列を生成します。

    ステップ:

    1. ツールのダウンロード(テストフォルダからのコピーでシミュレート)。
    2. 各ターゲット引数セットでバイナリを実行 各ケースに対してルールが発動することを確認します。
    3. プロセスをしばらくの間実行させ 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は存在しません;削除するものはありません。"