7-1 - ataques web conceptos
Post on 27-Dec-2015
10 Views
Preview:
TRANSCRIPT
Febrero de 2013
andresoliva [Consultor SI - TI]
Ataques WEB - Conceptos
DIPLOMADO
ETHICAL HACKING: “ENFOQUE PRÁCTICO”
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.
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
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
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">
........
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
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.
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
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
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
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
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
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.
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.
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.
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
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
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.
Gracias !!!!!
310 – 501 – 9219
Jaime.andres.oliva@gmail.com
andresoliva [Consultor SI - TI]
top related