***************************************************************************************************
- Enviar a un "amigo" [I de III]
- Enviar a un "amigo" [II de III]
- Enviar a un "amigo" [III de III]
***************************************************************************************************
3.- Información sensible de seguridad
La última utilidad que ofrece a un externo este servicio de “Enviar a un amigo” es la de poder acceder a información útil en auditorías de seguridad. El correo electrónico siempre es una fuente de información de direcciones IPs internas, estructuras de diseño y conexión de la DMZ e incluso de versiones de software.
En el caso de un servicio de “Enviar a un amigo”, el cliente de correo electrónico va a ser la aplicación web, con lo que bastará con echar un ojo a la cabeza del correo electrónico recibido para sacar bastante información.
Cabecera de correo de "Enviar a un amigo"
En este ejemplo siguiente se puede ver cómo es posible descubrir el direccionamiento interno de la red de los servidores. El equipo 10.220.80.129 y el equipo 10.151.7.21 son direcciones de la red interna mientras que la IP 69.64.65.60 es con la que el correo se entrega a Google para que llegue al correo de Gmail.
Lo más interesante, además de la estructura de direcciones, es la posibilidad de descubrir usuarios o software utilizado. En este caso se puede apreciar como existe un usuario www@localhost en la máquina que está siendo utilizado para enviar el correo. Es fácil inferir, por el nombre y porque el correo lo está creando una aplicación web, que esta es la cuenta que está configurada para el servicio Apache.
En la misma cabecera es posible descubrir la versión de la pasarela SMTP que está siendo utilizada por el banner de la versión. En este caso, una versión 8.14.2 de Sendmail.
Por último, se puede ver que el correo tiene marcado el campo USER-AGENT con el cliente de correo electrónico utilizado. En este caso ExpressionEngine 1.6.4, que es un CMS, el utilizado para la creación del sitio web y, por tanto, para el servicio de “Enviar a un amigo”. Este software tiene un par de vulnerabilidades de XSS conocidas y una de ellas que puede ser explotada en esta versión.
XSS explotable en 1.6.4
En otro ejemplo, he recibido directamente el error de la aplicación por mail, al modificar los parámetros de la URL y el error descubría el path interno de la instalación.
Information Disclosure
Reflexión Final
El servicio de “Enviar a un amigo” puede ser un problema para la seguridad de un sitio web si no se construye correctamente. Dentro de una fase de auditoría web, estos servicios requieren una especial atención por parte de los auditores porque pueden tener vulnerabilidades de diseño como las que se han citado.
Piénsate dos veces como diseñas estos servicios no sea que estés enviando los mails a un “No amigo”.
Y no quería irme sin dejaros la noticia sobre un ataque notificado ayer con la función de "Email this feature" al NYTimes, que parece que nadie se libra... [Gracias Dab!]
Saludos Malignos!
***************************************************************************************************
- Enviar a un "amigo" [I de III]
- Enviar a un "amigo" [II de III]
- Enviar a un "amigo" [III de III]
***************************************************************************************************
- Enviar a un "amigo" [I de III]
- Enviar a un "amigo" [II de III]
- Enviar a un "amigo" [III de III]
***************************************************************************************************
3.- Información sensible de seguridad
La última utilidad que ofrece a un externo este servicio de “Enviar a un amigo” es la de poder acceder a información útil en auditorías de seguridad. El correo electrónico siempre es una fuente de información de direcciones IPs internas, estructuras de diseño y conexión de la DMZ e incluso de versiones de software.
En el caso de un servicio de “Enviar a un amigo”, el cliente de correo electrónico va a ser la aplicación web, con lo que bastará con echar un ojo a la cabeza del correo electrónico recibido para sacar bastante información.
Cabecera de correo de "Enviar a un amigo"
En este ejemplo siguiente se puede ver cómo es posible descubrir el direccionamiento interno de la red de los servidores. El equipo 10.220.80.129 y el equipo 10.151.7.21 son direcciones de la red interna mientras que la IP 69.64.65.60 es con la que el correo se entrega a Google para que llegue al correo de Gmail.
Lo más interesante, además de la estructura de direcciones, es la posibilidad de descubrir usuarios o software utilizado. En este caso se puede apreciar como existe un usuario www@localhost en la máquina que está siendo utilizado para enviar el correo. Es fácil inferir, por el nombre y porque el correo lo está creando una aplicación web, que esta es la cuenta que está configurada para el servicio Apache.
En la misma cabecera es posible descubrir la versión de la pasarela SMTP que está siendo utilizada por el banner de la versión. En este caso, una versión 8.14.2 de Sendmail.
Por último, se puede ver que el correo tiene marcado el campo USER-AGENT con el cliente de correo electrónico utilizado. En este caso ExpressionEngine 1.6.4, que es un CMS, el utilizado para la creación del sitio web y, por tanto, para el servicio de “Enviar a un amigo”. Este software tiene un par de vulnerabilidades de XSS conocidas y una de ellas que puede ser explotada en esta versión.
XSS explotable en 1.6.4
En otro ejemplo, he recibido directamente el error de la aplicación por mail, al modificar los parámetros de la URL y el error descubría el path interno de la instalación.
Information Disclosure
Reflexión Final
El servicio de “Enviar a un amigo” puede ser un problema para la seguridad de un sitio web si no se construye correctamente. Dentro de una fase de auditoría web, estos servicios requieren una especial atención por parte de los auditores porque pueden tener vulnerabilidades de diseño como las que se han citado.
Piénsate dos veces como diseñas estos servicios no sea que estés enviando los mails a un “No amigo”.
Y no quería irme sin dejaros la noticia sobre un ataque notificado ayer con la función de "Email this feature" al NYTimes, que parece que nadie se libra... [Gracias Dab!]
Saludos Malignos!
***************************************************************************************************
- Enviar a un "amigo" [I de III]
- Enviar a un "amigo" [II de III]
- Enviar a un "amigo" [III de III]
***************************************************************************************************
De nada amigo!
ResponderEliminarCómo me gustan estos posts!
ResponderEliminarBuenas Chema
ResponderEliminarSoy Marcelino Madrigal.
¿Alguna manera de ponerse en contacto contigo para comentarte un tema un poco más serio que todo esto?
garfio2003@hotmail.com
mmadrigal2003@gmail.com
Gracias
pues diga lo que diga el sr. marcelino la serie de posts está muy bien..
ResponderEliminarAparte Marcelino, pidiendo ayuda y al mismo tiempo ninguneando los posts de la persona a la que pides ayuda? vas bien vas...
Saludos Chema, y paciencia xD
Wi®
CentOs
ResponderEliminarYo leo buenos blogs, y no hace falta que diga nada más porque estoy en este comentado. No sabes de que va el tema, pero por supuesto no ninguneo el valor de las entradas de Chema
Saludos
Una cuestioncilla:
ResponderEliminar¿hay alguna forma de utilizar estos servicios con telnet? Es decir, xxxxx.mx.com es un host que no tiene directamente el puerto 25 ahí para ti, por lo que no puedes utilizarlo de esa forma, ¿no?
Un saludo y gracias por adelantado, muy buenos los posts.
Después de esta serie de post me surgen dudas sobre los medios de contactos que pueden ser incorporados a un sitio web. ¿Que opinas de el sistema de http://kontactr.com? Ves algún "bujero" en él?
ResponderEliminarGracias Maligno
@SuMMuN, exacto.
ResponderEliminar@Julio Trujillo Leon, pues no lo he visto le echaré un ojo.
Saludos!