¿Cómo hacer un ataque pastejacking y tomar el control de la máquina de víctima?

Share this…

pastejacking

 

Ha sido posible por un largo tiempo para que los desarrolladores usar CSS para añadir contenido malicioso en el portapapeles sin conocimiento del usuario y por lo tanto engañarlos para que ejecute comandos de terminales no deseados. Este tipo de ataque se conoce como clipboard hijacking. Un investigador de seguridad de página web, publicó una nueva versión de este ataque, que sólo utiliza JavaScript como medio de ataque, no CSS. JavaScript hace que este ataque más difícil de detectar y más difícil de detener.

JavaScript es mucho más potente y versátil en comparación con CSS, y se nota inmediatamente explica profesor de curso de seguridad informática. Mientras que en el CSS exploit el usuario tenía que copiar y pegar todo el texto malicioso, con JavaScript cosas son mucho más complicadas.

Los usuarios ni siquiera tienen que seleccionar todo el texto malicioso. Un carácter es suficiente. En teoría, un atacante podría añadir su código malicioso Pastejacking JavaScript para toda la página, y cuando tú pegas cualquier cosa dentro de la consola, ellos podrían ejecutar comandos a escondidas a tus espaldas explica profesor de curso de seguridad informática. El atacante puede ejecutar su código malicioso, limpiar la consola, y luego añadir el código del usuario copiado, haciéndoles creer que no pasó nada.

Según investigador de seguridad de página web, el ataque puede ser mortal si se combina con las páginas de soporte técnico o correos electrónicos de phishing. Los usuarios pueden pensar que están copiando el texto inocente en su consola, pero de hecho, se están ejecutando código malicioso. Debido a que los comandos de terminal se ejecutan automáticamente, el usuario ni siquiera tiene presionar la tecla Enter para ejecutar el código malicioso, CTRL + V es suficiente.

Por ejemplo, alguien en busca de consejos sobre los comandos de cmd.exe podría copiar y pegar el código que encontró en línea en los artículos de tutoriales, pero la persona maliciosa detrás de ese sitio en particular se podría anexar decenas de líneas de código malicioso que se descargan malwares desde una fuente y se instalan en línea en su ordenador. Todo esto puede suceder en silencio, sin que el usuario se percate de nada.

Acuerdo con el ternario del curso de seguridad informática ataques similares han sido posibles a través de HTML / CSS. Lo que es diferente al respecto es que el texto puede ser copiado después de un evento, se puede copiar en un contador de tiempo corto después de un evento, y es más fácil de copiar en caracteres hexadecimales en el portapapeles, cual puede ser utilizado para explotar VIM, como se mostrara a continuación.

Demostración

He aquí una demostración de un sitio web que atrae a un usuario para copiar un comando de aspecto inocente. El sitio es de demostración credo por investigador de seguridad de página web.

https://security.love/Pastejacking

Si un usuario intenta copiar el texto con atajos de teclado, es decir, Ctrl + C o command+C, un temporizador de 800 ms se establece que sustituye directamente el valor del portapapeles del usuario con código malicioso.

 

echo “not evil” Se reemplazará con echo “evil”\n

 

Tenga en cuenta el carácter de nueva línea se añade al final de la línea. Cuando un usuario va a pegar el comando de eco en su terminal, “evil” se aparecera  automáticamente en la pantalla sin dar al usuario la oportunidad de revisar el comando antes de ejecutar. Payloads más sofisticadas que se esconden también se pueden utilizar.

 

touch ~/.evilclearecho “not evil”

 

Este comando creará un archivo “evil” en su directorio personal y limpiara  la terminal de salida. La víctima parece tener el comando que pretendía copiar en el terminal.

Impacto

Este método se puede combinar con un ataque de phishing para atraer a los usuarios a ejecutar comandos aparentemente inocentes explica investigador de seguridad de página web. El código malicioso se anulará el código inocente, y el atacante puede obtener la ejecución remota de código en la máquina del usuario si el usuario pega el contenido en el terminal.

¿Cómo protegerte a ti mismo?

Esto no es tan sencillo. Una solución recomendada por curso de seguridad informática es, verificar el contenido del portapapeles antes de pegarlo en una terminal, pero tenga cuidado de donde se verifican estos comandos. Por ejemplo si se pegan en vim, macros vim se puede utilizar de aprovecharte. Un ejemplo de esto se puede ver en esta demostración más abajo.

copyTextToClipboard(‘echo “evil”\n \x1b:!cat /etc/passwd\n’);

Una solución en todo esto puede observarse a continuación

Dentro de vim para pegar portapapeles sin interpretar como un comando vim

Si está ejecutando iTerm, estaría advertido si el comando termina con un salto de línea como se ve aquí:

 

pastejacking

 

Por supuesto, no hace falta decir, tomar nota de la fuente que se está pegando a partir, y tener precaución adicional si se va a pegar de fuentes cuestionables.