Skip to content
KitploitKITPLOIT
OutilsBlog
Log in
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-2023-38408 — Une analyse approfondie de CVE 2023 38408, une vulnérabilité critique d'OpenSSH, incluant le contexte technique, l'exploitation dans des environnements contrôlés et les stratégies d'atténuation. | Kitploit
Outils/GitHubGitHub/adel2411/cve-2023-38408
Analyse des VulnérabilitésExploitationTests d'IntrusionArticles et RechercheApprentissage et ÉducationRed Teaming
GitHubadel2411/cve-2023-38408

cve-2023-38408

Une analyse approfondie de CVE 2023 38408, une vulnérabilité critique d'OpenSSH, incluant le contexte technique, l'exploitation dans des environnements contrôlés et les stratégies d'atténuation.

Voir le dépôt
55il 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 →
Partager

CVE-2023-38408: Comprendre et simuler une vulnérabilité réelle de l'agent SSH

Table des matières

  1. Introduction
  2. Concepts de base
  3. La vulnérabilité CVE-2023-38408
  4. Simulation et tests pratiques
  5. Analyse technique
  6. Correction et atténuation
  7. Conclusion

1. Introduction

Objectif du rapport

L'objectif de ce rapport est d'analyser CVE-2023-38408, une vulnérabilité critique réelle découverte dans OpenSSH, à la fois par une compréhension théorique et une simulation pratique. Le rapport explique les fondements techniques de la vulnérabilité, démontre comment elle peut être exploitée dans des environnements contrôlés et examine les mesures d'atténuation mises en œuvre.

Importance de l'analyse des vulnérabilités réelles

Comprendre les vulnérabilités de sécurité réelles par la simulation pratique aide non seulement à protéger les systèmes, mais renforce également la sensibilisation des développeurs et des administrateurs système aux vecteurs d'attaque potentiels. L'analyse de ces vulnérabilités comble le fossé entre la théorie et la mise en œuvre pratique de la sécurité.

Qu'est-ce que CVE-2023-38408 et pourquoi est-ce important

CVE-2023-38408 est une vulnérabilité qui affecte ssh-agent dans OpenSSH lorsque le support PKCS#11 est activé. Elle permet l'exécution de code à distance sur une machine cliente si l'utilisateur se connecte à un serveur compromis avec le transfert d'agent activé (ssh -A). Cette vulnérabilité a des implications graves pour tout système reposant sur OpenSSH pour l'authentification sécurisée.

Détails CVEInformations
CVE IDCVE-2023-38408
Score CVSS9.8 (Critique)
Versions affectéesOpenSSH < 9.3p2
Vecteur d'attaqueRéseau
Privilèges requisAucun
Interaction utilisateurRequis
ImpactCompromission complète du système

2. Concepts de base

2.1 Présentation de SSH

SSH (Secure Shell) est un protocole réseau cryptographique utilisé pour les communications sécurisées sur des réseaux non sécurisés. Il fournit des canaux chiffrés pour la connexion à distance, l'exécution de commandes, le transfert de fichiers, etc.```mermaid graph LR A[SSH Client] -->|Encrypted Connection| B[SSH Server] A -->|Authentication| C[ssh-agent] C -->|Private Keys| D[Key Store] B -->|Agent Forwarding| E[Remote ssh-agent Proxy]

### 2.2 Qu'est-ce que ssh-agent

`ssh-agent` est un processus d'arrière-plan qui stocke en mémoire vos clés SSH privées déchiffrées, vous permettant de les utiliser sans avoir à ressaisir les phrases de passe à chaque fois que vous vous connectez à un système distant.

#### Transfert d'agent (ssh -A)

Le transfert d'agent permet à un système distant d'accéder à votre `ssh-agent` local via un socket de domaine Unix. Cela est utile pour chaîner des connexions SSH, mais introduit des risques de sécurité importants si la machine distante est compromise.```mermaid
sequenceDiagram
    participant Client as SSH Client
    participant Agent as ssh-agent
    participant Server as Remote Server
    participant Proxy as Agent Proxy

    Client->>Agent: Start agent
    Client->>Server: ssh -A user@server
    Server->>Proxy: Create proxy socket
    Note over Server,Proxy: SSH_AUTH_SOCK=/tmp/ssh-xxx/agent.xxx
    Server->>Proxy: ssh-add request
    Proxy->>Client: Forward request
    Client->>Agent: Process request
    Agent->>Client: Response
    Client->>Proxy: Forward response
    Proxy->>Server: Final response

Techniquement, lorsque vous utilisez ssh -A, le client SSH configure un socket de domaine Unix sur le serveur distant qui agit comme un proxy vers votre ssh-agent local. La variable d'environnement SSH_AUTH_SOCK est définie pour pointer vers ce socket proxy. Tous les appels effectués vers SSH_AUTH_SOCK sur le serveur distant sont renvoyés via la connexion SSH et traités par votre ssh-agent local.

2.3 Qu'est-ce que PKCS#11

PKCS#11 est une API standard pour interagir avec des jetons cryptographiques, tels que les cartes à puce, les YubiKeys, ou les modules de sécurité matériels virtuels (HSM).

Fonction PKCS#11ObjectifNiveau de risque
C_Initialize()Initialiser la bibliothèqueFaible
C_GetSlotList()Lister les slots disponiblesFaible
C_FindObjects()Trouver les objets cryptographiquesMoyen
C_Sign()Signer des donnéesÉlevé
dlopen()Charger la bibliothèque partagéeCritique

Comment ssh-agent prend en charge PKCS#11

Le ssh-agent d'OpenSSH prend en charge le chargement de fournisseurs PKCS#11 (bibliothèques partagées .so) à l'aide de la commande ssh-add -s /path/to/provider.so. Ces bibliothèques permettent à l'agent d'interagir avec des modules matériels ou logiciels sécurisés pour utiliser des clés privées sans les exposer directement.

En interne, lorsque ssh-add -s est appelé, il effectue les opérations suivantes :

  • Le fichier .so est chargé dynamiquement en mémoire à l'aide de dlopen().
  • L'agent résout et appelle des fonctions comme C_Initialize(), C_GetSlotList(), C_FindObjects() et C_Sign() via l'API PKCS#11.
  • Le fournisseur renvoie des métadonnées et traite les demandes de signature de défis d'authentification, tout en conservant le matériel de clé privée en toute sécurité dans le jeton matériel.

3. La vulnérabilité CVE-2023-38408

3.1 Résumé CVE

AttributDétails
IDCVE-2023-38408
SévéritéÉlevée (CVSS 9.8)
ChronologieDivulgué en juillet 2023, corrigé dans OpenSSH 9.3p2
Logiciel affectéVersions d'OpenSSH antérieures à 9.3p2 avec support PKCS#11
Complexité de l'attaqueFaible
Vecteur d'attaqueRéseau via le transfert d'agent SSH

3.2 Mécanisme de la vulnérabilité

La vulnérabilité provient du fait que ssh-agent charge n'importe quel fichier objet partagé (.so) fourni via ssh-add -s, sans vérifier s'il s'agissait d'un fournisseur PKCS#11 légitime.```mermaid graph TD A[Attacker sends ssh-add -s malicious.so] --> B[Request forwarded to victim's ssh-agent] B --> C[ssh-agent calls dlopen on malicious.so] C --> D[Constructor function executes immediately] D --> E[Arbitrary code runs on victim machine]

### 3.3 Analyse du flux d'attaque```mermaid
sequenceDiagram
    participant V as Victim
    participant A as Attacker
    participant Agent as ssh-agent
    participant Lib as Malicious .so

    V->>A: ssh -A attacker@host
    Note over V,A: Agent forwarding enabled
    A->>Agent: ssh-add -s /path/to/malicious.so
    Agent->>Lib: dlopen("/path/to/malicious.so")
    Note over Lib: Constructor executes
    Lib->>V: Malicious code runs
    Note over V: System compromised

Au niveau le plus bas, la séquence des événements comprend :

Télécharger l’outil