Bebzounette
Rechercher…
SMTP - 25/465/587

1. Infos :

SMTP (Simple Mail Transfer Protocol) est un protocole TCP/IP utilisé pour l'envoi et la réception d'emails. Il est souvent utilisé avec l'un des deux autres protocoles, POP3 ou IMAP, qui permettent à un utilisateur de sauvegarder les messages dans une boite mail du serveur.
Pour résumer, les utilisateurs utilisent un programme qui utilise le protocole SMTP pour l'envoi d'email et soit le protocole POP3 soit le protocole IMAP pour la réception.
Nous utilisons un serveur smtp dans le tutoriel sur la création d'une campagne de phishing : https://white0x3paper.com/2020/07/01/social-engineering-2/
Ports par défaut : 25,465(ssl),587(ssl)
1
PORT STATE SERVICE VERSION
2
25/tcp open smtp Microsoft ESMTP 6.0.3790.3959
Copied!

2. Les en-têtes

Si vous avez la possibilité de faire qu'une victime vous envoie un mail, faites-le car vous pourriez vous renseigner sur la topologie interne en observant les en-têtes des mails. Vous pouvez également obtenir un courrier électronique d'un serveur SMTP en essayant d'envoyer à ce serveur un email à une adresse inexistante. Vous devriez également essayer d'envoyer des contenus différents ainsi que des pièces jointes, car vous pouvez trouver des informations plus intéressantes dans les en-têtes, par exemple : X-Virus-Scanned : scanné par antivirus.domain.com Vous pouvez aussi essayer de joindre un fichier test EICAR qui est un fichier reconnu comme malveillant par tous les antivirus : https://www.eicar.org/?page_id=3950
SMTP:
1
nc -vn <IP> 25
Copied!
SMTPS:
1
openssl s_client -starttls smtp -crlf -connect smtp.mailgun.org:587
Copied!

4. Chercher les serveurs MX d'une entreprise

1
dig +short mx google.com
Copied!

5. Enumération

1
nmap -p25 --script smtp-commands 10.10.10.10
Copied!

6. NTLM Auth - Information disclosure

Si le serveur supporte l'authentification NTLM (Windows), vous pouvez obtenir des informations sensibles (versions).
1
[email protected]: telnet PILOU.com 587
2
220 example.com SMTP Server Banner
3
>> HELO
4
250 PILOU.com Hello [x.x.x.x]
5
>> AUTH NTLM 334
6
NTLM supported
7
>> TlRMTVNTUAABAAAAB4IIAAAAAAAAAAAAAAAAAAAAAAA=
8
334TlRMTVNTUAACAAAACgAKADgAAAAFgooCBqqVKFrKPCMAAAAAAAAAAEgASABCAAAABgOAJQAAAA9JAEkAUwAwADEAAgAKAEkASQBTADAAMQABAAoASQBJAFMAMAAxAAQACgBJAEkAUwAwADEAAwAKAEkASQBTADAAMQAHAAgAHwMI0VPy1QEAAAAA
Copied!
Nmap peut le faire aussi à votre place en utilisant le script <smtp-ntlm-info.nse>

7. Username Bruteforce Enumeration

Évidemment des tools existent déjà pour vous épargner tout le travail :
1
Metasploit: auxiliary/scanner/smtp/smtp_enum
2
smtp-user-enum
3
nmap –script smtp-enum-users.nse <IP>
Copied!
Malgré ça il est intéressant de savoir le faire à la main quand même :
Avec la commande VRFY :
1
$ telnet 192.168.195.201 25
2
Trying 192.168.195.20...
3
Connected to 192.168.195.201
4
Escape character is '^]'.
5
220 myhost ESMTP Sendmail 8.9.3
6
HELO
7
501 HELO requires domain address
8
HELO x
9
250 myhost Hello [192.168.195.15], pleased to meet you
10
VRFY root
11
250 Super-User <[email protected]>
12
VRFY heho
13
550 heho... User unknown
Copied!
Avec la commande RCPT :
1
$ telnet 192.168.195.201 25
2
Trying 192.168.195.201...
3
Connected to 192.168.195.201
4
Escape character is '^]'.
5
220 myhost ESMTP Sendmail 8.9.3
6
HELO x
7
250 myhost Hello [192.168.195.15], pleased to meet you
9
250 2.1.0 [email protected] Sender ok
10
RCPT TO:test2
11
550 5.1.1 test2... User unknown
12
RCPT TO:admin
13
550 5.1.1 admin... User unknown
14
RCPT TO:heho
15
250 2.1.5 heho... Recipient ok
Copied!

8. Mail Spoofing

Ici il s'agira de configurer correctement les différents type de clefs :
  • SPF
  • DKIM
  • DMARC