Menú Principal

Help Administradores

Iniciado por Simpar, Enero 08, 2010, 11:17:29 AM

Tema anterior - Siguiente tema

Simpar

Tengo un problema un tanto extraño, en mi servidor web (apache+php+mysql) alojé una página hecha con osCommerce. Aparte en el mismo PC tengo el Hmailserver como servidor de correo.

Desde hace unos dí­as me llegan a mi correo mensajes de SPAM devueltos que han salido desde el servidor. La dirección de enví­o del spam es el dominio de la web hecha en osCommerce, pero el servidor de correo de este dominio no lo tengo yo, está en Arsys. Cuando analizo el enví­o del spam en el log del firewall me doy cuenta de que lo genera el Hmailserver, pero en las cabeceras aparece como Xmail transport la función phpmail del osCommerce.

Total que tengo el server generando spam y poniendo mi ip en las blacklist y no tengo ni idea del proceso por el que la vulnerabilidad del osCommerce haciendo uso del sendmail php consigue usar el Hmailserver.

¿Alguna idea?


patillotes

Supongo que has mirado si hay bugs conocidos, esta todo parcheado, etc, etc.

Baku

Yo de osCommerce ni papa, pero una simple busqueda:

osCommerce Spam Mail Exploit

This is a recent exploit in oscommerce. Any one  can send spam mails  without logging in to the account  or by uploading malicious scripts. If you have an osC install, go to admin/mail.php. You will get a login screen.

now go to admin/mail.php/login.php.  from here you can send spam mails to all the customers.

For fix refer the following URL:-

http://forums.oscommerce.com/topic/348589-serious-hole-found-in-oscommerce/
It's very difficult todo esto.

Simpar

El bug es conocido (lo indico en la última frase), pero mi duda iba no en la vulnerabilidad propiamente sino en el hecho de que fuese el Hmailserver quien enviase los correos. No entendí­a como la función mail del php se autentificaba ya que suponí­a que era un ataque robot (que ni sabe que tengo montado ni lo puede averiguar).

Por lo que he averiguado (gracias Al!!!) la función mail no necesita autentificarse en el servidor de correo que esté instalado (sea cual sea) y ahí­ está el quid del problema.


patillotes

Estoy bien de comprension lectora.

patillotes

Por otro lado, el problema es que te estan usando para mandar spam, ¿no?, aparte del parcheo que enlaza Baku, ¿no puedes averiguar y poner en lista negra las IPs desde las que te usan para mandar el spam?

Quicir, tu puedes intentar engancharte a cualquier servidor para mandar un correo, pero cualquier servidor decente te debe de permitir que solo mande (o rebote) correos correctos, no basura al azar. Por DNS inverso o lo que sea, cuando mandes el comando mail from o el que toque. Otra cosa es que le tomes el pelo a eso, pero bueno.

Baku

#6
Cita de: Tio Patillah en Enero 08, 2010, 11:04:30 PM
Por otro lado, el problema es que te estan usando para mandar spam, ¿no?, aparte del parcheo que enlaza Baku, ¿no puedes averiguar y poner en lista negra las IPs desde las que te usan para mandar el spam?

Quicir, tu puedes intentar engancharte a cualquier servidor para mandar un correo, pero cualquier servidor decente te debe de permitir que solo mande (o rebote) correos correctos, no basura al azar. Por DNS inverso o lo que sea, cuando mandes el comando mail from o el que toque. Otra cosa es que le tomes el pelo a eso, pero bueno.

Hay varios problemas para eso.
El primero es que la función mail() de php no soporta autenticación por lo que habrí­a que rehacer el código.
Luego está que la mayorí­a (si no todos) los ISP no soportan el enví­o de correo de dominios que no sean el suyo.

Cita de: Tio Patillah en Enero 08, 2010, 10:52:47 PM
Estoy bien de comprension lectora.

Yo también lo habí­a entendido mal, pensaba que Simpar buscaba ayuda y resulta que nos estaba poniendo un examen.
It's very difficult todo esto.

patillotes

Pero no se podria reconfigurar al demonio de correo para que no se lo trague con patatas, pregunto, que yo ese en concreto es la primera vez que lo oigo (Hmailserver).

Simpar

Cita de: Baku en Enero 08, 2010, 11:47:54 PM
Cita de: Tio Patillah en Enero 08, 2010, 11:04:30 PM
Por otro lado, el problema es que te estan usando para mandar spam, ¿no?, aparte del parcheo que enlaza Baku, ¿no puedes averiguar y poner en lista negra las IPs desde las que te usan para mandar el spam?

Quicir, tu puedes intentar engancharte a cualquier servidor para mandar un correo, pero cualquier servidor decente te debe de permitir que solo mande (o rebote) correos correctos, no basura al azar. Por DNS inverso o lo que sea, cuando mandes el comando mail from o el que toque. Otra cosa es que le tomes el pelo a eso, pero bueno.

Hay varios problemas para eso.
El primero es que la función mail() de php no soporta autenticación por lo que habrí­a que rehacer el código.
Luego está que la mayorí­a (si no todos) los ISP no soportan el enví­o de correo de dominios que no sean el suyo.

Cita de: Tio Patillah en Enero 08, 2010, 10:52:47 PM
Estoy bien de comprension lectora.

Yo también lo habí­a entendido mal, pensaba que Simpar buscaba ayuda y resulta que nos estaba poniendo un examen.

Mira que eres mamón, necesitaba ayuda para entender como una página web (función php) que no tiene relación con el servidor de correo hací­a spam a través de este. Incluso ahora con la explicación de Al (el usuario del php está autentificado por defecto en el sistema) sigo sin entender el proceso.

Cita de: Tio Patillah en Enero 09, 2010, 10:23:43 AM
Pero no se podria reconfigurar al demonio de correo para que no se lo trague con patatas, pregunto, que yo ese en concreto es la primera vez que lo oigo (Hmailserver).

El Hmailserver es un servidor de correo para windows (ouch) que va de maravilla, pero por lo que me comentan todos los servidores se lo "tragan" igual. La clave estarí­a en descubrir lo que tu planteas, de hecho la última versión del Hmailserver tiene una opción disponible llamada Repetidor SMTP que no se si es para eso (hacer las pruebas es arriesgarme a una nueva emisión spámica al igual que el parche de puto osCommerce del que no me fí­o un pelo).


patillotes

En un trabajo de campo usabamos tambien un demonio de correo para windows (mdaemon) y eso si que era un ouch por semana. Que mierda de seguridad, por dios.

Y el como hace el espam me parece facil, quicir. A nivel de php ni guarra, pero a nivel de SMTP se trata de tener como dato que hay un demonio escuchando en maquina tal puerto pascual, mandas los comandos y arreando. Php supongo que ofrecera un funcion de alto nivel para evitarse mierdas.

Quicir, si un choftguer tiene un apache+php corriendo es trivial (suponiendo que puedes inyectar codigo o boniato similar) mandar correos. O probarlo al menos. Ya tienes un proceso corriendo en local, probar a comunicarte con otro proceso local para liarte a mandar chorradas parece facil.

PD: menuda mierda de exposicion la mia.

Baku

Cita de: Simpar en Enero 09, 2010, 09:26:45 PM
Cita de: Baku en Enero 08, 2010, 11:47:54 PM
Cita de: Tio Patillah en Enero 08, 2010, 11:04:30 PM
Por otro lado, el problema es que te estan usando para mandar spam, ¿no?, aparte del parcheo que enlaza Baku, ¿no puedes averiguar y poner en lista negra las IPs desde las que te usan para mandar el spam?

Quicir, tu puedes intentar engancharte a cualquier servidor para mandar un correo, pero cualquier servidor decente te debe de permitir que solo mande (o rebote) correos correctos, no basura al azar. Por DNS inverso o lo que sea, cuando mandes el comando mail from o el que toque. Otra cosa es que le tomes el pelo a eso, pero bueno.

Hay varios problemas para eso.
El primero es que la función mail() de php no soporta autenticación por lo que habrí­a que rehacer el código.
Luego está que la mayorí­a (si no todos) los ISP no soportan el enví­o de correo de dominios que no sean el suyo.

Cita de: Tio Patillah en Enero 08, 2010, 10:52:47 PM
Estoy bien de comprension lectora.

Yo también lo habí­a entendido mal, pensaba que Simpar buscaba ayuda y resulta que nos estaba poniendo un examen.

Mira que eres mamón, necesitaba ayuda para entender como una página web (función php) que no tiene relación con el servidor de correo hací­a spam a través de este. Incluso ahora con la explicación de Al (el usuario del php está autentificado por defecto en el sistema) sigo sin entender el proceso.

Cita de: Tio Patillah en Enero 09, 2010, 10:23:43 AM
Pero no se podria reconfigurar al demonio de correo para que no se lo trague con patatas, pregunto, que yo ese en concreto es la primera vez que lo oigo (Hmailserver).

El Hmailserver es un servidor de correo para windows (ouch) que va de maravilla, pero por lo que me comentan todos los servidores se lo "tragan" igual. La clave estarí­a en descubrir lo que tu planteas, de hecho la última versión del Hmailserver tiene una opción disponible llamada Repetidor SMTP que no se si es para eso (hacer las pruebas es arriesgarme a una nueva emisión spámica al igual que el parche de puto osCommerce del que no me fí­o un pelo).



Lo del relay smtp no tiene nada que ver. Es para redirigir los mails que te lleguen y no estén destinados a los mailboxes controlados por tu servidor a otro servidor que se encargue de ellos.

Cita de: Tio Patillah en Enero 09, 2010, 10:00:26 PM

Y el como hace el espam me parece facil, quicir. A nivel de php ni guarra, pero a nivel de SMTP se trata de tener como dato que hay un demonio escuchando en maquina tal puerto pascual, mandas los comandos y arreando. Php supongo que ofrecera un funcion de alto nivel para evitarse mierdas.

Quicir, si un choftguer tiene un apache+php corriendo es trivial (suponiendo que puedes inyectar codigo o boniato similar) mandar correos. O probarlo al menos. Ya tienes un proceso corriendo en local, probar a comunicarte con otro proceso local para liarte a mandar chorradas parece facil.

PD: menuda mierda de exposicion la mia.

PHP usa los datos del archivo php.ini para el servidor de correo. Ahí­ han de estar, tanto el servidor como el usuario y password si son necesarios. Como ya he dicho la función mail no soporta autenticación, si quieres usarla es responsabilidad del programador. Hay librerias PEAR para eso. Esto tiene pinta de ser una cagada del programador simplemente.
It's very difficult todo esto.

al bundy

Yo lo que comenté con íngel viene a ser lo que decí­a el patillas: dado que tienes un servicio web ejecutándose con un usuario determinado del sistema operativo (www, apache, administrador o como lo tenga puesto), entiendo que el servidor de correo acepta cualquier petición que le venga de un usuario ya validado en el sistema operativo. Y supongo que cualquier función de php llamada desde apache la ejecuta el usuario web. En servidores Linux/unix con sendmail esto es así­: con cualquier usuario validado en el SO se puede ejecutar desde el prompt:
echo “hola”|sendmail â€"v putaspreguntas@delangelillo.com y llega a destino, a menos que el usuario esté expresamente deshabilitado. Yo por lo menos lo tengo así­ en un server de nagios.
Hay que tener en cuenta que, en este caso, el servidor de correo está en el mismo servidor que el web, o sea que no hacen falta configuraciones adicionales de smtp, entiendo.
Pero bueno, tampoco sabemos lo que tiene montado íngel ni conozco su pasarela de correo.

No sé si me explico, que esto es más fácil pensarlo que escribirlo.

Lo del open relay es como dice Baku.

Pati, sobre mdaemon (si es el que distribuye interbel), a mí­ me pareció un excelente gestor de correo. De hecho, hace cuatro o cinco años que migramos la plataforma y después de valorar varios productos (yendo a empresas que lo tení­an en producción), al final quedó entre éste o Exchange. Yo tifaba por mdaemon, pero al final tuvimos que elegir Exchange porque el otro no soportaba balanceo entre varios servidores, redundancia ni integración con Outlook, aunque sí­ con Active Directory. Por todo lo demás, me pareció muy superior al Exchange, en administración y funcionalidades. Además era mucho más barato: licencias infinitas y soporte de por vida por 5000 euros. Exchange creo que nos sale por 20 euros/usuario (y tengo unos 5000). Cada año compramos unas 150 o 200 licencias nuevas, con lo que Microsoft no molesta mucho: mientras ingresen algo, hacen la vista gorda. Ni te imaginas lo que echo a faltar la poesí­a del sendmail.cf editado con vi.
i s'ha demostrat, s'ha demostrat, que mai ningú no ens podrà  tòrcer