CVE-2026-111357 та CVE-2026-118527: Ivanti Zero-Days експлуатуються в реальному світі
Detection stack
- AIDR
- Alert
- ETL
- Query
Резюме
Зловмисник UTA0576 використовує ланцюг вразливостей в пристроях Ivanti Connect Secure (ICS) для досягнення неавтентифікованого доступу з правами адміністратора. Ланцюг атак включає обхід автентифікації (CVE-2026-104935), підвищення привілеїв (CVE-2026-111357) та віддалене завантаження файлів (CVE-2026-118527). Ці вразливості активно експлуатуються в дикій природі проти корпоративних рішень для VPN.
Розслідування
Розслідування Volexity виявило, що UTA0576 використовує ланцюг експлойтів для отримання прав адміністратора на пристроях Ivanti, що працюють на версії 22.8R2.4. Розслідування виявило докази крадіжки облікових даних та запитів служб Active Directory, націлених на паролі Windows LAPS та ключі відновлення BitLocker. Розслідувачі також відзначили, що активність була спроектована з метою обходу Інструменту перевірки цілісності Ivanti.
Пом’якшення
Ivanti випустила виправлення для виявлених вразливостей; користувачам слід оновити до версії 22.8R2.6 або пізнішої якомога швидше. Для тих, хто не може перейти відразу, застосування оновлення 22.8R2.6 є рекомендованим шляхом. Користувачам радять перейти з гілки 22.8.X на підтримувану версію.
Реакція
Якщо підозрюється компрометація, організаціям слід дотримуватися офіційних процедур відновлення Ivanti і змінити всі потенційно скомпрометовані облікові дані. Важливо зберегти пам’ять та журнали до перезавантаження або скидання налаштувань пристрою. Організаціям слід також перевірити наявність доказів вибіркового видалення журналів у журналах аудиту.
Потік атаки
Ми все ще оновлюємо цю частину.
Виявлення
Можлива спроба експлуатації CVE-2026-118527 / CVE-2026-111357 (Ivanti Connect Secure) (через вебсервер)
IOC (SourceIP) для виявлення: Додаткові «нульові дні» Ivanti Connect Secure експлуатуються в дикій природі (CVE-2026-111357, CVE-2026-118527)
IOC (DestinationIP) для виявлення: Додаткові «нульові дні» Ivanti Connect Secure експлуатуються в дикій природі (CVE-2026-111357, CVE-2026-118527)
Виявлення експлуатаційної активності UTA0576 [Вебсервер]
Потенційний неавторизований доступ та експлуатація через Ivanti Connect Secure [Вебсервер]
Виконання симуляції
-
Опис атаки та команди: Після успішного експлуатації вразливості Ivanti Connect Secure для досягнення початкового доступу, зловмисник прагне встановити постійний канал C2. Щоб уникнути виявлення за допомогою сигнатур на основі імен файлів, атакуючий використовує викрадений потік виконання (T1574.001) для запуску шкідливого навантаження. Навантаження налаштовано на “вихід на зв’язок” з інфраструктурою UTA0576 на IP
108.165.147.64для отримання подальших інструкцій та ексфільтрації вкрадених облікових даних. Ця дія викличе спрацювання правила Sigma шляхом генерації події мережевого з’єднання з позначеним IP. -
Скрипт для регресійного тестування:
# Симуляція комунікації 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