Ceci est la version stable de Hardeningkitty du projet Windows Hardening de Michael Schneider. La version stable de Hardeningkitty est signée avec le certificat de signature de code de Scip AG . Comme il s'agit de la version stable, nous n'acceptons pas les demandes de traction dans ce dépôt, veuillez les envoyer au dépôt de développement .
HardeningKitty prend en charge le durcissement d'un système Windows. La configuration du système est récupérée et évaluée à l'aide d'une liste de recherche. De plus, le système peut être durci en fonction des valeurs prédéfinies. HardeningKitty lit Paramètres du registre et utilise d'autres modules pour lire les configurations en dehors du registre.
Le script a été développé pour les systèmes anglais. Il est possible que dans d'autres langues, l'analyse soit incorrecte. Veuillez créer un problème si cela se produit.
Exécutez le script avec des privilèges administratifs pour accéder aux paramètres de la machine. Pour les paramètres de l'utilisateur, il est préférable de les exécuter avec un compte utilisateur normal. Idéalement, le compte d'utilisateur est utilisé pour le travail quotidien.
Téléchargez HardeningKitty et copiez-le dans le système cible (script et listes). Ensuite, HardeningKitty peut être importé et exécuté:
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 .Créez d'abord le répertoire HardeningKitty et pour chaque version, un sous-répertoire comme 0.9.2 dans un chemin répertorié dans la variable d'environnement PSModulePath .
Copiez le module HardeningKitty.PSM1 , Hardeningkitty.PSD1 et le répertoire des listes de ce nouveau répertoire.
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 - RecursePour plus d'informations, voir l'article de Microsoft Installation d'un module PowerShell.
Vous pouvez utiliser le script ci-dessous pour télécharger et installer la dernière version 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 "
}
InstallHardeningKittyLe mode par défaut est l'audit . HardeningKitty effectue un audit, enregistre les résultats dans un fichier CSV et crée un fichier journal. Les fichiers sont automatiquement nommés et reçoivent un horodatage. En utilisant les paramètres ReportFile ou LogFile , il est également possible d'attribuer votre propre nom et chemin.
Le paramètre du filtre peut être utilisé pour filtrer la liste de durcissement. À cette fin, la syntaxe PowerShell ScriptBlock doit être utilisée, par exemple { $_.ID -eq 4505 } . Les éléments suivants sont utiles pour le filtrage: ID, catégorie, nom, méthode et gravité.
Invoke-HardeningKitty - Mode Audit - Log - ReportHardeningKitty peut être exécuté avec une liste spécifique définie par le paramètre FileFindingList . Si HardeningKitty est exécuté plusieurs fois sur le même système, il peut être utile de masquer les informations de la machine. Le paramètre SkipMachineInformation est utilisé à cet effet.
Invoke-HardeningKitty - FileFindingList .listsfinding_list_0x6d69636b_user.csv - SkipMachineInformationHardeningKitty utilise la liste par défaut et vérifie uniquement les tests avec le support de gravité.
Invoke-HardeningKitty - Filter { $_ .Severity -eq " Medium " }Le mode config réduit tous les paramètres actuels d'un système. Si un paramètre n'a pas été configuré, HardeningKitty utilisera une valeur par défaut stockée dans la liste de recherche. Ce mode peut être combiné avec d'autres fonctions, par exemple pour créer une sauvegarde.
HardeningKitty obtient les paramètres actuels et les stocke dans un rapport:
Invoke-HardeningKitty - Mode Config - Report - ReportFile C:tmpmy_hardeningkitty_report.csvLes sauvegardes sont importantes. Vraiment important. Par conséquent, HardeningKitty a également une fonction pour récupérer la configuration actuelle et l'enregistrer dans un formulaire qui peut être partiellement restauré.
Avertissement: HardeningKitty essaie de restaurer la configuration d'origine. Cela fonctionne assez bien avec les clés de registre et Hardening Kitty essaie vraiment de son mieux. Mais la fonction de sauvegarde n'est pas un instantané et ne remplace pas une sauvegarde du système réelle. Il n'est pas possible de restaurer le système 1: 1 avec Hardeningkitty seul après Hailmary. S'il s'agit d'une exigence, créez une sauvegarde d'image ou du système et restaurez-la.
Le commutateur de sauvegarde spécifie que le fichier est écrit sous forme de liste de recherche et peut donc être utilisé pour le mode Hailmary . Le nom et le chemin de la sauvegarde peuvent être spécifiés avec le paramètre Backupfile .
Invoke-HardeningKitty - Mode Config - BackupVeuillez tester cette fonction pour voir si elle fonctionne vraiment correctement sur le système cible avant d'apporter des modifications sérieuses. Le sauvegarde d'un Schrödinger est dangereux.
Notez que si -FileFindingList n'est pas spécifié, la sauvegarde est renvoyée à la liste de recherche par défaut. Avant de déployer une liste spécifique en mode Hailmary , créez toujours une sauvegarde référée à cette liste spécifique .
Invoke-HardeningKitty - Mode Config - Backup - BackupFile " .myBackup.csv " - FileFindingList " .list{list}.csv " Le commutateur de sauvegarde crée un fichier sous forme d'une liste de recherche, pour restaurer le chargement de sauvegarde en mode Hailmary comme n'importe quelle liste de recherche:
Invoke-HardeningKitty - Mode HailMary - Log - Report - FileFindingList " .myBackup.csv " La méthode Hailmary est très puissante. Il peut être utilisé pour déployer une liste de recherche sur un système. Toutes les résultats sont définis sur ce système comme recommandé dans la liste. Avec le pouvoir vient la responsabilité. Veuillez utiliser ce mode uniquement si vous savez ce que vous faites. Assurez-vous d'avoir une sauvegarde du système.
Pour l'instant, la fonction de filtre n'est prise en charge qu'en mode Audit et config. Comme le mode Hailmary est une question délicate, créez votre propre fichier et supprimez toutes les lignes que vous souhaitez filtrer.
Invoke-HardeningKitty - Mode HailMary - Log - Report - FileFindingList .listsfinding_list_0x6d69636b_machine.csvAvant que Hailmary ne soit exécutée, une liste de recherche doit être choisie. Il est important de vérifier si les paramètres ont une influence sur la stabilité et la fonctionnalité du système. Avant de courir Hailmary, une sauvegarde doit être effectuée.
Grâce à @gderybel, HardeningKitty peut convertir une liste de constatation en politique de groupe. En tant qu'obligation de base, le module de gestion de la politique de stratégie de groupe doit être installé. À l'heure actuelle, seuls les paramètres de registre peuvent être convertis et tout n'a pas encore été testé. Une nouvelle stratégie est créée, tant qu'elle n'est pas affectée à un objet, aucun changement n'est apporté au système. Utilisez-le avec soin.
Invoke-HardeningKitty - Mode GPO - FileFindingList .listsfinding_list_0x6d69636b_machine.csv - GPOName HardeningKitty - Machine - 01 Chaque découverte passée donne 4 points, une faible découverte donne 2 points, une découverte moyenne donne 1 point et une constatation élevée donne 0 points.
La formule pour le score Hardeningkitty est (points obtenus / points maximum) * 5 + 1 .
| Score | Note décontractée | Notation professionnelle |
|---|---|---|
| 6 | ? Excellent | Excellent |
| 5 | ? Bien joué | Bien |
| 4 | ? Suffisant | Suffisant |
| 3 | ? Tu devrais faire mieux | Insuffisant |
| 2 | ? Faible | Insuffisant |
| 1 | ? Faux | Insuffisant |
ATAMO créent une interface Web pour HardeningKitty. L'outil peut être utilisé pour créer vos propres listes et fournit des informations supplémentaires sur les paramètres de durcissement. Le code source est sous la licence AGPL et il existe un site de démonstration.
HardeningKitty peut être utilisé pour auditer des systèmes par rapport aux lignes de base / repères suivantes:
| Nom | Version système | Version |
|---|---|---|
| 0x6d69636b Windows 10 (machine) | 22h2 | |
| 0x6d69636b Windows 10 (utilisateur) | 22h2 | |
| Bsi sisyphus windows 10 hoher schutzbedarf domänenmitglied (machine) | 1809 | 1.0 |
| Bsi sisyphus windows 10 hoher schutzbedarf domänenmitglied (utilisateur) | 1809 | 1.0 |
| Bsi sisyphus windows 10 normal schutzbedarf domänenmitglied (machine) | 1809 | 1.0 |
| Bsi sisyphus windows 10 normal schutzbedarf domänenmitglied (utilisateur) | 1809 | 1.0 |
| Bsi sisyphus windows 10 normal schutzbedarf einzelrechner (machine) | 1809 | 1.0 |
| Bsi sisyphus windows 10 normal schutzbedarf einzelrechner (utilisateur) | 1809 | 1.0 |
| CIS Microsoft Windows 10 Enterprise (machine) | 1809 | 1.6.1 |
| CIS Microsoft Windows 10 Enterprise (utilisateur) | 1809 | 1.6.1 |
| CIS Microsoft Windows 10 Enterprise (machine) | 1903 | 1.7.1 |
| CIS Microsoft Windows 10 Enterprise (utilisateur) | 1903 | 1.7.1 |
| CIS Microsoft Windows 10 Enterprise (machine) | 1909 | 1.8.1 |
| CIS Microsoft Windows 10 Enterprise (utilisateur) | 1909 | 1.8.1 |
| CIS Microsoft Windows 10 Enterprise (machine) | 2004 | 1.9.1 |
| CIS Microsoft Windows 10 Enterprise (utilisateur) | 2004 | 1.9.1 |
| CIS Microsoft Windows 10 Enterprise (machine) | 20h2 | 1.10.1 |
| CIS Microsoft Windows 10 Enterprise (utilisateur) | 20h2 | 1.10.1 |
| CIS Microsoft Windows 10 Enterprise (machine) | 21h1 | 1.11.0 |
| CIS Microsoft Windows 10 Enterprise (utilisateur) | 21h1 | 1.11.0 |
| CIS Microsoft Windows 10 Enterprise (machine) | 21h2 | 1.12.0 |
| CIS Microsoft Windows 10 Enterprise (utilisateur) | 21h2 | 1.12.0 |
| CIS Microsoft Windows 10 Enterprise (machine) | 22h2 | 2.0.0 |
| CIS Microsoft Windows 10 Enterprise (utilisateur) | 22h2 | 2.0.0 |
| CIS Microsoft Windows 10 Enterprise (machine) | 22h2 | 3.0.0 |
| CIS Microsoft Windows 10 Enterprise (utilisateur) | 22h2 | 3.0.0 |
| CIS Microsoft Windows 11 Enterprise (machine) | 21h2 | 1.0.0 |
| CIS Microsoft Windows 11 Enterprise (utilisateur) | 21h2 | 1.0.0 |
| CIS Microsoft Windows 11 Enterprise (machine) | 22h2 | 2.0.0 |
| CIS Microsoft Windows 11 Enterprise (utilisateur) | 22h2 | 2.0.0 |
| CIS Microsoft Windows 11 Enterprise (machine) | 23h2 | 3.0.0 |
| CIS Microsoft Windows 11 Enterprise (utilisateur) | 23h2 | 3.0.0 |
| CIS Microsoft Windows Server 2012 R2 (machine) | R2 | 2.4.0 |
| CIS Microsoft Windows Server 2012 R2 (utilisateur) | R2 | 2.4.0 |
| CIS Microsoft Windows Server 2012 R2 (machine) | R2 | 2.6.0 |
| CIS Microsoft Windows Server 2012 R2 (utilisateur) | R2 | 2.6.0 |
| CIS Microsoft Windows Server 2012 R2 (machine) | R2 | 3.0.0 |
| CIS Microsoft Windows Server 2012 R2 (utilisateur) | R2 | 3.0.0 |
| CIS Microsoft Windows Server 2016 (machine) | 1607 | 1.2.0 |
| CIS Microsoft Windows Server 2016 (utilisateur) | 1607 | 1.2.0 |
| CIS Microsoft Windows Server 2016 (machine) | 1607 | 1.3.0 |
| CIS Microsoft Windows Server 2016 (utilisateur) | 1607 | 1.3.0 |
| CIS Microsoft Windows Server 2016 (machine) | 1607 | 2.0.0 |
| CIS Microsoft Windows Server 2016 (utilisateur) | 1607 | 2.0.0 |
| CIS Microsoft Windows Server 2016 (machine) | 1607 | 3.0.0 |
| CIS Microsoft Windows Server 2016 (utilisateur) | 1607 | 3.0.0 |
| CIS Microsoft Windows Server 2019 (machine) | 1809 | 1.1.0 |
| CIS Microsoft Windows Server 2019 (utilisateur) | 1809 | 1.1.0 |
| CIS Microsoft Windows Server 2019 (machine) | 1809 | 1.2.1 |
| CIS Microsoft Windows Server 2019 (utilisateur) | 1809 | 1.2.1 |
| CIS Microsoft Windows Server 2019 (machine) | 1809 | 2.0.0 |
| CIS Microsoft Windows Server 2019 (utilisateur) | 1809 | 2.0.0 |
| CIS Microsoft Windows Server 2019 (machine) | 1809 | 3.0.0 |
| CIS Microsoft Windows Server 2019 (utilisateur) | 1809 | 3.0.0 |
| CIS Microsoft Windows Server 2022 (machine) | 21h2 | 1.0.0 |
| CIS Microsoft Windows Server 2022 (utilisateur) | 21h2 | 1.0.0 |
| CIS Microsoft Windows Server 2022 (machine) | 22h2 | 2.0.0 |
| CIS Microsoft Windows Server 2022 (utilisateur) | 22h2 | 2.0.0 |
| CIS Microsoft Windows Server 2022 (machine) | 22h2 | 3.0.0 |
| CIS Microsoft Windows Server 2022 (utilisateur) | 22h2 | 3.0.0 |
| DOD Microsoft Windows 10 Stig (machine) | 20h2 | v2r1 |
| DOD Microsoft Windows 10 Stig (utilisateur) | 20h2 | v2r1 |
| DOD Windows Server 2019 Contrôleur de domaine Stig (machine) | 20h2 | v2r1 |
| DOD Windows Server 2019 Contrôleur de domaine Stig (utilisateur) | 20h2 | v2r1 |
| DOD Windows Server 2019 Server membre Stig (machine) | 20h2 | v2r1 |
| DOD Windows Server 2019 Server membre Stig (utilisateur) | 20h2 | v2r1 |
| DOD Windows Defender Antivirus Stig | 20h2 | v2r1 |
| Pare-feu DOD Windows Stig | 20h2 | v1r7 |
| Microsoft Security Baseline pour Microsoft Edge | 87 | Final |
| Microsoft Security Baseline pour Microsoft Edge | 88, 89, 90, 91 | Final |
| Microsoft Security Baseline pour Microsoft Edge | 92 | Final |
| Microsoft Security Baseline pour Microsoft Edge | 93, 94 | Final |
| Microsoft Security Baseline pour Microsoft Edge | 95 | Final |
| Microsoft Security Baseline pour Microsoft Edge | 96 | Final |
| Microsoft Security Baseline pour Microsoft Edge | 97 | Final |
| Microsoft Security Baseline pour Microsoft Edge | 98, 99, 100, 101, 102, 103, 104, 105, 106 | Final |
| Microsoft Security Baseline pour Microsoft Edge | 107, 108, 109, 110, 111 | Final |
| Microsoft Security Baseline pour Microsoft Edge | 112, 113 | Final |
| Microsoft Security Baseline pour Microsoft Edge | 114, 115, 116 | Final |
| Microsoft Security Baseline pour Microsoft Edge | 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127 | Final |
| Microsoft Security Baseline pour Microsoft Edge | 128, 129, 130 | Final |
| Microsoft Security Baseline pour Windows 10 | 2004 | Final |
| Microsoft Security Baseline pour Windows 10 | 20h2, 21h1 | Final |
| Microsoft Security Baseline pour Windows 10 | 21h2 | Final |
| Microsoft Security Baseline pour Windows 10 (machine) | 22h2 | Final |
| Microsoft Security Baseline pour Windows 10 (utilisateur) | 22h2 | Final |
| Microsoft Security Baseline pour Windows 11 | 21h2 | Final |
| Microsoft Security Baseline pour Windows 11 (machine) | 22h2 | Final |
| Microsoft Security Baseline pour Windows 11 (utilisateur) | 22h2 | Final |
| Microsoft Security Baseline pour Windows 11 (machine) | 23h2 | Final |
| Microsoft Security Baseline pour Windows 11 (utilisateur) | 23h2 | Final |
| Microsoft Security Baseline pour Windows 11 (machine) | 24h2 | Final |
| Microsoft Security Baseline pour Windows 11 (utilisateur) | 24h2 | Final |
| Microsoft Security Baseline pour Windows Server (DC) | 2004 | Final |
| Microsoft Security Baseline pour Windows Server (membre) | 2004 | Final |
| Microsoft Security Baseline pour Windows Server (DC) | 20h2 | Final |
| Microsoft Security Baseline pour Windows Server (membre) | 20h2 | Final |
| Microsoft Security Baseline pour Windows Server 2022 (DC) | 21h2 | Final |
| Microsoft Security Baseline pour Windows Server 2022 (membre) | 21h2 | Final |
| Microsoft Security Baseline pour Office 365 Proplus (machine) | Septembre 2019 | Final |
| Microsoft Security Baseline pour Office 365 Proplus (utilisateur) | Septembre 2019 | Final |
| Microsoft Security Baseline pour les applications Microsoft 365 pour l'entreprise (machine) | v2104, v2106 | Final |
| Microsoft Security Baseline pour les applications Microsoft 365 pour l'entreprise (utilisateur) | v2104, v2106 | Final |
| Microsoft Security Baseline pour les applications Microsoft 365 pour l'entreprise (machine) | v2112 | Final |
| Microsoft Security Baseline pour les applications Microsoft 365 pour l'entreprise (utilisateur) | v2112 | Final |
| Microsoft Security Baseline pour les applications Microsoft 365 pour l'entreprise (machine) | v2206 | Final |
| Microsoft Security Baseline pour les applications Microsoft 365 pour l'entreprise (utilisateur) | v2206 | Final |
| Microsoft Security Baseline pour les applications Microsoft 365 pour l'entreprise (machine) | v2306, v2312 | Final |
| Microsoft Security Baseline pour les applications Microsoft 365 pour l'entreprise (utilisateur) | v2306, v2312 | Final |
| Paramètres Microsoft Windows Server TLS | 1809 | 1.0 |
| Paramètres Microsoft Windows Server TLS (utilisation future avec TLSV1.3) | 1903 | 1.0 |