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
CVE-2003-0264 — Débordement de tampon classique basé sur la pile dans SLMail 5.1 montrant comment les premiers serveurs de messagerie pouvaient être compromis via des commandes SMTP et POP3 surdimensionnées. | Kitploit
Outils/GitHubGitHub/themalwareguardian/cve-2003-0264
Analyse des VulnérabilitésExploitationRétro-ingénierieShellcodeDébogueursFuzzingTests d'IntrusionApprentissage et ÉducationDéveloppement de Charges Utiles

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
Exploitation de Binaires
GitHubthemalwareguardian/cve-2003-0264

CVE-2003-0264

Débordement de tampon classique basé sur la pile dans SLMail 5.1 montrant comment les premiers serveurs de messagerie pouvaient être compromis via des commandes SMTP et POP3 surdimensionnées.

Voir le dépôt
1il y a 4 moisPas encore vérifié

🐞 CVE-2003-0264: SLMail 5.5 - Débordement de tampon basé sur la pile

Débordement de tampon basé sur la pile classique dans SLMail 5.5 montrant comment les premiers serveurs de messagerie pouvaient être compromis via des commandes SMTP et POP3 surdimensionnées.




📑 Table des matières

  • Pourquoi ce dépôt existe
  • Pourquoi cette vulnérabilité est intéressante
  • Contexte et logiciel affecté
  • À propos de la vulnérabilité
  • Déclencher le crash
  • Exploitation



🎓 Pourquoi ce dépôt existe

Ce dépôt fait partie du matériel que j'utilise lorsque j'enseigne l'exploitation de corruptions mémoire (en plus de mon travail principal, j'enseigne également dans différents cours de cybersécurité où j'aide à former la prochaine génération d'ingénieurs en rétro-ingénierie).

CVE-2003-0264 est l'un des premiers cas que je présente lors de l'enseignement des débordements de tampon basés sur la pile vanille sur un protocole réseau. C'est propre, bien documenté, et le chemin d'exploitation est direct : pas de SEH, pas d'egghunter, pas de contrainte d'espace. L'étudiant envoie une charge utile, écrase EIP, atterrit sur un gadget JMP ESP et obtient un shell. Cette clarté est exactement ce qui le rend utile comme point de départ.




💡 Pourquoi cette vulnérabilité est intéressante

SLMail 5.5 est un serveur de messagerie Windows hérité. La vulnérabilité se trouve dans le service POP3, plus précisément dans le gestionnaire de commande PASS, qui copie l'entrée utilisateur directement dans un tampon de pile de taille fixe sans aucune validation de longueur. Ce qui rend ce cas particulièrement utile pour l'enseignement, c'est le nombre réduit de pièces mobiles :

  • Aucune authentification requise pour déclencher le crash. Le débordement se déclenche avant toute vérification des identifiants. Une commande USER est envoyée en premier dans le cadre du protocole POP3, mais le crash réel se produit dans le gestionnaire PASS, que les identifiants soient valides ou non.
  • Écrasement direct de l'EIP. Aucune chaîne SEH n'est impliquée, pas de corruption du tas, pas d'exploitation multi-étape. L'adresse de retour sauvegardée est écrasée directement et l'exécution est redirigée vers la pile contrôlée par l'attaquant.
  • Beaucoup d'espace pour le shellcode. Le tampon est suffisamment grand pour contenir une charge utile de reverse shell standard après l'écrasement d'EIP, sans aucune contrainte de taille.
  • Un gadget fiable dans un module sans ASLR. SLMFC.dll, une bibliothèque fournie avec SLMail, a été compilée sans ASLR, SafeSEH ni CFG. Ses adresses sont fixes d'un redémarrage à l'autre, ce qui rend la réutilisation des gadgets simple.

Cette combinaison - accessible sur le réseau, sans authentification, écrasement direct d'EIP, absence de mitigations modernes - fait de CVE-2003-0264 l'un des exemples les plus propres de débordement de pile vanille qui fonctionne encore sur les versions modernes de Windows.




🔍 Contexte et logiciel affecté

SLMail est un serveur de messagerie Windows qui fournit des services SMTP, POP3 et d'administration. Le service POP3 écoute sur le port TCP 110 et gère les commandes standard de récupération de courrier. La vulnérabilité se trouve dans le gestionnaire de commande PASS, qui traite l'argument du mot de passe envoyé par un client connecté.

Télécharger l’outil

Détails techniques clés :

|:---|:---| | Type de vulnérabilité | Débordement de tampon basé sur la pile | | Version affectée | SLMail 5.5 et versions antérieures | | Point d'accès affecté | Commande POP3 PASS | | Composant vulnérable | Gestionnaire de commande PASS | | Authentification requise | Non | | Impact | Exécution de code à distance |




⚠️ À propos de la vulnérabilité

Le service POP3 de SLMail traite la commande PASS en copiant l'argument du mot de passe fourni dans un tampon de pile de taille fixe en utilisant une fonction non sécurisée sans vérification de longueur. Une version simplifiée de la logique vulnérable ressemble à ceci :

root@kitploit:~
char password_buffer[256];

strcpy(password_buffer, pass_argument);

Envoyer une chaîne suffisamment longue comme argument PASS provoque la copie au-delà de la fin du tampon, corrompant la pile jusqu'à ce que l'adresse de retour sauvegardée soit écrasée. Lorsque la fonction retourne, le CPU charge la valeur contrôlée par l'attaquant depuis la pile dans EIP et saute dessus.




💥 Déclencher le crash

Le crash peut être reproduit en envoyant un argument PASS surdimensionné via POP3. Aucun identifiant valide n'est nécessaire. Exemple avec Python :

root@kitploit:~
import socket

HOST = '127.0.0.1'
PORT = 110

payload = b"A" * 3000

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((HOST, PORT))
s.recv(1024)

s.send(b"USER username\r\n")
s.recv(1024)

s.send(b"PASS " + payload + b"\r\n")
s.close()

Lorsqu'il est exécuté sous un débogueur, le crash montre EIP écrasé avec des données contrôlées par l'utilisateur :

root@kitploit:~
EIP = 41414141

confirmant que l'adresse de retour sauvegardée a été corrompue par le débordement.




💣 Exploitation

L'objectif de ce dépôt n'est pas seulement de démontrer le crash, mais de parcourir l'ensemble du processus d'exploitation pas à pas, du fuzzing jusqu'à un reverse shell fonctionnel.

Pour garder le README principal clair, les notes d'exploitation détaillées, les scripts et les étapes du débogueur sont placés dans le dossier Vulnerability 📂 de ce dépôt.

Vous y trouverez le flux de travail complet utilisé pour exploiter cette CVE, incluant :

  • Fuzzing de la commande PASS pour identifier le crash.
  • Découverte du décalage pour localiser la position exacte de l'EIP sur la pile.
  • Analyse des caractères interdits pour identifier les octets qui corrompent la charge utile.
  • Localisation d'un gadget JMP ESP dans SLMFC.dll, un module compilé sans ASLR ni SafeSEH.
  • Placement et exécution du shellcode.