悪意のあるメールを介して展開されたScreenConnectバックドア
Detection stack
- AIDR
- Alert
- ETL
- Query
概要
メールのフィッシングキャンペーンが社会保障庁を偽装して悪意のあるペイロードを配信します。被害者は偽のウェブサイトにリダイレクトされ、カスタマイズされたScreenConnectクライアントインストーラをダウンロードするよう促されます。インストールされると、このソフトウェアはバックドアとして機能し、攻撃者に対して改ざんされたシステムへの持続的なリモートアクセスを提供します。
調査
調査では、悪意のあるメールヘッダー、フィッシングサイト、および関連するネットワークトラフィックを検査しました。アナリストは、フィッシングメールを配信するために使用された特定のIPアドレスと、偽のSSAランディングページをホスティングしているドメインを特定しました。ネットワーク分析では、ポート443を介した暗号化されたScreenConnect通信も確認されました。
軽減策
組織は、フィッシングの試みに対抗するために強力なメールフィルタリングを展開し、既知の悪意のあるドメインへのアクセスを制限する必要があります。ユーザーは偽装された送信者アドレスを識別し、未承諾のメール内のリンクを避けるよう訓練されるべきです。ScreenConnectのようなリモート管理ツールのインストールを制限または管理することで、攻撃の表面をさらに縮小することができます。
対応策
悪意のある活動が発見された場合、影響を受けたホストは直ちに隔離され、さらなる指揮・制御通信を停止すべきです。対応者は、侵害の範囲を特定するために完全なフォレンジック分析を行うべきです。潜在的に暴露された資格情報は取り消され、リモートセッション中に導入された追加の持続性メカニズムに対してシステムがチェックされるべきです。
攻撃の流れ
この部分はまだ更新中です。
検出
代替リモートアクセス/管理ソフトウェア(process_creation経由)
代替リモートアクセス/管理ソフトウェア(system経由)
代替リモートアクセス/管理ソフトウェア(audit経由)
リモートアクセスソフトウェアドメイン通信試行による可能性のある指揮・制御活動(dns経由)
IOCs(HashSha256)を検出する: 悪意のあるメールからのScreenConnectを使用したバックドア
IOCs(SourceIP)を検出する: 悪意のあるメールからのScreenConnectを使用したバックドア
IOCs(DestinationIP)を検出する: 悪意のあるメールからのScreenConnectを使用したバックドア
ScreenConnectリモートアクセス検出[Windowsネットワーク接続]
シミュレーション実行
-
攻撃の物語とコマンド: 敵はシステム上に足場を築き、ScreenConnectインスタンスを使用してリモートアクセスを維持しようとしています。既知の悪意のあるIPを探す標準検出を回避するために、公式のScreenConnectリレー機構を利用します。攻撃者は次の接続を実行します
instance-udppxf-relay.screenconnect.comポート443で。このアクションは正当な暗号化されたウェブトラフィックに見えるように設計されていますが、特に検出ルールで定義されたターゲットドメインに一致します。 -
回帰テストスクリプト:
# シミュレーションスクリプト: ScreenConnectドメイン検出をトリガーする # このスクリプトは、ルールによってターゲットとされる特定のドメインに接続を試みます。 $TargetDomain = "instance-udppxf-relay.screenconnect.com" $Port = 443 Write-Host "ポート$Portで$TargetDomainへの接続を試みています。検出をトリガーします..." -ForegroundColor Cyan try { # フルウェブスタックを必要とせずに接続試行をシミュレートするためにTCPクライアントを使用します $TcpClient = New-Object System.Net.Sockets.TcpClient $Connect = $TcpClient.BeginConnect($TargetDomain, $Port, $null, $null) $Success = $Connect.AsyncWaitHandle.WaitOne(5000, $false) if ($Success) { Write-Host "$TargetDomainへの接続が成功しました。検出がトリガーされるはずです。" -ForegroundColor Green $TcpClient.EndConnect($Connect) $TcpClient.Close() } else { Write-Host "接続がタイムアウトしました。ドメインがオフラインかもしれませんが、試行はファイアウォールによって記録されるはずです。" -ForegroundColor Yellow } } catch { Write-Host "エラーが発生しました: $($_.Exception.Message)" -ForegroundColor Red } -
クリーンアップコマンド:
# スクリプトによって永続的な変更は加えられていません。 # 単にTCP接続が閉じられていることを確認してください(スクリプトで処理済み)。 Write-Host "シミュレーションクリーンアップ完了。ホストに残っているアーティファクトはありません。" -ForegroundColor Green