Configuration de « sendmail » ? le casse-tête…

Bonjour à tous,

Tout d’abord ma version « sendmail » installée :

root@kali5v2:~# apt-cache policy sendmail
sendmail:
  Installé : 8.15.2-10
  Candidat : 8.15.2-10
 Table de version :
 *** 8.15.2-10 500
        500 http://http.kali.org/kali kali-rolling/main amd64 Packages
        100 /var/lib/dpkg/status
root@kali5v2:~#

Je dois utiliser « sendmail » via une appli qui a besoin précisément de cet outil pour les mails sortants avec relai SMTP.
(pour les curieux il s’agit de « Social-Engineer Toolkit » SET préinstallé sous la distribution linux Kali)

Pour cela j’entreprends de configurer « sendmail » via le fichier « /etc/mail/sendmail.cf »

Je vais chercher les infos de ci de là sur Internet notamment sur :
https://doc.fedora-fr.org/wiki/Configurer_sendmail_:_envoyer_des_courriels_via_un_relai_SMTP
J’ai aussi consulté pour les modalités du serveur SMTP gmail :
https://support.google.com/a/answer/176600?hl=fr

Voici mon fichier de configuration » sendmail.mc » :

root@kali5v2:/etc/mail# cat sendmail.mc

dnl # permettra de savoir que mon fichier de configuration a été modifié par moi
VERSIONID(`Installation Personnel')dnl
dnl # paramètres basiques
OSTYPE(debian)
FEATURE(nouucp)
MAILER(local)
MAILER(smtp)

dnl # paramètres complémentaires

dnl # définir smtp.gmail.com comme serveur de relais
define(`SMART_HOST',`smtp.gmail.com')dnl

dnl # demander au serveur de relayer le local
GENERICS_DOMAIN(kali5v2.home  localhost)dnl

dnl # demander au serveur d'utiliser une table de correspondance
FEATURE(`genericstable')dnl

dnl # masquer mon adresse par l'adresse de gmail.com
MASQUERADE_AS(`gmail.com')dnl

dnl # masquer le header mais aussi l'enveloppe
FEATURE(masquerade_envelope)dnl

root@kali5v2:/etc/mail#

Je crée ensuite le fichier « genericstable » appelé par mon fichier de config :

root@kali5v2:/etc/mail# nano genericstable
user  mon_adresse@gmail.com
root@kali5v2:/etc/mail#

Puis j’exécute le processeur de macro m4 :
root@kali5v2:/etc/mail# m4 sendmail.mc > sendmail.cf
root@kali5v2:/etc/mail#

Ensuite un petit coup de :
root@kali5v2:/etc/mail# systemctl restart sendmail.service
root@kali5v2:/etc/mail#

Et je tente d’envoyer un mail :

 root@kali5v2:~# echo "Subject: sendmail test" | sendmail -v  adresse_cible@live.fr
adresse_cible @live.fr... Connecting to [127.0.0.1] via relay...
adresse_cible @live.fr... Deferred: Connection refused by [127.0.0.1]
root@kali5v2:~# 

Ainsi j’ai un message d’erreur
« Deferred: Connection refused by [127.0.0.1] »
confirmé par le log de « sendmail » :

root@kali5v2:~# cat /var/log/mail.log
...SNIP...
Jan 20 17:20:25 kali5v2 sm-msp-queue[2747]: w0GA02lf001600: to=root, ctladdr=smmsp (134/142), delay=4+06:20:23, xdelay=00:00:00, mailer=relay, pri=6330548, relay=[127.0.0.1] [127.0.0.1], dsn=4.0.0, stat=Deferred: Connection refused by [127.0.0.1]
root@kali5v2:~#

J’ai découvert pas mal d’occurrences de cette erreur sur les différents forums.
Mais toutes sont en anglais et datent de plusieurs années.
Bref, je n’ai pas pu ou pas su trouver la bonne réponse.
Aussi je compte sur la communauté Debian pour m’apporter ses lumières

Remarque :
À aucun moment je n’ai indiqué mon mot de passe pour accéder au serveur SMTP de gmail.
Je ne sais pas où je dois le placer en paramètre.
Peut-être une piste ?

Je connais pas sendmail et je n’ai pas suivi les liens que tu donnes, mais dans ton sendmail.mc il y a une ligne MAILER(local) qui expliquerait peut-être pourquoi ta commande essaie d’envoyer un email sur l’adresse de loopback (127.0.0.1) et pas via le SMTP google.

Sinon, ça dépend de ce que tu veux faire, mais pour le simple envoi de mail sans me casser la tête, j’utilise ssmtp et la commande mail du paquet mailutils.

@Sputnik93
Merci pour ton aide.

Comme je l’ai indiqué lors de mon premier post, j’ai besoin de « sendmail » car l’appli que j’utilise « Social-Engineer Toolkit »( SET) le demande :

...SNIP...
 The Spearphishing module allows you to specially craft email messages and send
 them to a large (or small) number of people with attached fileformat malicious
 payloads. If you want to spoof your email address, be sure "Sendmail" is in-
 stalled (apt-get install sendmail) and change the config/set_config SENDMAIL=OFF
 flag to SENDMAIL=ON.
...SNIP...

Je suis bête et discipliné ; alors j’applique.
En tout état de cause, je serais satisfait si j’arrive à configurer ce foutu « sendmail »
Et ce n’est, semble-t-il, pas une mince affaire.

Quant à ce paramètre mailer(local)
Voici ce que j’ai trouvé sur un blog :

    MAILER(local)
par défaut, le mél est distribué en local. 
Par souci de clarté, il est sage de le spécifier. 
Ceci inclut à la fois l'agent de distribution local, utilisé pour envoyer des méls dans la boîte aux lettres des utilisateurs,
 et le programme utilisé pour envoyer les messages aux programmes locaux. 
Comme la plupart des systèmes ont besoin d'avoir au moins la distribution de méls en local, ces deux variables seront positionnées dans la plupart des configurations. 

Bon, j’ai fait un essai en mettant en commentaire
dnl # MAILER(local)
Cela ne change rien: j’ai toujours l’erreur :
« Deferred: Connection refused by [127.0.0.1] »

Mais je soupçonne ce «Connection refused » comme étant l’arbre qui cache la forêt.
Je maîtrise mal les paramètres du fichier de configuration de Sendmail.
Aussi j’aimerais bien être éclairé par un linuxien qui a été confronté à ce problème.

Le probléme, malgré d’autres qualités, c’est que sendmail est devenu une telle usine à gaz que ceux qui savent encore le configurer partent tous à la retraite.
Ca serait étonnant que ce soit “sendmail” dont le toolkit à besoin, peut être la commande sendmail, mais elle est dans tous les paquets qui fournissent un service smtp (et qui se configurent tout seuls).
Bref, tu as la possibilité d’installer autre chose, et de vérifier si ça marche quand même, ça ne t’empêchera pas de revenir à sendmail et de corriger la config si les autres solutions ne fonctionnent pas…

Pour le message de sendmail et sa configuration, j’ai gratté un peu, et il semble que tu doive lui dire d’écouter sur le localhost, avec une ligne:
DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA’)dnl
Que je ne vois pas dans ton sendmail.mc

Pour ton envoi par gmail, ça, c’est autrechose, si tu n’as mis nulle part ton mot de passe, c’est que ta config est mal faite.
J’ai trouvé ça pour configurer sendmail avec gmail comme relayhost:
https://linuxconfig.org/configuring-gmail-as-sendmail-email-relay
Mais tu pourrais prendre aussi le smtp de ton fai, il ne te demandera pas de mot de passe, lui.
Enfin comme pour gmail, faudra pas compter envoyer des masses de mails, tu te feras blacklister rapide avec les deux, pour peu que tu aies un peu de volume.

Bon, me revoilà.
Mais je ne suis pas bien avancé.
Je suis tombé en panne de livebox. (pas de synchronisation)
Et ça m’a pris la tête pendant trois jours.

Je vais explorer vos suggestions à l’un et à l’autre.
Et je reviendrai à vous pour vous rendre compte où j’en serai.

Bonjour,

Je reviens avec des infos.

Pour la configuration de « sendmail » j’ai consulté, suivant les conseils de Mattolop
https://linuxconfig.org/configuring-gmail-as-sendmail-email-relay

J’ai trouvé la réponse à mon problème de mot de passe gmail
Il fallait ajouter
FEATURE(authinfo’,hash -o /etc/mail/authinfo/gmail-auth.db')dnl

Et créer le fichier /etc/mail/authinfo/gmail-auth.db
Avec
"U:root" “I:YOUR GMAIL EMAIL ADDRESS” “P:YOUR PASSWORD”

J’ai finalement configuré le fichier de configuration de « sendmail » ainsi

root@kali5-bv2:/etc/mail# cat sendmail.mc

define(`SMART_HOST',`[smtp.gmail.com]')dnl
define(`RELAY_MAILER_ARGS', `TCP $h 587')dnl
define(`ESMTP_MAILER_ARGS', `TCP $h 587')dnl
define(`confAUTH_OPTIONS', `A p')dnl
dnl #
DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl
dnl #
TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
FEATURE(`authinfo',`hash -o /etc/mail/authinfo/gmail-auth.db')dnl
MAILER('smtp')dnl
MAILER('local')dnl
dnl # demander au serveur de relayer le local
GENERICS_DOMAIN(kali5-bv2.home localhost)dnl
dnl # masquer mon adresse par l'adresse de gmail.com
MASQUERADE_AS(`gmail.com')dnl
dnl # masquer le header mais aussi l'enveloppe
FEATURE(masquerade_envelope)dnl

root@kali5-bv2:/etc/mail#
    Mais je trouve de nouvelles erreurs.
    Lorsque je relance le service « sendmail », j’ai ceci :

  root@kali5-bv2:/etc/mail# service sendmail reload
 [....] Reloading Mail Transport Agent (MTA): sendmail554 5.0.0 No local mailer defined
 554 5.0.0 QueueDirectory (Q) option must be set
. ok 
 root@kali5-bv2:/etc/mail#

J’ai bien fait des recherches sur Internet, mais je n’ai pas vu ou pas compris ce qu’il fallait faire.

Si je ne trouve pas de solution, je crois que je vais abandonner « sendmail » et suivre les conseils de Sputnik en essayant sSMTP