# [Énumération] Samba

## Introduction

L'énumération des partages samba est cruciale pour les tests d'intrusions d'envrionnement Windows.

## Script nmap

#### Énumération globale de l'OS utilisé

```bash
nmap --script smb-os-discovery <IP>
```

#### Énumération des utilisateurs samba

```bash
nmap --script smb-enum-users <IP>
```

<p class="callout warning">Cette technique ne marche que si la session "**null**" est activée sur le poste cible (rare).</p>

## Smbmap

#### Utilisation avec un compte

Si vous possédez un compte pour faire l'énumération :

```bash
smbmap -u <USER> -p <PASSWORD> -H <IP>
```

<p class="callout success">Vous aurez un aperçu des droits de lecture et d'écriture que vous avez sur les partages.   
</p>

#### Utilisation de la session null

```bash
smbmap -u '' -p '' -H <IP>
```

#### Options

<table border="1" id="bkmrk-options-descriptions" style="border-collapse: collapse; width: 100%; height: 71.4px;"><colgroup><col style="width: 50%;"></col><col style="width: 50%;"></col></colgroup><tbody><tr style="height: 24.8px;"><td class="align-center" style="height: 24.8px;">**Options**  
</td><td class="align-center" style="height: 24.8px;">**Descriptions**  
</td></tr><tr style="height: 46.6px;"><td class="align-center" style="height: 46.6px;">-R  
</td><td class="align-center" style="height: 46.6px;">Active la récursivité pour afficher le contenu des dossiers (si vous possédez les droits de lecture).</td></tr></tbody></table>

## ShareEnum

#### Installation

Vous pouvez récupérer la dernière release sur le [github](https://github.com/CroweCybersecurity/shareenum) et lancer l'installation du paquet sur votre système :

```bash
dpkg -i <PACKAGE>.deb
```

#### Utilisation standard

```bash
shareenum <IP>
```

<p class="callout info">Si vous ne spécifiez pas d'utilisateur, la session **null** sera utilisée.</p>

#### Options

<table border="1" id="bkmrk-options-descriptions-1" style="border-collapse: collapse; width: 100%; height: 71.4px;"><colgroup><col style="width: 50%;"></col><col style="width: 50%;"></col></colgroup><tbody><tr style="height: 24.8px;"><td class="align-center" style="height: 24.8px;">**Options**  
</td><td class="align-center" style="height: 24.8px;">**Descriptions**  
</td></tr><tr style="height: 46.6px;"><td class="align-center" style="height: 46.6px;">-o &lt;FILE&gt;  
</td><td class="align-center" style="height: 46.6px;">Spécifie un fichier de sortie de la commande.   
</td></tr><tr><td class="align-center">-u &lt;USER&gt;  
</td><td class="align-center">Spécifie un nom d'utilisateur.  
</td></tr><tr><td class="align-center">-p &lt;PASSWORD&gt;  
</td><td class="align-center">Spécifie un mot de passe.  
</td></tr></tbody></table>

## SMBClient

On peut énumérer tous les fichiers d'un partage avec **smbclient** :

```bash
smbclient -N //<IP>/<SHARE>
```