克孜勒苏柯尔克孜自治州网站建设_网站建设公司_Photoshop_seo优化
2026/1/1 22:46:54 网站建设 项目流程

AccessEnum 学习笔记(9.10):一键盘点“谁能访问什么”——文件/注册表权限体检与修复 - 教程

AccessEnum 学习笔记(9.10):一键盘点“谁能访问什么”——文件/注册表权限体检与修复

  • AccessEnum 学习笔记(9.10):一键盘点“谁能访问什么”——文件/注册表权限体检与修复
    • 你将收获
    • 1)AccessEnum 是什么(与家族工具对比)
    • 2)典型风险画像(先知道要找谁)
    • 3)快速上手(5 步走)
    • 4)高分操作流(审计到修复闭环)
      • 4.1 初筛(AccessEnum)
      • 4.2 复核(AccessChk 精核对)
      • 4.3 修复(icacls / PowerShell)
      • 4.4 复测(AccessEnum 回扫)
    • 5)建议的扫描清单(按周/月例行)
    • 6)输出字段怎么读(解读指南)
    • 7)常见坑 & 排障
    • 8)把 AccessEnum 融入团队流程
    • 9)速用清单(拿去就跑)
    • 10)与其它工具的黄金组合

AccessEnum 学习笔记(9.10):一键盘点“谁能访问什么”——文件/注册表权限体检与修复

适用人群:运维/安服/内控/合规/审计。
目标:用最少时间把文件/共享/注册表里“谁可读、谁可写、谁完全控制”盘点清楚,快速发现过度授权继承异常


你将收获


1)AccessEnum 是什么(与家族工具对比)

  • AccessEnum:GUI 小工具,批量遍历某个起始目录或注册表节点,列出对象对常见内置组(如 EveryoneUsersAuthenticated UsersGuests 等)的有效访问级别(读/写/完全控制),用列表视图直观标红可疑项,并可导出结果(文本/CSV)。
  • 与 AccessChk 的差异:AccessChk 是命令行,按“特定账户/组”做精确检查,适合脚本与批量;AccessEnum 适合初筛与可视化复核。实战里通常“AccessEnum 列问题,AccessChk 精核对”。

2)典型风险画像(先知道要找谁)

重点不是“能读”而是“能写/能改 ACL/能执行”。下列命中要优先处置:

  1. Everyone/Users 对业务目录拥有写或完全控制
    • 例:D:\Share\ProjectA 出现 Everyone:(M/Write/F)
  2. 继承断裂、显式授予过度
    • 例:父目录最小权限,子目录手动加了 Authenticated Users:(F)
  3. 注册表关键位点可写(持久化/提权高发地)
    • 例:HKLM\Software\Microsoft\Windows\CurrentVersion\Run
  4. 应用安装目录可写(可替换 EXE/DLL 劫持)
    • 例:C:\Program Files\Vendor\App\ 对普通用户有写权
  5. 共享根/公共目录无差别可写
    • 例:\\filesrv\public 未做分组隔离与最小授权

3)快速上手(5 步走)

  1. 以管理员运行 AccessEnum(保证能读 ACL 与注册表)
  2. 选择扫描对象
    • Files:选一个盘符/目录(如 D:\Share
    • Registry:选 HKLMHKCU 下的关键分支
  3. 选择要关注的组(默认就够用;需要时勾选/添加常用组)
  4. Start 扫描 → 支持排序过滤(优先看包含 Write/Full 的行)
  5. Save/Export 导出结果(建议 CSV,便于复核与留痕)

小技巧

  • 扫描数据盘先于系统盘(噪声更少)。
  • Path 排序可快速定位“越权从哪里开始”(看父/子目录对比)。

4)高分操作流(审计到修复闭环)

4.1 初筛(AccessEnum)

  • 目标:拉出**“可写/完全控制”**的可疑清单
  • 观点:能写 = 能投毒/持久化/勒索,优先级最高

4.2 复核(AccessChk 精核对)

:: 检查某个路径对 Everyone/Users 的有效访问
accesschk -d -o -wv "Everyone" "D:\Share\ProjectA"
accesschk -d -o -wv "Users" "D:\Share\ProjectA"
:: 递归核对(包含目录/文件)
accesschk -d -o -s -wv "Authenticated Users" "D:\Share\ProjectA"

说明:
-d 显示拒绝/允许,-o 显示拥有者,-w 写权限,-v 详细,-s 递归。

4.3 修复(icacls / PowerShell)

:: 1) 移除 Everyone/Users 写权限(保留读取)
icacls "D:\Share\ProjectA" /remove:g Everyone Users
:: 2) 恢复继承(让子项回归父策略)
icacls "D:\Share\ProjectA" /inheritance:e
:: 3) 明确只读访问(组级最小授权)
icacls "D:\Share\ProjectA" /grant "Domain Users:(RX)"
:: 4) 限定写入给业务组
icacls "D:\Share\ProjectA" /grant "CORP\ProjA-Editors:(M)"
:: 5) 递归应用到子项
icacls "D:\Share\ProjectA" /grant "CORP\ProjA-Editors:(OI)(CI)(M)"

注册表修复(PowerShell)

# 给业务服务账户精确写入,移除 Users 写权限
$path = "HKLM:\Software\Vendor\App"
$acl = Get-Acl $path
$ruleRemove = New-Object System.Security.AccessControl.RegistryAccessRule("Users","SetValue,CreateSubKey","ContainerInherit","None","Allow")
$acl.RemoveAccessRule($ruleRemove) | Out-Null
$ruleAdd = New-Object System.Security.AccessControl.RegistryAccessRule("CORP\AppSvc","ReadKey,SetValue","ContainerInherit","None","Allow")
$acl.AddAccessRule($ruleAdd)
Set-Acl $path $acl

4.4 复测(AccessEnum 回扫)

  • 修复后再次扫描同一根路径;
  • 变更留痕(CSV 前后对比 + 变更单号 + 执行人)。

5)建议的扫描清单(按周/月例行)


6)输出字段怎么读(解读指南)

字段含义重点解读
Path文件/目录/注册表项结合父级对比判断是否“单点放开”
Account/Group被评估的对象(如 Everyone/Users)内置组通常影响面最广
AccessRead / Write / Full Control / SpecialWrite/Full 最高优先级;Special 需用 AccessChk 精核
InheritedYes/NoNo 常代表手工改动,重点复核
Owner对象所有者所有者可更改 ACL,注意非常规账户

7)常见坑 & 排障


8)把 AccessEnum 融入团队流程

  • 周扫描:共享与应用目录例行体检,导出 CSV 进制表盘。
  • 变更前扫描:上生产前做一次权限审计,避免 Everyone/Users 写入。
  • 联合审计:安服/运维/应用负责人三方核对“应当访问的组名单”。
  • 整改闭环:每个异常项都要有“谁修、怎么修、何时复测”。

9)速用清单(拿去就跑)

✅ 优先看写/完全控制;读权一般不急
✅ 继承断裂(Inherited=No)要问“为什么”
✅ 应用目录禁止普通用户写
✅ Run*/Services 等注册表位点严控写入
✅ 修复后必须回扫与留痕

10)与其它工具的黄金组合

  • AccessEnum:广域可视化初筛
  • AccessChk:针对账户/组的准星核对(命令行可脚本化)
  • icacls / PowerShell标准化修复
  • ProcMon:当你怀疑“谁在改 ACL/写关键路径”,用事件级追踪定位元凶

下一篇(9.11):ShareEnum——内网共享体检与最小授权落地(把“谁能扫进来、能读写什么”讲清楚)。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询