por Marcos Elias
Este texto é uma parte isolada de como resetar senhas ou obter acesso não permitido em um determinado sistema operacional. Recomendamos que você leia também o "Guia Definitivo", que mostra como hackear as senhas de diversas versões do Windows (9x/Me/NT/2000/2003/XP) e do Linux. Acesse por aqui:
http://janelasepinguins.blogspot.com/2007/04/hackeando-as-senhas-no-windows-guia.html
Muitos usuários fãs do Linux podem até me criticar por escrever este texto… Mas falei de como fazer isso no Windows, e se dá, porque não também no pingüim?! Segurança zero! Isso é bom para incentivar as empresas e o pessoal de TI (ou até mesmo em casa) a aplicarem medidas físicas de segurança, pois não basta via software.
O Linux, mais poderoso do que o Windows Server 2003 (rs) tem uma ferramenta que pode ser um perigo nas mãos erradas: chroot. Incluso em praticamente todas as distribuições (pelo menos, em todas as distribuições sérias e que visem uma boa administração), ele permite obter acesso como root em um sistema Linux, desde que o usuário já possua acesso como root em outro sistema Linux. Em outras palavras, ele monta a pasta raíz "/" numa partição onde outro Linux esteja instalado, e dá poder de root ao operador. Isso pode ser utilizado em manutenção, para editar e/ou recuperar arquivos, e inclusive alterar qualquer senha, configurar permissões de arquivos, etc. Como o Carlos E. Morimoto citou no seu livro "Redes e Servidores Linux", em outras palavras: "Se um usuário der boot com um live-CD no seu servidor, o servidor não será mais seu; será dele". Pois bem…
Basta dar boot com um CD do Linux, que rode do CD, como o Kurumin, Ubuntu Live, e até mesmo alguns mais antigos, como uma versão live do Conectiva, etc. A única exigência é que o sistema reconheça o sistema de arquivos onde o Linux a ser "invadido" esteja instalado; em se tratando de Linux, este sistema não será NTFS e a preocupação com isso (acesso em NTFS) não existe. Dado o boot, você deve obter acesso de root no "seu" sistema, enquanto ele está rodando do CD. Em boa parte das distribuições live-CD, não dá para trocar a senha padrão, e ninguém normalmente sabe qual é ela :P Mas com o Kurumin Linux, dá. Ele possui um script "Definir senhas", localizado na área de trabalho. Basta abri-lo para trocar a senha, tanto do usuário "Kurumin" que é usado no live-CD, como o do root. Há também no menu "Configurações do sistema", um item para alterar a senha de root. Isso é muito útil para instalar programas rodando do CD, ou alterar algumas configurações que exijam o reinício do X (onde para se logar depois, será preciso digitar a senha).
Tendo acesso como root rodando do CD, você é praticamente dono do computador :)
Agora você precisa abrir um terminal, montar a partição que contém o sistema a ser "atacado", e mandar ver. A montagem da partição deve incluir o tipo do sistema de arquivos utilizado, montá-la manualmente não será algo tão simples para quem não é usuário do Linux. Para facilitar, você pode abrir o "Meu computador" do Linux (estou dando como exemplo, o Kurumin), e montar a partição a partir dali, clidando nela com o direito e escolhendo "Ação > Montar".
Com a partição montada, abra um terminal (pode ser o Konsole, XTerm ou qualquer outro que você queira). Como o usuário "kurumin" estará logado, e não o root, você precisa alternar para o root. Use o comando su. Digite su, tecle [enter], e ele pedirá a senha de root. Use a senha que você definiu para o sistema rodando do CD. Ao acessar como root, o símbolo do prompt mudará de $ para #, indicando que os comandos são executados com poder de superusuário (equivale ao "Administrador", no Windows).
Agora digite o comando chroot, passando como primeiro parâmetro o ponto de montagem da partição do sistema no HD que será atacado. Como falei, a partição já deverá estar montada. Por exemplo, chroot /mnt/hda3.
Se tudo estiver ok, o sistema dentro do prompt não será mais o seu do CD, mas sim o que estiver na partição montada :) Aí é só sair fazendo a festa.
Para alterar a senha de root, digite passwd e tecle [enter]. Ele exibirá um prompt "Enter new UNIX Password:", então digite a senha desejada e tecle [enter]. Ele pede para confirmar a senha, afinal é uma medida importante para evitar erros de digitação.
Para alterar a senha de um usuário do sistema no HD, digite passwd seguido pelo nome do usuário. Por exemplo, passwd mah.
Veja um prompt onde troquei a senha de root e do usuário "mah", de uma instalação do Ubuntu em /dev/hda3, usando o CD do Kurumin:
O chroot é uma ferramenta muito poderosa usada em recuperação e administração, use com responsabilidade. Ele foi projetado para rodar apenas comandos em modo texto. Mas, com certos artifícios, é até possível rodar programas gráficos do outro sistema; mas isso fica para uma outra oportunidade.
Como se vê, o acesso local é uma desgraça mesmo. É bom não se iludir e ficar pensando que a senha de root ou administrador é uma caixa preta, toda poderosa, porque não é! Aliada a outras ferramentas, até que "talvez" seja, como criptografia, mais verificações, etc. Mas a proteção física é essencial. Dependendo do computador, deixe uma câmera de segurança na sala, retire drives de CDs/DVDs (ou pelo menos, desconecte-os internamente), lacre o gabinete, desative portas USB (que podem ser usadas para dar boot via pen drive, em muitas máquinas recentes), etc etc etc e bla bla bla.
É isso. Não deixe de ver no link comentado no comecinho deste texto, os meios para resetar as senhas e/ou obter acesso como "root" no Windows, em diversas versões dele, incluindo o todo poderoso Windows Server 2003, e o sistema operacional mais usado no mundo, o Windows XP.
















12 comentários até agora ↓
1 Anonymous // abr 28, 2007 at 21:20
ola,
eu havia pensado nesse modo de invasão, mas eu nem tentei porque imaginei que havia algum modo de proteção ou no minimo uma restrição, parece que o linux não é tão seguro assim
2 Marcos Elias // mai 3, 2007 at 10:10
– atualizado em 2007-05-01 —
Eu havia dito que para usar o chroot, era necessário definir a senha de root do sistema rodando do CD… Na verdade isso foi por motivos didáticos, já que boa parte do público do Explorando são usuários apenas de Windows. Em muitos sistemas Linux que rodam do CD você tem acesso a um prompt já logado como root, de modo que você nem precise definir a senha. Por exemplo, depois de iniciado, tecle CTRL + ALT + F1. Se o prompt terminar em #, significa que o acesso nesse terminal já possui provilégios de root. Basta então montar a partição no HD, usar o chroot e mandar ver. Dica: no prompt terminado em #, onde o root do CD está logado, digite passwd para trocar a senha do root do CD. Se você quisesse continuar usando o sistema do CD, poderia teclar, nesse terminal, CTRL + ALT + F7 para voltar para a interface que estava aberta.
Mas para usuários que não tenham mínimas experiências com o prompt de comando do Linux, o mais fácil seria mesmo usar um Linux amigável, como o Kurumin, montar a partição usando a interface gráfica (os ícones do "Meu computador") e então abrir um shell (terminal) dentro da interface gráfica.
Agora, cá entre nós, o que um usuário que não tem muita experiência em Linux, poderia ganhar obtendo acesso como root no sistema Linux instalado no HD? Certamente esta dica não é para usuários tão leigos assim. Minha recomendação: não tente usar o chroot em casa, e só o faça na presença de um adulto (rsrsrs). Ao persistirem os sintomas, o HD deverá ser formatado.
3 Anonymous // jul 11, 2007 at 21:27
A prática descrita aqui é muito usada por quem tem o Linux em "dual-boot" com o Windows sempre que o ultimo lhe dá na maluca de destruir os arquivos de arranque, e não é nenhum - só por se escrever 3 coisas no terminal - "hack" (LOL), é uma coisa bem simples por sinal. Mas para um sistema configurado para resistir a "invasões vindas de dentro" - encriptado e sei lá o quê mais nem sequer vale a pena tentar fazer nada. E também não é nenhum bicho de sete cabeças configurar o Linux assim, é só ir às preferências e fazer 3 ou 4 cliques.
4 Anonymous // jul 15, 2007 at 3:43
na sua primeira tentativa ocorreu um erro
o "cannot run command…" depois qdo vc tentou pela segunda vez ja deu certo,
oq vc fez pra n ocorrer o erro?
tentei fazer aqui pois preciso da minha senha de admin e estou sem, porém estou trancado naquele erro 'bin/bash…
5 Marquinhos // jul 20, 2007 at 12:45
Vixe agora eu não lembro bem… O meu erro foi por alguma coisa que eu digitei errado sem querer, e acabei deixando no screenshot.
6 Anonymous // ago 31, 2007 at 12:13
olá, eu queria uma ajuda pois preciso de uma senha de root de um sistema red hat, mas quando dou o chroot da um erro "/bin/bash …" . oq eu faço nesse caso?
desde ja obrigado
7 Marcos Elias // ago 31, 2007 at 12:19
Hi, não sei não… Já vi erros parecidos em outras distros… Mesmo dando o chroot como root… Tente postar em algum fórum de linux, como os do GdH, + específicos em Linux: http://www.forumgdh.net
8 Bruno T. Yporti // out 15, 2007 at 0:04
Faz tempo que não passo por aqui…
Como comentei no tópico sobre senhas do Windows, segurança local é assim em praticamente todos os sistemas. Ou seja, se conseguir acesso físico, a segurança vai pro espaço.
A grande diferença é que no Linux é possível usar uma partição inteiramente criptografada (no caso, eu uso aqui!), podendo ser acessada apenas como uma passphrase. Logo, seria impraticável tentar acessar esses dados, pois mesmo com técnicas adequadas, levaria um tempo enorme. Enfim, desse modo, temos uma opção segura para se usar em ambientes GNU/Linux mesmo havendo comprometimento físico (um notebook roubado com senhas da sua conta bancária, por exemplo), claro, e sem grande dificuldades para a instalação.
Até mais!
9 Marcos Elias // out 17, 2007 at 6:28
Legal, Bruno….
Mas eu fico com um pé atrás (com os dois, na verdade, hehe) em usar partições criptografadas assim… Se der problema no sistema de arquivos, pode ser que aconteça de eu perder dados, seria ruim :(
Mesmo a criptografia de pastas e arquivos do NTFS no Windows, eu acabo não confiando… Claro q backups nunca são demais, mas… não sei se eu usaria uma partição criptografada para meus documentos.
10 Hackeando as senhas no Windows: Guia Definitivo! - Explorando e Aprendendo // out 10, 2008 at 9:37
[...] digite passwd seguido pelo nome do usuário. Postei um texto maior, explicando melhor isso, aqui: http://www.explorando.viamep.com/2007/04/hackeando-as-senhas-no-linux.html O chroot é uma ferramenta muito útil em manutenção, sem contar na personalização de live-CDs. [...]
11 Junio // nov 18, 2008 at 8:22
Bom dia! Qual o comando pra eu saber quantos usuarios tem senha?
12 Marcos Elias // nov 18, 2008 at 13:49
Não sei não, Julio :(
Deixe seu comentário