Como Reverter MD5: 4 Métodos Que Realmente Funcionam (2026)

Tutorial
12 min de leitura

Alguém entrega uma string hexadecimal de 32 caracteres como 5f4dcc3b5aa765d61d8327deb882cf99 e pede para você revertê-la. Talvez tenha saído de um dump de banco em uma máquina CTF, ou um cliente queira saber se a tabela antiga de usuários ainda está segura. De qualquer forma, você precisa saber como reverter MD5, o que é realmente possível, e onde estão os limites. Pratique as técnicas deste guia direto no curso Password Cracking da HackerDNA. Para o panorama completo, veja nosso guia completo de teste de penetração.

Este tutorial cobre quatro maneiras de reverter hashes MD5 em 2026: bases de consulta online, cracking em GPU com Hashcat 6.2.6, cracking em CPU com John the Ripper 1.9.0-jumbo-1, e um brute force em Python que você lê do início ao fim. Todo comando está pronto para copiar e colar, e cada método aparece junto com seus modos de falha no mundo real.

TL;DR: Você não pode reverter MD5 matematicamente porque é uma função de hash de mão única. O que as pessoas chamam de "reverter MD5" é, na verdade, cracking: testar entradas candidatas até uma produzir o mesmo hash. Comece por uma consulta online como CrackStation, depois suba para Hashcat com rockyou.txt e best64.rule. Senhas comuns caem em segundos. Entradas longas, com salt ou aleatórias não.

Dá para reverter MD5? A resposta honesta

Reverter MD5 significa recuperar a entrada original a partir de um hash MD5 de 128 bits. MD5 é uma função criptográfica de mão única, então nenhum algoritmo deduz a entrada do hash diretamente. Na prática, "reverter MD5" descreve calcular o hash de strings candidatas e comparar cada saída com o alvo até encontrar uma que bata.

A matemática é brutal. MD5 mapeia qualquer entrada de qualquer tamanho para uma saída fixa de 128 bits. Isso dá 2^128, ou cerca de 340 undecilhões de hashes possíveis. A função não tem inversa, não tem alçapão e nenhum atalho publicado. A especificação original (RFC 1321, 1992) deixou essa propriedade explícita: MD5 é projetado para que o hash não vaze nada sobre a entrada.

Então por que todo mecanismo de busca mostra ferramentas online que prometem "descriptografar MD5" ou "unhash MD5"? Porque, para as entradas que mais interessam aos atacantes, as senhas comuns, essas ferramentas funcionam. Elas não estão revertendo a matemática. Estão consultando o hash em uma tabela gigante de hashes pré-calculados de entradas conhecidas. O vocabulário "descriptografar MD5" ou "decriptar MD5" é tecnicamente incorreto (descriptografia exige uma chave, hash não), mas o resultado prático é o mesmo: o atacante recupera o texto claro.

Duas consequências disso. Primeiro, se você defende um sistema, nunca armazene senhas como MD5 puro. A ferramenta de "descriptografia" que quebra seus hashes em 50 milissegundos é a mesma que quebra os de todo mundo. Segundo, se você está testando dentro de um trabalho autorizado, saber quais métodos são mais rápidos economiza horas de processamento ao seu escopo.

Reverter MD5 com ferramentas de consulta online

O jeito mais rápido de reverter um hash MD5 isolado é perguntar à internet se ela já viu aquilo antes. Serviços públicos mantêm bases com bilhões de pares hash-texto, alimentadas por vazamentos de senhas, dicionários e campanhas de brute force.

Os quatro que valem em 2026:

  • CrackStation - mais de 15 bilhões de entradas, gratuito, consultas instantâneas para MD5, SHA-1, SHA-256 e outros hashes comuns sem salt.
  • md5decrypt.net - reivindica uma base de 1,15 trilhão de entradas. Em sua maioria senhas comuns e palavras de dicionário, mas o tamanho gera acertos surpreendentes.
  • hashes.com - serviço pago em escrow para hashes quebrados. Útil quando o CrackStation não acha e você não tem GPU própria.
  • md5hashing.net - base gratuita menor, também gera hashes MD5 para teste.

Tente este hash no CrackStation agora: 5f4dcc3b5aa765d61d8327deb882cf99. Ele devolve "password" em menos de um segundo. Esse hash está em todo banco vazado desde 2009, e é a primeira coisa que qualquer ferramenta de cracking testa.

Consultas online funcionam quando a entrada é curta, comum, ou apareceu em algum vazamento público. Falham de forma previsível quando o hash tem salt, quando a entrada passa de cerca de 16 caracteres, ou quando a entrada contém dados aleatórios. Uma senha como Tr0ub4dor&3 pode estar em uma rainbow table; uma frase-senha como correcthorsebatterystaple provavelmente não.

Uma cautela operacional: nunca cole hashes de um trabalho real em uma consulta pública. Alguns serviços registram as queries, e os hashes de senha do seu cliente são material sensível. Para trabalho real, use sua própria infraestrutura de cracking. Para CTFs e prática, consultas online são tranquilas.

Reverter MD5 com Hashcat: o método mais rápido

Quando as ferramentas online não trazem nada, Hashcat 6.2.6 é o próximo passo. Roda em GPU, suporta MD5 nativamente (modo 0), e mastiga dezenas de bilhões de candidatos por segundo em hardware comum.

Salve seus hashes-alvo, um por linha, em hashes.txt. Em seguida, rode um ataque de dicionário direto:

hashcat -m 0 -a 0 hashes.txt /usr/share/wordlists/rockyou.txt

As flags: -m 0 seleciona MD5 como modo de hash, -a 0 seleciona o modo straight (dicionário). O último argumento é a wordlist. Em qualquer GPU moderna, isso termina em menos de um minuto. Cerca de 30 a 50% dos hashes MD5 de um dump típico caem só com rockyou.txt.

Adicione regras para transformar cada palavra da wordlist em centenas de variações:

hashcat -m 0 -a 0 hashes.txt rockyou.txt -r /usr/share/hashcat/rules/best64.rule

O conjunto best64 cobre substituições leetspeak, troca de maiúsculas, adição de dígitos e inversão. Transforma "summer" em "Summer1", "summer2024", "S0mm3r" e centenas de variantes. Depois de best64, tente dive.rule para um filtro mais largo ao custo de mais tempo de processamento.

Se você conhece a política de senha, ataques por máscara batem ataques por dicionário. Para testar todo padrão "1 maiúscula + 4 minúsculas + 3 dígitos":

hashcat -m 0 -a 3 hashes.txt ?u?l?l?l?l?d?d?d

Números de velocidade em uma única RTX 4090 em 2026: cerca de 164 bilhões de hashes MD5 por segundo. Uma senha de 8 caracteres só em minúsculas (cerca de 208 bilhões de candidatos) cai em 1,3 segundo. A mesma senha contra bcrypt cost 12 leva semanas. Esse abismo é a razão de MD5 ser inadequado para guardar senhas mesmo com salt mal feito.

Para o passo a passo completo multi-algoritmo cobrindo SHA-1, NTLM, bcrypt e shadow files, veja nosso tutorial de hash cracking.

💻
Pratique agora: Shadow Cracker - extraia e quebre hashes de senha reais de um sistema Linux em um lab no navegador. Sem instalação, sem VPN, tudo no seu navegador.

Reverter MD5 com John the Ripper

John the Ripper 1.9.0-jumbo-1 é a alternativa amigável à CPU quando Hashcat é exagero ou você não tem GPU dedicada. John detecta a maioria dos formatos de hash automaticamente, então a linha de comando básica fica curta:

john --format=Raw-MD5 --wordlist=/usr/share/wordlists/rockyou.txt hashes.txt

A flag --format=Raw-MD5 diz ao John que seus hashes são MD5 puro sem salt (e não, por exemplo, MD5crypt vindo de um shadow file Linux). Sem essa flag, John tenta adivinhar, e em strings hexadecimais de 32 caracteres ele às vezes adivinha NTLM. Seja explícito.

Para ver o que John já quebrou em runs anteriores:

john --show --format=Raw-MD5 hashes.txt

O recurso matador do John é a família de scripts *2john, que extraem hashes MD5 de arquivos criptografados: pdf2john, zip2john, office2john. Esses scripts produzem hashes que o Hashcat sozinho não consegue extrair. Escolha John quando você tem um mix de formatos ou só CPU disponível. Escolha Hashcat quando velocidade pura em um tipo de hash conhecido importa.

Reverter MD5 em Python: exemplo de código brute force

Às vezes você quer entender a mecânica em vez de tratar Hashcat como caixa preta. Aqui vai um brute force em 12 linhas de Python para qualquer hash MD5 de 5 caracteres em minúsculas, usando só a biblioteca padrão:

import hashlib
import itertools
import string

target = "5d41402abc4b2a76b9719d911017c592"  # md5 de "hello"
charset = string.ascii_lowercase

for length in range(1, 6):
    for guess in itertools.product(charset, repeat=length):
        candidate = "".join(guess)
        if hashlib.md5(candidate.encode()).hexdigest() == target:
            print(f"Found: {candidate}")
            exit()

Esse script testa toda string em minúsculas até 5 caracteres. O espaço de busca é 26 + 26^2 + ... + 26^5, ou cerca de 12 milhões de candidatos. Em uma CPU de notebook recente, o loop termina em 5 a 15 segundos.

MD5 em Python puro roda a cerca de 1 milhão de hashes por segundo. Hashcat na GPU integrada da mesma máquina faz cerca de 2 bilhões. Esse fator de 2.000x explica por que ninguém quebra hashes do mundo real em Python. O script serve para aprender o que o hashing realmente faz, não para produção.

Para estendê-lo: troque o charset para string.printable, aumente o range de comprimento, ou leia candidatos de um arquivo wordlist com open("rockyou.txt"). A forma do loop continua idêntica, e essa é toda a graça do exercício.

Quando você não consegue reverter um hash MD5

Todo método de cracking nesta página tem o mesmo modo de falha: se o espaço de busca é grande demais, você não consegue percorrê-lo. Três situações tornam MD5 efetivamente inquebrável na prática.

Salt. Um MD5 com salt junta um valor aleatório por usuário antes de calcular o hash. Dois usuários com a mesma senha recebem hashes diferentes, o que mata as rainbow tables completamente. Você ainda pode atacar MD5 com salt usando Hashcat (modo 10 para md5($pass.$salt) ou 20 para md5($salt.$pass)), mas precisa quebrar cada hash individualmente. As consultas online deixam de funcionar.

Entradas longas e aleatórias. Uma senha aleatória de 16 caracteres tirada de um conjunto de 95 caracteres tem 95^16 (cerca de 4,4 * 10^31) possibilidades. A 164 bilhões de hashes por segundo, isso leva mais que a idade do universo. Tokens aleatórios criptograficamente fortes, UUIDs e chaves de API geradas por máquina ficam todos nessa categoria.

Hashing moderno de senhas. Aplicações reais em 2026 não armazenam mais MD5 puro. Elas usam bcrypt, scrypt ou argon2 com parâmetros de custo deliberados que fazem cada hash demorar milissegundos em vez de nanossegundos. O Password Storage Cheat Sheet da OWASP detalha o que usar e por quê.

Na prática, os hashes que caem são os que nunca deveriam ter sido MD5. Em testes de aplicações reais, MD5 puro aparece em sistemas legados, ferramentas internas que ninguém atualizou, ou tabelas migradas de bancos antigos. Código novo guardando senhas em MD5 em 2026 é negligência profissional. O mesmo fluxo se aplica a outros hashes rápidos sem salt: tente a mesma abordagem contra SHA-1 no nosso lab crack SHA-1 hash.

FAQ: Reverter MD5

Dá para reverter um hash MD5 matematicamente?

Não. MD5 é uma função de hash criptográfica sem inversa matemática. A função mapeia qualquer entrada para uma saída fixa de 128 bits e descarta informação no processo. O que as pessoas chamam de "reverter MD5" é brute force ou consulta em base, não inversão matemática real. Nenhum algoritmo publicado recupera a entrada a partir do hash diretamente.

"Descriptografar MD5" e "reverter MD5" são a mesma coisa?

Sim, no uso casual. As duas frases descrevem recuperar texto claro a partir de um hash. O vocabulário de "descriptografia" é tecnicamente incorreto porque hashing não tem chave e não é criptografia. Mas ferramentas online e buscas usam "descriptografar MD5", "decriptar MD5", "MD5 decoder" e "unhash MD5" de forma intercambiável. A técnica por trás é sempre consulta ou brute force.

Quanto tempo leva para reverter um hash MD5?

De milissegundos a nunca. Uma senha comum como "password" ou "qwerty123" está em toda rainbow table e reverte instantaneamente. Uma senha de 8 caracteres em minúsculas cai em menos de 2 segundos em uma única GPU. Uma senha aleatória de 16 caracteres é computacionalmente inviável. A única resposta honesta: depende da entrada.

O que significa "unhash MD5"?

"Unhash" é uma gíria informal para quebrar um hash de volta ao texto claro. É a mesma operação que "reverter MD5" ou "descriptografar MD5". A palavra sugere que a operação é o oposto de hashear, mas matematicamente não é. Ferramentas que prometem "unhashear" qualquer entrada usam rainbow tables ou brute force por baixo dos panos.

MD5 ainda é seguro para senhas em 2026?

Não. MD5 é considerado criptograficamente quebrado desde 2004 e inadequado para armazenar senhas há pelo menos uma década. Aplicações modernas devem usar bcrypt, scrypt ou argon2 com parâmetros de custo apropriados. MD5 mantém usos legítimos estreitos para checksums sem ligação com segurança, mas nunca para credenciais, tokens de sessão ou qualquer coisa que um atacante queira recuperar.

Qual a diferença entre consulta reversa de MD5 e brute force?

Uma consulta reversa compara o hash com uma base pré-calculada de pares hash-texto conhecidos. É instantânea quando o hash está na base e inútil quando não está. O brute force gera candidatos, hasheia cada um e compara com o alvo. O brute force sempre funciona com tempo suficiente, mas o tempo cresce exponencialmente com o tamanho da entrada.

Considerações legais e éticas

Lembrete crítico: Só tente reverter hashes MD5 que você tenha autorização escrita explícita para testar. Quebrar hashes de sistemas que você não possui viola o CFAA (EUA), o Computer Misuse Act (Reino Unido) e leis equivalentes mundo afora.

Trabalhos de pentest autorizados e competições CTF são os únicos contextos apropriados para quebrar hashes que você não gerou. O escopo de qualquer engajamento deve mencionar explicitamente quebra de senhas como atividade autorizada. Se não menciona, peça confirmação por escrito do cliente antes de extrair ou atacar qualquer material de hash.

Para prática e estudo individual, fique em ambientes feitos para isso: labs HackerDNA, máquinas VulnHub, Hack The Box, OverTheWire, ou qualquer plataforma CTF. Eles existem justamente para a prática ofensiva e não trazem risco legal. Gerar seus próprios hashes MD5 localmente com echo -n "test" | md5sum também serve para testar ferramentas e scripts.

Uma linha ética para segurar: não baixe dumps de credenciais de vazamentos reais. O dataset é tentador porque os hashes são reais e a taxa de acerto é alta, mas posse de material de credenciais roubadas cria exposição legal mesmo com intenção de pesquisa. Conjuntos de treino públicos como rockyou.txt são exceção porque são distribuídos por organizações de segurança há anos e já vêm no Kali Linux.

Seus próximos passos para reverter hashes MD5

Agora você tem quatro formas de reverter MD5 no kit: consultas online para senhas conhecidas, Hashcat para velocidade pura de GPU, John the Ripper para CPU e formatos mistos, e Python quando quer entender a mecânica. Cada uma serve a uma situação, e um pentester ativo pega aquela que cabe no engajamento.

O fluxo realista em um teste real: comece por uma consulta gratuita como CrackStation para limpar as vitórias óbvias, depois rode Hashcat com rockyou.txt e best64.rule no que sobrou. Se os hashes têm salt, pule direto para Hashcat com o modo certo (10 ou 20). Pule Python por completo no trabalho de produção; guarde para o lab quando quiser ensinar a mecânica para alguém novo.

Pratique essas técnicas direto no lab Shadow Cracker da HackerDNA, onde você extrai hashes de senha de um sistema Linux ao vivo e os quebra no navegador. Faça o curso completo de Password Cracking para aulas guiadas em MD5, SHA-1, NTLM e formatos de shadow file. Se quiser entender por que a escolha de wordlist importa mais que o conjunto de regras, nosso guia de wordlist Gobuster cobre seleção de wordlist a fundo. Comece pelo plano gratuito da HackerDNA, sem cartão de crédito.

HackerDNA Team

Equipe HackerDNA

Escrito pela equipe HackerDNA - profissionais de cibersegurança que criam labs práticos de hacking e conteúdo educativo para ajudar você a desenvolver habilidades reais em segurança.

Conhecer a Equipe

Pronto para colocar isso em prática?

Pare de ler, comece a hackear. Ganhe experiência prática com mais de 170 labs de cibersegurança reais.

Comece a Hackear Grátis
12.000+ Hackers 100+ Labs & Cursos Grátis
Comece Grátis