rpcclient enumeration

Support HackTricks

Overview of Relative Identifiers (RID) and Security Identifiers (SID)

Los Identificadores Relativos (RID) y los Identificadores de Seguridad (SID) son componentes clave en los sistemas operativos Windows para identificar y gestionar de manera única objetos, como usuarios y grupos, dentro de un dominio de red.

  • Los SID sirven como identificadores únicos para dominios, asegurando que cada dominio sea distinguible.

  • Los RID se añaden a los SID para crear identificadores únicos para objetos dentro de esos dominios. Esta combinación permite un seguimiento y gestión precisos de los permisos de los objetos y los controles de acceso.

Por ejemplo, un usuario llamado pepe podría tener un identificador único que combina el SID del dominio con su RID específico, representado en formatos hexadecimal (0x457) y decimal (1111). Esto resulta en un identificador completo y único para pepe dentro del dominio como: S-1-5-21-1074507654-1937615267-42093643874-1111.

Enumeration with rpcclient

La utilidad rpcclient de Samba se utiliza para interactuar con puntos finales RPC a través de tuberías con nombre. A continuación, se presentan comandos que se pueden emitir a las interfaces SAMR, LSARPC y LSARPC-DS después de que se establece una sesión SMB, a menudo necesitando credenciales.

Server Information

  • Para obtener Información del Servidor: se utiliza el comando srvinfo.

Enumeration of Users

  • Los usuarios se pueden listar usando: querydispinfo y enumdomusers.

  • Detalles de un usuario mediante: queryuser <0xrid>.

  • Grupos de un usuario con: queryusergroups <0xrid>.

  • El SID de un usuario se recupera a través de: lookupnames <username>.

  • Alias de usuarios mediante: queryuseraliases [builtin|domain] <sid>.

# Users' RIDs-forced
for i in $(seq 500 1100); do
rpcclient -N -U "" [IP_ADDRESS] -c "queryuser 0x$(printf '%x\n' $i)" | grep "User Name\|user_rid\|group_rid" && echo "";
done

# samrdump.py can also serve this purpose

Enumeración de Grupos

  • Grupos por: enumdomgroups.

  • Detalles de un grupo con: querygroup <0xrid>.

  • Miembros de un grupo a través de: querygroupmem <0xrid>.

Enumeración de Grupos Alias

  • Grupos alias por: enumalsgroups <builtin|domain>.

  • Miembros de un grupo alias con: queryaliasmem builtin|domain <0xrid>.

Enumeración de Dominios

  • Dominios usando: enumdomains.

  • El SID de un dominio se recupera a través de: lsaquery.

  • La información del dominio se obtiene mediante: querydominfo.

Enumeración de Recursos Compartidos

  • Todos los recursos compartidos disponibles por: netshareenumall.

  • La información sobre un recurso compartido específico se obtiene con: netsharegetinfo <share>.

Operaciones Adicionales con SIDs

  • SIDs por nombre usando: lookupnames <username>.

  • Más SIDs a través de: lsaenumsid.

  • Ciclado de RID para verificar más SIDs se realiza con: lookupsids <sid>.

Comandos extra

Comando

Interfaz

Descripción

queryuser

SAMR

Recuperar información del usuario

querygroup

Recuperar información del grupo

querydominfo

Recuperar información del dominio

enumdomusers

Enumerar usuarios del dominio

enumdomgroups

Enumerar grupos del dominio

createdomuser

Crear un usuario de dominio

deletedomuser

Eliminar un usuario de dominio

lookupnames

LSARPC

Buscar nombres de usuario a valores SIDa

lookupsids

Buscar SIDs a nombres de usuario (ciclado RIDb)

lsaaddacctrights

Agregar derechos a una cuenta de usuario

lsaremoveacctrights

Eliminar derechos de una cuenta de usuario

dsroledominfo

LSARPC-DS

Obtener información del dominio principal

dsenumdomtrusts

Enumerar dominios de confianza dentro de un bosque AD

Para entender mejor cómo funcionan las herramientas samrdump y rpcdump deberías leer Pentesting MSRPC.

Support HackTricks

Last updated