P
PowerShell Азбука - Иван Сёмин
@azbuka_powershell115 подп.
416просмотров
20 августа 2025 г.
📷 ФотоScore: 458
Тема: Обновление curl.exe в Windows средствами PowerShell Не так давно появилась уязвимость в curl.exe CVE-2025-5399. Microsoft не особо спешит с ее устранением, а вся суть просто перейти на более свежую версию 8.15. Чтобы для своей инфраструктуры или домашней технике ускорить данный процесс, я написал скрипт позволяющий это сделать. Скрипт временно меняет владельца и права на файл C:\WINDOWS\System32\curl.exe, производит замену, на заранее скачанный файл и возвращает права и владельца как было. В статье по ссылке ниже приводятся скрипты для массового обновления. # Установка группы "Администраторы" как владельца файла curl.exe $filePath = "C:\WINDOWS\System32\curl.exe" $adminGroup = [System.Security.Principal.NTAccount]"Администраторы" $trustedInstaller = [System.Security.Principal.NTAccount]"NT SERVICE\TrustedInstaller" # Получаем текущий DACL файла $acl = Get-Acl -Path $filePath # Устанавливаем временного владельца (Администраторы) $acl.SetOwner($adminGroup) Set-Acl -Path $filePath -AclObject $acl # Даем группе "Администраторы" полные права (временно) $fullControlRule = New-Object System.Security.AccessControl.FileSystemAccessRule( $adminGroup, "FullControl", "None", "None", "Allow" ) $acl.AddAccessRule($fullControlRule) Set-Acl -Path $filePath -AclObject $acl # Копирование файла с заменой $sourceFile = "C:\Users\sem\Downloads\curl-8.15.0_4-win64-mingw\curl-8.15.0_4-win64-mingw\bin\curl.exe" $destinationFile = "C:\WINDOWS\System32\curl.exe" Copy-Item -Path $sourceFile -Destination $destinationFile -Force # Восстанавливаем исходные права и владельца $acl = Get-Acl -Path $filePath # Удаляем временное правило FullControl $acl.RemoveAccessRule($fullControlRule) | Out-Null # Добавляем права только на чтение и выполнение $readExecuteRule = New-Object System.Security.AccessControl.FileSystemAccessRule( $adminGroup, "ReadAndExecute", "Allow" ) $acl.AddAccessRule($readExecuteRule) # Восстанавливаем владельца TrustedInstaller $acl.SetOwner($trustedInstaller) # Применяем изменения Set-Acl -Path $filePath -AclObject $acl Write-Host "Файл успешно заменен. Владелец и права восстановлены." Подробнее - Алгоритм обновления curl.exe в Windows
416
просмотров
2421
символов
Нет
эмодзи
Да
медиа

Другие посты @azbuka_powershell

Все посты канала →