Mail Security Testing Framework es un marco de prueba para la seguridad del correo y las soluciones de filtrado. El marco de prueba de seguridad de correo funciona con Python> = 3.5. Solo jala este repositorio y sigue adelante. No se requieren más dependencias.

Uso
   El script  mail-tester.py  ejecuta las pruebas. Lea el mensaje de ayuda  ./mail-tester.py --help y consulte la lista de módulos de prueba y evasión  ./mail-tester.py -l para obtener una descripción general de las capacidades y el uso del script. Algunos consejos:


  • Al menos los parámetros  --smtp-server y  --to deben darse para una ejecución de prueba mínima.
  • Todos los parámetros también pueden almacenarse en archivos de configuración sin el prefijo  --. Estos archivos de configuración se pueden usar invocando  ./mail-tester.py @tester.conf (configuración contenida en  tester.conf ).
  • Se pueden configurar múltiples destinatarios  --to para probar diferentes configuraciones de filtro.
  • Algunas soluciones de filtrado de correo pueden rechazar mensajes después de un tiempo. Se usa  --auto-delay para la regulación automática de los correos. Esto se puede ajustar con  --delay-step,  --delay-max y  --delay.
  • Algunas pruebas (Spam y Malware) requieren muestras. Ponlos en directorios y configura estos directorios con  --spam-folder y  --malware-folder parámetros. Las muestras no están incluidas en este repositorio (y no lo serán). Los mejores lugares para obtener malware son  theZoo ,  Das Malwerk  u otras colecciones. El spam puede exportarse directamente desde su carpeta de spam, pero debe estar en formato EML.
  • Las listas negras se pueden suministrar con el  --blacklist parámetro y se usan como direcciones de remitente.
  • Los casos de prueba XSS de Shellshock y Subject deben tener un dominio de conexión a la conexión válido, donde pueda ver cualquier conexión retrasada (especialmente las solicitudes DNS). El servicio gratuito de  tokens canarios  se puede utilizar para este propósito. ¡Gracias a  Thinkst por brindar este increíble servicio!
  • Se pueden habilitar algunos trucos de evasión de reconocimiento de archivos adjuntos  --evasion content-disposition. Estos fueron utilizados en el pasado para confundir las soluciones AV / sandboxing y dejarles pasar correos maliciosos.
  • No te olvides de registrar los resultados de la prueba con  --log. Los proveedores de filtrado de correo a menudo rechazan los correos en el diálogo SMTP, que se refleja en el registro generado.
  • Los casos de prueba se pueden volcar  --output como archivos sin formato en un directorio, en formato MBox ( --mbox) o MailDir ( --maildir). Esto es útil para probar agentes de usuario de correo sin enviar ningún correo electrónico, para documentar o revisar casos de prueba generados.



   Las pruebas propias se pueden implementar con una clase en uno de los archivos Python existentes o recién creados en el  tests/ directorio. La clase debe ser una subclase de  MailTestBase ubicado en el módulo  tests.base de este proyecto. Las pruebas recién implementadas se descubren automáticamente cuando la variable de clase  active está configurada en  True. Además (si planea contribuir con las pruebas al repositorio principal), el identificador de las variables de clase  , el  nombre  y la  descripción se  deben configurar de manera apropiada.


IMPORTANTE:  ¡No hagas nada malo con esto! Las pruebas en la nube u otras soluciones alojadas siempre deben ser aprobadas por el proveedor evaluado. Solo use sus propias cuentas de prueba y no moleste a nadie con una gran cantidad de correos de prueba.


Fuente : https://github.com/TKCERT/mail-security-tester