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
apache__mina-sshd_CVE-2023-35887_2-9-2 — Bibliothèque client/serveur SSH purement Java implémentant le protocole SSH-2 avec prise en charge de plusieurs chiffrements, échanges de clés, méthodes d'authentification, SFTP, SCP et transfert de port pour un accès distant sécurisé. | Kitploit
Outils/GitHubGitHub/shoucheng3/apache__mina-sshd_cve-2023-35887_2-9-2
Outils de Chiffrement/DéchiffrementAnalyse des VulnérabilitésSécurité RéseauCryptographieTests d'IntrusionUtilitaires et FrameworksAuthentificationOutil d'Accès à Distance

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
GitHub
shoucheng3/apache__mina-sshd_cve-2023-35887_2-9-2

apache__mina-sshd_CVE-2023-35887_2-9-2

Bibliothèque client/serveur SSH purement Java implémentant le protocole SSH-2 avec prise en charge de plusieurs chiffrements, échanges de clés, méthodes d'authentification, SFTP, SCP et transfert de port pour un accès distant sécurisé.

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

Apache MINA SSHD

Apache MINA SSHD

Apache MINA SSHD est une bibliothèque 100 % pure Java pour prendre en charge les protocoles SSH côté client et serveur. Elle ne vise pas à remplacer le client SSH ou le serveur SSH des systèmes d'exploitation Unix, mais plutôt à fournir un support pour les applications Java nécessitant SSH.

La bibliothèque peut utiliser plusieurs back-ends d'E/S :

  • Le transport par défaut est intégré et utilise les AsynchronousSocketChannel de Java.
  • Apache MINA, une bibliothèque d'E/S asynchrones évolutive et haute performance, peut être utilisée à la place, ou
  • le framework réseau événementiel asynchrone Netty est également pris en charge.

Normes prises en charge

Documentation de l'implémentation de référence

  • RFC 4251 - Architecture du protocole Secure Shell (SSH)
  • RFC 4252 - Protocole d'authentification Secure Shell (SSH)
  • RFC 4253 - Protocole de couche transport Secure Shell (SSH)
  • RFC 4254 - Protocole de connexion Secure Shell (SSH)
  • RFC 4256 - Authentification par échange de messages générique pour le protocole Secure Shell (SSH)
  • RFC 4335 - Extension de rupture de canal de session Secure Shell (SSH)
  • RFC 4344 - Modes de chiffrement de la couche transport Secure Shell (SSH)
  • RFC 4345 - Modes Arcfour améliorés pour le protocole de couche transport Secure Shell (SSH)
  • RFC 4419 - Échange de groupe Diffie-Hellman pour le protocole de couche transport Secure Shell (SSH)
  • RFC 4716 - Format de fichier de clé publique Secure Shell (SSH)
  • RFC 5208 - Normes de cryptographie à clé publique (PKCS) #8 - version 1.2
  • RFC 5480 - Informations sur la clé publique de cryptographie à courbe elliptique
  • RFC 5647 - Mode Galois Counter Mode AES pour le protocole de couche transport Secure Shell
  • RFC 5656 - Intégration d'algorithmes à courbe elliptique dans la couche transport Secure Shell
  • RFC 5915 - Structure de clé privée à courbe elliptique
  • RFC 6668 - Vérification de l'intégrité des données SHA-2 pour le protocole de couche transport Secure Shell (SSH)
  • RFC 8160 - Mode terminal IUTF8 dans Secure Shell (SSH)
  • RFC 8268 - Groupes d'échange de clés Diffie-Hellman (DH) à module exponentiel (MODP) supplémentaires pour Secure Shell (SSH)
  • RFC 8308 - Négociation d'extensions dans le protocole Secure Shell (SSH)
    • Remarque : - le code contient des hooks pour implémenter la RFC et fournit également une implémentation client et serveur par défaut pour les extensions server-sig-algs.
  • RFC 8332 - Utilisation des clés RSA avec SHA-256 et SHA-512 dans le protocole Secure Shell (SSH)
    • Remarque : - le côté serveur prend en charge ces signatures par défaut. Le côté client nécessite une initialisation spécifique - voir section 3.3 ainsi que les hooks mentionnés ci-dessus pour RFC 8308.
  • RFC 8731 - Méthode d'échange de clés Secure Shell (SSH) utilisant Curve25519 et Curve448
  • Mises à jour et recommandations pour les méthodes d'échange de clés (KEX) de Secure Shell
  • Prise en charge par OpenSSH des clés de sécurité U2F/FIDO
    • Remarque : le côté serveur prend en charge ces clés par défaut. Le côté client nécessite une initialisation spécifique
  • Système d'authentification par certificat de clé publique OpenSSH pour utilisation par SSH
  • Sauts proxy SSH
  • SFTP versions 3 à 6 + extensions
    • supported - DRAFT 05 - section 4.4
    • supported2 - DRAFT 13 section 5.4
    • versions - DRAFT 09 Section 4.6
    • vendor-id - DRAFT 09 - section 4.4
    • acl-supported - DRAFT 11 - section 5.4
    • newline - DRAFT 09 Section 4.3
    • md5-hash, md5-hash-handle - DRAFT 09 - section 9.1.1
    • check-file-handle, -
  • Tarpit sans fin - voir section HOWTO(s).

Support implémenté/disponible

Méthodes d'authentification

  • hostbased, publickey, OpenSSH host-based public-key, keyboard-interactive, password

Chiffrements

  • aes128cbc, aes128ctr, aes192cbc, aes192ctr, aes256cbc, aes256ctr, arcfour128, arcfour256, blowfish-cbc, [email protected], [email protected], [email protected], 3des-cbc

Digests

  • md5, sha1, sha224, sha256, sha384, sha512

Macs

  • hmacmd5, hmacmd596, hmacsha1, hmacsha196, hmacsha256, hmacsha512, [email protected] , [email protected], [email protected]

Échange de clés

  • diffie-hellman-group1-sha1, diffie-hellman-group-exchange-sha256, diffie-hellman-group14-sha1, diffie-hellman-group14-sha256 , diffie-hellman-group15-sha512, diffie-hellman-group16-sha512, diffie-hellman-group17-sha512, diffie-hellman-group18-sha512 , ecdh-sha2-nistp256, ecdh-sha2-nistp384, ecdh-sha2-nistp521, curve25519-sha256, [email protected], curve448-sha512
    • Sur les versions de Java antérieures à Java 11, Bouncy Castle est nécessaire pour curve25519-sha256, [email protected] ou curve448-sha512.

Compressions

  • none, zlib, [email protected]

Signatures/Clés

  • ssh-dss, ssh-rsa, rsa-sha2-256, rsa-sha2-512, nistp256, nistp384, nistp521 , ssh-ed25519 (nécessite le module optionnel eddsa), [email protected], [email protected] , [email protected], [email protected], [email protected] , [email protected], [email protected], [email protected]

Remarque : La liste ci-dessus contient tous les paramètres de sécurité pris en charge dans le code. Cependant, conformément aux recommandations les plus récentes, la configuration client/serveur par défaut n'inclut que les paramètres de sécurité actuellement considérés comme sûrs. Les utilisateurs souhaitant inclure les paramètres non sûrs doivent le faire explicitement. Les paramètres suivants ont été dépréciés et ne sont plus inclus dans la configuration par défaut :

  • RFC 8758 - Dépréciation de RC4 dans Secure Shell (SSH)
  • RFC 8429 - Dépréciation de Triple-DES (3DES) et RC4 dans Kerberos
    • Bien qu'elle fasse référence à Kerberos, elle mentionne également les faiblesses de DES.
  • Notes de version OpenSSH - généralement un bon indicateur des pratiques de facto
  • Échanges de clés et signatures basés sur SHA-1
  • Algorithmes HMAC basés sur MD5 et tronqués
  • RFC 8270 - Augmenter la taille minimale recommandée du module Diffie-Hellman à 2048 bits pour Secure Shell Remarque : il est toujours possible d'utiliser 1024 en initialisant la valeur programmatiquement ou via une propriété système - voir Configuration des fournisseurs de sécurité. Le code contient toujours des modules pour 1024 et les utilisera si l'utilisateur explicitement abaisse le minimum par défaut à cette valeur.

Mise en garde : Selon RFC 8332 - section 3.31

L'expérience de mise en œuvre a montré qu'il existe des serveurs qui appliquent des pénalités d'authentification aux clients qui tentent des algorithmes de clé publique que le serveur SSH ne prend pas en charge.

Lors de l'authentification avec une clé RSA auprès d'un serveur qui n'implémente pas l'extension "server-sig-algs", les clients PEUVENT par défaut utiliser une signature "ssh-rsa" pour éviter les pénalités d'authentification. Lorsque les nouveaux algorithmes rsa-sha2-* auront été suffisamment adoptés pour justifier la désactivation de "ssh-rsa", les clients PEUVENT par défaut utiliser l'un des nouveaux algorithmes.

Cela signifie que les utilisateurs rencontrant ce problème (et des problèmes connexes) doivent modifier les paramètres de sécurité pris en charge explicitement afin d'éviter le problème.

Avis spécial : ssh-rsa a été conservé dans la configuration par défaut car de nombreux systèmes/utilisateurs l'utilisent encore. Cependant, dans une version future, il sera supprimé de la configuration par défaut. Nous encourageons donc vivement les utilisateurs à migrer vers d'autres clés (par exemple ECDSA, ED25519) dès que possible.

Notes de version

Signalement de problèmes

Les rapports de bogues et les demandes d'amélioration ou de fonctionnalités peuvent être déposés sur le traqueur de problèmes GitHub ou sur le traqueur de problèmes Apache.

Les problèmes sensibles tels que les vulnérabilités de sécurité doivent être signalés via des canaux privés, et non via l'un ou l'autre traqueur.

Prérequis principaux

  • Java 8+ (à partir de la version 1.3)

  • Slf4j

Le code nécessite uniquement le module abstrait principal slf4j-api. L'implémentation réelle de l'API de journalisation peut être sélectionnée parmi les nombreux adaptateurs existants.

Structure des artefacts de base

  • sshd-common - contient les classes de base utilisées dans tout le projet ainsi que du code ne nécessitant pas de support réseau client ou serveur.

  • sshd-core - contient le code de base du client/serveur SSH implémentant la connexion, le transport, les canaux, le forwarding, etc.

    • sshd-mina, sshd-netty - remplacements du connecteur NIO2 par défaut utilisé pour établir et gérer les connexions réseau en utilisant respectivement MINA et/ou Netty.
  • sshd-sftp - contient le sous-système SFTP côté serveur et le code client SFTP.

    • sshd-spring-sftp - contient un adaptateur SFTP compatible Spring Integration
  • sshd-scp - contient le gestionnaire de commandes SCP côté serveur et le code client SCP.

  • sshd-ldap - contient des authentifiants de mot de passe et de clé publique côté serveur utilisant un serveur LDAP.

  • sshd-git - contient des remplacements pour la fabrique de sessions SSH de JGit.

  • sshd-osgi - contient un artefact qui combine sshd-common et sshd-core afin de pouvoir être déployé dans des environnements OSGi.

  • sshd-putty - contient du code capable d'analyser les fichiers de clés PUTTY.

  • sshd-openpgp - contient du code capable d'analyser les fichiers de clés OpenPGP (avec certaines limitations - voir section correspondante)

  • sshd-cli - contient des modèles simples pour le client/serveur en ligne de commande - utilisés pour offrir une apparence similaire aux commandes Linux ssh/sshd.

  • sshd-contrib - code expérimental actuellement en cours d'examen et qui pourrait être intégré dans l'un des autres artefacts (ou devenir un artefact entièrement nouveau - par exemple, sshd-putty a évolué de cette façon).

Dépendances optionnelles

Référence rapide

Construction du code

Inclure les tests

root@kitploit:~
mvn clean install

Sans les tests

root@kitploit:~
mvn -Pquick clean install

Configuration d'un client SSH en 5 minutes

Intégration d'une instance de serveur SSHD en 5 minutes

Répartition des fonctionnalités SSH

Configuration des fournisseurs de sécurité

Infrastructure des commandes

SCP

SFTP

Redirection de ports

Classes de support internes

Écouteurs et gestionnaires d'événements

Clients en ligne de commande

Support GIT

Support d'analyse des fichiers de configuration/données

Modules d'extension

HOWTO(s)

Documentation technique

Échange de clés SSH

Redirection de ports TCP/IP

Requêtes globales

Télécharger l’outil
check-file-name
DRAFT 09 - section 9.1.2
  • copy-file, copy-data - DRAFT 00 - sections 6, 7
  • space-available - DRAFT 09 - section 9.2
  • filename-charset, filename-translation-control - DRAFT 13 - section 6 - côté client uniquement
  • Plusieurs extensions SFTP OpenSSH