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。
要更好地理解工具 samrdump 和 rpcdump 的工作原理,您应该阅读 Pentesting MSRPC。
学习与实践 AWS 黑客技术:HackTricks Training AWS Red Team Expert (ARTE) 学习与实践 GCP 黑客技术:HackTricks Training GCP Red Team Expert (GRTE)
命令
接口
描述
queryuser
SAMR
检索用户信息
querygroup
检索组信息
querydominfo
检索域信息
enumdomusers
枚举域用户
enumdomgroups
枚举域组
createdomuser
创建域用户
deletedomuser
删除域用户
lookupnames
LSARPC
查找用户名到SIDa值
lookupsids
查找SID到用户名(RIDb循环)
lsaaddacctrights
向用户账户添加权限
lsaremoveacctrights
从用户账户移除权限
dsroledominfo
LSARPC-DS
获取主要域信息
dsenumdomtrusts
枚举AD森林中的受信域