> For the complete documentation index, see [llms.txt](https://4lec4st.gitbook.io/4lec4st/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://4lec4st.gitbook.io/4lec4st/ejpt-cheatsheet/enumeracion-smb-139-445.md).

# Enumeración SMB (139,445)

## 🔍 Metodología

* Detectar servicios SMB activos.
* Enumerar usuarios, recursos compartidos y configuraciones.
* Probar autenticación con fuerza bruta.
* Validar acceso interactivo a shares.

***

## 🛠️ 1. Detección del Servicio SMB

#### 🔧 Manual

```bash
nmap -p 445,139 --script smb-protocols,smb2-capabilities,smb-os-discovery <IP>
```

#### 🔍 Metasploit

```bash
use auxiliary/scanner/smb/smb_version
set RHOSTS <IP>
run
```

***

## 👥 2. Enumerar Usuarios SMB

#### 🔧 Manual

```bash
enum4linux -U <IP>
```

```bash
crackmapexec smb <IP> --users
```

```bash
netexec smb <IP> --users
```

#### 🧰 Metasploit

```bash
use auxiliary/scanner/smb/smb_enumusers
set RHOSTS <IP>
run
```

***

## 📂 3. Enumerar Recursos Compartidos (Shares)

#### 🔧 Manual

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

```bash
smbmap -H <IP>
```

```bash
crackmapexec smb <IP> --shares
```

```bash
netexec smb <IP> --shares
```

#### 🧰 Metasploit

```bash
use auxiliary/scanner/smb/smb_enumshares
set RHOSTS <IP>
run
```

***

## 🔐 4. Autenticación (Login) y Fuerza Bruta

#### 🔧 Manual (Probar login manual)

```bash
smbclient //<IP>/<SHARE> -U <usuario>
# Luego introduce la contraseña cuando te lo pida
```

Ejemplo:

```bash
smbclient //10.10.10.10/secretshare -U alice
```

#### 🔧 CrackMapExec o NetExec

```bash
crackmapexec smb <IP> -u users.txt -p passwords.txt
```

```bash
netexec smb <IP> -u users.txt -p passwords.txt
```

También puedes probar credenciales específicas:

```bash
crackmapexec smb <IP> -u administrator -p password123
```

```bash
netexec smb <IP> -u administrator -p password123
```

#### 🧰 Metasploit

```bash
use auxiliary/scanner/smb/smb_login
set RHOSTS <IP>
set USER_FILE /usr/share/metasploit-framework/data/wordlists/common_users.txt
set PASS_FILE /usr/share/metasploit-framework/data/wordlists/unix_passwords.txt
run
```

***

## 🧪 5. Comprobar acceso con `smbclient`

Una vez tengas credenciales válidas:

```bash
smbclient //<IP>/<SHARE> -U <usuario>
```

Ejemplo:

```bash
smbclient //10.10.10.10/backups -U administrator
```

Comandos útiles dentro de `smbclient`:

* `ls` → lista archivos
* `cd <dir>` → cambia de directorio
* `get <archivo>` → descarga archivo
* `put <archivo>` → sube archivo

***

## 🚩 Notas Finales

* `SMBv1` es una señal de sistema desactualizado y vulnerable.
* Muchos shares permiten acceso anónimo (`smbclient -L //<IP> -N`).
* Usa `netexec` o `cme` para identificar rápidamente qué usuarios tienen acceso, si hay escritura en shares, y más.
