51
../../../DotDotFUA !!!!!!!!!! FUAzzer… La Pesadilla de los Directorios Alejandro Hern Alejandro Hern á á ndez H. ndez H. (nitrØus), CISSP, GPEN, ITIL, CobiT http://twitter.com/nitr0usmx <[email protected]> http://chatsubo-labs.blogspot.com || http://www.brainoverflow.org

Dot dotpwn v3.0beta campus party méxico 2011

Embed Size (px)

Citation preview

Page 1: Dot dotpwn v3.0beta   campus party méxico 2011

../../../DotDotFUA !!!!!!!!!!FUAzzer… La Pesadilla de los Directorios

Alejandro HernAlejandro Hernáández H. ndez H. (nitrØus), CISSP, GPEN, ITIL, CobiT

http://twitter.com/nitr0usmx

<[email protected]>

http://chatsubo-labs.blogspot.com || http://www.brainoverflow.org

Page 2: Dot dotpwn v3.0beta   campus party méxico 2011

../../../DotDotPwn !fuzzer… La Pesadilla de los Directorios

Alejandro HernAlejandro Hernáández H. ndez H. (nitrØus), CISSP, GPEN, ITIL, CobiT

http://twitter.com/nitr0usmx

<[email protected]>

http://chatsubo-labs.blogspot.com || http://www.brainoverflow.org

Page 3: Dot dotpwn v3.0beta   campus party méxico 2011

../../ ../../ AGENDAAGENDA

Introducción� Directory Traversal Vulnerability

� Fuzz Testing

Información General� Origen / Evolución

� Diseño / Arquitectura

� Algoritmo de Bisección

� Opciones de uso

� Sitio y contacto oficial

� Descarga

� Contribuciones

� Vulnerabilidades descubiertas

Traversal Engine� Descripción

� Recursos

� Generación de patrones

� Fuzzing Inteligente

Módulos� Descripción

� Demostración de diferentes módulos

Agradecimientos

Page 4: Dot dotpwn v3.0beta   campus party méxico 2011

DotDotPwn es un fuzzer inteligente y bastante flexible para descubrir

vulnerabilidades de tipo Directory Traversal en software, a través de protocolos

como HTTP, FTP, TFTP, entre otros. Además, tiene un módulo independiente de

protocolo que permite enviar las pruebas al host y puerto especificado. Está

escrito en el lenguaje de programación Perl y funciona en plataformas *NIX y Windows. Esta es la primer herramienta Mexicana incluida en la distribución de

Linux orientada a Penetration Testing (BackTrack Linux).

../../ ../../ DotDotPwnDotDotPwn

Page 5: Dot dotpwn v3.0beta   campus party méxico 2011

../../ ../../ DotDotPwn @ BackTrack 4 R2DotDotPwn @ BackTrack 4 R2

http://www.backtrack-linux.org

+

=

Page 6: Dot dotpwn v3.0beta   campus party méxico 2011

../../ ../../ IntroducciIntroduccióónnDirectory Traversal VulnerabilityDirectory Traversal Vulnerability

Vulnerabilidad informática que ocurre cuando no existe suficiente seguridad en

cuanto a la validación de un usuario, permitiéndole acceder a cualquier tipo de

directorio superior.

Fuente: http://es.wikipedia.org/wiki/Directory_traversal

Page 7: Dot dotpwn v3.0beta   campus party méxico 2011

Fuente: http://es.wikipedia.org/wiki/Directory_traversal

../../ ../../ IntroducciIntroduccióónnDirectory Traversal VulnerabilityDirectory Traversal Vulnerability

Page 8: Dot dotpwn v3.0beta   campus party méxico 2011

Fuente: http://es.wikipedia.org/wiki/Directory_traversal

Algunas aplicaciones realizan escaneos sobre las cadenas introducidas (para

prevenir el Directory Traversal) buscando caracteres peligrosos como:

..

..\

../

Sin embargo, la cadena es usualmente decodificada en URI antes de ser

utilizada. Es por ello que estas aplicaciones son vulnerables a percent encoded

como:

%2e%2e%2f que se traduce a ../ %2e%2e/ que se traduce a ../ ..%2f que se traduce a ../%2e%2e%5c que se traduce a ..\etc.

../../ ../../ IntroducciIntroduccióónnDirectory Traversal VulnerabilityDirectory Traversal Vulnerability

Page 9: Dot dotpwn v3.0beta   campus party méxico 2011

../../ ../../ IntroducciIntroduccióónnFuzz TestingFuzz Testing

Fuzz testing or fuzzing is a software testing technique that provides (in)valid,

unexpected, or random data to the inputs of a program. If the program fails (for

example, by crashing or failing built-in code assertions), the defects can be

noted.

Fuzz testing enhances software security and software safety because it often

finds odd oversights and defects which human testers would fail to find, and

even careful human test designers would fail to create tests for.

Fuente: http://en.wikipedia.org/wiki/Fuzz_testing

Page 10: Dot dotpwn v3.0beta   campus party méxico 2011

../../ ../../ IntroducciIntroduccióónnIntelligent Fuzz TestingIntelligent Fuzz Testing

Fuente:

DeMott, J. (2006). The evolving art of fuzzing.

Page 11: Dot dotpwn v3.0beta   campus party méxico 2011

../../ ../../ IntroducciIntroduccióónnIntelligent Fuzz TestingIntelligent Fuzz Testing

Fuente:

DeMott, J. (2006). The evolving art of fuzzing.

Page 12: Dot dotpwn v3.0beta   campus party méxico 2011

../../ ../../ IntroducciIntroduccióónnIntelligent Fuzz TestingIntelligent Fuzz Testing

Fuente:

DeMott, J. (2006). The evolving art of fuzzing.

Page 13: Dot dotpwn v3.0beta   campus party méxico 2011

../../ ../../ InformaciInformacióón Generaln GeneralOrigen / EvoluciOrigen / Evolucióónn

CHANGELOG.txtCHANGELOG.txtDotDotPwn v1.0DotDotPwn v1.0Release date: 21/Aug/2010

� Checker Script

� Core component: Traversal database (external .txt files) with 881 payloads

� Based on Shlomi Narkolayev’s Directory Traversal Cheat Sheet� http://narkolayev-shlomi.blogspot.com/2010/04/directory-traversal-fuzz-list.html

DotDotPwn v2.0DotDotPwn v2.0Release date: 2/Sept/2010 (NON-PUBLIC Version)

� From Checker to Fuzzer

� Rewritten from the scratch� Modular architechture (DotDotPwn packages)

� Core component: Traversal Engine

� A cool banner was included ;)

DotDotPwn v2.1DotDotPwn v2.1Release date: 29/Oct/2010 (PUBLIC Release at BugCon Security Conferences 2010)Release date: 14/Oct/2010 (NON-PUBLIC Version)

� False positives detection

� More modules included

DotDotPwn v3.0DotDotPwn v3.0Release date: ¿?/2011

� PRÓXIMAMENTE

Page 14: Dot dotpwn v3.0beta   campus party méxico 2011

../../ ../../ InformaciInformacióón Generaln GeneralDiseDiseñño / Arquitecturao / Arquitectura

Traversal Engine

../../

..\..\

..%2f..%2f

..%255c..%255c

..%c0%2f..%c0%2f

..%u2215..%u2215

..%uF025..%uF025

..%25c1%259c..%25c1%259c%252e%252e%c0%5c%252e%252e%c0%5c

INPUTSINPUTS FUZZ PATTERNSFUZZ PATTERNSCREATIONCREATION

OUTPUTSOUTPUTS

Deepness

Filenames

manual OS typeModules

Dots & SlashesEncodings

HTTP

HTTP URL

FTP

TFTP

PAYLOAD

STDOUT

Bisection Algorithm

OS detection

Page 15: Dot dotpwn v3.0beta   campus party méxico 2011

�� DetecciDeteccióón exacta de profundidad de una n exacta de profundidad de una vulnerabilidad identificadavulnerabilidad identificada

En matemáticas, el método de bisección es un algoritmo de

búsqueda de raíces que trabaja dividiendo el intervalo a la mitad y

seleccionando el subintervalo que tiene la raíz.

http://es.wikipedia.org/wiki/Método_de_bisección

../../ ../../ InformaciInformacióón Generaln GeneralAlgoritmo de BisecciAlgoritmo de Biseccióónn

../../../../../../../../../../../../../../../../etc/passwd (16)

../../../../../../../../etc/passwd (16/2 = 8)

../../../../../../../../../../../../etc/passwd ((8+16) / 2 = 12)

../../../../../../../../../../etc/passwd ((8+12) / 2 = 10)

../../../../../../../../../../../etc/passwd ((10+12) / 2 = 11)

5 5 requestsrequests en vez deen vez de 11 !11 !

Page 16: Dot dotpwn v3.0beta   campus party méxico 2011

../../ ../../ InformaciInformacióón Generaln GeneralOpciones de usoOpciones de uso

USAGE.txtUSAGE.txt

Page 17: Dot dotpwn v3.0beta   campus party méxico 2011

../../ ../../ InformaciInformacióón Generaln GeneralOpciones de usoOpciones de uso

EXAMPLES.txtEXAMPLES.txt

Page 18: Dot dotpwn v3.0beta   campus party méxico 2011

README.txtREADME.txt

OfficialOfficial WebsiteWebsite: : http://dotdotpwn.blogspot.comOfficialOfficial Email: Email: [email protected] / Bugs / ContributionsContributions / / ImprovementsImprovements: : [email protected]

../../ ../../ InformaciInformacióón Generaln GeneralSitio y contacto oficialSitio y contacto oficial

Page 19: Dot dotpwn v3.0beta   campus party méxico 2011

DotDotPwn v2.1:DotDotPwn v2.1:

PacketStormSecurityPacketStormSecurity::http://packetstormsecurity.org/files/view/95399/dotdotpwn-v2.1.tar.gz

BackTrack Linux 4 R2:BackTrack Linux 4 R2:# apt-get update

# apt-get install dotdotpwn

# cd /pentest/fuzzers/dotdotpwn/

# ./dotdotpwn.pl

MirrorMirror::http://www.brainoverflow.org/code/dotdotpwn-v2.1.tar.gz

../../ ../../ InformaciInformacióón Generaln GeneralDescargaDescarga

Page 20: Dot dotpwn v3.0beta   campus party méxico 2011

AUTHORS.txtAUTHORS.txt

Feature/Idea:Implementation of the Bisection Algorithm once a vulnerability has been found in order to determine the exact deepness of

the directory traversal. Origin of -X switch.

http://en.wikipedia.org/wiki/Bisection_method

By: Roberto Salgado aka LightOShttp://twitter.com/LightOShttp://www.websec.ca

-------------------------------------Feature/Idea:

Not always include the @Extra_files (e.g. web.config, httpd.conf, etc.). Origin of -e switch.

Specify the Operating System type if known ("windows" or "unix"). Origin of -o switch.

By: Eduardo Ruiz Duarte aka Beckhttp://twitter.com/toorandomhttp://math.co.rohttp://b3ck.blogspot.com

-------------------------------------

Feature/Idea:

Random User-Agent in HTTP requests for IDS/IPS detection avoidance.

By: Diego Boy & Cristian Urrutia aka Gashnarkhttp://twitter.com/Diego_Boy http://twitter.com/blion_tec

../../ ../../ InformaciInformacióón Generaln GeneralContribucionesContribuciones

Page 21: Dot dotpwn v3.0beta   campus party méxico 2011

../../ ../../ InformaciInformacióón Generaln GeneralVulnerabilidades descubiertasVulnerabilidades descubiertas

Servidores probadosServidores probados�� HTTP: 72HTTP: 72

�� Plataformas HTTP: 2 (Plataformas HTTP: 2 (CMSCMS’’ss))

�� FTP: 25FTP: 25

�� TFTP: 11TFTP: 11

Page 22: Dot dotpwn v3.0beta   campus party méxico 2011

../../ ../../ InformaciInformacióón Generaln GeneralVulnerabilidades descubiertasVulnerabilidades descubiertas

Ejemplos del registro de hallazgosEjemplos del registro de hallazgos

Page 23: Dot dotpwn v3.0beta   campus party méxico 2011

../../ ../../ InformaciInformacióón Generaln GeneralVulnerabilidades descubiertasVulnerabilidades descubiertas

Advisories / Exploits publicados (a la fecha)Advisories / Exploits publicados (a la fecha)� MultiThreaded HTTP Server [chr1x] – http://www.exploit-db.com/exploits/12304

� Wing FTP Server v3.4.3 [chr1x] - http://packetstormsecurity.org/1005-exploits/wingftp-traversal.txt

� VicFTPS v5.0 [chr1x] – http://www.exploit-db.com/exploits/12498

� TFTP Desktop 2.5 [chr1x] - http://www.exploit-db.com/exploits/14857

� TFTPDWIN v0.4.2 [chr1x] - http://www.exploit-db.com/exploits/14856

� Femitter FTP Server 1.04 [chr1x] - http://www.exploit-db.com/exploits/15445

00--daysdays publicados en un congreso de seguridad (octubre de 2010)publicados en un congreso de seguridad (octubre de 2010)� Yaws 1.89 HTTP Server [nitrØus]� Mongoose 2.11 HTTP Server (Win32) [nitrØus]� Home FTP Server <= r1.11.1 (build 149) [chr1x]

00--day(sday(s) ) prpróóximo(sximo(s) () (¿¿? 2011)? 2011)� ¿?

Page 24: Dot dotpwn v3.0beta   campus party méxico 2011

../../ ../../ InformaciInformacióón Generaln GeneralVulnerabilidades descubiertasVulnerabilidades descubiertas

DotDotPwn Breaking Patches! ☺

3.4.0 - 1st Traversal found !

3.4.1

3.4.2

3.4.3

3.4.5 – 2nd Traversal found !

=================

56 days of exposure!!

Ejemplo de respuesta Ejemplo de respuesta [chr1x][chr1x]

Page 25: Dot dotpwn v3.0beta   campus party méxico 2011

../../ ../../ Traversal EngineTraversal EngineDescripciDescripcióónn

Traversal Engine

../../

..\..\

..%2f..%2f

..%255c..%255c

..%c0%2f..%c0%2f

..%u2215..%u2215

..%uF025..%uF025

..%25c1%259c..%25c1%259c%252e%252e%c0%5c%252e%252e%c0%5c

Page 26: Dot dotpwn v3.0beta   campus party méxico 2011

../../ ../../ Traversal EngineTraversal EngineRecursosRecursos

Page 27: Dot dotpwn v3.0beta   campus party méxico 2011

../../ ../../ Traversal EngineTraversal EngineRecursosRecursos

Page 28: Dot dotpwn v3.0beta   campus party méxico 2011

../../ ../../ Traversal EngineTraversal EngineGeneraciGeneracióón de patronesn de patrones

Page 29: Dot dotpwn v3.0beta   campus party méxico 2011

../../ ../../ Traversal EngineTraversal EngineFuzzing InteligenteFuzzing Inteligente

Al inicio de la presentaciAl inicio de la presentacióón (Introduccin (Introduccióón) n) ……

Entonces Entonces ……

Page 30: Dot dotpwn v3.0beta   campus party méxico 2011

../../ ../../ Traversal EngineTraversal EngineFuzzing InteligenteFuzzing Inteligente

� Obtención de archivos de acuerdo al Sistema Operativo detectado

../../../boot.ini en *NIX-like ../../../boot.ini en Windows

../../../etc/passwd en Windows ../../../etc/passwd en *NIX-like

Page 31: Dot dotpwn v3.0beta   campus party méxico 2011

../../ ../../ Traversal EngineTraversal EngineFuzzing InteligenteFuzzing Inteligente

Page 32: Dot dotpwn v3.0beta   campus party méxico 2011

../../ ../../ Traversal EngineTraversal EngineFuzzing InteligenteFuzzing Inteligente

� Encoding de diagonales (/) para que una correcta semántica en cada patrón de fuzzing

..%2f..%2fetc/passwd

..%2f..%2fetc%2fpasswd

%2e%2e%c0%af%2e%2e%c0%afwindows\system32\drivers\etc\hosts

%2e%2e%c0%af%2e%2e%c0%afwindows%c0%afsystem32%c0%afdrivers%c0%afetc%c0%afhosts

Page 33: Dot dotpwn v3.0beta   campus party méxico 2011

../../ ../../ Traversal EngineTraversal EngineFuzzing InteligenteFuzzing Inteligente

Page 34: Dot dotpwn v3.0beta   campus party méxico 2011

../../ ../../ MMóódulosdulosHTTPHTTP

#DotDowPwn#snort-2.8.4 - snort-2.9.x, and suricata

alert tcp $EXTERNAL_NET any -> $HOME_NET $HTTP_PORTS(msg:"ET SCAN DotDotPwn User-Agent"; flow: established,to_server; content:"User-Agent|3A| DotDotPwn"; nocase; http_header; threshold: type limit, track by_src,count 1, seconds 60; classtype: attempted-recon; reference:url,dotdotpwn.sectester.net; sid:yyyyyy; rev:1;)

Page 35: Dot dotpwn v3.0beta   campus party méxico 2011

../../ ../../ MMóódulosdulosHTTPHTTP

Verificación adicional para evitar falsos positivos

Page 36: Dot dotpwn v3.0beta   campus party méxico 2011

../../ ../../ MMóódulosdulosHTTPHTTP

DEMODEMO

Page 37: Dot dotpwn v3.0beta   campus party méxico 2011

../../ ../../ MMóódulosdulosHTTP URLHTTP URL

Page 38: Dot dotpwn v3.0beta   campus party méxico 2011

../../ ../../ MMóódulosdulosHTTP URLHTTP URL

DEMODEMO

Page 39: Dot dotpwn v3.0beta   campus party méxico 2011

../../ ../../ MMóódulosdulosFTPFTP

Page 40: Dot dotpwn v3.0beta   campus party méxico 2011

../../ ../../ MMóódulosdulosFTPFTP

Cumplimiento con RFC 959 - File Transfer Protocol y doble enfoque de pruebas

� CD <directorio> & GET <archivo>

� GET <directorio><archivo>

Page 41: Dot dotpwn v3.0beta   campus party méxico 2011

../../ ../../ MMóódulosdulosFTPFTP

DEMODEMO

Page 42: Dot dotpwn v3.0beta   campus party méxico 2011

../../ ../../ MMóódulosdulosTFTPTFTP

Page 43: Dot dotpwn v3.0beta   campus party méxico 2011

../../ ../../ MMóódulosdulosTFTPTFTP

Hack en el constructor del módulo TFTP.pm para mejorar la velocidad y adaptarse a los requerimientos de tiempo de DotDotPwnDotDotPwn (opción -t )

Page 44: Dot dotpwn v3.0beta   campus party méxico 2011

../../ ../../ MMóódulosdulosTFTPTFTP

DEMODEMO

Page 45: Dot dotpwn v3.0beta   campus party méxico 2011

../../ ../../ MMóódulosdulosPAYLOADPAYLOAD

Page 46: Dot dotpwn v3.0beta   campus party méxico 2011

../../ ../../ MMóódulosdulosPAYLOADPAYLOAD

DEMODEMO

Page 47: Dot dotpwn v3.0beta   campus party méxico 2011

../../ ../../ MMóódulosdulosSTDOUTSTDOUT

Page 48: Dot dotpwn v3.0beta   campus party méxico 2011

../../ ../../ MMóódulosdulosSTDOUTSTDOUT

DEMODEMO

Page 49: Dot dotpwn v3.0beta   campus party méxico 2011

../../ ../../ AgradecimientosAgradecimientos

�� Al pAl púúblico !blico !

nitrØus:� Cubil Felino Crew (chr1x, r1l0, b0rr3x, l1l1th)

� BugCon Crew

� CRAc, hkm, crypkey, tr3w, beck, nediam, beavis, alt3kx, Héctor López, dex, Cj,

SirDarckCat, xScPx, sunLevy, zeus, ran, Federico L. Bossi Bonin

� www.underground.org.mx

� #mendozaaaa

chr1x:� l1l1th

� r1l0

� b0rr3x <------------------

� hkm

� alt3kx

� cHiPx0r

� corelanc0d3r

Page 50: Dot dotpwn v3.0beta   campus party méxico 2011

../../ ../../ Gracias !!!Gracias !!!

Alejandro Hernández H. (nitrØus), CISSP, GPENhttp://twitter.com/nitr0usmx<[email protected]>http://chatsubo-labs.blogspot.comhttp://www.brainoverflow.org

Christian Navarrete (chr1x)http://twitter.com/chr1x<[email protected]>http://chr1x.sectester.net

chr1x & nitrØus @ Solar Vision 3

Page 51: Dot dotpwn v3.0beta   campus party méxico 2011

../../ ../../ Gracias !!!Gracias !!!

¡¡¡ FUAAAAAAAAAAA !!!!!!!!!!!