
HardeningKitty e impostazioni di hardening di Windows
Il progetto è nato come una semplice lista di hardening per Windows 10. Dopo qualche tempo, è stato creato HardeningKitty per semplificare l'hardening di Windows. Ora, HardeningKitty supporta le linee guida di Microsoft, CIS Benchmarks, DoD STIG e BSI SiSyPHuS Win10. E naturalmente la mia lista di hardening personale.
Questa è una checklist di hardening che può essere utilizzata in ambienti privati e aziendali per l'hardening di Windows 10. La checklist può essere utilizzata per tutte le versioni di Windows, ma in Windows 10 Home l'Editor Criteri di gruppo non è integrato e la modifica deve essere effettuata direttamente nel registro. Per questo esiste la modalità HailMary di HardeningKitty.
Le impostazioni dovrebbero essere considerate come raccomandazioni di sicurezza e privacy e dovrebbero essere attentamente verificate per stabilire se influenzeranno il funzionamento della vostra infrastruttura o l'usabilità di funzioni chiave. È importante soppesare la sicurezza rispetto all'usabilità.
Il progetto è iniziato con la creazione di una semplice checklist di hardening per Windows 10. L'attenzione si è spostata verso l'audit di vari framework/benchmark noti con lo sviluppo di HardeningKitty. Nel frattempo, sono supportati vari CIS benchmark e Microsoft Security Baseline. Con lo sviluppo della modalità HailMary, sarà anche possibile applicare le impostazioni di qualsiasi checklist di hardening su un sistema Windows.
HardeningKitty supporta l'hardening di un sistema Windows. La configurazione del sistema viene recuperata e valutata utilizzando una lista di finding. Inoltre, il sistema può essere sottoposto a hardening secondo valori predefiniti. HardeningKitty legge le impostazioni dal registro e utilizza altri moduli per leggere configurazioni al di fuori del registro.
Lo script è stato sviluppato per sistemi in inglese. È possibile che in altre lingue l'analisi non sia corretta. Si prega di creare una issue se ciò si verifica.
Lo sviluppo di HardeningKitty avviene in questo repository. Nel repository di scip AG è presente una versione stabile di HardeningKitty che è stata firmata con il certificato di firma del codice di scip AG. Ciò significa che HardeningKitty può essere eseguito anche su sistemi che consentono solo script firmati.
Eseguire lo script con privilegi amministrativi per accedere alle impostazioni della macchina. Per le impostazioni utente è meglio eseguirle con un account utente normale. Idealmente, l'account utente viene utilizzato per il lavoro quotidiano.
Scaricare HardeningKitty e copiarlo sul sistema di destinazione (script e liste). Successivamente HardeningKitty può essere importato ed eseguito:```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.
### Come Installare
Per prima cosa crea la directory *HardeningKitty* e per ogni versione una sottodirectory come *0.9.3* in un percorso elencato nella variabile d'ambiente *PSModulePath*.
Copia il modulo *HardeningKitty.psm1*, *HardeningKitty.psd1* e la directory *lists* in questa nuova directory.```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
Per ulteriori informazioni consultare l'articolo di Microsoft Installing a PowerShell Module.
È possibile utilizzare lo script seguente per scaricare e installare l'ultima release di 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
### Esempi
#### Audit
La modalità predefinita è _audit_. HardeningKitty esegue un audit, salva i risultati in un file CSV e crea un file di log. I file vengono denominati automaticamente e ricevono un timestamp. Utilizzando i parametri _ReportFile_ o _LogFile_, è anche possibile assegnare un nome e un percorso personalizzati.