Como quebrar senhas de arquivos rar, 7z e zip

Quebrar senhas de arquivos compactados é sempre possível e, relativamente, fácil. O que varia é o tempo que você vai levar para concluir esta tarefa.
Vou mostrar como revelar a senha de um arquivo compactado em rar,
7z ou zip.
Zipper over blue tissue
O programa rarcrack foi desenvolvido sob a licença GPL, por David Zoltan e é mantido, atualmente, pelo programador dinamarquês Ole Wolf.
Ele é capaz de quebrar senhas não muito complicadas em questão de minutos ou segundos.
Se você tiver uma máquina lenta e uma senha mais complexa pela frente, contudo, esta tarefa pode acabar lhe tomando algumas horas.
O rarcrack usa um algoritmo de força bruta para descobrir a senha do arquivo.

O que é força bruta?

Em criptografia um ataque de força de bruta – ou de busca exaustiva – é um ataque critoanalítico rudimentar, recomendado quando outros métodos não forem possíveis.
O ataque consiste em testar sistematicamente todas as combinações de caracteres possíveis, até encontrar a que corresponde à senha.
Justamente por isto, pode ser um método muito demorado para quebrar a segurança de um arquivo.

Como baixar e instalar o rarcrack

O rarcrack pode ser baixado no site oficial do aplicativo ou instalado direto dos repositórios (se você estiver usando o Debian ou o Ubuntu).
Vamos abordar alguns métodos de instalação — e você pode usar o que achar que serve melhor pra você.

Como instalar o rarcrack no Ubuntu ou Debian

Abra um terminal (Ctrl + Alt +T) e digite os seguintes comandos:

sudo apt-get install rarcrack

Se você estiver usando o Ubuntu 12.04 LTS, deve instalar algumas PPAs primeiro. acrescente as linhas abaixo, ao arquivo /etc/apt/sources.list:

deb http://ppa.launchpad.net/ole.wolf/rarcrack/ubuntu precise main 
deb-src http://ppa.launchpad.net/ole.wolf/rarcrack/ubuntu precise main

Em seguida, execute os seguintes comandos de instalação:

sudo apt-get update
sudo apt-get install rarcrack

Como baixar e compilar o código fonte

Comece por baixar o código fonte no link abaixo:
Site de download do rarcrack.
Ao seguir os passos, abaixo, substitua VERSION pelo número da versão do arquivo baixado:

tar -xjf rarcrack-VERSION.tar.bz2
cd rarcrack-VERSION
$ make
$ make install

Você vai precisar ter privilégios administrativos (root) para executar o último passo, acima.

Como recuperar a senha de um arquivo compactado

O rarcrack é um aplicativo de linha de comando, de execução muito simples.
Normalmente, basta digitar:

rarcrack nome-do-arquivo.zip

Se o rarcrack não reconhecer o tipo seu tipo de arquivo, basta informar:

rarcrack --type zip exemplo.zip

A saída do aplicativo, enquanto ele trabalha, é mais ou menos assim:

RarCrack! 0.2 by David Zoltan Kedves (kedazo@gmail.com)
INFO: the specified archive type: zip
INFO: cracking exemplo.zip, status file: exemplo.zip.xml
Probing: 'la' [457 pwds/sec]
Probing: 'GN' [447 pwds/sec]
Probing: '02D' [451 pwds/sec]
Probing: '0oq' [450 pwds/sec]
Probing: '0Lv' [477 pwds/sec]
Probing: '191' [485 pwds/sec]
Probing: '1wn' [482 pwds/sec]
Probing: '1SA' [459 pwds/sec]
Probing: '2g7' [486 pwds/sec]
Probing: '2Ce' [457 pwds/sec]
Probing: '2YR' [467 pwds/sec]
Probing: '3kI' [451 pwds/sec]
Probing: '3Ho' [468 pwds/sec]
Probing: '45a' [491 pwds/sec]
Probing: '4rY' [471 pwds/sec]
Probing: '4P2' [476 pwds/sec]
Probing: '5cJ' [489 pwds/sec]
Probing: '5AW' [500 pwds/sec]
Probing: '5Yq' [485 pwds/sec]
Probing: '6lP' [483 pwds/sec]
Probing: '6IP' [475 pwds/sec]
Probing: '76I' [493 pwds/sec]
Probing: '7tX' [480 pwds/sec]
Probing: '7R4' [477 pwds/sec]
Probing: '8em' [481 pwds/sec]
Probing: '8Dc' [513 pwds/sec]
Probing: '90L' [487 pwds/sec]
Probing: '9mO' [455 pwds/sec]
Probing: '9Ja' [462 pwds/sec]
Probing: 'a5p' [459 pwds/sec]
GOOD: password cracked: 'abc'

Como você pode ver, no meu caso, o programa revelou que a senha era “abc“.

Como quebrar a senha mais rápido

É possível acelerar o processo, fazendo uso do recurso de multithreads presente em seu processador.
Máquinas mais modernas podem executar vários “pedaços” das tarefas simultaneamente — recurso chamado multithreading.
Para fazer uso deste recurso e ganhar tempo, use o parâmetro --threads.

rarcrack --threads 4 --type zip exemplo.zip
RarCrack! 0.2 by David Zoltan Kedves (kedazo@gmail.com)

INFO: the specified archive type: zip
INFO: cracking exemplo.zip, status file: exemplo.zip.xml
INFO: Resuming cracking from password: '1tC'
Probing: '2hD' [1029 pwds/sec]
Probing: '34Z' [1020 pwds/sec]
Probing: '3OM' [946 pwds/sec]
Probing: '4re' [794 pwds/sec]
Probing: '53l' [787 pwds/sec]
Probing: '5FF' [792 pwds/sec]
Probing: '6hP' [788 pwds/sec]
Probing: '6U5' [790 pwds/sec]
Probing: '7v4' [764 pwds/sec]
Probing: '83t' [711 pwds/sec]
Probing: '8Ef' [760 pwds/sec]
Probing: '9bi' [683 pwds/sec]
Probing: '9I3' [677 pwds/sec]
GOOD: password cracked: 'abc'

Se você quiser saber o número máximo de threads que seu sistema suporta, no Linux, use o comando lshw:

sudo lshw | grep thread
configuração: cores=2 enabledcores=2 threads=4

Uma thread é a menor sequência de uma instrução de um programa, que possa ser executada independentemente por um scheduler.
Saiba mais no Wikipedia.

O rarcrack suporta o máximo de 12 threads
Por fim, se quiser interromper o processo, use Ctrl + C. O aplicativo retoma o trabalho no ponto em que parou, caso você decida executá-lo novamente.

Referências:

https://launchpad.net/~ole.wolf
http://pt.wikipedia.org/wiki/For%C3%A7a_bruta
https://launchpad.net/~ole.wolf/+archive/ubuntu/rarcrack