rpcclient enumeration
相关标识符 (RID) 和安全标识符 (SID) 概述
相对标识符 (RID) 和 安全标识符 (SID) 是 Windows 操作系统中用于唯一标识和管理网络域内对象(如用户和组)的关键组件。
SID 作为域的唯一标识符,确保每个域都是可区分的。
RID 附加到 SID 上,以创建该域内对象的唯一标识符。这种组合允许精确跟踪和管理对象权限和访问控制。
例如,一个名为 pepe
的用户可能有一个唯一标识符,该标识符结合了域的 SID 和他的特定 RID,以十六进制 (0x457
) 和十进制 (1111
) 格式表示。这导致在域内为 pepe 生成一个完整且唯一的标识符,如:S-1-5-21-1074507654-1937615267-42093643874-1111
。
使用 rpcclient 进行枚举
Samba 的 rpcclient
工具用于通过命名管道与 RPC 端点 进行交互。以下命令可以在建立 SMB 会话 后发出,通常需要凭据。
服务器信息
要获取 服务器信息:使用
srvinfo
命令。
用户枚举
可以列出用户:使用
querydispinfo
和enumdomusers
。获取用户详细信息:使用
queryuser <0xrid>
。获取用户的组:使用
queryusergroups <0xrid>
。通过以下方式检索用户的 SID:使用
lookupnames <username>
。用户的别名:使用
queryuseraliases [builtin|domain] <sid>
。
组的枚举
通过:
enumdomgroups
获取组。使用:
querygroup <0xrid>
获取组的详细信息。通过:
querygroupmem <0xrid>
获取组的成员。
别名组的枚举
通过:
enumalsgroups <builtin|domain>
获取别名组。使用:
queryaliasmem builtin|domain <0xrid>
获取别名组的成员。
域的枚举
使用:
enumdomains
获取域。通过:
lsaquery
检索域的SID。通过:
querydominfo
获取域信息。
共享的枚举
通过:
netshareenumall
获取所有可用的共享。使用:
netsharegetinfo <share>
获取特定共享的信息。
使用SID的附加操作
通过名称获取SID:
lookupnames <username>
。通过:
lsaenumsid
获取更多SID。通过:
lookupsids <sid>
进行RID循环以检查更多SID。
额外命令
命令 | 接口 | 描述 |
queryuser | SAMR | 检索用户信息 |
querygroup | 检索组信息 | |
querydominfo | 检索域信息 | |
enumdomusers | 枚举域用户 | |
enumdomgroups | 枚举域组 | |
createdomuser | 创建域用户 | |
deletedomuser | 删除域用户 | |
lookupnames | LSARPC | 查找用户名到SIDa值 |
lookupsids | 查找SID到用户名(RIDb循环) | |
lsaaddacctrights | 向用户账户添加权限 | |
lsaremoveacctrights | 从用户账户移除权限 | |
dsroledominfo | LSARPC-DS | 获取主要域信息 |
dsenumdomtrusts | 枚举AD森林中的受信域 |
要更好地理解工具 samrdump 和 rpcdump 的工作原理,您应该阅读 Pentesting MSRPC。
Last updated