elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
27 Mayo 2012, 17:18  


Tema destacado: Nueva página de elhacker.net en Google+ Google+

+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Hacking Avanzado (Moderadores: ANELKAOS, TRICKY)
| | |-+  Algunas vulnerabilidades por métodos HTTP
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Algunas vulnerabilidades por métodos HTTP  (Leído 5,061 veces)
SH4V

Desconectado Desconectado

Mensajes: 39



Ver Perfil WWW
Algunas vulnerabilidades por métodos HTTP
« en: 18 Febrero 2009, 20:15 »

Para los que no sepan qué es un método HTTP, pueden encontrar información sobre los mismos en el RFC2616:

http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html

Recomiendo que antes de leer este paper se tengan unas nociones básicas de estos métodos. En este artículo no se tratarán las ya conocidas de sobra vulnerabilidades por PUT y DELETE y tampoco otras que a día de hoy, debido a la evolución de los exploradores web, apenas tienen validez, como Cross Site Tracing por medio del método TRACE.

HTTP CONNECT:

Algunos servidores web, ya sean Apache, IIS, Tomcat... soportan el método CONNECT. Esto puede suponer una puerta de entrada para spammers o para atacantes que quieran evaluar otro servidor suplantando la identidad de terceras personas.

Tomemos como ejemplo la página www.victima.com. Para saber si tiene habilitado el método CONNECT, tendremos que hacer uso del método OPTIONS así que manos a la obra. Procedemos a conectarnos por telnet o netcat al servidor en el puerto 80 y mandamos la petición. Es importante que especifiquéis el nombre del servidor en el campo "Host:" ya que muchas veces, debido a mecanismos de proxy inversos del propio servidor con otros servidores, no coinciden, lo que puede dar lugar a resultados negativos. Para dar con posibles servidores que hagan de proxy inverso entre tú y el servidor original, se puede proceder a realizar una transferencia de zona DNS. En esta n3t-datagrams tenéis información sobre como realizar consultas avanzadas a servidores DNS (http://n3t-datagrams.net/guias/dns.html):

Código:
$ nc -vv www.victima.com 80
victima.com [127.0.0.1] 80 (www) open
OPTIONS / HTTP/1.1
Host: victima.com

HTTP/1.1 200 OK
Date: Wed, 18 Feb 2009 15:43:06 GMT
Server: Apache/2.0.46 (Red Hat)
Allow: GET,HEAD,POST,CONNECT,OPTIONS,TRACE
Content-Length: 0
Content-Type: application/x-httpd-php


Podemos comprobar en el campo Allow, que el método CONNECT está permitido. Es posible que el método OPTIONS no esté habilitado, por lo que se procedería a utilizar de forma directa el método CONNECT. Una vez estamos seguros de que el servidor soporta el método y además lo tiene permitido, procedemos a realizar el ataque. Para este ejemplo, nos haremos pasar por unos Spammers e intentaremos conectarnos al puerto 25 (SMTP) de un servidor de correo.

Código:
$ nc -vv www.victima.com 80
victima.com [127.0.0.1] 80 (www) open
CONNECT mx.mailexample.com:25 HTTP/1.0

HTTP/1.0 200 Connection established
220 mx-example.com SMTP Server


Y a partir de aquí, si todos conocen el protocolo SMTP, saben lo que pueden hacer. Un spammer podría aprovechar este error de seguridad para que su verdadera IP no apareciese en las listas negras de las empresas de correo electrónico como hotmail, gmail, yahoo...

HTTP POST:

El método POST, puede ser también utilizado para acceder a equipos o mandar correos a lo Spam-style. No hay mucha información sobre esta vulnerabilidad así que espero que si tú, "querido lector", no has leido nunca nada acerca de esta vulnerabilidad: enjoy it. Si por el contrario sí, repasar nunca le hace mal a nadie. La técnica es similar a la que hemos visto anteriormente con el método CONNECT. El módulo mod-proxy para Apache en su versión 1.3.27 lleva por defecto una configuración que permite explotar este falla de seguridad.

Código:
$ nc -vv www.victima.com 80
victima.com [127.0.0.1] 80 (www) open
POST http://mx.mailexample.com:25/ HTTP/1.0
Content-Type: text/plain
Content-Length:0

HTTP/1.0 200 OK
220 mx-example.com SMTP Server


Y a partir de aquí, lo mismo que para el CONNECT (ehlo, auth login, etc...).
En línea

Citar
javascript:đ=+!!{};(this)[ł={ŋ:''+!'[]',ŧ:''+!!đ},ł.ŋ[đ]+ł.ŋ[đ+đ]+ł.ŋ[++đ+đ]+ł.ŧ[--đ]+ł.ŧ[+!đ]](đ)
sirdarckcat
Troll Buena Onda y
CoAdmin
***
Desconectado Desconectado

Mensajes: 6.947


Lavando Platos


Ver Perfil WWW
Re: Algunas vulnerabilidades por métodos HTTP
« Respuesta #1 en: 18 Febrero 2009, 21:31 »

estas no son vulnerabilidades, son HTTP Proxies, el que puso en su server un HTTP Proxy es porque quiso que se puedan conectar asi los usuarios.. y en cualquier caso, no lo consideraria como vulnerabilidad sino como un "ataque".

muevo el mensaje a hacking.

Saludos!!
En línea

TRICKY
The "Tricky" ..
Moderador
***
Desconectado Desconectado

Mensajes: 1.605


Ver Perfil
Re: Algunas vulnerabilidades por métodos HTTP
« Respuesta #2 en: 18 Febrero 2009, 21:55 »


Que tal.

Bueno, en el metodo CONNECT se ha dejado lo mas importante para mi relacionado al hacking.
Para mi si es un ataque el siguiente, pero que esta basado en la mala configuracion de algunos servidores proxies, como SQUID.
En ciertas ocasiones SQUID es mal configurado, permitiendo hacer el CONNECT ( silo soporta ) y, en vez de irnos a cualquier servidor externo a esa Red, pues se podria conectar con PCs internos a esa Red para la cual SQUID ( u otro mal configurado ) esta actuando como servidor proxy.

Bueno, eso era todo amigos.

Saludos.
En línea

"La envidia es una declaración de inferioridad"
Napoleón.
SH4V

Desconectado Desconectado

Mensajes: 39



Ver Perfil WWW
Re: Algunas vulnerabilidades por métodos HTTP
« Respuesta #3 en: 18 Febrero 2009, 22:49 »

Es cierto que "técnicamente" no son vulnerabilidades, pero es que por esa misma regla de tres, muy pocas cosas lo son. Aquello a lo que llamamos vulnerabilidad, no es otra cosa que un fallo en la programación o un fallo en la configuración. Es como tener un servidor SSH y permitir en la configuración que alguien pueda intentar conectarse al mismo introduciendo login y pass de forma aleatoria hasta que de con el correcto. Sí que es cierto que esto es un fallo de configuración en el servidor pero a ver! está dando cabida a un atacante a realizar un ataque por fuerza bruta o por diccionario, por lo que técnicamente, el servidor está siendo vulnerable para revelar credenciales. Los métodos PUT y DELETE son lo mismo sí, pero el hecho de que esté permitidos exponen al servidor a que el pedorro de turno venga a tocar las narices al administrador del sistema. En este caso ocurre lo mismo. Esto podría hacer que todos los mails enviados desde un servidor de correo con la misma ip fueran a parar a la papelera del spam por culpa de las listas negras. Así que "técnicamente" el servidor está siendo vulnerable a que las empresas de correo electrónico registren su IP en sus afamadas listas por lo que, y ya sé que me estoy reiterando, sí que son vulnerabilidades.
En línea

Citar
javascript:đ=+!!{};(this)[ł={ŋ:''+!'[]',ŧ:''+!!đ},ł.ŋ[đ]+ł.ŋ[đ+đ]+ł.ŋ[++đ+đ]+ł.ŧ[--đ]+ł.ŧ[+!đ]](đ)
sirdarckcat
Troll Buena Onda y
CoAdmin
***
Desconectado Desconectado

Mensajes: 6.947


Lavando Platos


Ver Perfil WWW
Re: Algunas vulnerabilidades por métodos HTTP
« Respuesta #4 en: 19 Febrero 2009, 04:46 »

No, estas diciendo que el tener un servicio que tu pusiste ahi, (en este caso un servidor Proxy) es una vulnerabilidad. Y eso es falso. Una vulnerabilidad es una falla que existe en una aplicacion que permite hacer algo no contemplado por el desarrollador, y que puede vulnerar la confidencialidad, integridad o disponibilidad de la informacion en este sistema.

En este caso, supondria que el servidor SQUID esta en una DMZ (porque si no si seria peligroso), y si no lo estuviera la vulnerabilidad estaria en que no este en una DMZ (y con un firewall configurado a que no sea un relay de spam como tu ejemplo), y no en la existencia del proxy..

Y el tener un servidor SSH no protegido contra bruteforce no es una vulnerabilidad.. Tienes que ver las diferencias entre vulnerabilidades, amenazas, riesgos, etc..
« Última modificación: 19 Febrero 2009, 04:50 por sirdarckcat » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines