Recuperando senhas de usuários

Esse é assunto muito batido para os mais experientes, mas para os que estão iniciando agora, o que vejo
bastante por aqui, vale a pena dar uma conferida, pois é bem simples e rápido.

[ Hits: 45.932 ]

Por: Alexon Ferreira de Oliveira em 07/06/2011 | Blog: https://www.linkedin.com/in/alexon-ferreira-de-oliveira-3253b550


O problema



Somos seres humanos. Básico. E como seres humanos que somos, estamos suscetíveis a falhas nossas e de outros iguais. Uma falha muito comum é a de esquecer senhas! Quem nunca passou por esse problema uma vez na vida? Ainda mais para os que trabalham justamente manipulando centenas delas. Ou mesmo que não as esqueça... mas e se alguém propositalmente mudou a senha de seu usuário? Como resolver isso?

A seguir veremos como proceder de forma bem simples para quebrar a senha de qualquer usuário do sistema, inclusive o root! E também mostrarei uma maneira simples de se proteger disso.

Esse artigo volta-se para o gerenciador de inicialização GRUB, mas também é válido para o LILO. O sistema operacional é independente, salvo em casos de configurações de segurança que tenham sido aplicadas.

Mãos à obra!

A solução

Assumindo que você já possui algum conhecimento sobre gerenciamento de senhas de usuários e permissões, vamos em frente.

Em primeiro lugar, reinicie a sua máquina. Após a reinicialização, à partir da tela do Grub, edite a linha referente ao boot do kernel. No Grub basta selecionar a linha do Linux e pressionar a tecla "E". Em seguida, pressione "E" novamente na linha do kernel, normalmente a segunda, para editá-la.

Nessa tela, você verá alguns comandos e configurações que são passados ao kernel pelo Grub no momento do boot do sistema. Você terá de digitar agora um parâmetro adicional ao kernel desviando o INIT.

A última linha da tela será algo como a linha de exemplo abaixo:

kernel = (hd0,0)/boot/vmlinuz-2.6.35-28255U10_1cl root=/dev/hda1

Na frente dessa última linha, dê um espaço e insira o seguinte parâmetro: init=/bin/bash

A linha ficará assim:

kernel = (hd0,1)/boot//vmlinuz-2.6.35-28255U10_1cl root=/dev/hda1 init=/bin/bash

Feito isso, pressione ENTER para alterar e em seguida pressione "B" para disparar o kernel. Se for o Grub2, pressione "Ctrl+X" apenas.

O kernel irá subir, mas o INIT será desviado abrindo um BASH para você com os poderes de root. O INIT não foi disparado, portanto nada deve funcionar, inclusive os aplicativos indicados no seu PATH. Isso fará com que seu sistema seja montado como somente leitura, impedindo-o de efetuar qualquer alteração.

Para que possa alterar alguma coisa, você deverá montar o sistema com permissão de leitura e escrita, mas não há como desmontar. Então faça isto da seguinte forma:

# mount -o remount,rw /

Dessa maneira, você receberá permissão para efetuar alterações. Tudo que você deve fazer agora é editar o arquivo aonde ficam as senhas criptografas dos usuários, o /etc/shadow. Utilize um editor de texto para isso, como o vim por exemplo. Faça assim:

# vim /etc/shadow

Localize a linha referente à senha do root; ou do usuário desejado. No meu exemplo irei utilizar o root. A linha referente a ele é a seguinte:

root:$6$524.VMbK$eHvusRkziT9gPWR/TEqwyM.KEB67MCvcaYJazPs.:15094:0:99999:7:::

Esses diversos números e letras misturados indicam a senha do usuário root que está criptografada. Para facilitar, vou reescrevê-la assim:

root:SENHACRIPTOGRAFADA:15094:0:99999:7:::

Melhorou né?! =)

Os dados estão separados por colunas usando o : (dois pontos) como delimitador. No caso o conteúdo SENHACRIPTOGRAFA representa a senha de root criptografada. Tudo o que precisa fazer agora é deletar esse conteúdo, mas não remova o : (dois pontos) antes nem o depois da senha! Isso pode comprometer seu sistema!

A linha ficará assim:

root::15094:0:99999:7:::

Salve as configurações e feche o arquivo.

Prontinho! Feito isso, você zerou a senha do root. Basta reiniciar a máquina normalmente que a senha do root estará vazia. Lembre-se que o INIT não foi acionado, portanto qualquer comando para reiniciar a máquina que você tentar utilizar falhará. Portanto, nesse caso você usará o bom e velho DEDO NO RESET para reiniciar manualmente mesmo! Não se preocupe porque se você salvou as configurações elas não serão perdidas.

Após reinicializar normalmente, logue como root e apenas pressione ENTER no momento da senha sem digitar nada que o login será efetuado com sucesso. O processo é o mesmo para seu usuário, você escolhe. Faça como root porque pelo menos assim você já altera a senha do root ao mesmo tempo que já tem privilégios para depois alterar a senha do seu usuário.

Está feito.

Não é nada de outro mundo, mas ajuda demais quando se esquece ou mudam sua senha de propósito.

Mas aí surge a pergunta: "O que impede outra pessoa de fazer o mesmo e quebrar minha senha?" A resposta é: NADA... a não ser que você faça o que direi a seguir no próximo tópico!

    Próxima página

Páginas do artigo
   1. O problema
   2. A proteção
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Configurando logout automático para conta root

Aquisição Estática de Dados em Computação Forense

Instalação do ClamAV com DazukoFS

Segurança em seu Linux (parte 2)

Servidor para centralização de logs - Fedora 7

  
Comentários
[1] Comentário enviado por ratotnt em 07/06/2011 - 15:27h

Se o servidor tiver um cdroom/usb/pendrive e vc um livecd, uma forma fácil de burlar esta proteção por senha é bootar o servidor pelo livecd, montar o hd e alterar o arquivo de senhas da mesma forma.

Com acesso local, independente do sistema sempre vai existir uma forma de recuperar/alterar uma senha.

[2] Comentário enviado por tiekookeit em 07/06/2011 - 15:40h

Parabéns pela dica, por usar linux, já aprendi isto a muito tempo atrás da mesma forma que o sapo precisa pula hehe,
mas eu acho que você deveria ter chamado a dica de resetando a senha de um usuário no unix ou coisa assim.
:) mesmo assim, parabens!


[3] Comentário enviado por RamonMedeiros em 07/06/2011 - 16:50h

Concordo com o tiekookeit,

pois para recuperar a senha seria necessário um Rainbow Tables.


Parabéns pelo artigo.

[4] Comentário enviado por removido em 07/06/2011 - 19:48h

Boa dica valeu pela ajuda,

agora quanto ao live cd,
é só colocar senha na BIOS, senha no GRUB, senha no linux e senha na Internet(no meu caso via radio).

[5] Comentário enviado por alexonoliveira em 07/06/2011 - 21:45h

Obrigado pelos comentários. O foco no artigo é ser simples, nada de mais avançado. Realmente para recuperar senhas o Rainbow Tables é bom, como disse o RamonMedeiros. Boa sugestão do nome de artigo tiekookeit. Quanto ao livecd, como o luizrocha13 comentou, uma boa senha no SETUP com user password configurado já daria uma proteção extra ratotnt, mas esse é outro assunto. Querendo ou não, sempre vai existir uma maneira de burlar qualquer tipo de segurança. Mas esse artigo é voltado para os iniciantes, como mencionei. Por isso preferi não colocar nada muito além do que já está aí. Porém, todas as sugestões são válidas. =D

[6] Comentário enviado por tonnytg em 08/06/2011 - 22:02h

Tipo na empresa que to, existem dois debians como server com senhas idênticas porem um deles alguém troco a senha sem perceber, logo ficamos sem poder reiniciar mas para resolver, metemos a cara e reiniciamos para tentar alguns processos semelhantes ao artigo. Mas passo na cabeça retardado mas que poderia dar certo copiar o shadow de um para o outro já que eram iguais a senhas e ambos debian, e funciono huahuahu.. copiamos só o arquivo shadow. =D

[7] Comentário enviado por paulorvojr em 09/06/2011 - 03:03h

belo artigo, parabéns.

mas root:$6$524.VMbK$eHvusRkziT9gPWR/TEqwyM.KEB67MCvcaYJazPs.:15094:0:99999:7:::
isso é para distribuição boba

o certo é;

root:x.:15094:0:99999:7:::

nada de dar muita hash pro meliante descobrir a senha... o negócio é dificultar, facilitar ta errado.


[8] Comentário enviado por alexonoliveira em 09/06/2011 - 19:41h

Legal dualshoott. No seu caso como os servidores eram praticamente idênticos ele aceitou a cópia. Mas não é muito aconselhável fazer isso sempre hein, rs.
O que você disse é verdade paulorvojr. Mas o meu exemplo ficou com essa hash monstruosa porque estava usando Ubuntu 11.04 no momento, e o seu é mais padrão Debian, rs. Mas é verdade, para que facilitar se podemos complicar, correto?! ;D

[9] Comentário enviado por thundera em 09/10/2011 - 02:24h

Parabéns pelo artigo!

Mas tenho uma duvida na seguinte parte:

A linha ficará assim:

root::15094:0:99999:7:::

Salve as configurações e feche o arquivo.

Qual comando para salvar?


[10] Comentário enviado por JJSantos em 08/12/2011 - 19:23h

Já existem diversos artigos e dicas sobre esse mesmo assunto aqui no VOL e em outros sites.....

nota 5


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts