martes, febrero 16, 2016

Hacer e-mail spoofing con SMTP sobre SSL/TLS en Gmail

Hace unos días os hablé del candado rojo que Gmail añade ahora a los mensajes de correo electrónico que han sido recibidos sin utilizar cifrado. Por supuesto, esto no tiene absolutamente nada que ver con la suplantación de identidad, donde ya sabéis que existen otras soluciones para detectar los mensajes con e-mail spoofing. Algunas de ellas son tecnologías de las que ya he hablado mucho en el pasado como los filtros SPF, Sender ID, o el uso de DKIM para garantizar el servidor de origen del mensaje.

Figura 1: Hacer e-mail spoofing con SMTP sobre SSL/TLS en Gmail

Google tiene ya en producción el uso de DKIM para algunos servicios como EBay o Paypal que hacen uso de ellos y que cuando el mensaje viene correctamente firmado desde uno de los servidores autorizados, entonces se muestra la famosa llavecita de DKIM.

Figura 2: Correo de Ebay firmado por DKIM

En el caso del candado rojo, tiene como significado únicamente que es un mensaje que simplemente se ha enviado sin cifrar, pero que se envíe por un canal seguro SSL o TLS no garantiza para nada que el mensaje sea original, por lo que si se hace un e-mail spoofing con comandos SMTP que salte los filtros SPF, o las tecnologías de scoring antispam, entonces el mensaje aparecerá sin el candado rojo como siempre ha sido.
Para hacerlo, basta con elegir un servidor de correo entrante de Gmail para enviar el mensaje falso. En este caso he elegido gmail.smtp-in.l.google.com.

Figura 4: Servidores para intercambio de correo en Gmail

Después se tira con OpenSSL una conexión cifrada, en este caso por el puerto 25. Puede que suene raro que se use una conexión cifrada SSL por el mismo puerto que se usa para el tráfico no cifrado, pero como ya os puse en el otro artículo, Gmail reconoce en la pasarela de entrada la conexión y la dirige hacia el servicio adecuado.

Figura 5: Estableciendo la conexión SSL con OpenSSL por el puerto 25

Para tirar la conexión, utilizamos el cliente de OpenSSL con los parámetros que aparecen en la captura superior, y se establece el túnel cifrado por el puerto especificado.

Figura 6: Conexión SMTP sobre SSL establecida

Una vez creada la conexión, el resto es como siempre, escribir el mensaje con el protocolo SMTP como si fuéramos un servidor de correo saliente que envía mensajes a un destinatario de Gmail.

Figura 7: Correo enviado desde una cuenta inexistente

Y si todo ha ido bien, entonces el mensaje de correo llegará a la cuenta de Gmail del destinatario sin que aparezca el candado rojo

Figura 8: Mensaje recibido con e-mail spoofing sin candado rojo

No es nada rocket-science, simplemente quería dejaros una nota de cómo se puede seguir haciendo e-mail spoofing usando los túneles SSL/TLS y así evitar el candado rojo que pueda hacer sospechar más al destinatario.

Saludos Malignos!

7 comentarios:

  1. ¿Diego?

    Buen artículo señor Malo.

    Tengo algunas inquietudes sobre seguridad y quizá usted tenga la bondad de resolverme. Trataré de ser breve:

    - Mi querido Windows Vista no da para más, IE9 es abandonware, ¿hay algún sustituto que recomiende?
    - ¿Las extensiones de los navegadores, son malignas?
    - Cuando se acabe el soporte de mi Vista, ¿debo lloriquear para que alguien me regale una licencia de W10 o abandonar mi ordenador a la puerta de un colegio?
    - ¿Qué piensa acerca de los proveedores de correo gratuitos que me violan mientras duermo?, ¿recomienda alguno en especial que me viole menos?

    Gracias por su tiempo y difusión de conocimientos. :^)

    ResponderEliminar
  2. Tengo un problema, cuando hago todo, al enviar el correo, no me llega a mi bandeja de entrar.

    ResponderEliminar
  3. Our system has detected an unusual rate of
    421-4.7.0 unsolicited mail originating from your IP address. To protect our
    421-4.7.0 users from spam, mail sent from your IP address has been temporarily
    421-4.7.0 rate limited. Please visit
    421-4.7.0 https://support.google.com/mail/answer/81126 to review our Bulk Email
    421 4.7.0 Senders Guidelines. go8si28220179wjc.229 - gsmtp
    read:errno=0

    Y ahí es dónde google me dice que nanai, "soy un spammer!!" XDD

    Sin embargo desde un navegador (firefox) me deja enviar sin ningún problema... Alguna orientación con ésto por favor? Muchas gracias por vuestro tiempo y horas de vuelo ;)

    ResponderEliminar
  4. Tuve el mismo problema que Unknown. Además le dí reset varias vecés a mi ip pero no hubo caso.

    ResponderEliminar
  5. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  6. Our system has detected that this message is suspicious due to the very low reputation of the sending IP address. To protect our users from spam, mail sent from your IP address has been temporarily rate limited. Please visit https://support.google.com/mail/answer/188131 for more information.

    Parece ser que google me detecta también como spam. ¿Alguna solución o sugerencia?

    ResponderEliminar
  7. Hola buenas,
    podría autorealizarme spoofing sobre direcciones de correo inexistentes? tengo un dominio en Wix que no tiene asignado correo electrónico y me gustaría fingir la existencia de esas cuentas de correo. Tendría limitaciones? podria enviar y recibir correos sin problemas?
    Saludos

    ResponderEliminar