Atacando una aplicacion web tradicional desarrollada en ASP.NET
Enumeracion de SMB
Iniciamos nuestra auditoria, realizando un escaneo de Nmap sobre la IP publica:.

Se logra identificar el servicio SMB, RDP y HTTP.

SMB (Server Message Block) es un protocolo de red utilizado para compartir archivos, impresoras y otros recursos en una red. SMB opera principalmente sobre TCP/IP en el puerto 445, y su objetivo es permitir la comunicación entre nodos en una red, facilitando el acceso remoto a recursos compartidos en servidores o estaciones de trabajo.
Desde una perspectiva de pentesting, la validación de accesos a directorios compartidos a través de SMB es fundamental, ya que la mala configuración de permisos puede exponer información sensible o facilitar el movimiento lateral dentro de una red comprometida. Esto puede ocurrir cuando las polÃticas de acceso a recursos no están adecuadamente restringidas, permitiendo a usuarios no autorizados leer, escribir o modificar archivos dentro de los directorios compartidos.
Una herramienta clave para auditar estos accesos es smbclient, que forma parte del paquete de Samba en Linux. Esta herramienta actúa como un cliente SMB, permitiendo conectarse a servidores SMB para listar recursos compartidos y acceder a ellos. A continuación, se detallan algunos comandos útiles de smbclient que permiten a un ethical hacker realizar estas validaciones:
Enumeración de Recursos Compartidos
El primer paso es identificar los recursos SMB compartidos en un servidor. Esto se puede lograr con el siguiente comando:
El parámetro -L permite listar los recursos compartidos en el servidor especificado por la IP. El flag -U indica el usuario que intentará autenticarse en el servidor. Si no se especifica un usuario, smbclient intentará acceder como usuario anónimo. Este comando es útil para identificar qué carpetas están disponibles para la conexión.

Acceso a Recursos Compartidos
Una vez identificado un recurso, podemos intentar conectarnos y validar los accesos utilizando el siguiente comando:
Esto iniciará una sesión SMB en el recurso especificado. Una vez dentro de la sesión, se pueden usar comandos interactivos como ls para listar los archivos y directorios, o get <archivo> para descargar un archivo localmente. También podemos realizar acciones como subir archivos utilizando el comando put.
Para descargar podriamos utilizar algo similar a:
smb: \> get backup.json
getting file \backup.json of size 190240 as backup.json (389.5 KiloBytes/sec) (average 389.5 KiloBytes/sec)
Last updated