hacktricks/network-services-pentesting/pentesting-smb/rpcclient-enumeration.md

11 KiB

Enumeração do rpcclient

Aprenda hacking na AWS do zero ao herói com htARTE (HackTricks AWS Red Team Expert)!

Try Hard Security Group

{% embed url="https://discord.gg/tryhardsecurity" %}


Visão geral dos Identificadores Relativos (RID) e Identificadores de Segurança (SID)

Identificadores Relativos (RID) e Identificadores de Segurança (SID) são componentes-chave nos sistemas operacionais Windows para identificar e gerenciar de forma única objetos, como usuários e grupos, dentro de um domínio de rede.

  • SIDs servem como identificadores únicos para domínios, garantindo que cada domínio seja distinguível.
  • RIDs são anexados aos SIDs para criar identificadores únicos para objetos dentro desses domínios. Essa combinação permite o rastreamento preciso e o gerenciamento de permissões de objetos e controles de acesso.

Por exemplo, um usuário chamado pepe pode ter um identificador único combinando o SID do domínio com seu RID específico, representado em formatos hexadecimal (0x457) e decimal (1111). Isso resulta em um identificador completo e único para pepe dentro do domínio como: S-1-5-21-1074507654-1937615267-42093643874-1111.

Enumeração com rpcclient

A utilidade rpcclient do Samba é utilizada para interagir com pontos finais RPC por meio de pipes nomeados. Abaixo estão os comandos que podem ser emitidos para as interfaces SAMR, LSARPC e LSARPC-DS após uma sessão SMB ser estabelecida, muitas vezes exigindo credenciais.

Informações do Servidor

  • Para obter Informações do Servidor: é usado o comando srvinfo.

Enumeração de Usuários

  • Usuários podem ser listados usando: querydispinfo e enumdomusers.
  • Detalhes de um usuário por: queryuser <0xrid>.
  • Grupos de um usuário com: queryusergroups <0xrid>.
  • O SID de um usuário é recuperado através de: lookupnames <username>.
  • Aliases de usuários por: 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

Enumeração de Grupos

  • Grupos por: enumdomgroups.
  • Detalhes de um grupo com: querygroup <0xrid>.
  • Membros de um grupo através de: querygroupmem <0xrid>.

Enumeração de Grupos de Alias

  • Grupos de alias por: enumalsgroups <builtin|domain>.
  • Membros de um grupo de alias com: queryaliasmem builtin|domain <0xrid>.

Enumeração de Domínios

  • Domínios usando: enumdomains.
  • O SID de um domínio é recuperado através de: lsaquery.
  • Informações do domínio são obtidas por: querydominfo.

Enumeração de Compartilhamentos

  • Todos os compartilhamentos disponíveis por: netshareenumall.
  • Informações sobre um compartilhamento específico são obtidas com: netsharegetinfo <share>.

Operações Adicionais com SIDs

  • SIDs por nome usando: lookupnames <username>.
  • Mais SIDs através de: lsaenumsid.
  • Ciclagem de RID para verificar mais SIDs é realizada por: lookupsids <sid>.

Comandos Extras

Comando Interface Descrição
queryuser SAMR Recuperar informações do usuário
querygroup Recuperar informações do grupo
querydominfo Recuperar informações do domínio
enumdomusers Enumerar usuários do domínio
enumdomgroups Enumerar grupos do domínio
createdomuser Criar um usuário de domínio
deletedomuser Excluir um usuário de domínio
lookupnames LSARPC Pesquisar nomes de usuário para valores SIDa
lookupsids Pesquisar SIDs para nomes de usuário (ciclagem de RIDb)
lsaaddacctrights Adicionar direitos a uma conta de usuário
lsaremoveacctrights Remover direitos de uma conta de usuário
dsroledominfo LSARPC-DS Obter informações do domínio primário
dsenumdomtrusts Enumerar domínios confiáveis dentro de um floresta AD

Para entender melhor como as ferramentas samrdump e rpcdump funcionam, você deve ler Pentesting MSRPC.

Grupo de Segurança Try Hard

{% embed url="https://discord.gg/tryhardsecurity" %}

Aprenda hacking AWS do zero ao herói com htARTE (HackTricks AWS Red Team Expert)!