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

126 lines
10 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 %}
**Try Hard Security Group**
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
***
### Panoramica degli Identificatori Relativi (RID) e degli Identificatori di Sicurezza (SID)
**Identificatori Relativi (RID)** e **Identificatori di Sicurezza (SID)** sono componenti chiave nei sistemi operativi Windows per identificare e gestire in modo univoco oggetti, come utenti e gruppi, all'interno di un dominio di rete.
- **SID** fungono da identificatori unici per i domini, garantendo che ogni dominio sia distinguibile.
- **RID** sono aggiunti ai SID per creare identificatori unici per gli oggetti all'interno di quei domini. Questa combinazione consente un tracciamento e una gestione precisi delle autorizzazioni e dei controlli di accesso degli oggetti.
Ad esempio, un utente di nome `pepe` potrebbe avere un identificatore unico che combina il SID del dominio con il suo specifico RID, rappresentato sia in formato esadecimale (`0x457`) che in formato decimale (`1111`). Questo risulta in un identificatore completo e unico per pepe all'interno del dominio come: `S-1-5-21-1074507654-1937615267-42093643874-1111`.
### **Enumerazione con rpcclient**
L'utilità **`rpcclient`** di Samba è utilizzata per interagire con **endpoint RPC tramite pipe nominate**. Di seguito i comandi che possono essere emessi alle interfacce SAMR, LSARPC e LSARPC-DS dopo che una **sessione SMB è stata stabilita**, spesso richiedendo credenziali.
#### Informazioni sul Server
* Per ottenere **Informazioni sul Server**: si utilizza il comando `srvinfo`.
#### Enumerazione degli Utenti
* **Gli utenti possono essere elencati** utilizzando: `querydispinfo` e `enumdomusers`.
* **Dettagli di un utente** tramite: `queryuser <0xrid>`.
* **Gruppi di un utente** con: `queryusergroups <0xrid>`.
* **Il SID di un utente viene recuperato** tramite: `lookupnames <username>`.
* **Alias degli utenti** tramite: `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
```
#### Enumerazione dei Gruppi
* **Gruppi** tramite: `enumdomgroups`.
* **Dettagli di un gruppo** con: `querygroup <0xrid>`.
* **Membri di un gruppo** attraverso: `querygroupmem <0xrid>`.
#### Enumerazione dei Gruppi Alias
* **Gruppi alias** tramite: `enumalsgroups <builtin|domain>`.
* **Membri di un gruppo alias** con: `queryaliasmem builtin|domain <0xrid>`.
#### Enumerazione dei Domini
* **Domini** utilizzando: `enumdomains`.
* **Il SID di un dominio viene recuperato** tramite: `lsaquery`.
* **Le informazioni sul dominio vengono ottenute** con: `querydominfo`.
#### Enumerazione delle Condivisioni
* **Tutte le condivisioni disponibili** tramite: `netshareenumall`.
* **Le informazioni su una condivisione specifica vengono recuperate** con: `netsharegetinfo <share>`.
#### Operazioni Aggiuntive con SIDs
* **SIDs per nome** utilizzando: `lookupnames <username>`.
* **Altri SIDs** attraverso: `lsaenumsid`.
* **Ciclo RID per controllare più SIDs** viene eseguito con: `lookupsids <sid>`.
#### **Comandi extra**
| **Comando** | **Interfaccia** | **Descrizione** |
| ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- |
| queryuser | SAMR | Recupera informazioni sull'utente |
| querygroup | Recupera informazioni sul gruppo | |
| querydominfo | Recupera informazioni sul dominio | |
| enumdomusers | Enumera gli utenti del dominio | |
| enumdomgroups | Enumera i gruppi del dominio | |
| createdomuser | Crea un utente di dominio | |
| deletedomuser | Elimina un utente di dominio | |
| lookupnames | LSARPC | Cerca nomi utente per valori SID[a](https://learning.oreilly.com/library/view/network-security-assessment/9781491911044/ch08.html#ch08fn8) |
| lookupsids | Cerca SIDs per nomi utente (ciclo RID[b](https://learning.oreilly.com/library/view/network-security-assessment/9781491911044/ch08.html#ch08fn9)) | |
| lsaaddacctrights | Aggiungi diritti a un account utente | |
| lsaremoveacctrights | Rimuovi diritti da un account utente | |
| dsroledominfo | LSARPC-DS | Ottieni informazioni sul dominio principale |
| dsenumdomtrusts | Enumera i domini di fiducia all'interno di una foresta AD | |
Per **comprendere** meglio come funzionano gli strumenti _**samrdump**_ **e** _**rpcdump**_ dovresti leggere [**Pentesting MSRPC**](../135-pentesting-msrpc.md).
**Try Hard Security Group**
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
{% hint style="success" %}
Impara e pratica il 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">\
Impara e pratica il 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>Supporta HackTricks</summary>
* Controlla i [**piani di abbonamento**](https://github.com/sponsors/carlospolop)!
* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Condividi trucchi di hacking inviando PR ai** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos di github.
</details>
{% endhint %}