SOC Prime Bias: Critical

04 Nov 2026 11:53 UTC

CVE-2026-111357 と CVE-2026-118527:Ivanti のゼロデイが野外で悪用される

Author Photo
SOC Prime Team linkedin icon フォローする
CVE-2026-111357 と CVE-2026-118527:Ivanti のゼロデイが野外で悪用される
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

概要

脅威アクタUTA0576は、Ivanti Connect Secure(ICS)アプライアンスの一連の脆弱性を悪用して、認証されていないルートアクセスを達成しています。この攻撃チェーンは、認証バイパス(CVE-2026-104935)、特権昇格(CVE-2026-111357)、およびリモートファイルアップロード(CVE-2026-118527)を含みます。これらの脆弱性は、エンタープライズVPNソリューションに対して野放しで積極的に悪用されています。

調査

Volexityの調査により、UTA0576がエクスプロイトチェーンを使用してバージョン22.8R2.4を実行しているIvantiアプライアンスでルートアクセスを取得していることが特定されました。調査では、認証情報の窃取と、Windows LAPSパスワードやBitLocker回復キーをターゲットとしたActive Directoryクエリに関する証拠が明らかになりました。また、調査員は、活動がIvantiのIntegrity Checker Toolを回避するように設計されていることも指摘しました。

緩和策

Ivantiは特定された脆弱性に対する修正をリリースしました。ユーザーはできるだけ早くバージョン22.8R2.6以降にアップグレードするべきです。すぐに移行できない場合、22.8R2.6アップデートの適用が推奨されます。ユーザーは22.8.Xブランチからサポートされているバージョンに移行することを推奨します。

対応

侵害が疑われる場合、組織はIvantiの正式な回復手順に従い、さらされた可能性のあるすべての認証情報をローテーションする必要があります。アプライアンスの再起動またはリセットを行う前に、メモリとログを保存することが重要です。組織は監査ログにおける選択的ログ削除の証拠を調査するべきです。

攻撃フロー

この部分はまだ更新中です。

検出

可能なCVE-2026-118527 / CVE-2026-111357(Ivanti Connect Secure)エクスプロイト試行(ウェブサーバー経由)

SOC Primeチーム
2026年11月2日

検出するためのIOC(SourceIP):野放しのIvanti Connect Secureゼロデイが追加で悪用されています(CVE-2026-111357、CVE-2026-118527)

SOC Prime AIルール
2026年11月2日

検出するためのIOC(DestinationIP):野放しのIvanti Connect Secureゼロデイが追加で悪用されています(CVE-2026-111357、CVE-2026-118527)

SOC Prime AIルール
2026年11月2日

UTA0576エクスプロイト活動の検出[ウェブサーバー]

SOC Prime AIルール
2026年11月2日

Ivanti Connect Secureを介した不正アクセスおよびエクスプロイトの可能性[ウェブサーバー]

SOC Prime AIルール
2026年11月2日

シミュレーション実行

  • 攻撃シナリオとコマンド: Ivanti Connect Secureの脆弱性を利用して初期アクセスに成功した後、攻撃者は持続的なC2チャネルを確立しようとします。ファイル名ベースの署名による検出を避けるため、攻撃者は乗っ取られた実行フロー(T1574.001)を使用して悪意のあるペイロードを実行します。ペイロードは、UTA0576インフラストラクチャに「本部に電話する」ように設定されており、IP 108.165.147.64 にさらなる指示を受け、盗まれた認証情報をエクスフィルトレーションします。このアクションは、フラグされたIPへのネットワーク接続イベントを生成することでSigmaルールをトリガーします。

  • 回帰テストスクリプト:

    # UTA0576 C2通信のシミュレーション
    # このスクリプトは、悪意のあるIPに接続するプロセスを模倣します
    
    $MaliciousIP = "108.165.147.64"
    $Port = 443
    
    Write-Host "[+] シミュレーション開始: $MaliciousIP ポート$Portへの接続を試みています" -ForegroundColor Cyan
    
    try {
        # 標準の.NETメソッドを使用してTCP接続を開始し、
        # ネットワークコールを行っているプロセスを模倣します。
        $TcpClient = New-Object System.Net.Sockets.TcpClient
        $Connect = $TcpClient.BeginConnect($MaliciousIP, $Port, $null, $null)
    
        # 試行をシミュレートするために短時間待機
        $Wait = $Connect.AsyncWaitHandle.WaitOne(2000, $false)
    
        if ($Wait) {
            Write-Host "[!] 接続成功/試行: テレメトリがSIEMに表示されるはずです。" -ForegroundColor Green
        } else {
            Write-Host "[?] 接続タイムアウト: IPに到達できない場合の想定される動作ですが、テレメトリは生成されるはずです。" -ForegroundColor Yellow
        }
        $TcpClient.Close()
    }
    catch {
        Write-Host "[!] シミュレーション中のエラー: $($_.Exception.Message)" -ForegroundColor Red
    }
    
    Write-Host "[+] シミュレーション完了。" -ForegroundColor Cyan
  • クリーンアップコマンド:

    # このネットワークのみのシミュレーションによって永続的なアーティファクトは作成されません。
    # ただし、テストプロセスが終了していることを確認してください。
    Get-Process | Where-Object { $_.ProcessName -like "*powershell*" } | Stop-Process -Force -ErrorAction SilentlyContinue