7-1 - Ataques Web Conceptos

19
Febrero de 2013 andresoliva [Consultor SI - TI] Ataques WEB - Conceptos DIPLOMADO ETHICAL HACKING: “ENFOQUE PRÁCTICO”

Transcript of 7-1 - Ataques Web Conceptos

Page 1: 7-1 - Ataques Web Conceptos

Febrero de 2013

andresoliva [Consultor SI - TI]

Ataques WEB - Conceptos

DIPLOMADO

ETHICAL HACKING: “ENFOQUE PRÁCTICO”

Page 2: 7-1 - Ataques Web Conceptos

Ethical Hacking: Enfoque Práctico

Conceptos iniciales

• Qué es una aplicación Web?

• HTTP

RFC 2616

Protocolo de capa de aplicación, no orientado a

conexión

pregunta-respuesta cliente-servidor

A través de HTTP se puede acceder a recursos

apuntados por URLs (Uniform Resource Locators)

El avance paralelo de otras tecnologías (SSL, JS,

Flash, PHP, etc.) permitió tener lo que hoy es Internet.

Page 3: 7-1 - Ataques Web Conceptos

Ethical Hacking: Enfoque Práctico

Petición HTTP

GET / HTTP/1.1

Host: www.udenar.edu.co

User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:16.0)

Gecko/20100101 Firefox/16.0

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8

Accept-Language: es-MX,es-ES;q=0.8,es-AR;q=0.7,es;q=0.5,en-

US;q=0.3,en;q=0.2

Accept-Encoding: gzip, deflate

Proxy-Connection: keep-alive

Cookie: HstCfa1617468=1347378695655;

HstCla1617468=1347378695655; HstCmu1617468=1347378695655;

HstPn1617468=1; HstPt1617468=1; HstCnv1617468=1;

HstCns1617468=1;

c_ref_1617468=http%3A%2F%2F190.66.7.7%3A8082%2Focara%2Fad

mocara.php

Page 4: 7-1 - Ataques Web Conceptos

Ethical Hacking: Enfoque Práctico

Petición HTTP

• Todos los mensajes HTTP contienen una o más

cabeceras, separadas por un salto de línea, seguido de un

mensaje de cuerpo opcional.

• La primera línea siempre será:

Un verbo que indica el método HTTP usado.

La URL solicitada

Versión del protocolo (1.0 o 1.1)

• Otros datos interesantes en la cabecera HTTP:

Referer

User – Agent

Host

Cookie

Page 5: 7-1 - Ataques Web Conceptos

Ethical Hacking: Enfoque Práctico

Respuesta HTTP

HTTP/1.1 200 OK

Date: Mon, 22 Oct 2012 20:31:47 GMT

Server: Apache/2.2.17 (Ubuntu)

X-Powered-By: PHP/5.3.5-1ubuntu7.11

X-Pingback: http://www.udenar.edu.co/xmlrpc.php

Vary: Accept-Encoding

Content-Length: 55674

Content-Type: text/html; charset=UTF-8

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN“

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="es-ES">

........

Page 6: 7-1 - Ataques Web Conceptos

Ethical Hacking: Enfoque Práctico

Respuesta HTTP

• La primera línea de una respueta HTTP siempre será:

Versión del protocolo (1.0 o 1.1)

Número que indica el código HTTP obtenido como

respuesta (1xx información, 2xx petición servida

satisfactoriamente, 3xx redirección, 4xx error, 5xx error

en el servidor para atender la petición)

Una razón a la repuesta (texto)

• Otros datos interesantes en la cabecera HTTP:

Server

Set-Cookie

Pragma

Content-Length

Page 7: 7-1 - Ataques Web Conceptos

Ethical Hacking: Enfoque Práctico

Métodos HTTP

• GET y POST

• HEAD similar a GET, se utiliza como método de

prueba antes de hacer una petición.

• TRACE diagnóstico

• OPTIONS para preguntarle al servidor por los

métodos HTTP soportados por el servidor

• PUT subir contenido (peligrosisisisimo)

• Estos son los métodos más relevantes relacionados con

la seguridad en aplicaciones Web.

Page 8: 7-1 - Ataques Web Conceptos

Ethical Hacking: Enfoque Práctico

Uniform Resource Locator (URL)

• Identificador único para un recurso web a través del cual

puede ser localizado.

• Sintaxis:

protocolo://hostname[:puerto]/[ruta/]archivo[?param=valor]

matricula/ingreso.php?nivelacademico=1&periodoacademi

co=1

Page 9: 7-1 - Ataques Web Conceptos

Ethical Hacking: Enfoque Práctico

Cookies

• Permiten enviar datos desde el servidor al cliente para

que este los almacene y reutilice en el futuro.

• Vehículo de muchas vulnerabilidades

• Headers involucrados:

Set-cookie

o Expires

o Domain

o path

o secure

o HttpOnly no puede ser accedida a través de JS

en el cliente

Cookie

Page 10: 7-1 - Ataques Web Conceptos

Ethical Hacking: Enfoque Práctico

Escudriñar y perfilar

• Metodología a seguir:

Infraestructura

o Servidor (/pentest/enumeration/web/)

./httprint -h 200.21.87.170 -s signatures.txt

./whatweb 200.21.87.170

o Puertos nmap

o Banners

telnet 200.21.87.170 80 (nc 200.21.87.170 80)

HEAD / HTTP/1.0

o Buscadores (google, bing, shodan)

o DNS (/pentest/enumeration/dns/) ./dnsrecon.py -d udenar.edu.co -n 200.21.87.163 -t std -g

Page 11: 7-1 - Ataques Web Conceptos

Ethical Hacking: Enfoque Práctico

Escudriñar y perfilar

./dnsmap udenar.edu.co

Aplicación

o Automatizadas

Nikto (/pentest/web/nikto/)

./nikto.pl –host udenar.edu.co

Joomscan (/pentest/web/joomscan/)

./joomscan.pl –u www.dominioconjoomla.com

wpscan (/pentest/web/wpscan/)

./wpscan.rb -u www.udenar.edu.co

o Wappalyzer http://wappalyzer.com/download

o Crawling --> httrack

Page 12: 7-1 - Ataques Web Conceptos

Ethical Hacking: Enfoque Práctico

Escudriñar y perfilar

Utilización de proxy para capturar tráfico HTTP

• Herramientas: BurpSuite, ZAProxy, ParosProxy, etc.

Usaremos BurpSuite.

http://www.portswigger.net/burp/download.html

java -jar burpsuite_v1.4.jar

Page 13: 7-1 - Ataques Web Conceptos

Ethical Hacking: Enfoque Práctico

Descubriendo contenido oculto

• Las herramientas de crawling NO detectan contenido oculto

o no referenciado.

• Por lo tanto es necesario utilizar técnicas de fuerza bruta

para descubrir directorios interesantes.

• BurpSuite Intruder Inserta payloads (data) en la posición

que el atacante configure a través de los siguientes tipos de

ataque:

Sniper usa un único set de payloads en cada

posición definida por el atacante y elimina el texto de las

otras posiciones, repite el proceso para cada posición. El

número de peticiones generadas es igual al número de

posiciones por el número de payloads seteados.

Page 14: 7-1 - Ataques Web Conceptos

Ethical Hacking: Enfoque Práctico

Descubriendo contenido oculto

Battering RAM A diferencia del anterior, inserta el

mismo payload en TODOS los campos.

Pitchfork Utiliza un conjunto múltiple de payloads

(máximo 8) y los inserta uno por uno en cada posición.

Cluster Bomb a diferencia del anterior, hace un

combinatorio de todos los payloads en todas las posiciones.

Es extremadamente largo este tipo de pruebas.

Page 15: 7-1 - Ataques Web Conceptos

Ethical Hacking: Enfoque Práctico

BurpIntruder - Payloads

• Preset list el más simple, configura una lista predefinida

de ítems a probar.

• Runtime file Carga los datos desde un archivo y se

entregan a cada petición en tiempo de ejecución, cada

payload es leido línea por línea.

• Custom iterator Genera permutaciones personalizadas

de acuerdo a una plantilla. Por ejemplo si el id de usuario es

la cédula, este payload puede recorrer todos los números de

una longitud definida.

• Character substitution Reemplaza caracteres

individuales desde un payload fuente con algunas reglas

predefinidas, muy útil para realizar ataques de contraseñas ya

que puede generar variaciones importantes de diccionarios.

Page 16: 7-1 - Ataques Web Conceptos

Ethical Hacking: Enfoque Práctico

BurpIntruder - Payloads

• Case substitution ídem anterior, con reglas predefinidas.

• Recursive grep A través de grep, se capturan porciones

de la respuesta del servidor para utilizarla como petición en la

siguiente consulta.

• Illegal unicode Reemplaza cada paylaod fuente con

caracteres ilegales. Sirve para verificar validaciones de

campos de entrada y auditar filtros basados en este tipo de

caracteres.

• Character blocks Genera bloque de caracteres de un

tamaño específico. Sirve para detectar buffer overflow.

• Numbers Genera números de forma aleatoria o

secuencial en un formato específico

Page 17: 7-1 - Ataques Web Conceptos

Ethical Hacking: Enfoque Práctico

BurpIntruder - Payloads

• Dates Genera fechas entre un rango específico, en un

intervalo específoc o en un formato específico.

• Brute forcer Genera un conjunto de payloads de una

longitud específica que contenga todas las permutaciones del

set de caracteres especificados

• Null payloads

Page 18: 7-1 - Ataques Web Conceptos

Ethical Hacking: Enfoque Práctico

Taller

• Seleccionar un objetivo

• Practicar la metodología expuesta

• Recolectar la mayor cantidad de información e importarla

al framework dradis.

• Utilizar BurpSuite para descargar el sitio completo.

Page 19: 7-1 - Ataques Web Conceptos

Gracias !!!!!

310 – 501 – 9219

[email protected]

andresoliva [Consultor SI - TI]