
Preuve de concept d'exploit pour CVE-2024-6387 ciblant les serveurs OpenSSH vulnérables via la manipulation du tas et une condition de concurrence pour parvenir à une exécution de code à distance.
Ce dépôt contient un Proof of Concept (POC) pour exploiter la vulnérabilité CVE-2024-6387 dans les serveurs SSH exécutant des versions vulnérables d'OpenSSH.
Un POC, ou Proof of Concept, est un programme ou un script qui démontre l'exploitation d'une vulnérabilité de sécurité de manière contrôlée et reproductible. Son objectif principal est de montrer que la vulnérabilité existe et qu'elle peut être exploitée pour exécuter du code malveillant ou effectuer des actions non autorisées sur le système affecté.
Le POC dans ce dépôt est conçu pour exploiter la vulnérabilité CVE-2024-6387 dans les serveurs SSH. Voici une brève explication de comment chaque partie du code fonctionne :
CVE-2024-6387.py : Ce fichier contient le code principal du POC. Il définit des fonctions pour établir une connexion avec le serveur SSH, envoyer des paquets spécifiques pour manipuler le heap du serveur, mesurer les temps de réponse et exploiter la condition de concurrence sur le serveur.
setup_connection(ip, port) : Établit une connexion TCP/IP avec le serveur distant. send_packet(sock, packet_type, data) : Envoie un paquet au serveur distant. perform_ssh_handshake(sock) : Effectue la poignée de main SSH complète. prepare_heap(sock) : Prépare le heap du serveur avec des paquets spécifiques pour exploiter la vulnérabilité. time_final_packet(sock, parsing_time) : Mesure le temps de réponse final du serveur. attempt_race_condition(sock, parsing_time, glibc_base) : Tente d'exploiter la condition de concurrence sur le serveur SSH. perform_exploit(ip, port) : Effectue l'exploitation complète en essayant plusieurs adresses de base de glibc. Utilisation
Pour que ce POC fonctionne avec la vulnérabilité CVE-2024-6387, les modifications ou considérations suivantes doivent être apportées :
Mise à jour du shellcode : Remplacez le placeholder de shellcode shellcode = b"\x90\x90\x90\x90" par un shellcode réel qui exécute l'action souhaitée sur le serveur affecté.
Adaptation à la CVE-2024-6387 : Assurez-vous que les structures de données et les paquets envoyés dans les fonctions prepare_heap et create_public_key_packet sont conçus spécifiquement pour exploiter les vulnérabilités décrites dans CVE-2024-6387.
Ce dépôt est fourni à des fins éducatives et de recherche. L'exploitation de vulnérabilités sans autorisation peut être illégale et est strictement interdite dans des environnements non autorisés. L'auteur n'est pas responsable de l'utilisation abusive de ce code.