Post

Enumeración de recursos compartidos

Índice

Definición

Cuando hablamos de enumeración de recursos compartidos, nos referimos como bien indica el nombre, a visualizar todos los recursos compartidos en el equipo que vamos a realizar un test. Esto lo hacemos para encontrar toda la información posible sobre el equipo que vamos a comprometer.

Explicación

Cuando compartimos recursos en la red utilizamos un procolo que recibe el nombre de samba, abreviado smb. Este protocolo utiliza dos puertos:

  • Puerto 139 ➜ En este puerto corre el protocolo NetBIOS, para comunicarse con la red.
  • Puerto 445 ➜ En este puerto corre el protocolo SMB.

NetBIos, es un protocolo de la capa de sesión del modelo OSI que es independiente de SMB. Pero a diferenencia SMB, necesita NetBIOS para la comunicación con dispositivos que no admiten el alojamietno de smb sobre TCP/IP. Tambien podemos encontrarnos NetBIOS, corriendo en otros puertos proximos:

  • Puerto 137, 138 (UDP)
  • Puerto 137 (TCP)

A mayores samba, a parte de compartir recursos en red, nos permite crear un controlador de dominio simulando AD DC.

  • Samba 3 ➜ Antes de la salida de samba-ad-dc (samba4) se utilizaba junto LDAP, para crear un dominio y podemos unir clientes windows y Linux
  • Samba 4 ➜ Con la salida de samba4 (samba-ad-dc), samba3 dejo de ser utilizado, samba4 tiene mucha potencia similar a AD, por lo que nos permite realizar todo, unir clientes windows y linux, uso de GPOS, relaciones de confianza, etc.

Enumeración

Smbclient

Podemos comenzar haciendo una enumeración de los recursos, con una sessión null con smbclient, de la siguiente forma.

  • -L ➜ Lista los recursos
  • -N ➜ Omite contraseña
1
smbclient -L 192.168.10.123 -N 

Tambien podemos usar protocolo NT1 si fuera necesario.

  • --option ➜ Especificamos un opción para smb
1
smbclient -L 192.168.10.123 -N --option='client min protocol=NT1'

Smbmap

Tambien podemos usar esta herramienta, que ya es especializada en la enumeración de SMB.

  • -H ➜ IP de objetivo
  • -u ➜ Usuario (% usuario actual del sistema)
1
smbmap -H 192.168.10.123 -u%

Nmap

  • -p ➜ Indicamos puerto
  • --script ➜ Indicamos el script a usar
1
nmap -p 139,445 --script smb-enum-shares 192.168.10.123

Enum4linux

  • -S ➜ Listar recursos compartidos
  • -u ➜ Indicar usuario
  • -p ➜ Indicar contraseña
1
enum4linux -S -u -p 192.168.10.123

Crackmapexec

  • -u ➜ Usuarios
  • -p ➜ Contraseña
  • --shares ➜ Enumerar recursos
1
crackmapexec smb 192.168.10.123 -u '' -p '' --shares

Rpcclient

  • -U ➜ Indicamos usuario
  • -c ➜ Comando de rpcclient a ejecutar
1
rpcclient -U '' 10.10.11.152  -c "netshareenum"

Metasploit

Como explicamos en otro post, hacemos los mismos pasos que siempre.

  1. msfconsole
  2. use auxiliary/scanner/smb/smb_enumshares
  3. set rhosts 192.168.10.123
  4. exploit
1
2
3
use auxiliary/scanner/smb/smb_enumshares 
set rhosts 192.168.10.123
exploit
This post is licensed under CC BY 4.0 by the author.