Загрузка данных


Write-Host "=== ПРИНУДИТЕЛЬНАЯ АКТИВАЦИЯ ТРИГГЕРОВ ДЛЯ ПРОБЛЕМНЫХ ID ===" -ForegroundColor Cyan

# 1. ФИКС ДЛЯ 4663 И 4656 (Файловый аудит)
# Создаем тестовую папку и вешаем на неё SACL (Аудит для всех пользователей на чтение/запись)
$TargetDir = "C:\SIEM_Audit_Test"
if (-not (Test-Path $TargetDir)) { New-Item -ItemType Directory -Path $TargetDir | Out-Null }
$Acl = Get-Acl $TargetDir
$AuditRule = New-Object System.Security.AccessControl.FileSystemAuditRule("Everyone", "ReadAndExecute,Write", "None", "None", "Success,Failure")
$Acl.SetAuditRule($AuditRule)
Set-Acl $TargetDir $Acl
# Дергаем файл внутри папки, чтобы гарантированно вызвать нативные ID 4663/4656
New-Item -Path "$TargetDir\trigger.txt" -ItemType File -Force | Out-Null
Get-Content "$TargetDir\trigger.txt" | Out-Null

# 2. ФИКС ДЛЯ 4657 (Аудит Реестра)
# Создаем тестовый ключ в реестре и вешаем на него SACL
$RegPath = "HKLM:\Software\SIEM_Audit_Key"
if (-not (Test-Path $RegPath)) { New-Item $RegPath -Force | Out-Null }
$RegAcl = Get-Acl $RegPath
$RegAuditRule = New-Object System.Security.AccessControl.RegistryAuditRule("Everyone", "SetValue,Delete", "None", "None", "Success,Failure")
$RegAcl.SetAuditRule($RegAuditRule)
$Microsoft_Win_Security_Auditing = Set-Acl $RegPath $RegAcl
# Изменяем значение для генерации 4657
Set-ItemProperty -Path $RegPath -Name "TriggerValue" -Value 1 -Force

# 3. ФИКС ДЛЯ 5156 И 5157 (Сеть и Брандмауэр)
# Принудительно включаем встроенный Брандмауэр Windows для всех профилей
Set-NetFirewallProfile -Profile Domain,Private,Public -Enabled True
# Инициируем быстрый сетевой запрос к DNS, чтобы WFP зафиксировал соединение
try { [System.Net.Dns]::GetHostAddresses("localhost") | Out-Null } catch {}

# 4. ФИКС ДЛЯ 4868, 4869, 4871 (Центр Сертификации)
# Если роль CA установлена, включаем аудит на уровне самого движка сертификации
if (Get-Service -Name "CertSvc" -ErrorAction SilentlyContinue) {
    certutil -setreg CA\AuditFilter 127 | Out-Null # Включает аудит абсолютно всех операций CA
    Restart-Service -Name "CertSvc" -Force
}

# 5. ФИКС ДЛЯ 4698 (Планировщик задач)
# Создаем реальную задачу-пустышку, что мгновенно вызовет генерацию ID 4698
$Action = New-ScheduledTaskAction -Execute "cmd.exe" -Argument "/c echo SIEM"
$Trigger = New-ScheduledTaskTrigger -Once -At (Get-Date).AddDays(1)
Register-ScheduledTask -TaskName "SIEM_Audit_Trigger_Task" -Action $Action -Trigger $Trigger -User "SYSTEM" -Force | Out-Null
Unregister-ScheduledTask -TaskName "SIEM_Audit_Trigger_Task" -Confirm:$false -ErrorAction SilentlyContinue

# 6. ФИКС ДЛЯ DEFENDER (1006, 1116, 1117)
# Создаем в папке Temp стандартную безопасную тестовую строку EICAR. 
# Защитник Windows мгновенно среагирует на неё, заблокирует и запишет события 1116 и 1117.
try {
    $EicarPath = "$env:TEMP\eicar.com"
    [string]$EicarString = 'X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*'
    [System.IO.File]::WriteAllText($EicarPath, $EicarString)
    Start-Sleep -Milliseconds 500
} catch {}

Write-Host "Все принудительные триггеры активированы!" -ForegroundColor Green