mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
88 lines
8.0 KiB
Markdown
88 lines
8.0 KiB
Markdown
# enumeration rpcclient
|
|
|
|
{{#include ../../banners/hacktricks-training.md}}
|
|
|
|
|
|
### Aperçu des Identifiants Relatifs (RID) et des Identifiants de Sécurité (SID)
|
|
|
|
**Identifiants Relatifs (RID)** et **Identifiants de Sécurité (SID)** sont des composants clés dans les systèmes d'exploitation Windows pour identifier et gérer de manière unique des objets, tels que des utilisateurs et des groupes, au sein d'un domaine réseau.
|
|
|
|
- **SIDs** servent d'identifiants uniques pour les domaines, garantissant que chaque domaine est distinct.
|
|
- **RIDs** sont ajoutés aux SIDs pour créer des identifiants uniques pour les objets au sein de ces domaines. Cette combinaison permet un suivi et une gestion précis des permissions et des contrôles d'accès des objets.
|
|
|
|
Par exemple, un utilisateur nommé `pepe` pourrait avoir un identifiant unique combinant le SID du domaine avec son RID spécifique, représenté en formats hexadécimal (`0x457`) et décimal (`1111`). Cela donne un identifiant complet et unique pour pepe au sein du domaine comme : `S-1-5-21-1074507654-1937615267-42093643874-1111`.
|
|
|
|
### **Énumération avec rpcclient**
|
|
|
|
L'utilitaire **`rpcclient`** de Samba est utilisé pour interagir avec **des points de terminaison RPC via des pipes nommés**. Ci-dessous, les commandes qui peuvent être émises aux interfaces SAMR, LSARPC et LSARPC-DS après qu'une **session SMB soit établie**, nécessitant souvent des identifiants.
|
|
|
|
#### Informations sur le Serveur
|
|
|
|
- Pour obtenir des **Informations sur le Serveur** : la commande `srvinfo` est utilisée.
|
|
|
|
#### Énumération des Utilisateurs
|
|
|
|
- **Les utilisateurs peuvent être listés** en utilisant : `querydispinfo` et `enumdomusers`.
|
|
- **Détails d'un utilisateur** par : `queryuser <0xrid>`.
|
|
- **Groupes d'un utilisateur** avec : `queryusergroups <0xrid>`.
|
|
- **Le SID d'un utilisateur est récupéré** via : `lookupnames <username>`.
|
|
- **Alias des utilisateurs** par : `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
|
|
```
|
|
#### Énumération des Groupes
|
|
|
|
- **Groupes** par : `enumdomgroups`.
|
|
- **Détails d'un groupe** avec : `querygroup <0xrid>`.
|
|
- **Membres d'un groupe** via : `querygroupmem <0xrid>`.
|
|
|
|
#### Énumération des Groupes Alias
|
|
|
|
- **Groupes alias** par : `enumalsgroups <builtin|domain>`.
|
|
- **Membres d'un groupe alias** avec : `queryaliasmem builtin|domain <0xrid>`.
|
|
|
|
#### Énumération des Domaines
|
|
|
|
- **Domaines** en utilisant : `enumdomains`.
|
|
- **Le SID d'un domaine est récupéré** via : `lsaquery`.
|
|
- **Les informations sur le domaine sont obtenues** par : `querydominfo`.
|
|
|
|
#### Énumération des Partages
|
|
|
|
- **Tous les partages disponibles** par : `netshareenumall`.
|
|
- **Les informations sur un partage spécifique sont récupérées** avec : `netsharegetinfo <share>`.
|
|
|
|
#### Opérations Supplémentaires avec les SIDs
|
|
|
|
- **SIDs par nom** en utilisant : `lookupnames <username>`.
|
|
- **Plus de SIDs** via : `lsaenumsid`.
|
|
- **Le cycle RID pour vérifier plus de SIDs** est effectué par : `lookupsids <sid>`.
|
|
|
|
#### **Commandes Supplémentaires**
|
|
|
|
| **Commande** | **Interface** | **Description** |
|
|
| ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- |
|
|
| queryuser | SAMR | Récupérer des informations sur l'utilisateur |
|
|
| querygroup | Récupérer des informations sur le groupe | |
|
|
| querydominfo | Récupérer des informations sur le domaine | |
|
|
| enumdomusers | Énumérer les utilisateurs du domaine | |
|
|
| enumdomgroups | Énumérer les groupes du domaine | |
|
|
| createdomuser | Créer un utilisateur de domaine | |
|
|
| deletedomuser | Supprimer un utilisateur de domaine | |
|
|
| lookupnames | LSARPC | Rechercher des noms d'utilisateur à des valeurs SID[a](https://learning.oreilly.com/library/view/network-security-assessment/9781491911044/ch08.html#ch08fn8) |
|
|
| lookupsids | Rechercher des SIDs à des noms d'utilisateur (cycle RID[b](https://learning.oreilly.com/library/view/network-security-assessment/9781491911044/ch08.html#ch08fn9)) | |
|
|
| lsaaddacctrights | Ajouter des droits à un compte utilisateur | |
|
|
| lsaremoveacctrights | Retirer des droits d'un compte utilisateur | |
|
|
| dsroledominfo | LSARPC-DS | Obtenir des informations sur le domaine principal |
|
|
| dsenumdomtrusts | Énumérer les domaines de confiance au sein d'une forêt AD | |
|
|
|
|
Pour **mieux comprendre** comment les outils _**samrdump**_ **et** _**rpcdump**_ fonctionnent, vous devriez lire [**Pentesting MSRPC**](../135-pentesting-msrpc.md).
|
|
|
|
|
|
{{#include ../../banners/hacktricks-training.md}}
|