CIS Windows Hardening¶
Synopsis: PowerShell module for auditing and hardening Windows systems (Machine and User level) against CIS benchmarks.
HardeningKitty reads the current system configuration (registry, policies, security settings) and compares it against the values recommended in a finding list — a CSV file containing the checked settings and their expected values.
This repository contains custom finding lists (./lists) built on the CIS
benchmarks (Windows 10, Windows 11, Windows Server) in versions 2019v4,
2022v5, 2025v2, and W11v5, always for both the Machine and User level and in
various variants (e.g. (L1), (L1)(noDC)).
The module supports five modes: Audit (compares the current settings against the finding list and generates a report/log), Config (reads the current configuration), Backup (saves the current configuration in finding-list format for later restore), HailMary (applies the recommended settings from the finding list), and GPO, an experimental mode that generates a Group Policy Object from the finding list (registry settings only, for now).
Based on the HardeningKitty project by Michael Schneider.
Usage examples:
Invoke-HardeningKitty -Mode Audit -FileFindingList .\lists\TS_CIS_2025v2_Machine.csv -Log -Report
Invoke-HardeningKitty -FileFindingList .\lists\TS_CIS_2025v2_Machine.csv -Filter { $_.Severity -eq "Medium" }
Medium.
Invoke-HardeningKitty -Mode Config -Backup -BackupFile .\myBackup.csv -FileFindingList .\lists\TS_CIS_2025v2_Machine.csv
Invoke-HardeningKitty -Mode HailMary -Log -Report -FileFindingList .\lists\TS_CIS_2025v2_Machine.csv
Invoke-HardeningKitty -Mode GPO -FileFindingList .\lists\TS_CIS_2025v2_Machine.csv -GPOName HardeningKitty-Machine-01