
HardeningKitty y la configuración de endurecimiento de Windows
El proyecto comenzó como una simple lista de endurecimiento para Windows 10. Después de un tiempo, se creó HardeningKitty para simplificar el endurecimiento de Windows. Ahora, HardeningKitty admite las guías de Microsoft, CIS Benchmarks, DoD STIG y BSI SiSyPHuS Win10. Y, por supuesto, mi propia lista de endurecimiento.
Esta es una lista de verificación de endurecimiento que se puede utilizar en entornos privados y empresariales para el endurecimiento de Windows 10. La lista de verificación se puede utilizar para todas las versiones de Windows, pero en Windows 10 Home el Editor de directivas de grupo no está integrado y el ajuste debe realizarse directamente en el registro. Para ello, existe el modo HailMary de HardeningKitty.
Los ajustes deben considerarse como una recomendación de seguridad y privacidad y deben comprobarse cuidadosamente para determinar si afectarán al funcionamiento de su infraestructura o repercutirán en la usabilidad de funciones clave. Es importante sopesar la seguridad frente a la usabilidad.
El proyecto comenzó con la creación de una sencilla lista de verificación de endurecimiento para Windows 10. El enfoque ha cambiado hacia la auditoría de diversos frameworks/benchmarks conocidos con el desarrollo de HardeningKitty. Mientras tanto, se admiten varios CIS benchmarks y Microsoft Security Baselines. Con el desarrollo del modo HailMary, también será posible aplicar los ajustes de cualquier lista de verificación de endurecimiento en un sistema Windows.
HardeningKitty admite el endurecimiento de un sistema Windows. La configuración del sistema se recupera y evalúa mediante una lista de hallazgos. Además, el sistema puede endurecerse según valores predefinidos. HardeningKitty lee los ajustes del registro y utiliza otros módulos para leer configuraciones fuera del registro.
El script se desarrolló para sistemas en inglés. Es posible que en otros idiomas el análisis sea incorrecto. Cree una incidencia si esto ocurre.
El desarrollo de HardeningKitty se lleva a cabo en este repositorio. En el repositorio de scip AG hay una versión estable de HardeningKitty que ha sido firmada con el certificado de firma de código de scip AG. Esto significa que HardeningKitty también puede ejecutarse en sistemas que solo permiten scripts firmados.
Ejecute el script con privilegios administrativos para acceder a la configuración de la máquina. Para la configuración de usuario es mejor ejecutarlos con una cuenta de usuario normal. Lo ideal es utilizar la cuenta de usuario para el trabajo diario.
Descargue HardeningKitty y cópielo en el sistema de destino (script y listas). A continuación, HardeningKitty puede importarse y ejecutarse:```powershell PS C:\tmp> Import-Module .\HardeningKitty.psm1 PS C:\tmp> Invoke-HardeningKitty -EmojiSupport
=^._.^=
_( )/ HardeningKitty 0.9.0-1662273740
[*] 9/4/2022 8:54:12 AM - Starting HardeningKitty
[] 9/4/2022 8:54:12 AM - Getting user information [] Hostname: DESKTOP-DG83TOD [*] Domain: WORKGROUP
...
[] [] 9/4/2022 8:54:12 AM - Starting Category Account Policies [😺] ID 1103, Store passwords using reversible encryption, Result=0, Severity=Passed [😺] ID 1100, Account lockout threshold, Result=10, Severity=Passed [😺] ID 1101, Account lockout duration, Result=30, Severity=Passed
...
[*] 9/4/2022 8:54:12 AM - Starting Category User Rights Assignment [😿] ID 1200, Access this computer from the network, Result=BUILTIN\Administrators;BUILTIN\Users, Recommended=BUILTIN\Administrators, Severity=Medium
...
[*] 9/4/2022 8:54:14 AM - Starting Category Administrative Templates: Printer [🙀] ID 1764, Point and Print Restrictions: When installing drivers for a new connection (CVE-2021-34527), Result=1, Recommended=0, Severity=High [🙀] ID 1765, Point and Print Restrictions: When updating drivers for an existing connection (CVE-2021-34527), Result=2, Recommended=0, Severity=High
...
[*] 9/4/2022 8:54:19 AM - Starting Category MS Security Guide [😿] ID 2200, LSA Protection, Result=, Recommended=1, Severity=Medium [😼] ID 2201, Lsass.exe audit mode, Result=, Recommended=8, Severity=Low
...
[] 9/4/2022 8:54:25 AM - HardeningKitty is done [] 9/4/2022 8:54:25 AM - Your HardeningKitty score is: 4.82. HardeningKitty Statistics: Total checks: 325 - Passed: 213, Low: 33, Medium: 76, High: 3.
### Cómo instalar
Primero cree el directorio *HardeningKitty* y, para cada versión, un subdirectorio como *0.9.3* en una ruta listada en la variable de entorno *PSModulePath*.
Copie el módulo *HardeningKitty.psm1*, *HardeningKitty.psd1* y el directorio *lists* a este nuevo directorio.```powershell
PS C:\tmp> $Version = "0.9.3"
PS C:\tmp> New-Item -Path $Env:ProgramFiles\WindowsPowerShell\Modules\HardeningKitty\$Version -ItemType Directory
PS C:\tmp> Copy-Item -Path .\HardeningKitty.psd1,.\HardeningKitty.psm1,.\lists\ -Destination $Env:ProgramFiles\WindowsPowerShell\Modules\HardeningKitty\$Version\ -Recurse
Para obtener más información, consulte el artículo de Microsoft Installing a PowerShell Module.
Puede usar el script a continuación para descargar e instalar la última versión de HardeningKitty.```powershell Function InstallHardeningKitty() { $Version = (((Invoke-WebRequest "https://api.github.com/repos/0x6d69636b/windows_hardening/releases/latest" -UseBasicParsing) | ConvertFrom-Json).Name).SubString(2) $HardeningKittyLatestVersionDownloadLink = ((Invoke-WebRequest "https://api.github.com/repos/0x6d69636b/windows_hardening/releases/latest" -UseBasicParsing) | ConvertFrom-Json).zipball_url $ProgressPreference = 'SilentlyContinue' Invoke-WebRequest $HardeningKittyLatestVersionDownloadLink -Out HardeningKitty$Version.zip Expand-Archive -Path ".\HardeningKitty$Version.zip" -Destination ".\HardeningKitty$Version" -Force $Folder = Get-ChildItem .\HardeningKitty$Version | Select-Object Name -ExpandProperty Name Move-Item ".\HardeningKitty$Version$Folder*" ".\HardeningKitty$Version" Remove-Item ".\HardeningKitty$Version$Folder" New-Item -Path $Env:ProgramFiles\WindowsPowerShell\Modules\HardeningKitty$Version -ItemType Directory Set-Location .\HardeningKitty$Version Copy-Item -Path .\HardeningKitty.psd1,.\HardeningKitty.psm1,.\lists\ -Destination $Env:ProgramFiles\WindowsPowerShell\Modules\HardeningKitty$Version\ -Recurse Import-Module "$Env:ProgramFiles\WindowsPowerShell\Modules\HardeningKitty$Version\HardeningKitty.psm1" } InstallHardeningKitty
### Ejemplos
#### Auditoría
El modo predeterminado es _audit_. HardeningKitty realiza una auditoría, guarda los resultados en un archivo CSV y crea un archivo de registro. Los archivos se nombran automáticamente y reciben una marca de tiempo. Mediante los parámetros _ReportFile_ o _LogFile_, también es posible asignar su propio nombre y ruta.