sensepost/InvokeADCheck

GitHub: sensepost/InvokeADCheck

一个用于评估 Active Directory 环境安全性的 PowerShell 模块,通过多种检查项识别配置错误和安全隐患。

Stars: 117 | Forks: 15

# InvokeADCheck 一个旨在评估 Active Directory 环境安全性的 PowerShell 模块。 ## 描述 InvokeADCheck 是一个旨在简化 Active Directory (AD) 环境评估的 PowerShell 模块。 它执行各种检查以识别潜在的安全配置错误、弱点以及对最佳实践的遵循情况。 通过 PowerShell CLI 运行针对性检查,该模块提供详细的结果和可操作的见解。它为 IT 管理员和安全专业人员提供了主动识别和解决 AD 环境中潜在安全风险的手段。 **注意:** InvokeADCheck 主要用于单个 AD 林内较小的 Active Directory 域。本模块按“原样”提供,不提供任何支持或保证。 ## 要求 要使用 InvokeADCheck,请确保满足以下先决条件: * PowerShell 版本 5.0(或更高版本) * Windows 10 或 Windows 2016(或更新版本) * PowerShell Active Directory 模块 可选: * PowerShell Group Policy 模块 ## 安装 要直接安装该模块,请运行以下 PowerShell 命令: ``` iex(New-Object Net.WebClient).DownloadString("https://raw.githubusercontent.com/sensepost/InvokeADCheck/refs/heads/main/Install.ps1") Import-Module -Name InvokeADCheck ``` 或者,将存储库克隆到您的计算机,导航到 `\InvokeADCheck\releases\InvokeADCheck` 目录,并将该模块导入到您的会话中以进行测试而无需安装: ``` Import-Module .\InvokeADCheck.psm1 ``` ## 用法 ### 运行所有检查并将结果输出到控制台 ``` PS C:\> Invoke-ADCheck ``` ### 运行特定检查并将结果输出到控制台和 JSON 文件 ``` PS C:\> Invoke-ADCheck -Checks ADBackupStatus, DomainController -OutputTypes CLI, JSON -OutputPath C:\Temp ``` ### 运行所有检查并将结果输出到控制台和 Excel 文件 ``` PS C:\> Invoke-ADCheck -OutputTypes CLI, XLSX -OutputPath C:\Temp ``` ### 使用特定的域控制器和凭据运行所有检查 ``` PS C:\> Invoke-ADCheck -OutputTypes CLI -Server "ad.domain.tld" -Credential (Get-Credential) ``` ## 精选检查 | 检查项 | 描述 | |-------------------------|--------------------------------------------------------------------------------------------| | All | 运行所有可用的检查 | | ADBackupStatus | 获取 Active Directory 备份的状态 | | BuiltInGroupMembership | 获取 Active Directory 内置组的成员 | | DefaultAdministrator | 获取默认 Administrator 账户设置 | | DefaultDomainPasswordPolicy | 获取默认域密码策略 | | DomainController | 获取有关域控制器的信息 | | DomainTrust | 获取域信任关系 | | FunctionalLevel | 获取域和林功能级别 | | GPO | 获取组策略对象 | | GPOPermission | 获取组策略对象的权限 | | GPPPassword | 获取组策略首选项 密码 | | GuestAccount | 获取 Active Directory 来宾账户的状态 | | KerberosDelegation | 获取账户的 Kerberos 委派设置 | | KerberosEncryptionType | 获取域中使用的 Kerberos 加密类型 | | KerberosServiceAccount | 获取有关内置 KRBTGT 账户的信息 | | MachineQuota | 获取 `ms-DS-MachineAccountQuota` 属性 | | ProtectedUsersGroup | 获取有关 Protected Users 组的信息 | | RootACL | 从域根 ACL 中获取感兴趣的访问控制项(实验性)| | TombstoneLifetime | 获取 Active Directory 废弃项目生命周期属性 | | UserAccountHealth | 检查 Active Directory 用户账户的运行状况 | ## 贡献 请随时通过开启新议题或提供拉取请求来进行贡献。 为了获得最佳开发体验,请在 Visual Studio Code 中作为文件夹打开此项目,并确保已安装 PowerShell 扩展。 * [Visual Studio Code](https://code.visualstudio.com/) * [PowerShell Extension](https://marketplace.visualstudio.com/items?itemName=ms-vscode.PowerShell) 此模块使用 PowerShell 测试框架 Pester 进行测试。要运行所有测试,只需使用测试参数 `.\Build.ps1 -test` 启动包含的构建脚本。 ## 作者 * [Niels Hofland](https://github.com/N1ck3nd) * [Justin Perdok](https://github.com/justin-p) **网站:** ## 致谢 * [ModuleBuild](https://github.com/ModuleBuild/ModuleBuild) - 一个 PowerShell 模块构建框架。 * [Invoke-TrimarcADChecks](https://github.com/Trimarc/Invoke-TrimarcADChecks/) - 一个 PowerShell Active Directory 评估脚本。 * [ImportExcel](https://github.com/dfinke/ImportExcel) - 一个用于导入/导出 Excel 电子表格的 PowerShell 模块,无需安装 Excel。
标签:Active Directory, AD安全, AD防御, AI合规, Conpot, IPv6, IT合规, Libemu, Libemu, Plaso, PowerShell, Sysadmin工具, Terraform 安全, URL发现, Web报告查看器, Windows安全, 二进制发布, 反取证, 域控制器, 域环境, 安全基线检查, 安全检测, 安全脚本, 安全评估, 开源工具, 红队侦察, 网络安全, 隐私保护