A set of PowerShell scripts and configs I created for the purpose of hardening Windows 10 machines. Note that these scripts change thousands of settings in compliance with NIST, DISA STIGS, CIS Benchmarks, MITRE ATT&CK Framework, and more, so be wary of running in a critical environment.
A CSV file of security options includes their registry key, default value, recommended value, and severity.
A CSV file of services and their recommended states.
Gives the user the option to:
- Check the system for common persistence mechanisms outlined in the MITRE ATT&CK Framework.
- Compare the system's registry with registry.csv and display needed changes.
- Compare the system's services with services.csv and display needed changes.
- Check the users on the system for common security issues (it is better to use the specific user auditing script).
- Implement the recommended changes to the registry from registry.csv.
- Implement the recommended changes to the services from services.csv.
- View all findings with their recommended changes.
- Clear all of the findings.
- Exit
This script changes more registry keys and removes many unnecessary features pre-installed on Windows, along with implementing some other security best practices.
This script implements many of the recommended options relating to Windows Defender through registry and powershell commands.
This script detects executable files that have not been signed or are signed by anyone besides Microsoft. This can be useful in determining malware or other unneeded files on the system.
This is where the authorized administrator accounts of the machine should be entered.
This is where the authorized user accounts of the machine should be entered.
This is where the authorized groups of the machine should be entered.
This script utilizes admins.txt, users.txt, and groups.txt to run some checks and harden user-specific settings. The script also checks for more advanced persistence techniques, such as RID hijacking and hiding users from the login UI.
A firewall config that implements recommended settings.
A secpol config tailored to Windows 10 machines that implements hardened local policy settings.
A secpol config tailored to Windows server machines that implements hardened local policy settings.
An advanced audit policy config that sets all audit policies to Success and Failure. Will produce a lot of noise.