accesschk/download

GitHub: accesschk/download

Sysinternals 出品的免费 Windows 命令行权限审计工具,用于查询和报告用户对文件、注册表、服务等多种安全对象的有效访问权限。

Stars: 0 | Forks: 0

Latest Version Release Date Windows Free MSI Installer

AccessChk — 免费的 Windows 权限审计工具

Download AccessChk MSI All Releases

AccessChk 是一款免费、轻量级的命令行实用工具,用于报告 Windows 安全对象上的有效权限——包括 NTFS 文件和文件夹注册表项Windows 服务进程SMB 共享内核对象。AccessChk 专为执行 ACL 审计合规性审查权限提升评估的 IT 管理员、安全工程师和基础架构团队设计,能快速回答一个问题:“该用户或组实际拥有什么权限?”它是 Microsoft Sysinternals 套件的一部分,可作为便携式、免安装工具运行。

下载 AccessChk

文件 架构 类型 链接
AccessChk.msi 64 位 (x64) MSI 安装程序 ⬇ 下载

所有版本均可在 Releases 页面获取。每个版本均包含用于校验的 SHA-256 校验和。

核心功能

  • 有效权限报告 — 显示用户和组的实际访问权限,综合考虑组成员身份和继承关系
  • NTFS 文件和文件夹审计 — 通过递归扫描检查文件、目录和整个目录树上的 ACL
  • 注册表项权限 — 审计对 HKLMHKCU 和其他注册表配置单元的访问权限
  • Windows 服务审计 — 检查哪些账户可以读取、写入或修改 Windows 服务及服务控制管理器
  • 进程和 token 检查 — 查看进程 token、组、特权和线程权限
  • SMB 共享权限 — 审计网络上的文件和打印机共享访问权限
  • 内核对象分析 — 检查信号量、区段、互斥锁和其他对象管理器对象
  • 读/写/无访问权限过滤器 — 使用 -r-w-n 参数快速查找具有特定访问类型的对象
  • SDDL 安全描述符输出 — 导出完整的安全描述符以进行详细的 ACL 分析
  • 命令行自动化 — 跨服务器编写权限审计脚本,用于批量合规性报告
  • 便携模式 — 无需安装,可直接从 USB 驱动器、网络共享或任何目录运行
  • 无需 agent — 独立可执行文件,无后台服务或依赖项

工作原理

AccessChk 读取 Windows 安全对象的安全描述符,并评估指定用户或组的有效权限。与仅列出原始 ACL 条目的 icacls 不同,AccessChk 会解析组成员身份和继承关系,以显示账户实际拥有的访问权限。对于每个对象,它会打印 R 表示读取权限,W 表示写入权限,如果账户两者皆无,则不打印任何内容。使用 -v 参数,它会导出授予每个账户的特定访问权限。

快速开始 — 单机版

  1. 最新版本下载 AccessChk.msi
  2. 运行 MSI 安装程序,或从提升权限的命令提示符启动 AccessChk.exe
  3. 首次运行时接受 EULA:accesschk /accepteula
  4. 运行基本审计:accesschk C:\Windows\System32
  5. 按用户和访问类型进行过滤:accesschk -w "BUILTIN\Users" C:\Data
  6. 查看输出结果,以识别权限过大或配置不当的条目

静默 MSI 安装(企业版)

msiexec /i AccessChk.msi /qn /norestart

命令行审计示例

accesschk -w "BUILTIN\Users" C:\Windows\System32

accesschk -s -v C:\Projects

accesschk -k hklm\software\microsoft

第一条命令查找 System32 中所有可被 Users 组写入的对象。第二条命令对 Projects 文件夹执行递归详细审计。第三条命令检查注册表项权限。第四条命令列出可被 Users 组写入的服务。

企业安全审计工作流

  1. 通过组策略、SCCM 或 Intune 将 AccessChk.msi 部署到目标服务器和工作站
  2. 对关键路径执行定时审计:Web 根目录、数据共享、注册表配置单元和服务配置
  3. 将结果导出到日志文件,用于合规性文档和趋势分析
  4. 审查结果,查找是否存在过多的写入权限、Everyone/Authenticated Users 配置错误以及特权提升路径
  5. 使用 icacls 或组策略首选项修复配置不当的 ACL
  6. 重新运行 AccessChk 以验证权限是否已更正

命令行参考

语法 描述
accesschk [options] [username] <object> 报告文件、文件夹、注册表项、服务或其他对象的有效权限
accesschk -s <path> 递归进入子目录或注册表子项
accesschk -r [user] <object> 仅显示具有读取权限的对象
accesschk -w [user] <object> 仅显示具有写入权限的对象
accesschk -n [user] <object> 仅显示指定账户无访问权限的对象
accesschk -k <registry key> 审计注册表项(例如 hklm\software)的权限
accesschk -c <service> 审计 Windows 服务的权限。使用 * 代表所有服务
accesschk -p <process> 按名称或 PID 审计进程的权限
accesschk -h <share> 审计文件或打印机共享的权限
accesschk -l <object> 导出完整的安全描述符(SDDL)。添加 -i 以忽略继承的 ACE
accesschk -v <object> 详细输出,包括特定的访问权限和完整性级别
accesschk /accepteula 接受 Sysinternals EULA(首次运行必选)

支持的审计场景

场景 详细信息
NTFS 权限审计 检查谁可以读取或写入本地磁盘和文件服务器上的文件及文件夹
注册表安全审查 审计 HKLM、HKCU 和 HKCR 下关键注册表项的访问权限
服务配置错误扫描 查找可被低权限账户写入的 Windows 服务(存在特权提升风险)
SMB 共享审计 识别 Everyone 或 Users 组拥有过度宽松访问权限的网络共享
进程 token 分析 检查进程 token、组和特权以进行安全评估
合规性报告 为 SOC 2、ISO 27001、PCI DSS 和内部审计记录有效权限
渗透测试 在目标系统上发现可写路径、薄弱 ACL 和特权提升向量
访问权限故障排除 诊断特定用户为何无法读取或写入文件、文件夹或注册表项的原因

系统要求

要求 详细信息
操作系统 Windows 7 / 8 / 10 / 11 / Server 2008–2025(32 位和 64 位)
对象类型 文件、文件夹、注册表项、服务、进程、共享、内核对象
价格 免费
安装 MSI 安装程序 — 支持静默部署
依赖项 无 — 独立的 Sysinternals 可执行文件
权限 审计服务、某些注册表项和其他用户的进程需要管理员权限

常见用例

  • 安全审计与强化 — 识别无特权组具有过多写入权限的文件夹、共享和注册表项
  • 特权提升评估 — 查找可被低权限账户利用的配置不当的服务和可写系统路径
  • 合规性文档 — 为 SOC 2、ISO 27001、PCI DSS 和法规审计生成权限报告
  • 文件服务器 ACL 审查 — 审计共享驱动器上的 NTFS 权限,并识别孤立或错误的访问条目
  • 部署前检查 — 在将应用程序投入生产环境之前,验证服务和进程权限
  • 事件响应 — 在调查期间快速评估谁拥有对已入侵文件、注册表项或服务的访问权限
  • 组策略验证 — 确认 GPO 应用的安全设置能产生预期的有效权限
  • Helpdesk 诊断 — 通过显示受影响用户的确切有效权限,解决“拒绝访问”工单

AccessChk 的替代工具

如果您正在寻找类似的 Windows 权限审计工具,请考虑以下替代方案:

  • icacls — 内置的 Windows 用工具,用于查看和修改 ACL 条目(不计算有效权限)
  • cacls — 用于显示和修改文件及文件夹 ACL 的旧版命令行工具(已弃用)
  • PowerShell Get-Acl — 原生的 PowerShell cmdlet,用于检索文件、文件夹和注册表项上的 ACL 对象
  • XCACLS — 扩展的 ACL 实用工具,用于显示和修改文件及文件夹上的访问控制列表
  • Windows 高级安全设置 — 文件资源管理器和注册表编辑器中的 GUI 对话框,用于查看有效权限
  • SecAudit / auditpol — Windows 审计策略工具,用于记录访问事件,而不是直接检查 ACL
  • 商业 IAM 工具 — 诸如 Varonis、Netwrix 或 ManageEngine 等企业级平台,用于大规模的权限治理

常见问题

如何下载 AccessChk?

直接从最新版本下载 AccessChk.msi,或访问 Releases 页面获取所有版本。

AccessChk 和 icacls 有什么区别?

AccessChk 会计算特定用户或组的有效权限,并综合考虑组成员身份和继承关系。icacls 仅显示原始 ACL 条目,而不解析特定账户实际拥有的访问权限。审计 ACL 时请使用 AccessChk,修改 ACL 时请使用 icacls。

如何从命令行检查文件夹权限?

运行 accesschk /accepteula -v "C:\YourFolder" 以查看所有账户的详细有效权限。要检查特定用户,请添加用户名:accesschk /accepteula -v "DOMAIN\User" "C:\YourFolder"

如何查找 Users 组可写的所有文件?

运行 accesschk -sw "BUILTIN\Users" C:\TargetFolder-s 参数会递归进入子目录,而 -w 会过滤出仅具有写入权限的对象。

AccessChk 需要管理员权限吗?

对于大多数文件和注册表项,拥有对安全描述符的读取权限即可。审计服务、某些系统对象以及其他用户的进程,需要从提升权限的命令提示符运行 AccessChk。

如何通过 MSI 静默安装 AccessChk?

在提升权限的命令提示符下运行 msiexec /i AccessChk.msi /qn /norestart,或通过组策略、SCCM 或 Intune 部署 MSI 软件包。

我可以使用 AccessChk 审计 Windows 服务权限吗?

可以。运行 accesschk -c * 以列出所有服务的权限,或运行 accesschk -cw "Users" * 查找 Users 组可写的服务——这是一种常见的特权提升向量。

如何在 PowerShell 中自动化 ACL 审计?

使用 $results = & accesschk.exe /accepteula -s -w "BUILTIN\Users" C:\Data 2>&1 并将输出通过管道传递到日志文件,以便对您整个机群进行定时的合规性报告。

AccessChk 是免费的吗?

是的。AccessChk 是 Microsoft Sysinternals 套件的一部分,根据 Sysinternals 许可证免费分发。

总结

AccessChk 是审计 Windows 系统有效权限的首选工具。无论您是在强化单台文件服务器、对数据中心进行合规性审查,还是在渗透测试期间寻找特权提升路径,AccessChk 都提供了一种快速、可靠且免费的方式来回答“谁拥有什么访问权限?”。它对 NTFS、注册表、服务、进程、共享和内核对象的支持——结合读/写/无访问权限过滤器和命令行自动化——使其成为 Windows 管理员和安全专业人员的必备实用工具。

⬇ 下载 AccessChk.msi

标签:Awesome, Mr. Robot, Streamlit, Web报告查看器, 权限审计, 系统管理, 访问控制