El ClickHacking es un término relativamente nuevo (sobre 2 años), que básicamente consiste en hacer que el usuario pinche (clickee) en cierto contenido oculto a través del uso de iframes, permitiendo a un atacante realizar acciones como un usuario lícito. Un ataque típico contra versiones de Flash antiguas permitía a un usuario mal intencionado tomar el control de la cámara y el micrófono de la víctima habilitando la configuración de seguridad.
Este tipo de nuevas técnicas presentan las siguientes características:
- Se evita la protección Anti-CSRF
- Se inyectan Clicks no datos
- No funciona el ataque si la distribución de la página cambia
- Requiere de la interacción con el usuario
- Se puede evitar con Anti-Framing
Pues bien, vamos a ver un ejemplo de cómo utilizar esta fantástica herramienta, aunque para aquellos interesados, nada mejor que probar la aplicación directamente. En primer lugar cargamos el Framework abriendo con el navegador el recurso cjtool.html. En el frame izquierdo tenemos el menú de acciones y en el derecho el entorno de acción.
En el cuadro de texto URL introducimos la dirección de la página que queremos que interactúe con el usuario de forma oculta. En el marco derecho por tanto y tras pinchar en “Go”, identificamos los campos donde queremos inyectar el Click. En este caso vamos a hacer la prueba con un entorno phpLDAPadmin. Nuestro objetivo será que cuando el usuario realice un primer Click se rellene el campo contraseña con un valor arbitrario, y en una segunda pulsación del ratón se producirá un evento sobre el botón enviar. Este ejemplo es meramente ilustrativo de cómo utilizar la herramienta, ya que no se pretende autenticarse con las credenciales del usuario legítimo. Un escenario real donde se pudiera aprovechar esta vulnerabilidad sería por ejemplo, un site bancario donde el atacante mediante una serie de acciones sobre la página pudiera completar una transacción bancaria a favor del atacante.
Volviendo al ejemplo, en el menú izquierdo encontramos las acciones que se pueden “programar” sobre la página: Cargar URL, hacer un Click, introducir texto, arrastrar contenido, o extraer contenido. Introducimos en primera instancia una cadena de texto arbitraria en el campo contraseña. Hacemos click en Enter Text, arrastramos la cruz verde desde el menú izquierdo al campo contraseña del frame derecho, y por último introducimos la cadena deseada.
Lo siguiente es establecer la acción de presionar sobre el botón “Entrar”. Pulsamos sobre el botón “Click” y nuevamente arrastramos la cruz sobre “Entrar”.
Una vez establecidas las acciones que queremos que realice el usuario, podemos simularlo con Replay Steps. Inmediatamente en el marco derecho vemos como el puntero se sitúa sobre el campo contraseña movamos donde movamos el ratón. Tras hacer click, la cadena programada es copiada en el formulario, pasando el puntero nuevamente al botón “Entrar”. Una última pulsación permite entrar en la aplicación sin que el usuario lícito se entere.
Sin ninguna duda, un gran trabajo de Paul Stone y el equipo de Context, ¡un 10!
Via: Security Art Work