Extensión Credential Capture — POC Segura para Entender Robo de Credenciales
Bienvenidos, hackers éticos y apasionados de la ciberseguridad. Hoy vamos a profundizar en una técnica clásica pero poderosa: la captura automatizada de credenciales mediante un keylogger en JavaScript.
Este post no promueve el hacking malicioso, sino que busca entender el ataque para fortalecer la defensa. Si dominas cómo funciona un keylogger, podrás protegerte mejor contra él
¿De dónde nace esta idea?
En 2021 publiqué en mi blog un artículo donde explicaba paso a paso cómo implementar un keylogger manualmente con JavaScript, capturando cada tecla que se presionaba en un formulario. Era un enfoque muy artesanal, que requería copiar y pegar código en una página para probarlo.
Ahora, en 2025, he desarrollado una versión automatizada de esa idea en forma de una extensión de navegador (solo para laboratorio), que facilita la captura de datos con un clic y almacena la información localmente para análisis.
Este avance no busca facilitar ataques, sino hacer más accesible y práctica la comprensión de cómo estas amenazas actúan en entornos web.
JavaScript keylogger
¿Qué es un keylogger y cómo funciona en JavaScript?
Un keylogger es un programa o script que registra las pulsaciones del teclado. En el contexto web, se implementa con JavaScript para capturar datos de formularios (logins, contraseñas, etc.).
Tipos de Keyloggers en Web:
- Basado en Eventos (keydown, keypress, input) → Captura cada tecla pulsada.
- Basado en Formularios (submit) → Captura datos al enviar un formulario.
En el contexto de páginas web, un keylogger en JavaScript se puede implementar mediante el uso de eventos como keydown
, keypress
o input
para capturar las teclas que un usuario escribe en formularios o campos de texto.
Este script puede enviar la información capturada a un servidor remoto o almacenarla localmente, dependiendo de su diseño y finalidad.
¿Cómo funciona esta prueba de concepto (POC)?
Esta POC simula un keylogger que almacena credenciales localmente (sin enviarlas a un servidor externo).
La extensión o script automatizado funciona inyectando un pequeño código que:
- Escucha la interacción del usuario con formularios (por ejemplo, formularios de login).
- Captura la información ingresada, como usuario y contraseña, justo cuando el formulario es enviado.
- Almacena estos datos localmente en el navegador (usando
localStorage
), evitando cualquier tipo de exfiltración remota. - Permite al usuario visualizar las credenciales capturadas para análisis y pruebas.
- Tecnología Función
- JavaScript Captura eventos de teclado
- localStorage Almacenamiento local seguro
- Event Listeners Intercepta formularios
Capturas y demostración
chrome://extensions/
¿Por qué es importante entender estas técnicas?
Los keyloggers y otras técnicas de captura de datos siguen siendo una amenaza real y vigente. Saber cómo funcionan nos permite:
- Detectar comportamientos sospechosos en aplicaciones y extensiones.
- Implementar mejores medidas de seguridad en desarrollo y administración.
- Educar a usuarios para que no caigan en trampas o engaños.
- Mejorar la postura defensiva de cualquier sistema.
Técnica Ofensiva Contramedida
- Captura de teclas Autocompletado desactivado
- Inyección en formularios Content Security Policy (CSP)
- Almacenamiento local Limpieza periódica de localStorage
Comentarios
Publicar un comentario
Comparte tu opinión y únete a la conversación sobre seguridad informática en nuestro blog.