> For the complete documentation index, see [llms.txt](https://b4zh.gitbook.io/b4zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://b4zh.gitbook.io/b4zh/pentesting/enumeration/enumeracion-smb-sin-autenticacion.md).

# ENUMERACIÓN SMB (SIN AUTENTICACIÓN)

## MÁQUINA

{% embed url="<https://tryhackme.com/room/relevant>" %}

***

## SMB

SERVER MESSAGE BLOCK. PUERTO 139, 445. SE BASA EN TCP.

SAMBA: IMPLEMENTA EL PROTOCOLO SMB, PARA SISTEMAS LINUX.

***

## DETECTAR PUERTOS QUE CORRAN EL SERVICIO SMB.

```bash
nmpa -Pn -n -sS -p139,445 [target]

> 139 smb sobre netbios, antiguo
> 445 smb sobre tcp/ip, actual
```

## IDENTIFICAR QUE VERSIÓN DE SMB SOPORTA EL SERVIDOR.

```bash
nmap --script smb-protocols -p139,445 [target]
> SMBv[1-3]
```

## ENUMERAR RECURSOS COMPARTIDOS

smbclient: cliente para smb, que entre de sus múltiples funciones nos permite enumerar recursos compartidos.

```bash
smbclient -L \\(target) -N
-L : listar recursos compartidos.
\\ : necesario cuando se interactua con recursos compartidos.
-N : interactuar con una sesión nula, sin credenciales.
```

```
ADMIN$ = C:\windows = para labores de administración con permisos elevados.

C$ = C:\ = unidad C:, sirve todo el sistema de archivos de Windows

IPC$ = Inter Process Comunication = almacena recurso compartio especial para la comunicación
entre procesos principalmente entre aplicaciones, no almacena datos, usado para transmitir
datos de control y comandos entre procesos.
```

## ACCEDER A UN RECURSO COMPARTIDO

```bash
smbclient \\\\(target)\\(share)
```

## EXTRA

Decodificar texto en base 64:

```bash
echo "SSBhbSBiNHpoIQo=" | base64 -d
```

***

## OTRAS HERRAMIENTAS

LAS SIGUIENTES HERRAMIENTAS ES MEJOR USARLAS CUANDO YA SE CONSIGUIERON CREDENCIALES VÁLIDAS, PARA SACARLES EL MÁXIMO JUGO.

### enum4linux

Más intrusiva que smbclient.

```bash
enum4linux [target]
```

### crackmapexec (ejpt)

Herramienta orientada al reconocimiento activo y en algunos casos, para explotar vulnerabilidades.

Sirve para varios protocolos aparte de smb

```bash
crackmapexec smb [target] -u [user/wordlist] -p [password/wordlist]

- Con -u y -p podemos comprobar si las credenciales obtenidas son válidas.
```

### netexec (noejpt)

Versión actual de crackmapexec.

***

## SCRIPTS DE NMAP

```bash
smb-enum-shares = enumera recursos compartidos.
smb-enum-domains = enumera dominios.
smb-enum-sessions = enumera las sesiones.
smb-enum-processes = enumera procesos en ejecución.
smb-os-discovery = intenta identificar el SO del servidor.
```
