hacktricks/network-services-pentesting/pentesting-smb/rpcclient-enumeration.md
2024-12-12 13:56:11 +01:00

125 lines
11 KiB
Markdown

# rpcclient enumeration
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Support HackTricks</summary>
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
<figure><img src="/.gitbook/assets/image (2).png" alt=""><figcaption></figcaption></figure>
Aprofunde sua experiência em **Mobile Security** com a 8kSec Academy. Domine a segurança de iOS e Android através de nossos cursos autônomos e obtenha certificação:
{% embed url="https://academy.8ksec.io/" %}
### 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 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 um rastreamento e gerenciamento precisos das permissões e controles de acesso dos objetos.
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**
O utilitário **`rpcclient`** do Samba é utilizado para interagir com **pontos finais RPC através 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**, frequentemente necessitando de credenciais.
#### Informações do Servidor
* Para obter **Informações do Servidor**: o comando `srvinfo` é utilizado.
#### 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>`.
```bash
# 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`.
* **Ciclo RID para verificar mais SIDs** é realizado 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 do domínio | |
| deletedomuser | Deletar um usuário do domínio | |
| lookupnames | LSARPC | Procurar nomes de usuários para valores SID[a](https://learning.oreilly.com/library/view/network-security-assessment/9781491911044/ch08.html#ch08fn8) |
| lookupsids | Procurar SIDs para nomes de usuários (ciclo RID[b](https://learning.oreilly.com/library/view/network-security-assessment/9781491911044/ch08.html#ch08fn9)) | |
| 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 uma floresta AD | |
Para **entender** melhor como as ferramentas _**samrdump**_ **e** _**rpcdump**_ funcionam, você deve ler [**Pentesting MSRPC**](../135-pentesting-msrpc.md).
<figure><img src="/.gitbook/assets/image (2).png" alt=""><figcaption></figcaption></figure>
Aprofunde sua experiência em **Segurança Móvel** com a 8kSec Academy. Domine a segurança de iOS e Android através de nossos cursos autônomos e obtenha certificação:
{% embed url="https://academy.8ksec.io/" %}
{% hint style="success" %}
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Support HackTricks</summary>
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe truques de hacking enviando PRs para os repositórios do** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
</details>
{% endhint %}