Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

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

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

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

工具目录

分类

查看所有分类
Loading categories
adaudit — 用于域审计自动化的PowerShell脚本 | Kitploit
工具/GitHubGitHub/phillips321/adaudit
权限提升侦察横向移动配置审计信息收集渗透测试
GitHubphillips321/adaudit

adaudit

用于域审计自动化的PowerShell脚本

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

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
网站

adaudit

此 PowerShell 脚本旨在对 Microsoft Active Directory 执行全面审计,重点识别常见安全漏洞与弱点。执行该脚本有助于精准定位需要加固的关键区域,从而抵御针对 Active Directory 的横向移动或权限提升攻击中常用的攻击手法。

root@kitploit:~
_____ ____     _____       _ _ _
|  _  |    \   |  _  |_ _ _| |_| |_
|     |  |  |  |     | | | . | |  _|
|__|__|____/   |__|__|___|___|_|_|
                 by phillips321

如果您有任何适用于此脚本的实用 PowerShell 单行命令,请告知我。我希望此脚本保持为单一文件,且不依赖外部工具(ntdsutil 和 cmd.exe 除外)。

直接在域控制器上以域管理员身份运行。如果您不信任此代码,建议先阅读它,您会发现它完全无害!(但您从网上下载代码并以域管理员身份运行时,不都应该这样做吗?)

此脚本的功能

  • 设备信息
    • Get-HostDetails
  • 域审计
    • Get-LastWUDate
    • Get-DCEval
    • Get-TimeSource
    • Get-PrivilegedGroupMembership
    • Get-MachineAccountQuota
    • Get-DefaultDomainControllersPolicy
    • Get-SMB1Support
    • Get-FunctionalLevel
    • Get-DCsNotOwnedByDA
    • Get-ReplicationType
    • Get-RecycleBinState
    • Get-CriticalServicesStatus
    • Get-RODC
  • 域信任审计
    • Get-DomainTrusts
  • 用户账户审计
    • Get-InactiveAccounts
    • Get-DisabledAccounts
    • Get-LockedAccounts
    • Get-AdminAccountChecks
    • Get-NULLSessions
    • Get-PrivilegedGroupAccounts
    • Get-ProtectedUsers
  • 密码信息审计
    • Get-AccountPassDontExpire
    • Get-UserPasswordNotChangedRecently
    • Get-PasswordPolicy
    • Get-PasswordQuality
  • 转储 NTDS.dit
    • Get-NTDSdit
  • 计算机对象审计
    • Get-OldBoxes
  • GPO 审计(并检查 SYSVOL 中的密码)
    • Get-GPOtoFile
    • Get-GPOsPerOU
    • Get-SYSVOLXMLS
    • Get-GPOEnum
  • 检查通用组 AD 权限
    • Get-OUPerms
  • 检查域中是否存在 LAPS
    • Get-LAPSStatus
  • 检查是否存在身份验证策略和隔离域
    • Get-AuthenticationPoliciesAndSilos
  • 检查不安全的 DNS 区域
    • Get-DNSZoneInsecure
  • 检查新创建的用户和组
    • Get-RecentChanges
  • 检查 ADCS 漏洞:ESC1、2、3、4 和 8
  • 检查高价值可 Kerberoast 的账户
  • 检查可 ASREPRoast 的账户
  • 检查用户、组和计算机上的危险 ACL 权限
  • 检查 LDAP 和 LDAPs 设置(签名、空会话等)

运行时参数

可组合使用以下开关:

  • -installdeps 安装可选功能(DSInternals)
  • -hostdetails 获取主机名及其他有用的审计信息
  • -domainaudit 获取有关 AD 的信息(如功能级别)
  • -trusts 获取有关域信任的信息
  • -accounts 识别账户问题(如过期、禁用等)
  • -passwordpolicy 获取密码策略信息
  • -ntds 使用 ntdsutil 转储 NTDS.dit 文件
  • -oldboxes 识别加入域的过时操作系统(如 XP/2003)
  • -gpo 以 XML 和 HTML 格式转储 GPO 供后续分析
  • -ouperms 检查通用 OU 权限问题
  • -laps 检查是否安装了 LAPS
  • -authpolsilos 检查是否存在身份验证策略和隔离域
  • -insecurednszone 检查不安全的 DNS 区域

子域支持

此脚本现已完全支持林根域和子域:

  • 在子域中优雅处理 Schema Admins 和 Enterprise Admins(该组仅存在于林根域)
  • 脚本成功完成,并为缺少的仅林根域组提供适当的信息提示
  • 不会因子域场景中缺少组而导致崩溃或阻止失败
  • 已在 Windows Server 2022 子域上测试并验证

错误处理与健壮性

脚本在整个过程中实现了全面的错误处理:

  • 可选的审计功能优雅地失败,不会阻塞脚本执行
  • GPO 报告生成错误(例如损坏的 GPO)不会阻止其他审计完成
  • 防御性检查可防止因可选输出文件缺失而导致的文件未找到异常
  • 清晰的错误/警告/信息消息可区分严重故障与预期场景
  • 缺少可选模块(DSInternals、LAPS、AdmPwd.PS)不会阻止核心审计功能

Nessus XML 输出

  • 生成有效的、格式正确的 Nessus XML,无需后处理
  • 所有特殊字符在源文件中正确转义(&、<、>、"、')
  • 输出文件可直接导入 Nessus,无需手动修改
  • 消除了后处理步骤或额外输出文件的需求

测试环境

  • 已在 Windows Server 2022 上验证(包括林根域和子域)
  • 支持 Windows Server 2008R2 至 2022
  • 成功处理包含损坏 GPO 和混合配置的复杂生产环境
下载工具
  • -recentchanges 检查最近 30 天内新创建的用户和组
  • -adcs 检查 ADCS 漏洞:ESC1、2、3、4 和 8
  • -acl 检查用户、组和计算机上的危险 ACL 权限
  • -spn 检查高价值可 Kerberoast 的账户
  • -asrep 检查可 ASREPRoast 的账户
  • -ldapsecurity 检查多个 LDAP 问题
  • -exclude 允许在运行 adaudit.ps1 -all -exclude ouperms,ntds,adcs 时排除特定检查
  • -select 允许在运行 adaudit.ps1 -all "gpo,ntds,acl" 时指定仅运行哪些检查
  • -all 运行所有检查,例如 AdAudit.ps1 -all