PureRAT と PureLogs キャンペーン:日本の企業を標的
Detection stack
- AIDR
- Alert
- ETL
- Query
概要
日本と韓国の組織を対象にした洗練されたフィッシングキャンペーンは、損傷した製品や返金要求をテーマにした欺瞞的なメールを使用しています。この攻撃は、カスタマイズされた Donut ローダーや Python インタープリター、BYOVD 技術を含む複数のローダーの実装に依存して、PureRAT と PureLogs スティーラーを展開します。このマルウェアは、ブラウザ、暗号通貨ウォレット、メッセージングアプリケーションから機密データを収集するように設計されています。
調査
調査では、メールヘッダーを調査し、PHP Swift Mailerライブラリと独自の Feedback-ID パターンを使用した共通の配信インフラストラクチャを特定しました。研究者は複数のローダーバリアントを分析し、DLL サイドローディング、AMSIとETWのバイパス、脆弱なLenovo BootRepair.sys ドライバーを介して BYOVD によってセキュリティ製品を終了させる手法を発見しました。ペイロードの復号化プロセスは、GZip 圧縮と組み合わせた TripleDES-CBC を使用しています。
緩和策
組織は、FromヘッダーとReply-To ヘッダーの不一致や不審なURLパターンを識別するために、メールフィルタリングを強化するべきです。エンドポイントの制御は、異常なDLLサイドローディング、BYOVDに関連する不正なドライバーのインストール、異常なスケジュールタスクの作成を監視するべきです。信頼されていないPythonインタープリターを制限し、不審なプロセスハロウィングやAMSIの改ざんを検出することで、更なるリスクを低減できます。
対応
PureRATまたはPureLogsの活動が検出された場合、追加のデータ盗難とC2通信を防ぐために、影響を受けたエンドポイントを隔離します。無許可のドライバを含むシステムを調査し、 BootRepair.sys スタートアップフォルダやタスクスケジューラーを通じた永続化を確認します。マルウェアによってアクセスされた可能性があるブラウザ、暗号通貨ウォレット、メッセージングアプリケーションのユーザーの資格情報をリセットします。
攻撃フロー
この部分はまだ更新中です。
検出
可能な永続化ポイント [ASEPs – Software/NTUSER Hive] (レジストリイベント経由)
永続化のための手動サービスまたはドライバーのインストールの可能性 (コマンドライン経由)
悪意のあるファイルの二重拡張子の可能性 (プロセス作成経由)
LOLBAS WScript / CScript (プロセス作成経由)
オートスタート場所における不審なバイナリ / スクリプト (ファイルイベント経由)
パブリックユーザープロファイルにある不審なファイル (ファイルイベント経由)
通常ではないトップレベルドメイン (TLD) DNSリクエストによる不審なコマンド&コントロール (dns経由)
IOCs (HashSha256) で検出: 日本の組織を標的としたPureRATとPureLogsキャンペーン
PureRATのためのC2通信とフィッシングキャンペーンの分析 [Windows ネットワーク接続]
日本の組織を標的としたPureRATとPureLogsキャンペーンからの指標 [Windows プロセス作成]
シミュレーション実行
-
攻撃のストーリーとコマンド: 敵対者はフィッシングメールを通じて初期アクセスに成功し、PureRATマルウェアを使用してコマンド&コントロール(C2)チャネルを確立しようとしています。標準的なシグネチャベースの検出を回避するために、ハードコードされたドメインを利用しています。シミュレーションは
tirakian.comに解決して接続し、ファイアウォール/ネットワークベースの検出ルールをトリガーします。 -
回帰テストスクリプト:
# PureRAT C2接続のシミュレーションで検出をトリガーします $maliciousDomain = "tirakian.com" Write-Host "$maliciousDomainへのC2接続のシミュレーションを試みています..." try { # DNSとネットワークログの両方を生成するためにResolve-DnsNameとInvoke-WebRequestを使用しています Resolve-DnsName -Name $maliciousDomain Invoke-WebRequest -Uri "http://$maliciousDomain" -Method Get -UseBasicParsing } catch { Write-Host "期待通りに接続に失敗しました(ドメインが生きていない可能性あり)、しかしテレメトリーは生成されるはずです。" } -
クリーンアップコマンド:
# 永続的なアーティファクトは作成されていないため、このネットワークベースのシミュレーションにクリーンアップは必要ありません。 Write-Host "シミュレーションクリーンアップ完了。"