Mostrando postagens com marcador quebrar. Mostrar todas as postagens
Mostrando postagens com marcador quebrar. Mostrar todas as postagens

sexta-feira, 3 de fevereiro de 2012

Descobrindo senhas no Linux com o John the Ripper

O programa John the Ripper (http://www.openwall.com/john/) é capaz de quebrar senhas de usuários em diversos sistemas operacionais, incluindo Unix, Linux, Windows e DOS. Seu propósito inicial é detectar senhas fracas, para que o administrador do sistema solicite ao usuário que altere sua senha. O John the Ripper é capaz de identificar o algoritmo utilizado para gerar os hashes das senhas.

Um sistema Linux tradicional armazena as senhas das contas dos usuários no arquivo /etc/passwd. As distribuições modernas utilizam o arquivo /etc/shadow para armazenar as senhas. Desta forma, primeiramente é necessário combinar o /etc/passwd e o /etc/shadow em um único arquivo para que o programa john reconheça o conteúdo. Use uma linha de comando semelhante a apresentada a seguir:

# unshadow /etc/passwd /etc/shadow > senhas.txt

Neste primeiro momento é necessário acessar como root para ter permissão de leitura nos arquivos em /etc/. Se preferir, copie os arquivos /etc/passwd e /etc/shadow para um diretório de usuário e execute o comando unshadow por este usuário nas cópias do passwd e shadow:

$ unshadow passwd shadow > senhas.txt

Agora podemos executar o programa john neste arquivo combinado de senhas, para que o programa quebre as senhas encontradas:

$ john senhas.txt

Pode ser interessante, para não perder tempo, especificar determinado usuário para quebrar a senha. Há algumas formas para fazer isto, com a opção --users, especificando o nome do usuário, o número UID, ou excluindo os outros usuários. As três linhas abaixo são exemplos para cada uma das formas:

$ john --users=convidado senhas.txt
$ john --users=503 senhas.txt
$ john --users=-root,joao,pedro senhas.txt

Quando o programa john está em execução, ele não exibe as tentativas de quebra, mas uma linha de palpites pode ser exibida pressionando a tecla Espaço. Esta linha possui informações como tempo gasto, caracteres por segundo, tentativas de senhas etc. Para abortar pressione Ctrl+C.

Ao encontrar a senha, ela é exibida junto com o nome do usuário. As senhas quebradas serão armazenadas no arquivo ~/.john/john.pot, para consultas posteriores, com o comando:

$ john --show senhas.txt

Veja um exemplo completo de comando e resposta do programa john (a senha da conta convidado é 123):

$ john --users=convidado senhas.txt
Loaded 1 password hash (generic crypt(3) [?/64])
123              (convidado)
guesses: 1  time: 0:00:00:05 100% (2)  c/s: 146  trying: 12345 - missy

A senha 123 é muito simples e rápida de se quebrar. Entretanto, senhas com oito ou mais caracteres alfanuméricos, armazenadas com a função crypt(), podem demorar um bocado para serem quebradas.

Por exemplo, sem contar caracteres especiais e maiúsculas, pode-se usar as 26 letras e os 10 números para compor um dígito da senha. Uma senha com 8 dígitos pode ser formada de 36 elevado à 8 arranjos diferentes, ou seja, 2,82e+12 arranjos. Isto é relativamente imenso. Se um computador pudesse processar 10 milhões de senhas por segundo, apenas comparando o hash, a quebra desta senha por força-bruta poderia levar até 78 horas. É tempo razoável mas possível.

Com a necessidade de usar a função crypt(), o desempenho no número de senhas por segundo cai bastante. Pois felizmente, as distribuições Linux adicionam um "salt", forçando o uso da função crypt(), para dificultar a quebra por força-bruta com Hash Tables.

O modo de uso do programa john, apresentado neste artigo, não utiliza Hash Tables. Os arranjos são gerados e calculados com a função crypt() em cada tentativa. Isto atrasa bastante o processo.

O programa John the Ripper utiliza alguns modos para otimizar a quebra da senha e possui algumas opções para sua linha de comando. Consulte a documentação, normalmente localizada em /usr/share/doc/john-x.x.x/, para saber mais.

quinta-feira, 4 de novembro de 2010

Mais uma forma de zerar a senha de um usuário do Windows

Algumas distribuições de Linux disponibilizam em seu repositório oficial de softwares o utilitário capaz de zerar as senhas dos usuários do Windows. Estou me referenciando ao "The Offline NT Password Editor", já citado em um artigo anterior (http://dan-scientia.blogspot.com/2009/12/como-zerar-as-senhas-dos-usuarios-do.html).

O arquivo executável deste utilitário chama-se chntpw e geralmente vem no pacote de mesmo nome. Caso sua distribuição não o forneça, você poderá encontrá-lo no site "http://pogostick.net/~pnh/ntpasswd/".

O chntpw é um utilitário para ver algumas informações e modificar as senhas no arquivo de dados de usuários SAM, em um Windows NT/2000. Este arquivo também é utilizado pelos Windows XP, Vista e 7.

Não é necessário saber a senha antiga para definir uma nova senha. Para que o utilitário funcione é preciso acessar o sistema Windows em modo offline, ou seja, a partir de um outro sistema que esteja operando no computador. O artigo anterior citava um CD de inicialização mas quem, por exemplo, está com o sistema Windows em um HD avulso, pode utilizar o Linux que está em sua máquina para montar este HD e realizar o procedimento.

Em um pequeno passo a passo, veja estes exemplos:

No seu sistema Linux, monte a partição que contém o sistema Windows;

# mount -t ntfs-3g -o force /dev/sda2 /mnt/ntfs/

Vá até a pasta que contém o arquivo SAM;

# cd /mnt/ntfs/Windows/System32/config/

Liste os usuários existentes no arquivo SAM;

# chntpw -l SAM

Especifique exatamente o usuário que terá a senha zerada;

# chntpw -u "Nome do Usuário" SAM

Na próxima tela escolha a opção 1 e pressione a tecla Enter. Isto irá zerar a senha do usuário, deixando-a em branco. Depois, o utilitário vai perguntar para gravar a mudança. Responda Y e pressione a tecla Enter. O resultado é a expressão OK.

Na próxima vez que este sistema Windows for iniciado, o usuário em questão estará sem senha de login.

Este método não funciona em um sistema Windows criptografado.

segunda-feira, 25 de outubro de 2010

Recuperando a senha do administrador ou usuário do Windows

Uma outra opção para o utilitário já citado neste blog (http://dan-scientia.blogspot.com/2009/12/como-zerar-as-senhas-dos-usuarios-do.html) é o Stellar Phoenix Password Recovery. Este software, com uma interface bem mais amigável, também pode zerar as senhas das contas dos usuários no sistema operacional Windows.

O Stellar Phoenix Password Recovery é compatível com o Windows 7, Vista, XP, 2003, Server (2000-2008) e 2000. Basta iniciar o computador com o CD da versão de boot do Stellar Phoenix Password Recovery e, com apenas alguns cliques do mouse, zerar as senhas das contas que necessitar.


Outras situações de quebra de senha, como senhas armazenadas em navegadores, clientes de e-mail, mensageiros instantâneos e até números seriais de registro de softwares, também é possível por este software.

O Stellar Phoenix Password Recovery não é um software gratuito mas vale a pena comprá-lo. Bastante útil em assistência técnica de computadores e computação forense. Mais informações em http://www.stellarinfo.com/password-recovery.htm.

terça-feira, 15 de dezembro de 2009

Como zerar as senhas dos usuários do Windows

Existe um utilitário denominado "Offline NT Password & Registry Editor" que é capaz de zerar as senhas dos usuários de um sistema Windows NT/2000/XP/Vista etc., inclusive a senha do administrador do sistema. Este utilitário pode ser encontrado neste site: http://pogostick.net/~pnh/ntpasswd/

Este utilitário zera ou redefine a senha de qualquer usuário que possua uma conta local válida no sistema Windows. Não é necessário saber a senha antiga para definir uma nova senha.

Para este utilitário entrar em funcionamento é necessário reiniciar a máquina efetuando o boot pelo CD ou disquete que contém o utilitário e então será mostrada uma opção para destravar ou até desabilitar uma conta de usuário. Este processo pode ser realizado de uma forma automática ou com a interação do usuário, escolhendo a partição que contém o Windows etc.

O sistema que compõe este utilitário é um Linux, preparado para acessar um sistema Windows e realizar as alterações no registro. Sua interface é bastante simples, com uma série de perguntas para guiar o usuário durante o processo.

Ao término basta reiniciar a máquina pelo Windows e logar-se na conta do usuário sem a necessidade de digitar a senha.