rpcclient enumeration
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
相对标识符 (RID) 和 安全标识符 (SID) 是 Windows 操作系统中用于唯一标识和管理网络域内对象(如用户和组)的关键组件。
SID 作为域的唯一标识符,确保每个域都是可区分的。
RID 附加到 SID 上,以创建该域内对象的唯一标识符。这种组合允许精确跟踪和管理对象权限和访问控制。
例如,一个名为 pepe
的用户可能有一个唯一标识符,该标识符结合了域的 SID 和他的特定 RID,以十六进制 (0x457
) 和十进制 (1111
) 格式表示。这导致在域内为 pepe 生成一个完整且唯一的标识符,如:S-1-5-21-1074507654-1937615267-42093643874-1111
。
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: 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。
学习与实践 AWS 黑客技术:HackTricks Training AWS Red Team Expert (ARTE) 学习与实践 GCP 黑客技术:HackTricks Training GCP Red Team Expert (GRTE)