Esta es la versión estable de HardeningKitty del proyecto de Windows Hardening de Michael Schneider. La versión estable de HardeningKitty está firmada con el certificado de firma de código de SCIP AG . Dado que esta es la versión estable, no aceptamos solicitudes de extracción en este repositorio, envíelas al repositorio de desarrollo .
HardeningKitty admite el endurecimiento de un sistema de Windows. La configuración del sistema se recupera y evalúa utilizando una lista de búsqueda. Además, el sistema se puede endurecer de acuerdo con los valores predefinidos. HardeningKitty lee la configuración del registro y utiliza otros módulos para leer configuraciones fuera del registro.
El guión fue desarrollado para sistemas ingleses. Es posible que en otros idiomas el análisis sea incorrecto. Por favor cree un problema si esto ocurre.
Ejecute el script con privilegios administrativos para acceder a la configuración de la máquina. Para la configuración del usuario es mejor ejecutarlos con una cuenta de usuario normal. Idealmente, la cuenta de usuario se usa para el trabajo diario.
Descargue HardeningKitty y cópielo al sistema de destino (script y listas). Entonces HardeningKitty se puede importar y ejecutar:
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 = BUILTINAdministrators;BUILTINUsers , Recommended = BUILTINAdministrators , 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 .Primero cree el Directorio HardeningKitty y para cada versión un subdirector de subdirectorio como 0.9.2 en una ruta enumerada en la variable de entorno PSModulepath .
Copie el módulo Hardeningkitty.psm1 , Hardeningkitty.psd1 y el directorio de listas a este nuevo directorio.
PS C:tmp > $Version = " 0.9.2 "
PS C:tmp > New-Item - Path $ Env: ProgramFiles WindowsPowerShellModulesHardeningKitty $Version - ItemType Directory
PS C:tmp > Copy-Item - Path .HardeningKitty.psd1 , .HardeningKitty.psm1 , .lists - Destination $ Env: ProgramFiles WindowsPowerShellModulesHardeningKitty $Version - RecursePara obtener más información, consulte el artículo de Microsoft instalando un módulo PowerShell.
Puede usar el script a continuación para descargar e instalar la última versión de HardeningKitty .
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 WindowsPowerShellModulesHardeningKitty $Version - ItemType Directory
Set-Location .HardeningKitty $Version
Copy-Item - Path .HardeningKitty.psd1 , .HardeningKitty.psm1 , .lists - Destination $ Env: ProgramFiles WindowsPowerShellModulesHardeningKitty $Version - Recurse
Import-Module " $ Env: ProgramFiles WindowsPowerShellModulesHardeningKitty $Version HardeningKitty.psm1 "
}
InstallHardeningKittyEl modo predeterminado es la auditoría . 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. Utilizando el File de Reportación de Parámetros o LogFile , también es posible asignar su propio nombre y ruta.
El parámetro del filtro se puede usar para filtrar la lista de endurecimiento. Para este propósito, se debe usar la sintaxis de ScriptBlock de PowerShell, por ejemplo { $_.ID -eq 4505 } . Los siguientes elementos son útiles para el filtrado: ID, categoría, nombre, método y gravedad.
Invoke-HardeningKitty - Mode Audit - Log - ReportHardeningKitty se puede ejecutar con una lista específica definida por el parámetro FileFindingList . Si HardeningKitty se ejecuta varias veces en el mismo sistema, puede ser útil ocultar la información de la máquina. El parámetro SkipmachineInformation se utiliza para este propósito.
Invoke-HardeningKitty - FileFindingList .listsfinding_list_0x6d69636b_user.csv - SkipMachineInformationHardeningKitty usa la lista predeterminada y verifica solo pruebas con el medio de gravedad.
Invoke-HardeningKitty - Filter { $_ .Severity -eq " Medium " }La configuración de modo retrasa todas las configuraciones actuales de un sistema. Si no se ha configurado una configuración, HardeningKitty utilizará un valor predeterminado almacenado en la lista de búsqueda. Este modo se puede combinar con otras funciones, por ejemplo, para crear una copia de seguridad.
Hardeningkitty obtiene la configuración actual y las almacena en un informe:
Invoke-HardeningKitty - Mode Config - Report - ReportFile C:tmpmy_hardeningkitty_report.csvLas copias de seguridad son importantes. Realmente importante. Por lo tanto, HardeningKitty también tiene una función para recuperar la configuración actual y guardarla en un formulario que pueda restaurarse parcialmente.
Descargo de responsabilidad: HardeningKitty intenta restaurar la configuración original. Esto funciona bastante bien con las claves de registro y el endurecimiento de Kitty realmente lo hace lo mejor posible. Pero la función de copia de seguridad no es una instantánea y no reemplaza una copia de seguridad del sistema real. No es posible restaurar el sistema 1: 1 con HardeningKitty solo después de la granja. Si este es un requisito, cree una imagen o copia de seguridad del sistema y restaurarla.
El conmutador de copia de seguridad especifica que el archivo está escrito en forma de una lista de hallazgos y, por lo tanto, se puede usar para el modo Hailmary . El nombre y la ruta de la copia de seguridad se pueden especificar con el Filmio de copia de seguridad del parámetro.
Invoke-HardeningKitty - Mode Config - BackupPruebe esta función para ver si realmente funciona correctamente en el sistema de destino antes de realizar cambios serios. La copia de seguridad de un Schrödinger es peligrosa.
Tenga en cuenta que si no se especifica la List de FileFinding , la copia de seguridad se refiere a la lista de búsqueda predeterminada. Antes de implementar una lista específica en el modo Hailmary , siempre cree una copia de seguridad referida a esa lista específica .
Invoke-HardeningKitty - Mode Config - Backup - BackupFile " .myBackup.csv " - FileFindingList " .list{list}.csv " El interruptor de copia de seguridad crea un archivo en forma de lista de búsqueda, para restaurar la copia de seguridad de cargarlo en modo de granizo como cualquier lista de búsqueda:
Invoke-HardeningKitty - Mode HailMary - Log - Report - FileFindingList " .myBackup.csv " El método de granizo es muy poderoso. Se puede usar para implementar una lista de búsqueda en un sistema. Todos los hallazgos se establecen en este sistema como se recomienda en la lista. Con el poder viene la responsabilidad. Utilice este modo solo si sabe lo que está haciendo. Asegúrese de tener una copia de seguridad del sistema.
Por ahora, la función de filtro solo se admite en el modo de auditoría y configuración. Como el modo Hailmary es un asunto delicado, cree su propio archivo y elimine todas las líneas que desea filtrar.
Invoke-HardeningKitty - Mode HailMary - Log - Report - FileFindingList .listsfinding_list_0x6d69636b_machine.csvAntes de que se ejecute Hailmary, se debe elegir una lista de hallazgos. Es importante verificar si la configuración influye en la estabilidad y la funcionalidad del sistema. Antes de ejecutar Hailmary, se debe hacer una copia de seguridad.
Gracias a @gderybel, HardeningKitty puede convertir una lista de hallazgos en una política grupal. Como requisito básico, se debe instalar el módulo de gestión de políticas grupales PowerShell. En este momento, solo se pueden convertir la configuración del registro y aún no se ha probado todo. Se crea una nueva política, siempre que no se asigne a un objeto, no se realiza ningún cambio en el sistema. Úselo con cuidado.
Invoke-HardeningKitty - Mode GPO - FileFindingList .listsfinding_list_0x6d69636b_machine.csv - GPOName HardeningKitty - Machine - 01 Cada hallazgo aprobado da 4 puntos, un hallazgo bajo da 2 puntos, un hallazgo medio da 1 punto y un alto hallazgo da 0 puntos.
La fórmula para el puntaje HardeningKitty es (puntos logrados / puntos máximos) * 5 + 1 .
| Puntaje | Calificación informal | Profesional de calificación |
|---|---|---|
| 6 | ? Excelente | Excelente |
| 5 | ? Bien hecho | Bien |
| 4 | ? Suficiente | Suficiente |
| 3 | ? Deberías hacerlo mejor | Insuficiente |
| 2 | ? Débil | Insuficiente |
| 1 | ? Falso | Insuficiente |
Ataumo crea una interfaz basada en la web para HardeningKitty. La herramienta se puede utilizar para crear sus propias listas y proporciona información adicional sobre la configuración de endurecimiento. El código fuente está bajo la licencia AGPL y hay un sitio de demostración.
HardeningKitty se puede utilizar para auditar sistemas en las siguientes líneas de base / puntos de referencia:
| Nombre | Versión del sistema | Versión |
|---|---|---|
| 0x6d69636b Windows 10 (máquina) | 22h2 | |
| 0x6d69636b Windows 10 (usuario) | 22h2 | |
| BSI SISYPHUS Windows 10 Hoher Schutzbedarf Domänenmitglied (máquina) | 1809 | 1.0 |
| BSI SISYPHUS Windows 10 Hoher Schutzbedarf Domänenmitglied (usuario) | 1809 | 1.0 |
| BSI Sisyphus Windows 10 Normaler Schutzbedarf Domänenmitglied (Máquina) | 1809 | 1.0 |
| BSI Sisyphus Windows 10 Normaler Schutzbedarf Domänenmitglied (usuario) | 1809 | 1.0 |
| BSI Sisyphus Windows 10 Normaler Schutzbedarf Einzelrechner (Máquina) | 1809 | 1.0 |
| BSI Sisyphus Windows 10 Normaler Schutzbedarf Einzelrechner (usuario) | 1809 | 1.0 |
| CIS Microsoft Windows 10 Enterprise (máquina) | 1809 | 1.6.1 |
| CIS Microsoft Windows 10 Enterprise (usuario) | 1809 | 1.6.1 |
| CIS Microsoft Windows 10 Enterprise (máquina) | 1903 | 1.7.1 |
| CIS Microsoft Windows 10 Enterprise (usuario) | 1903 | 1.7.1 |
| CIS Microsoft Windows 10 Enterprise (máquina) | 1909 | 1.8.1 |
| CIS Microsoft Windows 10 Enterprise (usuario) | 1909 | 1.8.1 |
| CIS Microsoft Windows 10 Enterprise (máquina) | 2004 | 1.9.1 |
| CIS Microsoft Windows 10 Enterprise (usuario) | 2004 | 1.9.1 |
| CIS Microsoft Windows 10 Enterprise (máquina) | 20h2 | 1.10.1 |
| CIS Microsoft Windows 10 Enterprise (usuario) | 20h2 | 1.10.1 |
| CIS Microsoft Windows 10 Enterprise (máquina) | 21h1 | 1.11.0 |
| CIS Microsoft Windows 10 Enterprise (usuario) | 21h1 | 1.11.0 |
| CIS Microsoft Windows 10 Enterprise (máquina) | 21h2 | 1.12.0 |
| CIS Microsoft Windows 10 Enterprise (usuario) | 21h2 | 1.12.0 |
| CIS Microsoft Windows 10 Enterprise (máquina) | 22h2 | 2.0.0 |
| CIS Microsoft Windows 10 Enterprise (usuario) | 22h2 | 2.0.0 |
| CIS Microsoft Windows 10 Enterprise (máquina) | 22h2 | 3.0.0 |
| CIS Microsoft Windows 10 Enterprise (usuario) | 22h2 | 3.0.0 |
| CIS Microsoft Windows 11 Enterprise (máquina) | 21h2 | 1.0.0 |
| CIS Microsoft Windows 11 Enterprise (usuario) | 21h2 | 1.0.0 |
| CIS Microsoft Windows 11 Enterprise (máquina) | 22h2 | 2.0.0 |
| CIS Microsoft Windows 11 Enterprise (usuario) | 22h2 | 2.0.0 |
| CIS Microsoft Windows 11 Enterprise (máquina) | 23h2 | 3.0.0 |
| CIS Microsoft Windows 11 Enterprise (usuario) | 23h2 | 3.0.0 |
| CIS Microsoft Windows Server 2012 R2 (máquina) | R2 | 2.4.0 |
| CIS Microsoft Windows Server 2012 R2 (usuario) | R2 | 2.4.0 |
| CIS Microsoft Windows Server 2012 R2 (máquina) | R2 | 2.6.0 |
| CIS Microsoft Windows Server 2012 R2 (usuario) | R2 | 2.6.0 |
| CIS Microsoft Windows Server 2012 R2 (máquina) | R2 | 3.0.0 |
| CIS Microsoft Windows Server 2012 R2 (usuario) | R2 | 3.0.0 |
| CIS Microsoft Windows Server 2016 (máquina) | 1607 | 1.2.0 |
| CIS Microsoft Windows Server 2016 (usuario) | 1607 | 1.2.0 |
| CIS Microsoft Windows Server 2016 (máquina) | 1607 | 1.3.0 |
| CIS Microsoft Windows Server 2016 (usuario) | 1607 | 1.3.0 |
| CIS Microsoft Windows Server 2016 (máquina) | 1607 | 2.0.0 |
| CIS Microsoft Windows Server 2016 (usuario) | 1607 | 2.0.0 |
| CIS Microsoft Windows Server 2016 (máquina) | 1607 | 3.0.0 |
| CIS Microsoft Windows Server 2016 (usuario) | 1607 | 3.0.0 |
| CIS Microsoft Windows Server 2019 (máquina) | 1809 | 1.1.0 |
| CIS Microsoft Windows Server 2019 (usuario) | 1809 | 1.1.0 |
| CIS Microsoft Windows Server 2019 (máquina) | 1809 | 1.2.1 |
| CIS Microsoft Windows Server 2019 (usuario) | 1809 | 1.2.1 |
| CIS Microsoft Windows Server 2019 (máquina) | 1809 | 2.0.0 |
| CIS Microsoft Windows Server 2019 (usuario) | 1809 | 2.0.0 |
| CIS Microsoft Windows Server 2019 (máquina) | 1809 | 3.0.0 |
| CIS Microsoft Windows Server 2019 (usuario) | 1809 | 3.0.0 |
| CIS Microsoft Windows Server 2022 (máquina) | 21h2 | 1.0.0 |
| CIS Microsoft Windows Server 2022 (usuario) | 21h2 | 1.0.0 |
| CIS Microsoft Windows Server 2022 (máquina) | 22h2 | 2.0.0 |
| CIS Microsoft Windows Server 2022 (usuario) | 22h2 | 2.0.0 |
| CIS Microsoft Windows Server 2022 (máquina) | 22h2 | 3.0.0 |
| CIS Microsoft Windows Server 2022 (usuario) | 22h2 | 3.0.0 |
| DoD Microsoft Windows 10 Stig (máquina) | 20h2 | V2R1 |
| DoD Microsoft Windows 10 Stig (usuario) | 20h2 | V2R1 |
| Dod Windows Server 2019 Domain Controller STIG (máquina) | 20h2 | V2R1 |
| Dod Windows Server 2019 Domain Controller Stig (usuario) | 20h2 | V2R1 |
| DoD Windows Server 2019 Miember Server STIG (máquina) | 20h2 | V2R1 |
| DoD Windows Server 2019 Miember Server STIG (usuario) | 20h2 | V2R1 |
| Defensor de Windows Dod Windows Antivirus Stig | 20h2 | V2R1 |
| Windows DoD Windows Firewall Stig | 20h2 | V1R7 |
| Línea de base de seguridad de Microsoft para Microsoft Edge | 87 | Final |
| Línea de base de seguridad de Microsoft para Microsoft Edge | 88, 89, 90, 91 | Final |
| Línea de base de seguridad de Microsoft para Microsoft Edge | 92 | Final |
| Línea de base de seguridad de Microsoft para Microsoft Edge | 93, 94 | Final |
| Línea de base de seguridad de Microsoft para Microsoft Edge | 95 | Final |
| Línea de base de seguridad de Microsoft para Microsoft Edge | 96 | Final |
| Línea de base de seguridad de Microsoft para Microsoft Edge | 97 | Final |
| Línea de base de seguridad de Microsoft para Microsoft Edge | 98, 99, 100, 101, 102, 103, 104, 105, 106 | Final |
| Línea de base de seguridad de Microsoft para Microsoft Edge | 107, 108, 109, 110, 111 | Final |
| Línea de base de seguridad de Microsoft para Microsoft Edge | 112, 113 | Final |
| Línea de base de seguridad de Microsoft para Microsoft Edge | 114, 115, 116 | Final |
| Línea de base de seguridad de Microsoft para Microsoft Edge | 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127 | Final |
| Línea de base de seguridad de Microsoft para Microsoft Edge | 128, 129, 130 | Final |
| Línea de base de seguridad de Microsoft para Windows 10 | 2004 | Final |
| Línea de base de seguridad de Microsoft para Windows 10 | 20h2, 21h1 | Final |
| Línea de base de seguridad de Microsoft para Windows 10 | 21h2 | Final |
| Microsoft Security Basora para Windows 10 (máquina) | 22h2 | Final |
| Microsoft Security Basora para Windows 10 (usuario) | 22h2 | Final |
| Microsoft Security BoreS para Windows 11 | 21h2 | Final |
| Microsoft Security Basora para Windows 11 (máquina) | 22h2 | Final |
| Línea de base de Microsoft Security para Windows 11 (usuario) | 22h2 | Final |
| Microsoft Security Basora para Windows 11 (máquina) | 23h2 | Final |
| Línea de base de Microsoft Security para Windows 11 (usuario) | 23h2 | Final |
| Microsoft Security Basora para Windows 11 (máquina) | 24h2 | Final |
| Línea de base de Microsoft Security para Windows 11 (usuario) | 24h2 | Final |
| Microsoft Security Basora para Windows Server (DC) | 2004 | Final |
| Microsoft Security Basora para Windows Server (miembro) | 2004 | Final |
| Microsoft Security Basora para Windows Server (DC) | 20h2 | Final |
| Microsoft Security Basora para Windows Server (miembro) | 20h2 | Final |
| Microsoft Security Basora para Windows Server 2022 (DC) | 21h2 | Final |
| Microsoft Security Basora para Windows Server 2022 (miembro) | 21h2 | Final |
| Microsoft Security BoreS para Office 365 Proplus (máquina) | Septiembre de 2019 | Final |
| Línea de base de seguridad de Microsoft para Office 365 Proplus (usuario) | Septiembre de 2019 | Final |
| Microsoft Security BoreSe para aplicaciones Microsoft 365 para Enterprise (Machine) | V2104, V2106 | Final |
| Microsoft Security BASETER para aplicaciones Microsoft 365 para Enterprise (usuario) | V2104, V2106 | Final |
| Microsoft Security BoreSe para aplicaciones Microsoft 365 para Enterprise (Machine) | V2112 | Final |
| Microsoft Security BASETER para aplicaciones Microsoft 365 para Enterprise (usuario) | V2112 | Final |
| Microsoft Security BoreSe para aplicaciones Microsoft 365 para Enterprise (Machine) | V2206 | Final |
| Microsoft Security BASETER para aplicaciones Microsoft 365 para Enterprise (usuario) | V2206 | Final |
| Microsoft Security BoreSe para aplicaciones Microsoft 365 para Enterprise (Machine) | V2306, V2312 | Final |
| Microsoft Security BASETER para aplicaciones Microsoft 365 para Enterprise (usuario) | V2306, V2312 | Final |
| Configuración de TLS de Microsoft Windows Server | 1809 | 1.0 |
| Configuración de TLS de Microsoft Windows Server (uso futuro con TLSV1.3) | 1903 | 1.0 |