enum4linux-ng 的定位
enum4linux-ng 把 SMB 与 RPC 通道上零散的枚举动作汇总成一份报告:用户、用户组、共享目录、密码策略、域信息与系统版本线索。它的价值在于把未认证就能拿到的信息整理出来,这部分内容本身就是评估结论;认证模式下的结果则用来描述内部可见面。两种模式必须分开表述。
基本信息
| 枚举范围 | 用户、用户组、共享、密码策略、域与系统信息 |
|---|---|
| 关键参数 | -A 基础全量、-u 与 -p 认证枚举、-oJ 输出 JSON |
| 通道 | SMB 与 RPC,依赖 139/445 与 RPC 端口可达 |
| 记录 | 区分认证与未认证两轮结果,分别标注 |
| 输出 | JSON 便于复核与跨轮对比 |
典型使用场景
- 内网主机摸底:确认目标是否为域成员、域控指向与系统线索
- 未授权暴露面取证:把匿名或空会话可读到的用户与共享清单留作证据
- 共享权限核对:与文件服务器台账比对,找出未登记的共享目录
- 密码策略核实:核对锁定阈值与最小长度是否与制度一致
- 与其他工具交叉:结果与 smbmap、rpcclient 的输出互相印证
枚举示例
枚举示例
# 认证模式:用客户提供的专用审计账号,输出 JSON 留档
enum4linux-ng -A 10.0.10.5 -u audit -p 'REDACTED' -oJ enum4linux-auth.json
# 未认证模式:描述未授权可获取的信息,属暴露面视角
enum4linux-ng -A 10.0.10.5 -oJ enum4linux-unauth.json
# 复核时只看关键段落,避免整份输出阅读成本过高
sed -n '1,40p' enum4linux-unauth.json输出逐列读法
| 输出段落 | 含义 | 使用注意 |
|---|---|---|
| Users | 枚举到的账号清单 | 标注来源是认证还是未认证 |
| Groups | 组与成员关系 | 关注高权限组的成员构成 |
| Shares | 共享目录与访问标记 | 结合 disk 与权限列判断可读写 |
| Password policy | 锁定阈值与最短长度 | 与制度要求逐项对照 |
| OS info | 系统版本线索 | 与资产台账核对,不作为精确版本 |
未认证模式的输出本身就是未授权可获取信息的证据:报告中与认证结果分开表述,不要混为一谈。
RPC 不可达时工具会打印大段报错:先确认端口与防火墙状态,再判断是真实的枚举受限还是网络不可达。