> For the complete documentation index, see [llms.txt](https://pentesting.mrw0l05zyn.cl/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://pentesting.mrw0l05zyn.cl/escaneo-y-enumeracion/servicios/445-tcp-smb.md).

# 445/TCP (SMB)

## Vulnerabilidades

```shell
nmap -p 139,445 --script=vuln <target> -oN nmap-vuln-SMB.txt
```

## Sesiones nulas

### smbclient <a href="#sesiones-nulas-smbclient" id="sesiones-nulas-smbclient"></a>

```shell
smbclient -N -L <target>
smbclient -N -L <target> --option='client min protocol=NT1'
```

* -N = sin contraseña.&#x20;
* -L = Lista carpetas compartidas.
* \<target> = objetivo.

```shell
smbclient -N \\\\<target>\\<sharename>
smbclient -N \\\\<target>\\<sharename> --option='client min protocol=NT1'
```

* -N = sin contraseña.&#x20;
* \<target> = objetivo.&#x20;
* \<sharename> = nombre del recurso compartido.

### SMBMap <a href="#sesiones-nulas-smbmap" id="sesiones-nulas-smbmap"></a>

```shell
smbmap -u null -H <target>
smbmap -H <target>
```

* -u = sin usuario.&#x20;
* -H = host.
  * \<target> = objetivo.

```shell
smbmap -u null -R -H <target>
smbmap -R -H <target>
```

* -u = sin usuario.&#x20;
* -R = lista contenido de directorios de forma recursiva.&#x20;
* -H = host.
  * \<target> = objetivo.

### rpcclient <a href="#sesiones-nulas-rpcclient" id="sesiones-nulas-rpcclient"></a>

```shell
 rpcclient -U "" -N <target>
```

* -U "" = sin usuario.&#x20;
* -N = sin contraseña.
* \<target> = objetivo.

### Nmap <a href="#sesiones-nulas-nmap" id="sesiones-nulas-nmap"></a>

```shell
nmap --script smb-enum-shares -p 139,445 <target>
```

* \--script smb-enum-shares = enumeración de recursos compartidos.
* -p = puertos.
* \<target> = objetivo.

## smbclient

```shell
# Listar carpetas compartidas
smbclient -L \\\\<target>\\<sharename> -W <workgroup> -U <username>
# Obtener consola
smbclient \\\\<target>\\<sharename> -W <workgroup> -U <username> <password>
```

* -L = Lista carpetas compartidas.
* \<target> = objetivo.
* \<sharename> = nombre del recurso compartido.
* -W = grupo de trabajo o dominio.
  * \<workgroup> = nombre de grupo de trabajo o dominio.
* -U = información de inicio de sesión de usuario.
  * \<username> = nombre de usuario.
  * \<password> = contraseña de usuario.

## SMBMap

### Contenido de directorios de forma recursiva <a href="#smbmap-contenido-de-directorios-de-forma-recursiva" id="smbmap-contenido-de-directorios-de-forma-recursiva"></a>

```shell
smbmap -d <workgroup> -u <username> -p <password> -R "<path\sharename>" -H <target>
```

* -d = grupo de trabajo o dominio.
  * \<workgroup> = nombre de grupo de trabajo o dominio.
* -u = nombre de usuario.
  * \<username> = nombre de usuario.
* -p = contraseña de usuario.
  * \<password> = contraseña de usuario.
* -R = lista contenido de directorios de forma recursiva.&#x20;
  * \<path\sharename> = ruta y nombre del recurso compartido.&#x20;
* -H = host.
  * \<target> = objetivo.

### Contenido de directorio <a href="#smbmap-contenido-de-directorio" id="smbmap-contenido-de-directorio"></a>

```shell
smbmap -d <workgroup> -u <username> -p <password> -r "<path\sharename>" -H <target>
```

* -d = grupo de trabajo o dominio.
  * \<workgroup> = nombre de grupo de trabajo o dominio.
* -u = nombre de usuario.
  * \<username> = nombre de usuario.
* -p = contraseña de usuario.
  * \<password> = contraseña de usuario.
* -r = lista contenido de directorio.
  * \<path\sharename> = ruta y nombre del recurso compartido.
* -H = host.
  * \<target> = objetivo.

## rpcclient <a href="#rpcclient" id="rpcclient"></a>

```shell
rpcclient -U <username>%<password> <target>
rpcclient -W <workgroup> -U <username>%<password> <target>

# Consultar información del dominio o grupo de trabajo
querydominfo
# Consultar información de visualización
querydispinfo
# Obtener información de política de contraseñas
getdompwinfo
# Enumerar usuarios
enumdomusers
# Enumerar grupos
enumdomgroups
# Obtener información de un usuario
queryuser <rid-user>
# Obtener información de un grupo
querygroup <rid-group>
# Obtener grupos de un usuario
queryusergroups <rid-user>
# Obtener miembros de un grupo
querygroupmem <rid-group>
```

* -W = grupo de trabajo o dominio.
  * \<workgroup> = nombre de grupo de trabajo o dominio.
* -U = información de inicio de sesión de usuario.
  * \<username> = nombre de usuario.
  * \<password> = contraseña de usuario.
* \<target> = objetivo.

## **enum4linux** <a href="#enum-4-linux" id="enum-4-linux"></a>

```shell
enum4linux -a <target>
```

* -a = enumeración general.
* \<target> = objetivo.

## Descarga de archivos

### smbget <a href="#descarga-de-archivos-smbget" id="descarga-de-archivos-smbget"></a>

```shell
smbget -R smb://<target>/<directory>
```

* -R = descargar el contenido completo de un directorio de forma recursiva.
* \<target> = objetivo.
* \<directory> = directorio.
