Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
HardeningKitty — HardeningKitty - 检查并加固你的 Windows 配置 | Kitploit
工具/GitHubGitHub/scipag/hardeningkitty
身份验证与授权防御工具漏洞分析配置审计错误配置
GitHubscipag/hardeningkitty

HardeningKitty

HardeningKitty - 检查并加固你的 Windows 配置

查看仓库
1.8k212272个月前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

HardeningKitty

这是来自 Michael Schneider 的 Windows Hardening 项目 的 HardeningKitty 稳定版本。HardeningKitty 的稳定版本使用 scip AG 的代码签名证书进行签名。由于这是稳定版本,我们不在本仓库接受拉取请求,请将其发送至开发仓库。

HardeningKitty 支持对 Windows 系统进行加固。系统配置通过查找列表(finding list)进行检索和评估。此外,还可以根据预定义值对系统进行加固。HardeningKitty 从注册表读取设置,并使用其他模块读取注册表之外的配置。

该脚本是为英文系统开发的。在其他语言环境下,分析结果可能不正确。如果出现这种情况,请创建一个 issue。

如何运行

以管理员权限运行脚本以访问计算机设置。对于用户设置,最好使用普通用户帐户执行。理想情况下,该用户帐户用于日常办公。

下载 HardeningKitty 并复制到目标系统(脚本和列表)。然后即可导入并执行 HardeningKitty:```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.

## 如何安装

首先,在 *PSModulePath* 环境变量列出的路径中创建目录 *HardeningKitty*,并为每个版本创建子目录,如 *0.9.3*。

将模块 *HardeningKitty.psm1*、*HardeningKitty.psd1* 以及 *lists* 目录复制到此新目录。```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

有关详细信息,请参阅 Microsoft 的文章 安装 PowerShell 模块。

如何自动下载并安装最新版本

你可以使用下面的脚本下载并安装 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

## 示例

### 审计

默认模式是 _audit_。HardeningKitty 执行审计,将结果保存为 CSV 文件,并创建日志文件。文件会自动命名并添加时间戳。使用参数 _ReportFile_ 或 _LogFile_,也可以指定自己的名称和路径。

_Filter_ 参数可用于过滤加固列表。为此,必须使用 PowerShell ScriptBlock 语法,例如 `{ $_.ID -eq 4505 }`。以下元素可用于过滤:ID、Category、Name、Method 和 Severity。```powershell
Invoke-HardeningKitty -Mode Audit -Log -Report

HardeningKitty 可以使用由参数 FileFindingList 定义的特定列表来执行。如果在同一系统上多次运行 HardeningKitty,隐藏机器信息可能会很有用。参数 SkipMachineInformation 即用于此目的。```powershell Invoke-HardeningKitty -FileFindingList .\lists\finding_list_0x6d69636b_user.csv -SkipMachineInformation

HardeningKitty 使用默认列表,并且仅检查严重性为 Medium 的测试。```powershell
Invoke-HardeningKitty -Filter { $_.Severity -eq "Medium" }

Config

模式 config 会检索系统的所有当前设置。如果某项设置尚未配置,HardeningKitty 将使用查找列表中存储的默认值。此模式可以与其他功能结合使用,例如创建备份。

HardeningKitty 获取当前设置并将其存储在报告中:```powershell Invoke-HardeningKitty -Mode Config -Report -ReportFile C:\tmp\my_hardeningkitty_report.csv

### 备份

备份很重要。非常重要。因此,HardeningKitty 也提供了一项功能,用于检索当前配置并将其保存为可部分还原的形式。

**免责声明:** HardeningKitty 会尽力还原原始配置。对于注册表项,这一功能运行得相当不错,而且 Hardening Kitty 确实已尽力而为。但备份功能并非快照,也不能替代真正的系统备份。仅靠 HardeningKitty 无法在 HailMary 之后将系统 1:1 还原。如果有此需求,请创建镜像或系统备份并进行还原。

_Backup_ 开关用于指定以查找列表形式写入文件,因此可用于 _HailMary_ 模式。备份的名称和路径可以通过参数 _BackupFile_ 指定。```powershell
Invoke-HardeningKitty -Mode Config -Backup

请先测试此功能,确认它在目标系统上确实正常工作,然后再进行任何重大更改。薛定谔的备份是危险的。

非默认发现列表

请注意,如果未指定 -FileFindingList,则备份将引用默认的发现列表。在 HailMary 模式下部署 特定 列表之前,始终创建一份 引用该特定列表 的备份。```powershell Invoke-HardeningKitty -Mode Config -Backup -BackupFile ".\myBackup.csv" -FileFindingList ".\list{list}.csv"

#### 恢复备份

_Backup_ 开关会创建一个查找列表形式的文件,要恢复备份,请像加载任何查找列表一样,在 _HailMary_ 模式下加载它:```powershell
Invoke-HardeningKitty -Mode HailMary -Log -Report -FileFindingList ".\myBackup.csv"

HailMary

HailMary 方法非常强大。它可用于在系统上部署发现列表。所有发现都按照列表中的建议设置在系统上。能力越大,责任越大。请仅在您清楚自己在做什么的情况下使用此模式。请务必备份系统。

目前,过滤功能仅在 Audit 和 Config 模式下受支持。由于 HailMary 模式是一个棘手的问题,请创建自己的文件并删除所有要过滤的行。```powershell Invoke-HardeningKitty -Mode HailMary -Log -Report -FileFindingList .\lists\finding_list_0x6d69636b_machine.csv

在运行 HailMary 之前,必须选择一个发现列表。重要的是检查设置是否会对系统的稳定性和功能产生影响。在运行 HailMary 之前,应进行备份。

### 创建组策略(实验性)

感谢 [@gderybel](https://github.com/gderybel),HardeningKitty 可以将发现列表转换为组策略。基本要求是必须安装 Group Policy Management PowerShell 模块。目前只能转换注册表设置,且并非所有内容都经过全面测试。只要新策略未分配给对象,就不会对系统进行任何更改。请谨慎使用。```powershell
Invoke-HardeningKitty -Mode GPO -FileFindingList .\lists\finding_list_0x6d69636b_machine.csv -GPOName HardeningKitty-Machine-01

查找列表完整性

在写入模式(HailMary 和 GPO)下,查找列表完全控制将应用于系统的内容。为确保列表在到达操作员手中之前未被篡改(例如被投毒的仓库、共享的基线、下载或通过电子邮件发送的"运行此列表"),HardeningKitty 可以验证列表是否为由维护者发布的真实且未经更改的版本。

官方列表由 lists\ 目录中随附的签名清单进行认证:

  • lists\hardeningkitty_lists_manifest.psd1 - 一个可读文件,将每个官方列表映射到其 SHA-256 哈希
  • lists\hardeningkitty_lists_manifest.psd1.p7s - 对该清单的分离签名,使用维护者证书创建

在运行时,HardeningKitty 会验证分离签名,并检查签名者的证书是否与模块中固定的指纹($HardeningKittyListSigningThumbprint)匹配。它还将已加载列表的哈希与清单进行比较。其哈希包含在签名清单中的列表为 官方 / 已验证。任何其他列表均为 自定义 / 未验证。这是来源证明,而非允许列表——完全支持自定义列表。

各模式下的行为:

下载工具