> For the complete documentation index, see [llms.txt](https://hacking-notes.jord4n.pro/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://hacking-notes.jord4n.pro/fr/ports-and-services/smb-445/rpcclient-smb-tool.md).

# rpcclient (outil SMB)

> Un **RPCClient** est un programme permettant d’effectuer des appels de procédure à distance. Il permet à un client d’exécuter des fonctions ou des méthodes sur un serveur distant, comme si elles étaient exécutées localement. Le client envoie une requête au serveur via un réseau, et le serveur exécute la fonction demandée puis renvoie le résultat au client. Cette communication est couramment utilisée dans les architectures distribuées pour faciliter l’interaction entre différents systèmes.

### **Connexion au contrôleur de domaine**

**1. Connexion initiale sans authentification**/ Commande pour se connecter au contrôleur de domaine sans fournir de mot de passe. Le `-N` option indique `rpcclient` de ne pas envoyer de mot de passe :

```bash
rpcclient -U "" 10.10.10.175 -N
```

**2. Énumération des utilisateurs du domaine**/ Pour lister les utilisateurs du domaine :

```bash
enumdomusers
```

<figure><img src="/files/40732b85b54847492d9e62a4378b1a7d0cd97172" alt=""><figcaption></figcaption></figure>

**3. Liste des groupes du domaine**/ Commande pour lister les groupes du domaine :

```bash
rpcclient -U "" 10.10.10.161 -N -c 'enumdomgroups'
```

<figure><img src="/files/afb4067a2698bd898eead39ff66f1bd1ba426785" alt=""><figcaption></figcaption></figure>

### **Exploration des utilisateurs et des groupes**

**1. Connexion avec mot de passe**/ Connexion au contrôleur de domaine avec un mot de passe spécifique :

```bash
rpcclient -U "<password>" 10.10.10.10
```

<figure><img src="/files/1473decfb334ff0f9cb9ec392fa34627c58411b5" alt=""><figcaption></figcaption></figure>

**2. Identifier les membres du groupe Administrateurs**/ Pour identifier les membres du groupe Administrateurs (RID `0x200`):

```bash
rpcclient -U "<password>" 10.10.10.10 -c 'querygroupmem 0x200'
```

**3. Obtenir les utilisateurs d'un groupe spécifique**/ Pour obtenir les utilisateurs d'un groupe spécifique (RID `0x1f4`):

```bash
rpcclient -U "<password>" 10.10.10.10 -c 'queryuser 0x1f4'
```

<figure><img src="/files/2edf9f558a4f58b5d2705b160e2f5d7998a35580" alt=""><figcaption></figcaption></figure>

**4. Lister les descriptions des utilisateurs**/ Pour lister les descriptions de tous les utilisateurs :

```bash
rpcclient -U "<password>" 10.10.10.10 -c 'querydispinfo'
```

<div data-full-width="true"><figure><img src="/files/07e516c9ca63506f0a1083ea93394fbe4987a509" alt=""><figcaption></figcaption></figure></div>

### Énumération du domaine

**1. Connexion au domaine avec des identifiants**/ Connexion au contrôleur de domaine avec des identifiants :

```bash
rpcclient -U 'ldap%nvEfEK16^1aM4$e7AclUf8x$tRWxPWO1%lmz' 10.10.11.174
```

**2. Liste des utilisateurs du domaine**

Pour lister les utilisateurs du domaine :

```
enumdomusers
```

<figure><img src="/files/90a28a8eaf7d7aea6d996c0965cbdd76e37ce1fb" alt=""><figcaption></figcaption></figure>

**3. Liste des groupes du domaine**/ Pour lister les groupes du domaine :

```bash
enumdomgroups
```

<figure><img src="/files/9abb62ac7eb6b049258ab04fb645647422083bad" alt=""><figcaption></figcaption></figure>

**4. Description des utilisateurs**/ Pour obtenir les descriptions des utilisateurs :

```bash
querydispinfo
```

<figure><img src="/files/b7a797729bfe4595926de504cc2a5da30c26da27" alt=""><figcaption></figcaption></figure>

**5. Insérer les utilisateurs valides dans un fichier**/ Pour insérer tous les utilisateurs valides dans un fichier :

```bash
rpcclient -U 'ldap%nvEfEK16^1aM4$e7AclUf8x$tRWxPWO1%lmz' 10.10.11.174 -c 'enumdomusers' | grep -oP '/[.*?/]' | grep -v 0x |tr -d '[]'
```

<figure><img src="/files/4fc43758adb64146c5628bdee283a0dadf40059d" alt=""><figcaption></figcaption></figure>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://hacking-notes.jord4n.pro/fr/ports-and-services/smb-445/rpcclient-smb-tool.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
