{"id":327,"date":"2009-05-18T10:10:26","date_gmt":"2009-05-18T15:10:26","guid":{"rendered":"http:\/\/eaprende.com.mandril.avnam.net\/blog\/?p=327"},"modified":"2009-05-18T10:15:20","modified_gmt":"2009-05-18T15:15:20","slug":"grave-vulnerabilidad-en-iis-de-vuelta-a-fallos-de-principios-de-decada","status":"publish","type":"post","link":"https:\/\/www.eaprende.com\/blog\/2009\/05\/18\/grave-vulnerabilidad-en-iis-de-vuelta-a-fallos-de-principios-de-decada\/","title":{"rendered":"Grave vulnerabilidad en IIS. De vuelta a fallos de principios de d\u00e9cada"},"content":{"rendered":"<p>Desde hace unos d\u00edas, estamos viviendo una especie de desafortunada<br \/>\nvuelta a principios de esta d\u00e9cada por culpa de un grave fallo de<br \/>\nseguridad en Internet Information Server, el servidor web de Microsoft.<br \/>\nSe ha descubierto una vulnerabilidad \u00abcomo las de antes\u00bb y, lo peor,<br \/>\naprovechando fallos y problemas que parec\u00edan pertenecer ya al pasado,<br \/>\ncomo de otro tiempo. Al parecer, el fallo est\u00e1 disparando el n\u00famero de<br \/>\n\u00abdesfiguraciones\u00bb (defaces) en servidores web con IIS en los \u00faltimos<br \/>\nd\u00edas.<\/p>\n<p>A cualquiera que est\u00e9 al tanto de las noticias sobre seguridad le sonar\u00e1<br \/>\nque las palabras IIS, WebDAV, unicode y la cabecera \u00abTranslate:f\u00bb (parte<br \/>\ndel protocolo WebDAV) son t\u00e9rminos que juntos, no han tra\u00eddo nunca nada<br \/>\nbueno al servidor de Microsoft en los \u00faltimos a\u00f1os. La vulnerabilidad<br \/>\nque acaba de ser descubierta combina todos esos elementos. Se ha<br \/>\nencontrado un fallo en IIS 6.x a la hora de procesar peticiones http<br \/>\nespecialmente manipuladas con la cabecera \u00abTranslate:f\u00bb y con caracteres<br \/>\nUnicode. Esto puede permitir a un atacante eludir la autenticaci\u00f3n (y<br \/>\nsubir ficheros si lo permiten los permisos) al disparar un problema de<br \/>\nvalidaci\u00f3n en WebDAV.<\/p>\n<p>Vamos a dar un peque\u00f1o repaso a las vulnerabilidades que se basaban en<br \/>\nalguno de los elementos que Microsoft nunca manej\u00f3 (ni maneja, por lo<br \/>\nvisto) demasiado bien.<\/p>\n<p>Antecedentes (1999)<\/p>\n<p>En 1999 se descubri\u00f3 un fallo cl\u00e1sico en IIS. Introduciendo un punto al<br \/>\nfinal de los archivos ASP en servidores web IIS 3.0 se pod\u00eda visualizar<br \/>\nel c\u00f3digo fuente del archivo. Por ejemplo:<\/p>\n<p><a href=\"http:\/\/servidor.iis.afectado\/ejemplo.asp\">http:\/\/servidor.iis.afectado\/ejemplo.asp<\/a>.<\/p>\n<p>La actualizaci\u00f3n desarrollada para solventar este problema cumpli\u00f3 su<br \/>\ntrabajo y la \u00abvulnerabilidad del punto\u00bb desapareci\u00f3. Pero el parche<br \/>\nobvi\u00f3 la representaci\u00f3n hexadecimal del car\u00e1cter \u00ab.\u00bb (0x2e), por lo que<br \/>\nsustituy\u00e9ndolo en la URL de esta forma:<\/p>\n<p><a href=\"http:\/\/www.direccion.com\/code\/ejemplo.asp0x2e\">http:\/\/www.direccion.com\/code\/ejemplo.asp0x2e<\/a><\/p>\n<p>a\u00fan se pod\u00eda descargar el c\u00f3digo fuente del archivo ASP. Un parche para<br \/>\nel parche solucion\u00f3 el problema.<\/p>\n<p>Antecedentes (2000)<\/p>\n<p>Se descubri\u00f3 un error relacionado con el protocolo est\u00e1ndar de Internet<br \/>\nWebDAV (Web Distributed Authoring and Versioning) mayoritariamente usado<br \/>\npor Microsoft en IIS (ven\u00eda activado por defecto). WebDAV se trata de un<br \/>\nconjunto de extensiones de HTTP que proporciona el est\u00e1ndar para editar<br \/>\ny manejar ficheros y atributos a trav\u00e9s de web (lo que ya de por s\u00ed lo<br \/>\nconvierte en un potencial problema de seguridad). El problema consist\u00eda<br \/>\n(como el que acaba de ser descubierto) en enviar una petici\u00f3n HTTP mal<br \/>\nformada, aprovechando el protocolo WebDAV y algunas otras<br \/>\ncircunstancias, como el mal comportamiento del servidor ante ciertos<br \/>\ncaracteres. Explotar el problema era muy sencillo, tan solo hab\u00eda que<br \/>\nusar la cabecera \u00abTrasnlate: f\u00bb (que es lo que indica al servidor que la<br \/>\npetici\u00f3n tiene que ser manejada con WebDAV) y a\u00f1adir un car\u00e1cter \u00ab\\\u00bb al<br \/>\nfinal de la petici\u00f3n GET del archivo ASP del que se quer\u00eda ver el c\u00f3digo<br \/>\nfuente.<\/p>\n<p>Antecedentes (2001)<\/p>\n<p>Cuando se public\u00f3 IIS, Microsoft no tuvo en cuenta la potencial escalada<br \/>\nde directorios que podr\u00eda permitir el acceso a los archivos de sistema<br \/>\ndel servidor web. Durante a\u00f1os, entrar en un servidor IIS era tan<br \/>\nsencillo como realizar la siguiente petici\u00f3n a trav\u00e9s de cualquier<br \/>\nnavegador:<\/p>\n<p><a href=\"http:\/\/servidor.iis.afectado\/scripts\/..\/..\/..\/winnt\/system32\/cmd.exe?\/c+dir+c:\\\">http:\/\/servidor.iis.afectado\/scripts\/..\/..\/..\/winnt\/system32\/cmd.exe?\/c+dir+c:\\<\/a><\/p>\n<p>El problema fue corregido, aunque durante mucho tiempo la mayor\u00eda de los<br \/>\nservidores no parchearon (no exist\u00eda WindowsUpdate) y la fama negra del<br \/>\nnavegador se iba forjando. Durante 2001, cuando Microsoft introdujo<br \/>\nsoporte para la codificaci\u00f3n Unicode en Internet Information Server,<br \/>\ncometi\u00f3 un terrible error. La conversi\u00f3n a Unicode se realizaba despu\u00e9s<br \/>\nde la comprobaci\u00f3n de la existencia de los caracteres \u00ab..\/..\u00bb. Por tanto<br \/>\nel problema volvi\u00f3 a surgir, y de nuevo, era posible entrar en un<br \/>\nservidor gracias a peticiones del tipo:<\/p>\n<p><a href=\"http:\/\/servidor.iis.afectado\/scripts\/..%c1%1c..\/winnt\/system32\/cmd.exe?\/c+dir+c:\\\">http:\/\/servidor.iis.afectado\/scripts\/..%c1%1c..\/winnt\/system32\/cmd.exe?\/c+dir+c:\\<\/a><\/p>\n<p>Muchos a\u00f1os despu\u00e9s, seguir\u00eda siendo la forma m\u00e1s sencilla y predilecta<br \/>\nde muchos de burlar la seguridad de servidores web de Microsoft.<\/p>\n<p>Antecedentes (2003)<\/p>\n<p>En marzo de 2003 se descubri\u00f3 un error relacionado con WebDAV que mont\u00f3<br \/>\nun buen revuelo. Un b\u00fafer no controlado pon\u00eda a los servidores con IIS<br \/>\ninstalado en un compromiso. Fue uno de los \u00faltimos grandes esc\u00e1ndalos de<br \/>\nIIS. A partir de ah\u00ed, las sucesivas versiones del servidor mejoraron<br \/>\nsustancialmente la seguridad.<\/p>\n<p>Y en 2009&#8230;<\/p>\n<p>Se descubre que de nuevo un atacante puede eludir las restricciones de<br \/>\nseguridad y descargar o subir ficheros de directorios WebDAV protegidos<br \/>\ncon contrase\u00f1a. Para perpetrar el ataque, solo es necesario realizar una<br \/>\npetici\u00f3n PROPFIND a una carpeta, a\u00f1adiendo caracteres Unicode en su<br \/>\nnombre, y por supuesto, con la cabecera \u00abTranslate:f\u00bb.<\/p>\n<p>De vuelta 10 a\u00f1os atr\u00e1s<\/p>\n<p>En esta vulnerabilidad, se repiten muchos de los elementos de las<br \/>\nvulnerabilidades descritas m\u00e1s arriba y que se cre\u00edan ya \u00abolvidados\u00bb. El<br \/>\nproblema se da en IIS 6.0 y anteriores. Las versiones posteriores no se<br \/>\nven afectadas, adem\u00e1s de que no traen WebDAV activado por defecto. Por<br \/>\ntanto nos encontramos ante un panorama que no record\u00e1bamos desde hac\u00eda<br \/>\na\u00f1os: una vulnerabilidad directa contra un servidor web (actualmente<br \/>\nutilizado, seg\u00fan Netcraft por el 30% de los servidores web) que permite<br \/>\ncontrolar el sistema. Precisamente una mayor concienciaci\u00f3n sobre la<br \/>\nseguridad, una mejora en la calidad del c\u00f3digo, la aplicaci\u00f3n de parches<br \/>\nde Microsoft (motivada en gran parte por errores como los descritos) y<br \/>\notra serie de factores, hicieron que el objetivo se trasladase bien al<br \/>\ncliente (navegadores, lectores de PDF, Flash&#8230;), bien a aplicaciones<br \/>\nweb (principalmente en PHP) pero cada vez menos contra el servidor web<br \/>\nen s\u00ed.<\/p>\n<p>Microsoft no ha reconocido oficialmente todav\u00eda la vulnerabilidad. Se<br \/>\nrecomienda por tanto deshabilitar WebDAV hasta que exista soluci\u00f3n y<br \/>\ncomprobar los permisos NTFS de los directorios p\u00fablicos. Existe exploit<br \/>\ndisponible.<\/p>\n<p>Sergio de los Santos<br \/>\n<a href=\"mailto:ssantos@hispasec.com\">ssantos@hispasec.com<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Desde hace unos d\u00edas, estamos viviendo una especie de desafortunada vuelta a principios de esta d\u00e9cada por culpa de un grave fallo de seguridad en Internet Information Server, el servidor web de Microsoft. Se ha descubierto una vulnerabilidad \u00abcomo las de antes\u00bb y, lo peor, aprovechando fallos y problemas que parec\u00edan pertenecer ya al pasado, [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_mi_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0},"categories":[],"tags":[],"_links":{"self":[{"href":"https:\/\/www.eaprende.com\/blog\/wp-json\/wp\/v2\/posts\/327"}],"collection":[{"href":"https:\/\/www.eaprende.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.eaprende.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.eaprende.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.eaprende.com\/blog\/wp-json\/wp\/v2\/comments?post=327"}],"version-history":[{"count":3,"href":"https:\/\/www.eaprende.com\/blog\/wp-json\/wp\/v2\/posts\/327\/revisions"}],"predecessor-version":[{"id":329,"href":"https:\/\/www.eaprende.com\/blog\/wp-json\/wp\/v2\/posts\/327\/revisions\/329"}],"wp:attachment":[{"href":"https:\/\/www.eaprende.com\/blog\/wp-json\/wp\/v2\/media?parent=327"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.eaprende.com\/blog\/wp-json\/wp\/v2\/categories?post=327"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.eaprende.com\/blog\/wp-json\/wp\/v2\/tags?post=327"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}