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: 50.359 ]

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

Como assinar digitalmente um documento criado no Br/OpenOffice

IDS com Snort + Guardian + Debian Lenny

Configurando proxy no shell

Administrando Linux via web (parte 1)

SELinux - Security Enhanced Linux

  
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

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts