CVE-2026-111357 和 CVE-2026-118527:Ivanti 零日漏洞在野外被利用
Detection stack
- AIDR
- Alert
- ETL
- Query
概要
威胁行为者UTA0576正在利用Ivanti Connect Secure(ICS)设备中的一系列漏洞实现未经身份验证的root访问。攻击链涉及身份验证绕过(CVE-2026-104935)、权限提升(CVE-2026-111357)和远程文件上传(CVE-2026-118527)。这些漏洞正在针对企业VPN解决方案被广泛利用。
调查
Volexity的调查发现UTA0576利用漏洞链在运行22.8R2.4版本的Ivanti设备上获取root访问权限。调查揭示了针对Windows LAPS密码和BitLocker恢复密钥的凭证盗窃和Active Directory查询的证据。调查人员还注意到,这项活动旨在规避Ivanti的完整性检查工具。
缓解措施
Ivanti已发布了针对已识别漏洞的修复,用户应尽快升级至22.8R2.6版本或更高版本。对于无法立即迁移的用户,建议应用22.8R2.6更新。建议用户从22.8.X分支升级到支持的版本。
响应
如果怀疑受到攻击,组织应遵循Ivanti的正式恢复程序并轮换所有可能暴露的凭证。必须在重启或重置设备前保存内存和日志。组织还应调查审计日志中有选择性日志删除的证据。
攻击流程
我们仍在更新这一部分。
检测
可能的CVE-2026-118527 / CVE-2026-111357(Ivanti Connect Secure)利用尝试(通过网络服务器)
2026年11月02日
检测的IOC(SourceIP):野外利用的额外Ivanti Connect Secure 零日漏洞(CVE-2026-111357,CVE-2026-118527)
2026年11月02日
检测的IOC(DestinationIP):野外利用的额外Ivanti Connect Secure 零日漏洞(CVE-2026-111357,CVE-2026-118527)
2026年11月02日
UTA0576利用活动检测[网络服务器]
2026年11月02日
通过Ivanti Connect Secure的潜在未经授权的访问和利用[网络服务器]
2026年11月02日
模拟执行
-
攻击叙述与命令: 成功利用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 "[+] 启动模拟:尝试连接到端口为$Port的$MaliciousIP" -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