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
cipherscan — Uma maneira muito simples de descobrir quais ciphersuites SSL são suportados por um alvo. | Kitploit
Ferramentas/GitHubGitHub/mozilla/cipherscan
Scanners de VulnerabilidadesAuditoria de ConfiguraçãoSegurança de RedeCriptografia
GitHubmozilla/cipherscan

cipherscan

Uma maneira muito simples de descobrir quais ciphersuites SSL são suportados por um alvo.

Ver Repositório
2.0k265há 1 anoRevisado pelo Kitploit

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

CipherScan

Build Status

cipherscan

O CipherScan testa a ordenação das cifras SSL/TLS em um alvo específico, para todas as versões principais de SSL e TLS. Também extrai algumas informações dos certificados, opções TLS, OCSP stapling e mais. O CipherScan é um wrapper sobre a linha de comando do openssl s_client.

O CipherScan foi projetado para ser executado em todas as variantes do Unix. Ele vem com sua própria compilação do OpenSSL para Linux/64 e Darwin/64. Em outras plataformas, usará a versão do openssl fornecida pelo sistema operacional (que pode ter suporte limitado a cifras), ou sua própria versão fornecida pela opção de linha de comando -o.

Exemplos

Teste básico:

root@kitploit:~
$ ./cipherscan google.com
...................
Target: google.com:443

prio  ciphersuite                  protocols                    pfs                 curves
1     ECDHE-RSA-CHACHA20-POLY1305  TLSv1.2                      ECDH,P-256,256bits  prime256v1
2     ECDHE-RSA-AES128-GCM-SHA256  TLSv1.2                      ECDH,P-256,256bits  prime256v1
3     ECDHE-RSA-AES128-SHA         TLSv1.1,TLSv1.2              ECDH,P-256,256bits  prime256v1
4     ECDHE-RSA-RC4-SHA            SSLv3,TLSv1,TLSv1.1,TLSv1.2  ECDH,P-256,256bits  prime256v1
5     AES128-GCM-SHA256            TLSv1.2                      None                None
6     AES128-SHA256                TLSv1.2                      None                None
7     AES128-SHA                   TLSv1.1,TLSv1.2              None                None
8     RC4-SHA                      SSLv3,TLSv1,TLSv1.1,TLSv1.2  None                None
9     RC4-MD5                      SSLv3,TLSv1,TLSv1.1,TLSv1.2  None                None
10    ECDHE-RSA-AES256-GCM-SHA384  TLSv1.2                      ECDH,P-256,256bits  prime256v1
11    ECDHE-RSA-AES256-SHA384      TLSv1.2                      ECDH,P-256,256bits  prime256v1
12    ECDHE-RSA-AES256-SHA         SSLv3,TLSv1,TLSv1.1,TLSv1.2  ECDH,P-256,256bits  prime256v1
13    AES256-GCM-SHA384            TLSv1.2                      None                None
14    AES256-SHA256                TLSv1.2                      None                None
15    AES256-SHA                   SSLv3,TLSv1,TLSv1.1,TLSv1.2  None                None
16    ECDHE-RSA-AES128-SHA256      TLSv1.2                      ECDH,P-256,256bits  prime256v1
17    ECDHE-RSA-DES-CBC3-SHA       SSLv3,TLSv1,TLSv1.1,TLSv1.2  ECDH,P-256,256bits  prime256v1
18    DES-CBC3-SHA                 SSLv3,TLSv1,TLSv1.1,TLSv1.2  None                None

Certificate: trusted, 2048 bit, sha1WithRSAEncryption signature
TLS ticket lifetime hint: 100800
OCSP stapling: not supported
Cipher ordering: server

Testando STARTTLS:

root@kitploit:~
darwin$ $ ./cipherscan --curves -starttls xmpp jabber.ccc.de:5222
................................
Target: jabber.ccc.de:5222

prio  ciphersuite                  protocols              pfs                 curves
1     ECDHE-RSA-AES256-GCM-SHA384  TLSv1.2                ECDH,P-256,256bits  prime256v1
2     ECDHE-RSA-AES256-SHA384      TLSv1.2                ECDH,P-256,256bits  prime256v1
3     ECDHE-RSA-AES256-SHA         TLSv1,TLSv1.1,TLSv1.2  ECDH,P-256,256bits  prime256v1
4     DHE-RSA-AES256-GCM-SHA384    TLSv1.2                DH,1024bits         None
5     DHE-RSA-AES256-SHA256        TLSv1.2                DH,1024bits         None
6     DHE-RSA-AES256-SHA           TLSv1,TLSv1.1,TLSv1.2  DH,1024bits         None
7     DHE-RSA-CAMELLIA256-SHA      TLSv1,TLSv1.1,TLSv1.2  DH,1024bits         None
8     AES256-GCM-SHA384            TLSv1.2                None                None
9     AES256-SHA256                TLSv1.2                None                None
10    AES256-SHA                   TLSv1,TLSv1.1,TLSv1.2  None                None
11    CAMELLIA256-SHA              TLSv1,TLSv1.1,TLSv1.2  None                None
12    ECDHE-RSA-AES128-GCM-SHA256  TLSv1.2                ECDH,P-256,256bits  prime256v1
13    ECDHE-RSA-AES128-SHA256      TLSv1.2                ECDH,P-256,256bits  prime256v1
14    ECDHE-RSA-AES128-SHA         TLSv1,TLSv1.1,TLSv1.2  ECDH,P-256,256bits  prime256v1
15    DHE-RSA-AES128-GCM-SHA256    TLSv1.2                DH,1024bits         None
16    DHE-RSA-AES128-SHA256        TLSv1.2                DH,1024bits         None
17    DHE-RSA-AES128-SHA           TLSv1,TLSv1.1,TLSv1.2  DH,1024bits         None
18    DHE-RSA-SEED-SHA             TLSv1,TLSv1.1,TLSv1.2  DH,1024bits         None
19    DHE-RSA-CAMELLIA128-SHA      TLSv1,TLSv1.1,TLSv1.2  DH,1024bits         None
20    AES128-GCM-SHA256            TLSv1.2                None                None
21    AES128-SHA256                TLSv1.2                None                None
22    AES128-SHA                   TLSv1,TLSv1.1,TLSv1.2  None                None
23    SEED-SHA                     TLSv1,TLSv1.1,TLSv1.2  None                None
24    CAMELLIA128-SHA              TLSv1,TLSv1.1,TLSv1.2  None                None

Certificate: UNTRUSTED, 2048 bit, sha1WithRSAEncryption signature
TLS ticket lifetime hint: None
OCSP stapling: not supported
Cipher ordering: client
Curves ordering: server
Curves fallback: False

Exportando para JSON com a opção de linha de comando -j:

root@kitploit:~
$ ./cipherscan --curves -j www.ebay.com | j
{
    "curves_fallback": "False",
    "serverside": "True",
    "target": "www.ebay.com:443",
    "utctimestamp": "2015-04-03T14:54:31.0Z",
    "ciphersuite": [
        {
            "cipher": "AES256-SHA",
            "ocsp_stapling": "False",
            "pfs": "None",
            "protocols": [
                "TLSv1",
                "TLSv1.1",
                "TLSv1.2"
            ],
            "pubkey": [
                "2048"
            ],
            "sigalg": [
                "sha1WithRSAEncryption"
            ],
            "ticket_hint": "None",
            "trusted": "True"
        },
        {
            "cipher": "ECDHE-RSA-DES-CBC3-SHA",
            "curves": [
                "prime256v1",
                "secp384r1",
                "secp224r1",
                "secp521r1"
            ],
            "curves_ordering": "server",
            "ocsp_stapling": "False",
            "pfs": "ECDH,P-256,256bits",
            "protocols": [
                "TLSv1",
                "TLSv1.1",
                "TLSv1.2"
            ],
            "pubkey": [
                "2048"
            ],
            "sigalg": [
                "sha1WithRSAEncryption"
            ],
            "ticket_hint": "None",
            "trusted": "True"
        }
    ]
}

Analisando configurações

A motivação por trás do cipherscan é ajudar operadores a configurar um TLS adequado em seus endpoints. Para ajudar ainda mais, o script analyze.py compara os resultados de um cipherscan com as diretrizes TLS de https://wiki.mozilla.org/Security/Server_Side_TLS e gera um nível e recomendações.

root@kitploit:~
$ ./analyze.py -t jve.linuxwall.info
jve.linuxwall.info:443 has intermediate tls

Changes needed to match the old level:
* consider enabling SSLv3
* add cipher DES-CBC3-SHA
* use a certificate with sha1WithRSAEncryption signature
* consider enabling OCSP Stapling

Changes needed to match the intermediate level:
* consider enabling OCSP Stapling

Changes needed to match the modern level:
* remove cipher AES128-GCM-SHA256
* remove cipher AES256-GCM-SHA384
* remove cipher AES128-SHA256
* remove cipher AES128-SHA
* remove cipher AES256-SHA256
* remove cipher AES256-SHA
* disable TLSv1
* consider enabling OCSP Stapling

Na saída acima, analyze.py indica que o alvo jve.linuxwall.info corresponde ao nível de configuração intermediário. Se o administrador deste site deseja atingir o nível moderno, os itens que falharam nos testes modernos devem ser corrigidos.

analyze.py não faz suposições sobre qual deveria ser um bom nível. Os operadores do site devem saber qual nível desejam alcançar, com base no nível de compatibilidade que desejam suportar. Novamente, consulte https://wiki.mozilla.org/Security/Server_Side_TLS para mais informações.

Nota sobre o modo Nagios: analyse.py pode ser executado como uma verificação Nagios com --nagios. O código de saída representará então o estado da configuração:

  • 2 (crítico) para TLS ruim
  • 1 (aviso) se não corresponder ao nível desejado
  • 0 (ok) se corresponder. cipherscan pode levar mais de 10 segundos para ser concluído. Para aliviar problemas de tempo limite, você pode executá-lo fora do nagios, passando dados através de um arquivo temporário.

OpenSSL

O CipherScan usa uma versão personalizada do openssl para Linux 64 bits e Darwin 64 bits. O OpenSSL é compilado a partir de um branch personalizado mantido por Peter Mosmans que inclui várias correções não mescladas upstream. Pode ser encontrado aqui: https://github.com/PeterMosmans/openssl

Você mesmo pode compilá-lo usando os seguintes comandos:

root@kitploit:~
git clone https://github.com/PeterMosmans/openssl.git --depth 1 -b 1.0.2-chacha
cd openssl
./Configure zlib no-shared experimental-jpake enable-md2 enable-rc5 \
enable-rfc3779 enable-gost enable-static-engine linux-x86_64
make depend
make
make report

O binário estaticamente vinculado será apps/openssl.

Contribuidores

  • Julien Vehent [email protected] (autor original)
  • Hubert Kario [email protected] (co-mantenedor)
  • Pepi Zawodsky [email protected]
  • Michael Zeltner [email protected]
  • Peter Mosmans [email protected]
  • Vincent Riquer [email protected]
  • Christian Stadelmann
  • Simon Deziel [email protected]
  • Aaron Zauner [email protected]
  • Mike [email protected]
  • Phil Cohen [email protected]
  • Samuel Kleiner [email protected]
  • Richard Soderberg https://twitter.com/floatingatoll
  • Adam Crosby [email protected]
Baixar ferramenta