Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
apache__mina-sshd_CVE-2023-35887_2-9-2 — Biblioteca SSH cliente/servidor em Java puro que implementa o protocolo SSH-2 com suporte para múltiplas cifras, trocas de chaves, métodos de autenticação, SFTP, SCP e encaminhamento de portas para acesso remoto seguro. | Kitploit
Ferramentas/GitHubGitHub/shoucheng3/apache__mina-sshd_cve-2023-35887_2-9-2
Ferramentas de Criptografia/DescriptografiaAnálise de VulnerabilidadesSegurança de RedeCriptografiaTestes de PenetraçãoUtilitários e FrameworksAutenticaçãoFerramenta de Acesso Remoto

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
GitHub
shoucheng3/apache__mina-sshd_cve-2023-35887_2-9-2

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

Biblioteca SSH cliente/servidor em Java puro que implementa o protocolo SSH-2 com suporte para múltiplas cifras, trocas de chaves, métodos de autenticação, SFTP, SCP e encaminhamento de portas para acesso remoto seguro.

Ver Repositório
há 1 anoAinda não revisado

Apache MINA SSHD

Apache MINA SSHD

Apache MINA SSHD é uma biblioteca 100% Java pura para suportar os protocolos SSH tanto no lado do cliente quanto no servidor. Não tem como objetivo ser um substituto para o cliente SSH ou servidor SSH de sistemas operacionais Unix, mas sim fornecer suporte para aplicações baseadas em Java que necessitam de suporte SSH.

A biblioteca pode aproveitar vários back-ends de E/S:

  • O transporte padrão é integrado e usa AsynchronousSocketChannels do Java.
  • Apache MINA, uma biblioteca de E/S assíncrona escalável e de alto desempenho, pode ser usada em vez disso, ou
  • o Netty, um framework de rede assíncrono orientado a eventos, também é suportado.

Padrões suportados

Documentação de implementação de referência

  • RFC 4251 - The Secure Shell (SSH) Protocol Architecture
  • RFC 4252 - The Secure Shell (SSH) Authentication Protocol
  • RFC 4253 - The Secure Shell (SSH) Transport Layer Protocol
  • RFC 4254 - The Secure Shell (SSH) Connection Protocol
  • RFC 4256 - Generic Message Exchange Authentication for the Secure Shell Protocol (SSH)
  • RFC 4335 - The Secure Shell (SSH) Session Channel Break Extension
  • RFC 4344 - The Secure Shell (SSH) Transport Layer Encryption Modes
  • RFC 4345 - Improved Arcfour Modes for the Secure Shell (SSH) Transport Layer Protocol
  • RFC 4419 - Diffie-Hellman Group Exchange for the Secure Shell (SSH) Transport Layer Protocol
  • RFC 4716 - The Secure Shell (SSH) Public Key File Format
  • RFC 5208 - Public-Key Cryptography Standards (PKCS) #8 - version 1.2
  • RFC 5480 - Elliptic Curve Cryptography Subject Public Key Information
  • RFC 5647 - AES Galois Counter Mode for the Secure Shell Transport Layer Protocol
  • RFC 5656 - Elliptic Curve Algorithm Integration in the Secure Shell Transport Layer
  • RFC 5915 - Elliptic Curve Private Key Structure
  • RFC 6668 - SHA-2 Data Integrity Verification for the Secure Shell (SSH) Transport Layer Protocol
  • RFC 8160 - IUTF8 Terminal Mode in Secure Shell (SSH)
  • RFC 8268 - More Modular Exponentiation (MODP) Diffie-Hellman (DH) Key Exchange (KEX) Groups for Secure Shell (SSH)
  • RFC 8308 - Extension Negotiation in the Secure Shell (SSH) Protocol
    • Nota: - o código contém hooks para implementar a RFC e também fornece implementação padrão de cliente e servidor para as extensões server-sig-algs.
  • RFC 8332 - Use of RSA Keys with SHA-256 and SHA-512 in the Secure Shell (SSH) Protocol
    • Nota: - o lado do servidor suporta essas assinaturas por padrão. O lado do cliente requer uma inicialização específica - veja seção 3.3 e também os hooks mencionados acima para RFC 8308.
  • RFC 8731 - Secure Shell (SSH) Key Exchange Method Using Curve25519 and Curve448
  • Key Exchange (KEX) Method Updates and Recommendations for Secure Shell
  • OpenSSH support for U2F/FIDO security keys
    • Nota: o lado do servidor suporta essas chaves por padrão. O lado do cliente requer uma inicialização específica
  • OpenSSH public-key certificate authentication system for use by SSH
  • SSH proxy jumps
  • SFTP versão 3-6 + extensões
    • supported - DRAFT 05 - seção 4.4
    • supported2 - DRAFT 13 seção 5.4
    • versions - DRAFT 09 Seção 4.6
    • vendor-id - DRAFT 09 - seção 4.4
    • acl-supported - DRAFT 11 - seção 5.4
    • newline - DRAFT 09 Seção 4.3
    • md5-hash, md5-hash-handle - DRAFT 09 - seção 9.1.1
    • check-file-handle, -
  • Endless tarpit - veja seção HOWTO(s).

Suporte implementado/disponível

Métodos de autenticação

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

Cifras

  • 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]

Troca de chaves

  • 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
    • Em versões do Java anteriores ao Java 11, Bouncy Castle é necessário para curve25519-sha256, [email protected] ou curve448-sha512.

Compressões

  • none, zlib, [email protected]

Assinaturas/Chaves

  • ssh-dss, ssh-rsa, rsa-sha2-256, rsa-sha2-512, nistp256, nistp384, nistp521 , ssh-ed25519 (requer módulo opcional eddsa), [email protected], [email protected] , [email protected], [email protected], [email protected] , [email protected], [email protected], [email protected]

Nota: A lista acima contém todas as configurações de segurança suportadas no código. No entanto, de acordo com as recomendações mais recentes, a configuração padrão do cliente/servidor inclui apenas as configurações de segurança que atualmente são consideradas seguras de usar. Usuários que desejam incluir as configurações inseguras devem fazê-lo explicitamente. As seguintes configurações foram descontinuadas e não estão mais incluídas na configuração padrão:

  • RFC 8758 - Deprecating RC4 in Secure Shell (SSH)
  • RFC 8429 - Deprecate Triple-DES (3DES) and RC4 in Kerberos
    • Embora se refira ao Kerberos, também menciona fraquezas no DES.
  • Notas de lançamento do OpenSSH - geralmente um bom indicador de práticas de facto
  • Trocas de chaves e assinaturas baseadas em SHA-1
  • Algoritmos HMAC truncados e baseados em MD5
  • RFC 8270 - Increase the Secure Shell Minimum Recommended Diffie-Hellman Modulus Size to 2048 Bits Nota: ainda é possível usar 1024 bits, inicializando o valor programaticamente ou via propriedade de sistema - veja Configuração de provedores de segurança. O código ainda contém módulos para 1024 e os utilizará se o usuário explicitamente reduzir o mínimo padrão para esse valor.

Advertência: De acordo com RFC 8332 - seção 3.31

A experiência de implementação mostrou que existem servidores que aplicam penalidades de autenticação a clientes que tentam algoritmos de chave pública que o servidor SSH não suporta.

Ao autenticar com uma chave RSA contra um servidor que não implementa a extensão "server-sig-algs", os clientes PODEM usar por padrão uma assinatura "ssh-rsa" para evitar penalidades de autenticação. Quando os novos algoritmos rsa-sha2-* tiverem sido suficientemente adotados para justificar a desativação de "ssh-rsa", os clientes PODEM usar por padrão um dos novos algoritmos.

Isso significa que os usuários que encontrarem este (e problemas relacionados) devem modificar as configurações de segurança suportadas explicitamente para evitar o problema.

Aviso especial: ssh-rsa foi mantido como parte da configuração padrão, pois ainda existem muitos sistemas/usuários o utilizando. No entanto, em versões futuras, será removido do padrão. Portanto, incentivamos fortemente os usuários a migrar para outras chaves (ex.: ECDSA, ED25519) o mais rápido possível.

Notas de lançamento

Relato de problemas

Relatórios de bugs e solicitações de melhoria ou funcionalidade podem ser enviados no rastreador de issues do GitHub ou no rastreador de issues do Apache.

Questões sensíveis, como vulnerabilidades de segurança, devem ser relatadas por meio de canais privados, não através de nenhum dos rastreadores de issues.

Requisitos principais

  • Java 8+ (a partir da versão 1.3)

  • Slf4j

O código requer apenas o módulo abstrato principal slf4j-api. A implementação real da API de logging pode ser selecionada entre vários adaptadores existentes.

Estrutura básica dos artefatos

  • sshd-common - contém classes básicas usadas em todo o projeto, bem como código que não requer suporte de rede cliente ou servidor.

  • sshd-core - contém o código básico do cliente/servidor SSH que implementa a conexão, transporte, canais, encaminhamento, etc.

    • sshd-mina, sshd-netty - substituições para o conector NIO2 padrão usado para estabelecer e gerenciar conexões de rede usando as bibliotecas MINA e/ou Netty respectivamente.
  • sshd-sftp - contém o subsistema SFTP do lado do servidor e o código do cliente SFTP.

    • sshd-spring-sftp - contém um adaptador SFTP compatível com Spring Integration
  • sshd-scp - contém o manipulador de comando SCP do lado do servidor e o código do cliente SCP.

  • sshd-ldap - contém autenticadores de senha e chave pública do lado do servidor que utilizam um servidor LDAP.

  • sshd-git - contém substituições para a fábrica de sessão SSH do JGit.

  • sshd-osgi - contém um artefato que combina sshd-common e sshd-core para que possa ser implantado em ambientes OSGi.

  • sshd-putty - contém código que pode analisar arquivos de chave PUTTY.

  • sshd-openpgp - contém código que pode analisar arquivos de chave OpenPGP (com algumas limitações - veja seção relevante)

  • sshd-cli - contém modelos simples para cliente/servidor de linha de comando - usado para fornecer aparência semelhante aos comandos Linux ssh/sshd.

  • sshd-contrib - código experimental que está atualmente em revisão e pode vir a fazer parte de um dos outros artefatos (ou se tornar um artefato totalmente novo - ex.: sshd-putty evoluiu dessa forma).

Dependências opcionais

Referência rápida

Construindo o código

Incluindo testes

root@kitploit:~
mvn clean install

Sem testes

root@kitploit:~
mvn -Pquick clean install

Configurar um cliente SSH em 5 minutos

Incorporar uma instância de servidor SSHD em 5 minutos

Detalhamento da funcionalidade SSH

Configuração de provedores de segurança

Infraestrutura de comandos

SCP

SFTP

Encaminhamento de porta

Classes de suporte interno

Listeners e handlers de eventos

Clientes de linha de comando

Suporte GIT

Suporte à análise de arquivos de configuração/dados

Módulos de extensão

HOWTO(s)

Documentação Técnica

Troca de chaves SSH

Encaminhamento de porta TCP/IP

Solicitações globais

Baixar ferramenta
check-file-name
DRAFT 09 - seção 9.1.2
  • copy-file, copy-data - DRAFT 00 - seções 6, 7
  • space-available - DRAFT 09 - seção 9.2
  • filename-charset, filename-translation-control - DRAFT 13 - seção 6 - apenas lado do cliente
  • Várias extensões SFTP do OpenSSH