Criptografia para Hackers: Algoritmos, PKI e Ataques Criptográficos

Se você está na série CEH v13 Zero to Hero, já percebeu que criptografia aparece em todo lugar — desde senhas armazenadas em banco de dados até comunicações na web. Para o pentester, entender criptografia não é sobre virar matemático. É sobre saber onde procurar fraquezas.

1. Por que Criptografia Importa para o Hacker

Quando um atacante encontra dados cifrados, a primeira pergunta é: “posso quebrar isso?”. Mas a resposta correta é quase sempre outra: “posso contornar?”.

A realidade desconfortável da segurança criptográfica é que a esmagadora maioria das vulnerabilidades não está nos algoritmos — está na implementação. Chaves hard-coded, TLS desatualizado, CBC mal configurado, geração de números aleatórios previsível, fallback para cifras fracas. A lista é longa.

Dado importante: Estudos como o Verizon DBIR e relatórios do OWASP apontam consistentemente que vulnerabilidades de criptografia estão entre as top 10 categorias de falhas exploradas em produção. Quase nenhuma envolve “quebrar” AES ou RSA — envolvem usar algoritmos obsoletos, chaves expostas ou implementações com bugs.

O pentester que entende criptografia sabe identificar esses problemas rapidamente num assessment. O que não entende, passa reto.

2. Criptografia Simétrica

Na criptografia simétrica, uma mesma chave serve tanto para cifrar quanto para decifrar. É o modelo mais intuitivo: você tranca a porta com a chave, destranca com a mesma chave. É rápida, eficiente, e dominante em cenários onde as duas pontas já compartilham um segredo.

Algoritmos Principais

Algoritmo Tamanho da Chave Tipo Status
AES 128/192/256 bits Block cipher Padrão atual
ChaCha20 256 bits Stream cipher Seguro, popular no mobile
3DES 168 bits (efetivo ~112) Block cipher Deprecated (NIST)
Blowfish 128–448 bits Block cipher Limitações no tamanho do bloco
DES 56 bits Block cipher Quebrado
RC4 40–2048 bits Stream cipher Quebrado (WEP usava)

AES (Advanced Encryption Standard) venceu a competição do NIST em 2001 e é o padrão global. Chaves de 256 bits oferecem 2256 combinações — mais do que átomos no universo observável. Não existe ataque prático conhecido contra o AES quando usado corretamente.

Block Cipher vs Stream Cipher

Block ciphers (AES, DES) processam dados em blocos fixos (tipicamente 16 bytes). Precisam de padding quando o dado não preenche o bloco. Stream ciphers (RC4, ChaCha20) geram um fluxo contínuo de bits que é XORed com o plaintext — sem padding, mas cada bit do keystream só pode ser usado uma vez.

Modos de Operação (AES)

O modo ECB (Electronic Codebook) cifra cada bloco independentemente com a mesma chave. Blocos idênticos no plaintext produzem blocos idênticos no ciphertext — isso vaza padrões visuais. Nunca use ECB.

  • CBC (Cipher Block Chaining) — cada bloco é XORed com o ciphertext do bloco anterior. Requer IV. Seguro, mas vulnerável a padding oracle se a implementação vazar informações sobre o padding.
  • CTR (Counter) — transforma o block cipher em stream cipher. O nonce+counter é cifrado e XORed com o plaintext. Paralelizável, sem padding.
  • GCM (Galois/Counter Mode) — combina CTR com autenticação (AEAD). Fornece confidencialidade e integridade. É o padrão recomendado atualmente.

Dica do pentester: Encontrar CBC sem HMAC/autenticação é um finding clássico. CBC sozinho não garante integridade — um atacante pode manipular os blocos. Use GCM (ou outro modo AEAD) sempre que possível.

3. Criptografia Assimétrica

Na criptografia assimétrica, cada parte tem um par de chaves: uma pública e uma privada. A pública cifra; a privada decifra. Ou inversamente: a privada assina; a pública verifica. Resolve o problema fundamental da criptografia simétrica: como compartilhar a chave de forma segura?

RSA

RSA baseia-se na dificuldade de fatorar números primos muito grandes. Chaves RSA de 2048 bits são o mínimo aceitável hoje, com 4096 bits para maior margem. O NIST recomenda 2048 bits até 2030.

ECC (Criptografia de Curvas Elípticas)

ECC oferece segurança equivalente ao RSA com chaves muito menores. Uma chave ECC de 256 bits equivale a RSA 3072 bits. Menor chave = menos CPU, menos banda, ideal para IoT e mobile.

Nível de Segurança RSA ECC AES
128 bits 3072 bits 256 bits 128 bits
192 bits 7680 bits 384 bits 192 bits
256 bits 15360 bits 512 bits 256 bits

Diffie-Hellman (DH)

Diffie-Hellman não cifra dados — é um protocolo de troca de chaves. Duas partes geram um segredo compartilhado sem nunca transmiti-lo pela rede. ECDHE (Elliptic Curve Diffie-Hellman Ephemeral) é a variante moderna: usa curvas elípticas e chaves efêmeras (novas a cada sessão). É o que o TLS 1.3 usa por padrão — e garante Perfect Forward Secrecy.

Geração de Chaves com OpenSSL

# Gerar par de chaves RSA de 4096 bits
openssl genrsa -out private.key 4096

# Extrair a chave pública
openssl rsa -in private.key -pubout -out public.key

# Gerar par ECC (curva P-256)
openssl ecparam -genkey -name prime256v1 -noout -out ec_private.key
openssl ec -in ec_private.key -pubout -out ec_public.key

4. Hashing

Funções hash são unidirecionais: você converte um dado em um hash, mas não consegue reconstruir o dado a partir dele. Servem para integridade, não para confidencialidade. Propriedades ideais: determinística, efeito avalanche, resistente a colisões e pré-imagem.

Algoritmos de Hash

Algoritmo Tamanho Status
MD5 128 bits Quebrado — colisões em <1 segundo
SHA-1 160 bits Deprecated — SHAttered attack (2017)
SHA-256 256 bits Padrão atual (SHA-2)
SHA-3 256/384/512 bits Novo padrão NIST (Keccak)
bcrypt Variável Recomendado para senhas
Argon2 Variável Vencedor PHC — melhor para senhas

Hashing de Senhas: Por que SHA-256 Não Serve

SHA-256 é rápido — calcula bilhões de hashes por segundo em GPU otimizada (e centenas de milhões em CPU típica). Isso é ruim para senhas, porque o atacante quer tentar muitas combinações. Para senhas, usa-se funções intencionalmente lentas: bcrypt, scrypt e Argon2. Estas incorporam salt (dados aleatórios únicos por senha, impedindo rainbow tables) e stretching (múltiplas iterações). Argon2 vai além: é resistente a ataques via GPU/ASIC por exigir muita memória.

Anti-padrão clássico: Encontrar MD5 ou SHA-1 no armazenamento de senhas é um finding crítico. SHA-256 puro para senhas também é problemático — sem salt e sem stretching, é vulnerável a brute-force otimizado. A regra: senhas usam bcrypt, scrypt ou Argon2. Nunca hash genérico.

HMAC

HMAC (Hash-based Message Authentication Code) combina um hash com uma chave secreta. Garante integridade e autenticidade — só quem tem a chave pode gerar ou verificar. É usado em JWT (HS256), APIs, e TLS.

Identificando Hashes com hashid

$ hashid "5d41402abc4b2a76b9719d911017c592"
Analyzing '5d41402abc4b2a76b9719d911017c592'
[+] MD5
[+] NTLM

$ hashid '$2b$12$LJ3m4ys3Kq0ZG5e5O5Y6...'
Analyzing '$2b$12$LJ3m4ys3Kq0ZG5e5O5Y6...'
[+] Blowfish(OpenBSD)
[+] Woltlab Burning Board 4.x

5. Certificados Digitais e PKI

Como confiar que a chave pública de um site realmente pertence àquele site? A resposta é PKI (Public Key Infrastructure).

Componentes da PKI

  • CA (Certificate Authority) — entidade que emite e assina certificados. Âncora de confiança. Exemplos: DigiCert, Let’s Encrypt, GlobalSign.
  • RA (Registration Authority) — verifica a identidade do solicitante antes da emissão.
  • CRL (Certificate Revocation List) — lista assinada pela CA com certificados revogados. Pode ficar enorme.
  • OCSP (Online Certificate Status Protocol) — consulta online em tempo real: “este certificado ainda é válido?”. OCSP stapling mitiga questões de latência e privacidade.

Certificado X.509

Estrutura de um certificado X.509:

  • Version — v3 é a atual
  • Serial Number — identificador único
  • Issuer — quem emitiu (a CA)
  • Subject — a quem pertence
  • Validity — notBefore e notAfter
  • Public Key — a chave pública do subject
  • Signature Algorithm — ex: SHA-256 with RSA
  • Signature — assinatura da CA sobre o certificado
  • Extensions (v3) — SAN, Key Usage, Extended Key Usage, etc.

Certificate Chain

Navegadores vêm com um conjunto de Root CAs confiáveis. A cadeia: certificado do servidor é assinado por uma Intermediate CA, que é assinada por uma Root CA. Se o navegador confia na Root, confia em toda a cadeia.

Let’s Encrypt

CA gratuita, automatizada e open-source. Usa o protocolo ACME. Certificados válidos por 90 dias, renovados automaticamente. Revolucionou a adoção de HTTPS.

# Inspeccionar certificado de um site
openssl s_client -connect example.com:443 -showcerts \
  </dev/null 2>/dev/null | openssl x509 -text -noout

# Verificar cadeia de certificados
openssl verify -CAfile /etc/ssl/certs/ca-certificates.crt cert.pem

6. SSL/TLS Handshake

TLS (Transport Layer Security) protege praticamente toda comunicação web. Entender o handshake é essencial para o pentester — é onde as decisões criptográficas acontecem.

TLS 1.2 vs TLS 1.3

TLS 1.3 (2018) eliminou cifras obsoletas (RC4, 3DES, CBC), forçou Perfect Forward Secrecy, e reduziu o handshake de 2 RTT para 1 RTT (ou 0-RTT com resumption).

Aspecto TLS 1.2 TLS 1.3
RTTs no handshake 2 1 (0-RTT com resumption)
Cipher suites suportadas ~37 5
PFS obrigatório Não (RSA key exchange permitido) Sim (apenas ECDHE/DHE)
CBC permitido Sim Não
AES-GCM / ChaCha20 Opcional Obrigatório (AEAD apenas)

Handshake TLS 1.3 — Diagrama


  CLIENT                                      SERVER
    |                                            |
    |  1. ClientHello                            |
    |  (cipher suites, key_share, supported_versions)
    |  -----------------------------------------> |
    |                                            |
    |  2. ServerHello                            |
    |  (cipher suite escolhida, key_share)       |
    |  <----------------------------------------- |
    |                                            |
    |  3. [EncryptedExtensions]                  |
    |  4. [Certificate]                          |
    |  5. [CertificateVerify]                    |
    |  6. [Finished]                             |
    |  <----------------------------------------- |
    |                                            |
    |  7. [Finished]                             |
    |  -----------------------------------------> |
    |                                            |
    |  ========== Application Data ===========   |
    |  (conexão segura estabelecida)             |

No TLS 1.3, o cliente já envia o key_share no ClientHello, permitindo que o servidor responda com a chave de sessão no ServerHello — tudo em 1 RTT. No TLS 1.2, a troca de chaves requeria uma mensagem extra.

Cipher Suites

Uma cipher suite define o conjunto de algoritmos: chave exchange, autenticação, cifra bulk, e MAC. Exemplo em TLS 1.3: TLS_AES_256_GCM_SHA384 — significa AES-256-GCM para cifragem, SHA-384 para HMAC.

TLS 1.3 tem apenas 5 cipher suites, todas seguras:

  • TLS_AES_256_GCM_SHA384
  • TLS_CHACHA20_POLY1305_SHA256
  • TLS_AES_128_GCM_SHA256
  • TLS_AES_128_CCM_SHA256
  • TLS_AES_128_CCM_8_SHA256

Perfect Forward Secrecy (PFS)

PFS garante que se a chave privada do servidor for comprometida no futuro, comunicações passadas permanecem seguras. Isso só é possível quando a troca de chaves usa chaves efêmeras (ECDHE ou DHE) — a chave de sessão é gerada a cada conexão e descartada depois. Sem PFS (RSA key exchange no TLS 1.2), a chave privada do servidor decifra tudo.

TLS 1.0 e 1.1 estão oficialmente deprecated (RFC 8996). Suportam cifras inseguras (RC4, DES), são vulneráveis a BEAST, POODLE, e não oferecem PFS confiável. Nenhum browser moderno aceita TLS 1.0/1.1. Se o seu assessment encontrar um site aceitando essas versões, é um finding de criticidade alta.

7. Ataques Criptográficos

Aqui está onde o conhecimento de criptografia se torna concreto para o pentester. Os ataques mais impactantes não “quebram” o algoritmo — exploram a implementação.

Brute-Force

Tentar todas as chaves possíveis até encontrar a certa. Impraticável contra AES-256 (2256 combinações), mas viável contra chaves fracas: DES (56 bits, quebrável em horas), senhas curtas, WEP keys. Ferramentas: Hashcat, John the Ripper.

Birthday Attack (Ataque dos Aniversários)

Baseado no paradoxo do aniversário: com 23 pessoas, a chance de duas fazerem aniversário no mesmo dia é ~50%. Aplicado a hashes: se uma função produz N outputs, precisa de ~√N tentativas para encontrar uma colisão. É por isso que SHA-256 (256 bits) tem força de 128 bits contra colisões — √(2256) = 2128.

Replay Attack

O atacante captura uma mensagem legítima e a reenvia. Sem proteção (timestamps, nonces, sequência numérica), o sistema aceita como nova. Mitigação: incluir nonces, timestamps, e usar protocolos com challenge-response.

Man-in-the-Middle (MITM) no TLS

  • SSL Stripping — o atacante força a comunicação para HTTP, intercepta, e faz a conexão HTTPS por ele. O usuário nem percebe. Ferramenta: sslstrip.
  • Downgrade Attack — força o cliente e servidor a negociar uma versão mais antiga/fraca do TLS. Ex: FREAK (forçar export-grade RSA de 512 bits), Logjam (forçar DHE de 512 bits).

Padding Oracle Attack

Explora sistemas que revelam se o padding de um bloco cifrado (CBC) é válido ou não. A partir dessa informação, o atacante decifra o ciphertext byte a byte — sem conhecer a chave. Vários frameworks web já foram afetados. O CEH considera isso essencial.

Ataques Históricos Famosos

  • BEAST (2011) — explora CBC no TLS 1.0. O atacante usa dados known-plaintext para decifrar blocos. Mitigação: TLS 1.1+ com 1/n-1 splitting.
  • CRIME (2012) — explora compressão (SPDY, TLS compression) para vazar cookies via chosen-plaintext. O atacante observa o tamanho da resposta para inferir o conteúdo. Mitigação: desabilitar compressão no TLS.
  • POODLE (2014) — explora CBC no SSL 3.0. Permite decifrar bytes de dados. Motivo final para depreciar SSL 3.0.
  • Heartbleed (2014) — bug no OpenSSL. Permite ler até 64KB da memória do servidor por heartbeat malformado. Vazou chaves privadas de milhares de servidores. Um dos bugs mais impactantes da história da internet.

Side-Channel Attacks

Ataques que não atacam o algoritmo diretamente, mas observam efeitos colaterais da execução: tempo de resposta (timing attack), consumo de energia, emissão eletromagnética. Se uma implementação de comparação de senhas retorna mais rápido quando o primeiro caractere está correto, o atacante pode medir o tempo e deduzir a senha caractere a caractere. Sempre compare com constant-time functions.

Lição para o pentester: Quase todo ataque criptográfico significante dos últimos 20 anos atacou a implementação, não o algoritmo. Heartbleed era um buffer overflow. POODLE era CBC mal implementado. Padding oracle era uma mensagem de erro mal colocada. A regra de ouro: não confie que “usa AES” significa “está seguro”.

8. Ferramentas

OpenSSL — O Canivete Suíço da Criptografia

OpenSSL é a biblioteca e ferramenta de linha de comando mais usada no mundo para operações criptográficas. Quase tudo que envolve TLS no Linux passa por ela.

# Cifrar um arquivo com AES-256-CBC
openssl enc -aes-256-cbc -salt -in arquivo.txt -out arquivo.enc

# Decifrar
openssl enc -aes-256-cbc -d -in arquivo.enc -out arquivo_decrypted.txt

# Gerar hash SHA-256 de um arquivo
openssl dgst -sha256 arquivo.txt

# Gerar hash com bcrypt (via Python)
python3 -c "import bcrypt; print(bcrypt.hashpw(b'senha123', bcrypt.gensalt()))"

# Verificar conexão TLS de um site (versão, cipher, certificado)
openssl s_client -connect example.com:443 -tls1_3

# Criar CSR (Certificate Signing Request)
openssl req -new -key private.key -out request.csr -subj "/CN=example.com/O=MinhaOrg"

# Criar certificado self-signed
openssl x509 -req -in request.csr -signkey private.key -out cert.crt -days 365

# Converter formatos
openssl x509 -in cert.pem -outform DER -out cert.der
openssl pkcs12 -export -in cert.crt -inkey private.key -out bundle.p12

CyberChef

Ferramenta web (open-source, pode rodar localmente) criada pela GCHQ. Interface visual tipo “data pipeline”: você encadeia operações (base64 decode → AES decrypt → hash). Ideal para CTFs e análise rápida de dados cifrados sem instalar nada.

Casos de uso: decodificar base64, identificar se um hash é reversível, tentar decifrar com chave conhecida, detectar o tipo de codificação, aplicar magic (identificação automática).

Hashcat e John the Ripper

As ferramentas padrão para cracking de hashes. Ambas suportam centenas de formatos de hash e modos de ataque (brute-force, dictionary, mask, rules).

# Hashcat — quebrar hash MD5 com wordlist
hashcat -m 0 -a 0 hash.txt rockyou.txt

# Hashcat — quebrar hash bcrypt (modo 3200)
hashcat -m 3200 -a 0 bcrypt_hash.txt rockyou.txt

# John the Ripper — detectar formato e quebrar
john --wordlist=rockyou.txt hash.txt

SSL Labs (Qualys)

Teste online gratuito que avalia a configuração TLS de qualquer site publicamente acessível. Gera uma nota A+ a F com detalhamento completo: versões suportadas, cipher suites, PFS, HSTS, cert chain, etc. Se você faz pentest web, sslabs.com é obrigatório.

testssl.sh

Script Bash que faz localmente o que SSL Labs faz remotamente. Útil para testar servidores internos, behind firewalls, ou quando você não quer enviar dados para terceiros.

# Teste completo de TLS
./testssl.sh example.com

# Testar apenas cipher suites
./testssl.sh -E example.com

# Testar apenas vulnerabilidades
./testssl.sh -U example.com

9. Hands-on

Laboratório 1: OpenSSL — PKI do Zero

# PASSO 1: Gerar par de chaves RSA
openssl genrsa -out ca.key 4096

# PASSO 2: Criar certificado da CA (self-signed)
openssl req -new -x509 -days 365 -key ca.key -out ca.crt \
  -subj "/C=BR/ST=SP/L=Sao Paulo/O=Lab Cripto/CN=Minha CA"

# PASSO 3: Gerar chave para o servidor
openssl genrsa -out server.key 2048

# PASSO 4: Criar CSR
openssl req -new -key server.key -out server.csr \
  -subj "/C=BR/ST=SP/L=Sao Paulo/O=Lab Cripto/CN=meusite.local"

# PASSO 5: Assinar o CSR com a CA
openssl x509 -req -days 365 -in server.csr -CA ca.crt -CAkey ca.key \
  -CAcreateserial -out server.crt -extfile <(echo "subjectAltName=DNS:meusite.local")

# PASSO 6: Verificar o certificado
openssl x509 -in server.crt -text -noout

# PASSO 7: Verificar cadeia
openssl verify -CAfile ca.crt server.crt
# Output esperado: server.crt: OK

Laboratório 2: Inspeccionar TLS de um Site

# Conectar e ver detalhes do handshake
openssl s_client -connect google.com:443 -tls1_3

# Extrair o certificado do servidor
openssl s_client -connect google.com:443  google.crt

# Verificar datas de validade
openssl x509 -in google.crt -noout -dates

# Verificar para qual host o certificado é válido (SAN)
openssl x509 -in google.crt -noout -ext subjectAltName

# Listar cipher suites suportadas
openssl s_client -connect google.com:443 -cipher 'ALL:COMPLEMENTOFDEFAULT'

Laboratório 3: Hashing e Identificação

# Gerar hashes para comparação
echo -n "senha123" | md5sum
echo -n "senha123" | sha256sum

# Identificar um hash desconhecido
hashid '$6$rounds=5000$saltsalt$hashhashhash...'
# Output: SHA-512 (Unix)

# Usar CyberChef para análise visual de dados codificados
# 1. Abra gchq.github.io/CyberChef/
# 2. Cole o dado suspeito no input
# 3. Adicione o operador "Magic" para identificação automática
# 4. Encadeie operações para decodificar/descriptografar

Para o CEH: Pratique com OpenSSL até os comandos ficarem naturais. Saber gerar chaves, inspeccionar certificados e testar conexões TLS é conteúdo obrigatório do exame — e do dia a dia do pentester.

10. Contra-medidas

Para cada ataque, uma defesa. Aqui estão as recomendações atuais para implementação segura de criptografia:

Algoritmos e Protocolos

  • AES-256-GCM para cifragem simétrica. É AEAD (autenticação + cifragem) e é o padrão moderno. ChaCha20-Poly1305 como alternativa quando hardware não tem aceleração AES-NI.
  • TLS 1.3 exclusivamente. Desabilite TLS 1.0, 1.1 e 1.2. Se não for possível desabilitar 1.2, restrinja cipher suites a AEAD apenas e exija PFS.
  • SHA-256+ ou SHA-3 para hashing de dados. Argon2id para senhas (bcrypt como alternativa aceitável).
  • RSA-2048 mínimo para assimétrica, preferencialmente RSA-4096 ou ECC P-256/P-384.

Certificate Pinning

Certificate pinning associa uma conexão a um certificado ou chave pública específica, impedindo que um certificado válido emitido por outra CA seja aceito. Protege contra CA comprometidas. Implementar no app (mobile/desktop) via TrustManager customizado ou em APIs via header Public-Key-Pins (embora HPKP esteja deprecated nos browsers).

Key Rotation

Rotacionar chaves periodicamente limita o dano de uma chave comprometida. Certificados Let’s Encrypt já forçam isso com validade de 90 dias. Para chaves de cifra de dados, defina uma política de rotação compatível com o ciclo de vida da aplicação.

HSM (Hardware Security Module)

HSMs são dispositivos dedicados ao gerenciamento seguro de chaves criptográficas. As chaves nunca saem do hardware — todas as operações criptográficas acontecem dentro do módulo. Protege contra extração de chaves, mesmo com acesso físico ou root ao servidor. Usado em ambientes que exigem compliance (PCI-DSS, HIPAA).

NIST Post-Quantum Cryptography

Computadores quânticos suficientemente potentes quebrariam RSA e ECC (via algoritmo de Shor). O NIST já padronizou os primeiros algoritmos pós-quânticos em 2024: CRYSTALS-Kyber (encapsulamento de chave) e CRYSTALS-Dilithium (assinatura). A transição já começou — Google, Apple e Cloudflare já implementam hibridização (X25519+Kyber) no TLS.

Geração de Números Aleatórios

Toda criptografia depende de aleatoriedade. Se o PRNG (Pseudo-Random Number Generator) for fraco ou previsível, todas as chaves geradas são comprometidas. Use /dev/urandom (Linux), CryptGenRandom (Windows) ou APIs criptográficas do SO. Nunca use rand(), Math.random(), ou seeds baseados em timestamps para fins criptográficos.

Checklist rápido para pentest: Verifique sempre: (1) versão do TLS, (2) cipher suites aceitas, (3) PFS ativo, (4) algoritmos de hash para senhas, (5) certificados válidos e cadeia correta, (6) HSTS habilitado, (7) chaves não hard-coded no código-fonte.

11. Tabela de Referência Rápida

Categoria Algoritmo Uso Status
Simétrica AES-256-GCM Cifragem de dados Padrão
Simétrica ChaCha20-Poly1305 Cifragem (mobile/IoT) Padrão
Assimétrica RSA-4096 / ECC P-256 Troca de chaves, assinatura Padrão
Troca de chaves ECDHE Handshake TLS (PFS) Obrigatório no TLS 1.3
Hash SHA-256 / SHA-3 Integridade de dados Padrão
Hash de senhas Argon2id / bcrypt Armazenamento de senhas Padrão
Protocolo TLS 1.3 Comunicação segura Padrão
Simétrica DES / RC4 Nenhum Quebrado — proibido
Hash MD5 / SHA-1 Checksums não sensíveis Quebrado — proibido para segurança
Protocolo SSL 3.0 / TLS 1.0/1.1 Nenhum Deprecated — proibido

Próximo Artigo

No Artigo 20 da série CEH v13 Zero to Hero, vamos abordar o OWASP Top 10 — as 10 vulnerabilidades web mais críticas segundo o Open Web Application Security Project. Muitas das falhas criptográficas que vimos aqui aparecem diretamente na categoria “Cryptographic Failures” do Top 10. Vamos ver como o OWASP classifica, prioriza e recomenda defesas para cada tipo de vulnerabilidade — e como o pentester usa essa lista como base para qualquer assessment web. Até lá.