Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
apache__mina-sshd_CVE-2023-35887_2-9-2 — Libreria client/server SSH in puro Java che implementa il protocollo SSH-2 con supporto per molteplici cifrari, scambi di chiavi, metodi di autenticazione, SFTP, SCP e inoltro delle porte per l'accesso remoto sicuro. | Kitploit
Strumenti/GitHubGitHub/shoucheng3/apache__mina-sshd_cve-2023-35887_2-9-2
Strumenti di Crittografia/DecrittografiaAnalisi delle VulnerabilitàSicurezza di ReteCrittografiaPenetration TestingUtilità e FrameworkAutenticazioneStrumento di Accesso Remoto

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
GitHub
shoucheng3/apache__mina-sshd_cve-2023-35887_2-9-2

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

Libreria client/server SSH in puro Java che implementa il protocollo SSH-2 con supporto per molteplici cifrari, scambi di chiavi, metodi di autenticazione, SFTP, SCP e inoltro delle porte per l'accesso remoto sicuro.

Vedi Repository
21 anno faNon ancora revisionato

Apache MINA SSHD

Apache MINA SSHD

Apache MINA SSHD è una libreria Java pura al 100% per supportare i protocolli SSH sia lato client che server. Non mira a sostituire il client SSH o il server SSH dei sistemi operativi Unix, ma piuttosto fornisce supporto per applicazioni basate su Java che richiedono supporto SSH.

La libreria può sfruttare diversi back-end I/O:

  • Il trasporto predefinito è integrato e utilizza gli AsynchronousSocketChannel di Java.
  • Apache MINA, una libreria I/O asincrona scalabile e ad alte prestazioni, può essere utilizzata in alternativa, oppure
  • è supportato anche Netty, framework di rete asincrono guidato da eventi.

Standard supportati

Documentazione di implementazione di riferimento

  • RFC 4251 - Architettura del protocollo Secure Shell (SSH)
  • RFC 4252 - Protocollo di autenticazione Secure Shell (SSH)
  • RFC 4253 - Protocollo del livello di trasporto Secure Shell (SSH)
  • RFC 4254 - Protocollo di connessione Secure Shell (SSH)
  • RFC 4256 - Autenticazione con scambio di messaggi generico per il protocollo Secure Shell (SSH)
  • RFC 4335 - Estensione di interruzione del canale di sessione Secure Shell (SSH)
  • RFC 4344 - Modalità di cifratura del livello di trasporto Secure Shell (SSH)
  • RFC 4345 - Modalità Arcfour migliorate per il protocollo del livello di trasporto Secure Shell (SSH)
  • RFC 4419 - Scambio di gruppo Diffie-Hellman per il protocollo del livello di trasporto Secure Shell (SSH)
  • RFC 4716 - Formato file chiave pubblica Secure Shell (SSH)
  • RFC 5208 - Standard di crittografia a chiave pubblica (PKCS) #8 - versione 1.2
  • RFC 5480 - Informazioni sulla chiave pubblica del soggetto per crittografia a curva ellittica
  • RFC 5647 - Modalità contatore Galois AES per il protocollo del livello di trasporto Secure Shell
  • RFC 5656 - Integrazione dell'algoritmo a curva ellittica nel livello di trasporto Secure Shell
  • RFC 5915 - Struttura della chiave privata a curva ellittica
  • RFC 6668 - Verifica dell'integrità dei dati SHA-2 per il protocollo del livello di trasporto Secure Shell (SSH)
  • RFC 8160 - Modalità terminale IUTF8 in Secure Shell (SSH)
  • RFC 8268 - Gruppi di scambio chiave Diffie-Hellman (DH) con esponenziazione modulare (MODP) aggiuntivi per Secure Shell (SSH)
  • RFC 8308 - Negoziazione delle estensioni nel protocollo Secure Shell (SSH)
    • Nota: - il codice contiene hook per implementare la RFC e fornisce anche un'implementazione predefinita per le estensioni server-sig-algs lato client e server.
  • RFC 8332 - Utilizzo delle chiavi RSA con SHA-256 e SHA-512 nel protocollo Secure Shell (SSH)
    • Nota: - il lato server supporta queste firme per impostazione predefinita. Il lato client richiede un'inizializzazione specifica - vedere la sezione 3.3 e anche gli hook sopra menzionati per RFC 8308.
  • RFC 8731 - Metodo di scambio chiave Secure Shell (SSH) che utilizza Curve25519 e Curve448
  • Aggiornamenti e raccomandazioni per i metodi di scambio chiave (KEX) per Secure Shell
  • Supporto OpenSSH per chiavi di sicurezza U2F/FIDO
    • Nota: il lato server supporta queste chiavi per impostazione predefinita. Il lato client richiede un'inizializzazione specifica
  • Sistema di autenticazione con certificato a chiave pubblica OpenSSH per uso SSH
  • Salti proxy SSH
  • SFTP versione 3-6 + estensioni
    • supported - DRAFT 05 - sezione 4.4
    • supported2 - DRAFT 13 sezione 5.4
    • versions - DRAFT 09 Sezione 4.6
    • vendor-id - DRAFT 09 - sezione 4.4
    • acl-supported - DRAFT 11 - sezione 5.4
    • newline - DRAFT 09 Sezione 4.3
    • md5-hash, md5-hash-handle - DRAFT 09 - sezione 9.1.1
    • check-file-handle, -
  • Tarpit infinito - vedere la sezione HOWTO.

Supporto implementato/disponibile

Metodi di autenticazione

  • hostbased, publickey, chiave pubblica basata su host OpenSSH, keyboard-interactive, password

Cifrari

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

Digest

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

MAC

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

Scambio di chiavi

  • 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
    • Su versioni Java precedenti a Java 11, Bouncy Castle è richiesto per curve25519-sha256, [email protected] o curve448-sha512.

Compressioni

  • none, zlib, [email protected]

Firme/Chiavi

  • ssh-dss, ssh-rsa, rsa-sha2-256, rsa-sha2-512, nistp256, nistp384, nistp521 , ssh-ed25519 (richiede il modulo opzionale eddsa), [email protected], [email protected] , [email protected], [email protected], [email protected] , [email protected], [email protected], [email protected]

Nota: L'elenco sopra contiene tutte le impostazioni di sicurezza supportate nel codice. Tuttavia, in conformità con le ultime raccomandazioni, la configurazione predefinita client/server include solo le impostazioni di sicurezza attualmente considerate sicure. Gli utenti che desiderano includere impostazioni non sicure devono farlo esplicitamente. Le seguenti impostazioni sono state deprecate e non sono più incluse nella configurazione predefinita:

  • RFC 8758 - Deprecazione di RC4 in Secure Shell (SSH)
  • RFC 8429 - Deprecazione di Triple-DES (3DES) e RC4 in Kerberos
    • Sebbene si riferisca a Kerberos, menziona anche le debolezze di DES.
  • Note di rilascio di OpenSSH - di solito un buon indicatore delle pratiche de facto
  • Scambi di chiavi e firme basati su SHA-1
  • Algoritmi HMAC basati su MD5 e troncati
  • RFC 8270 - Aumentare la dimensione minima raccomandata del modulo Diffie-Hellman a 2048 bit per Secure Shell Nota: è comunque possibile utilizzare 1024 inizializzando il valore a livello di codice o tramite proprietà di sistema - vedere Configurazione dei provider di sicurezza. Il codice contiene ancora moduli per 1024 e li utilizzerà se l'utente esplicitamente abbassa il minimo predefinito a tale valore.

Avvertenza: Secondo RFC 8332 - sezione 3.3

L'esperienza di implementazione ha dimostrato che esistono server che applicano penalità di autenticazione ai client che tentano algoritmi a chiave pubblica non supportati dal server SSH.

Quando si esegue l'autenticazione con una chiave RSA contro un server che non implementa l'estensione "server-sig-algs", i client POSSONO ricorrere a una firma "ssh-rsa" per evitare penalità di autenticazione. Quando i nuovi algoritmi rsa-sha2-* saranno stati sufficientemente adottati da giustificare la disabilitazione di "ssh-rsa", i client POSSONO utilizzare uno dei nuovi algoritmi per impostazione predefinita.

Ciò significa che gli utenti che incontrano questo problema (e problemi correlati) devono modificare le impostazioni di sicurezza supportate esplicitamente per evitarlo.

Avviso speciale: ssh-rsa è stato lasciato come parte della configurazione predefinita poiché molti sistemi/utenti lo utilizzano ancora. Tuttavia, nelle versioni future verrà rimosso dal default. Pertanto, raccomandiamo vivamente agli utenti di migrare verso altre chiavi (ad es. ECDSA, ED25519) il prima possibile.

Note di rilascio

Segnalazione problemi

I rapporti di bug e le richieste di miglioramento o funzionalità possono essere inviati al tracciatore di problemi GitHub o al tracciatore di problemi Apache.

Le questioni sensibili, come le vulnerabilità di sicurezza, devono essere segnalate attraverso canali privati, non tramite nessuno dei tracker.

Requisiti fondamentali

  • Java 8+ (a partire dalla versione 1.3)

  • Slf4j

Il codice richiede solo il modulo astratto core slf4j-api. L'implementazione effettiva dell'API di logging può essere selezionata tra i molti adattatori esistenti.

Struttura degli artefatti di base

  • sshd-common - contiene le classi di base utilizzate in tutto il progetto, nonché codice che non richiede supporto di rete client o server.

  • sshd-core - contiene il codice client/server SSH di base che implementa la connessione, il trasporto, i canali, il forwarding, ecc.

    • sshd-mina, sshd-netty - sostituti del connettore NIO2 predefinito utilizzato per stabilire e gestire connessioni di rete utilizzando rispettivamente le librerie MINA e/o Netty.
  • sshd-sftp - contiene il sottosistema SFTP lato server e il codice client SFTP.

    • sshd-spring-sftp - contiene un adattatore SFTP compatibile con Spring Integration
  • sshd-scp - contiene il gestore di comandi SCP lato server e il codice client SCP.

  • sshd-ldap - contiene autenticatori di password e chiave pubblica lato server che utilizzano un server LDAP.

  • sshd-git - contiene sostituti per la factory di sessioni SSH di JGit.

  • sshd-osgi - contiene un artefatto che combina sshd-common e sshd-core in modo da poter essere distribuito in ambienti OSGi.

  • sshd-putty - contiene codice in grado di analizzare i file chiave PUTTY.

  • sshd-openpgp - contiene codice in grado di analizzare i file chiave OpenPGP (con alcune limitazioni - vedere la sezione pertinente)

  • sshd-cli - contiene template semplici per client/server a riga di comando - utilizzato per fornire un aspetto simile ai comandi Linux ssh/sshd.

  • sshd-contrib - codice sperimentale attualmente in fase di revisione che potrebbe trovare posto in uno degli altri artefatti (o diventare un artefatto completamente nuovo - ad esempio, sshd-putty si è evoluto in questo modo).

Dipendenze opzionali

Riferimento rapido

Compilazione del codice

Inclusi i test

root@kitploit:~
mvn clean install

Senza test

root@kitploit:~
mvn -Pquick clean install

Impostare un client SSH in 5 minuti

Incorporare un'istanza del server SSHD in 5 minuti

Ripartizione delle funzionalità SSH

Configurazione dei provider di sicurezza

Infrastruttura dei comandi

SCP

SFTP

Port forwarding

Classi di supporto interne

Listener e gestori di eventi

Client a riga di comando

Supporto GIT

Supporto per l'analisi di file di configurazione/dati

Moduli di estensione

HOWTO(s)

Documentazione tecnica

Scambio di chiavi SSH

Port forwarding TCP/IP

Richieste globali

Scarica lo strumento
check-file-name
DRAFT 09 - sezione 9.1.2
  • copy-file, copy-data - DRAFT 00 - sezioni 6, 7
  • space-available - DRAFT 09 - sezione 9.2
  • filename-charset, filename-translation-control - DRAFT 13 - sezione 6 - solo lato client
  • Diverse estensioni SFTP di OpenSSH