pedro laguna durán microsoft student partner [email protected] stop laughing! javascript is...

18
Pedro Laguna Durán Microsoft Student Partner [email protected] Stop laughing! avascript is cool now

Upload: tristan-villaflor

Post on 03-Jan-2015

8 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Pedro Laguna Durán Microsoft Student Partner plaguna@informatica64.com Stop laughing! Javascript is cool now

Pedro Laguna DuránMicrosoft Student [email protected]

Stop laughing!Javascript is cool now.

Page 2: Pedro Laguna Durán Microsoft Student Partner plaguna@informatica64.com Stop laughing! Javascript is cool now

Agenda• Breve historia del Javascript• El Javascript en la actualidad• Hacking2.0– Robo de sesiones– Escaneo de intranets– Robo del historial de navegación– Gusanos XSS

Page 3: Pedro Laguna Durán Microsoft Student Partner plaguna@informatica64.com Stop laughing! Javascript is cool now

Breve historia del Javascript• Lo que conocemos como Javascript es un lenguaje

llamado ECMAScript, creado a partir del Javascript desarrollado por Netscape para su navegador y el Jscript que creo Microsoft para Internet Explorer

• Primera versión en marzo de 1996, para Netscape 2.0, en agosto del mismo año soporte en Internet Explorer 3.0 para JScript 1.0

• Permite la ejecución de código en el contexto del navegador para interactuar con el DOM (Documento Objeto Modelo) de la pagina

• Al ejecutarse en el contexto del cliente permite una primera validación de los datos introducidos en los formularios

• Con solo esto para ofrecer… los programadores no se tomaban muy en serio al Javascript

Page 4: Pedro Laguna Durán Microsoft Student Partner plaguna@informatica64.com Stop laughing! Javascript is cool now

El Javascript en la actualidad• La API XMLHttpRequest desarrollada inicialmente por

Microsoft en 2000 como parte de su Outlook Web Access ha revolucionado la forma en la que las personas interactúan con las paginas web

• Diferentes implementaciones de los principales navegadores web han dado lugar a que en la actualidad se intente estandarizar su funcionamiento por parte de la W3C

• Su uso en las paginas web se considera como parte del fenómeno llamado Web2.0

• Llamadas asíncronas (¡y síncronas!) que hace el navegador de forma transparente al usuario para hacer mas cómoda su experiencia final

• Diversas consideraciones de seguridad hacen que no sea la herramienta perfecta para el robo de sesiones

Page 5: Pedro Laguna Durán Microsoft Student Partner plaguna@informatica64.com Stop laughing! Javascript is cool now

Hacking2.0• “Buffer overflow is the past, XSS is the

future”• XSS (Cross Site Scripting) es una técnica

que nos permite ejecutar código en el contexto del navegador de la victima

• Comunidades online y demás sitios que permiten una gran personalización son propensas a tener este tipo de fallos, aunque no son las únicas

• Si conseguimos insertar un código Javascript malicioso podemos comprometer la seguridad de la aplicación web

Page 6: Pedro Laguna Durán Microsoft Student Partner plaguna@informatica64.com Stop laughing! Javascript is cool now

Robo de sesiones• Cuando nos logamos el servidor nos

asocia un numero identificativo único, la sesión

• La sesión nos permite demostrar que somos un usuario legitimo sin tener que escribir nuestra contraseña en cada pagina a la que naveguemos

• Si logramos la sesión de otro usuario podremos navegar usurpando su identidad sin necesidad de conocer su clave

Page 7: Pedro Laguna Durán Microsoft Student Partner plaguna@informatica64.com Stop laughing! Javascript is cool now

DEMO

Page 8: Pedro Laguna Durán Microsoft Student Partner plaguna@informatica64.com Stop laughing! Javascript is cool now

Escaneo de intranets• Conocer la infraestructura interna de

una empresa puede ser interesante para planificar un ataque

• La gran mayoría de los firewalls no bloquean el trafico HTTP

• Al navegar desde una red interna las IPs de clase A, B y C son accesibles

• ¿Y si usamos Javascript para que nos analice la topología de la red?

Page 9: Pedro Laguna Durán Microsoft Student Partner plaguna@informatica64.com Stop laughing! Javascript is cool now

Escaneo de intranets

Usuario

HTTP

SSH

FTP

JavascriptScanner

Atacante

Page 10: Pedro Laguna Durán Microsoft Student Partner plaguna@informatica64.com Stop laughing! Javascript is cool now

DEMO

Page 11: Pedro Laguna Durán Microsoft Student Partner plaguna@informatica64.com Stop laughing! Javascript is cool now

Robo del historial de navegación• Conocer los hábitos de los usuarios nos

ayudara a planificar mejores ataques y poder causar aun mas daño

• Si conocemos fallos de seguridad en varias paginas, usando esta técnica podríamos intentar usar una sesión no cerrada por parte de un usuario para realizar acciones malintencionadas

• Haciendo uso de Javascript y mezclándolo con un poco de CSS podemos lograr conocer que URLs ha visitado un usuario

Page 12: Pedro Laguna Durán Microsoft Student Partner plaguna@informatica64.com Stop laughing! Javascript is cool now

DEMO

Page 13: Pedro Laguna Durán Microsoft Student Partner plaguna@informatica64.com Stop laughing! Javascript is cool now

Gusanos XSS• Nueva y devastadora forma de ataque que

tiene por objetivo las comunidades online con gran capacidad de personalización como MySpace o Facebook

• Usando Javascript son capaces de auto replicarse e infectar a otros usuarios del mismo sistema

• Son capaces de provocar una denegación de servicios a la pagina infectada, generando miles de peticiones por segundo y bloqueando el servidor

Page 14: Pedro Laguna Durán Microsoft Student Partner plaguna@informatica64.com Stop laughing! Javascript is cool now

Gusanos XSS• El gusano más famoso es el llamado Samy Worm• Infecto MySpace el 4 de octubre de 2005 y en menos de 24

horas genero tal cantidad de trafico que los responsables del servicio se vieron obligados a dejar de dar servicio a sus usuarios

• Usa técnicas de ofuscación para evitar los filtros antiXSS creados por los programadores de MySpace

• Apenas ocupa 4Kb, gracias a las técnicas de compresión que uso su creador

• El gusano hacia básicamente tres cosas:– Copiarse en la pagina del usuario infectado para infectar a

otras personas– Agregar como amigo del usuario infectado al creador del

gusano– Añadir un texto en el perfil infectado con el mensaje “but most

of all, samy is my hero”

Page 15: Pedro Laguna Durán Microsoft Student Partner plaguna@informatica64.com Stop laughing! Javascript is cool now

DEMO

Page 16: Pedro Laguna Durán Microsoft Student Partner plaguna@informatica64.com Stop laughing! Javascript is cool now
Page 17: Pedro Laguna Durán Microsoft Student Partner plaguna@informatica64.com Stop laughing! Javascript is cool now

Referencias• Blog de RSnake [http://ha.ckers.org/]• Blog de pdp [http://www.gnucitizen.org/]• Blog de Jeremiah Grossman

[http://jeremiahgrossman.blogspot.com/]• Writing an XSS worm

[http://kuza55.blogspot.com/2006/03/writing-xss-worm.html]

• Detecting, Analyzing, and Exploiting Intranet Applications using JavaScript [http://www.spidynamics.com/assets/documents/JSportscan.pdf]

• Samy worm [http://namb.la/popular/]• Javascript en Wikipedia

[http://en.wikipedia.org/wiki/Javascript]• Hacking Intranet Websites from the Outside (Take 2)

[http://www.whitehatsec.com/home/assets/presentations/blackhatusa07/0807blackhat_hacking.pdf]

Page 18: Pedro Laguna Durán Microsoft Student Partner plaguna@informatica64.com Stop laughing! Javascript is cool now

http://www.equilibrioinestable.com/[email protected]

¡GRACIAS!