Como redefinir a senha de administrador no Windows 8 e Server 2012

Há alguns anos publiquei aqui uma técnica simples para obter direitos de administrador ou de qualquer outra conta no Windows XP. Passaram-se vários anos e a mesma falha persiste, sendo válida ainda no Windows 8. É incrível como a Microsoft aparenta não estar nem aí. A técnica continua válida na versão atual e permite trocar a senha de administrador, criar novas contas de usuário, acessar arquivos supostamente protegidos, etc. Inclusive no Windows Server 2012!

A tática consiste basicamente em trocar o arquivo sethc.exe pelo cmd.exe, e então teclar Shift 5 vezes na tela de logon (ou Shift + Alt + PrintScreen). Com isso o prompt de comando é aberto na tela de logon, antes de qualquer usuário local entrar com sua senha. O prompt tem direitos administrativos: dá para chamar, por exemplo, control userpasswords2 para criar novas contas ou alterar senhas.

Estar conectado ou não a uma rede não faz diferença: a vulnerabilidade exige acesso local, para que seja possível substituir um arquivo. Com acesso remoto seria necessário ter direitos administrativos, já que não daria para dar boot com um liveCD/USB ou outro HD. Supondo que um usuário remoto já possua direitos administrativos, esta tática é inútil visto que ele já tem o que é possível obter desta forma.

Limitação de responsabilidade
Por mais que dicas como estas possam soar como negativas, eu prefiro uma verdade frustrante do que um mundo da fantasia aconchegante. Em sua configuração padrão o Windows não é seguro (quase nenhum sistema é). Qualquer pessoa com acesso físico à máquina pode causar grandes estragos, como roubar arquivos ou trocar senhas, por exemplo. Negar a verdade é ir na contramão.

Não é bonito sair redefinindo a senha de computadores alheios, o que pode ser até mesmo crime em boa parte dos países. Mas no seu computador você tem todo o direito de fazer o que quiser: inclusive alterar recursos do software ou do sistema para uso próprio. Esta dica consiste em basicamente substituir um arquivo por outro. Não é nada ilegal. O uso que será feito dela é que pode vir a ser, dependendo do caso – basicamente dependendo da propriedade do computador. Se é em uma máquina sua, nada demais.

Esta dica pode servir para recuperar a senha de administrador em casos de esquecimento, em casos de compra ou doação de PCs usados, em casos de pais para monitorar o comportamento dos filhos, ou mesmo entre namorados e namoradas… Pode ser útil também em casos de auditoria ou computação forense, embora o uso de ferramentas específicas para isso seja mais comum. Enfim, use por sua conta e risco.

Além do mais, prefiro que as pessoas saibam dessa possibilidade, pois só sabendo é que irão correr atrás de meios de proteção. Se você tem computadores com Windows e acha que a senha de administrador, por si só, garante alguma segurança… Você está enganado(a). É necessário algo mais (comentarei no final do texto).
Como redefinir a senha de administrador do Windows, criar novas contas, etc

Resumindo ao máximo:
Renomeie o arquivo sethc.exe para qualquer outra coisa, e crie uma cópia do cmd.exe com o nome sethc.exe. Eles ficam na pasta WindowsSystem32. A forma como você fará a substituição é indiferente, o que importa é que o arquivo seja substituído.

Inicie o Windows normalmente. Na tela de logon, tecle SHIFT umas cinco vezes (rapidamente). Ou tecle Shift + Alt + Print Screen. O programa de opções de acessibilidade seria aberto numa determinada tela específica, mas como você o trocou pelo cmd, quem é aberto é o prompt de comando.

Clique para ampliarClique para ampliar

Programa de configuração das teclas especiais, úteis para casos de acessibilidade. Normalmente esta tela é chamada ao teclar SHIFT 5 vezes seguidas.

Clique para ampliarClique para ampliar

Prompt de comando na tela de logon: direitos administrativos sem sequer saber alguma senha local. Nem todos os programas gráficos rodam, mas o de alteração de senha funcionou sem problemas tanto no Windows 8 como no Server 2012 (caso da imagem).

Na tela de login é usada uma conta especial com privilégios elevados. Para trocar as senhas ou criar novas contas de usuário, rode o control userpasswords2 (há um espaço depois do control).

Clique para ampliarClique para ampliar

Nas versões antigas do Windows dava para carregar o desktop ali mesmo, sem precisar criar uma conta. Bastava chamar o explorer.exe, como fiz nesse caso com o XP:


No Windows 8/Server 2012 não consegui: ele começa a carregar o que parece ser a barra de tarefas, mas dá uma série de erros e o desktop não é finalizado. Diversos outros programas não abrem também, mas o control userpasswords2 funcionou.

Testando mais um pouco (rodei o dwm antes do explorer) vi que realmente a barra inferior era a barra de tarefas, mas não completa. Clicando nela com o botão direito do mouse deu para acessar o menu de contexto, e por ele adicionar alguns elementos, como a barra de endereços e a da pasta do desktop. Resultado:

Vários programas rodando no Windows sem ter feito login previamente   clique para ampliarVários programas rodando no Windows sem ter feito login previamente
Clique para ampliar

Uuários leigos certamente irão falar que não dá para renomear o sethc, que a dica não vale porque já precisaria ter direitos de administrador para renomeá-lo, etc… Ok, cansei de receber mensagens do gênero quando comentei do caso no Windows XP. Acontece que não é necessário estar logado no Windows para renomear estes arquivos. Basta usar qualquer liveCD/USB de Linux para acessar a pasta system32 na partição do Windows…

Como usar tais liveCDs é algo que foge totalmente ao objetivo deste texto, há informações mais do que suficientes sobre isso em toda a web, inclusive neste site. Se antes era necessário instalar o ntfs-3g manualmente no modo live em boa parte das distros, hoje o cenário é diferente, a maioria lê e escreve em partições NTFS “out of the box”. Ficou até mais fácil.

Como se proteger?
Deixar de usar Windows é uma possibilidade, haha. Fora isso, a melhor forma de proteção que eu poderia recomendar é usar o Bitlocker, recurso nativo de algumas edições do Windows que criptografa todo o conteúdo do volume (seja HDD ou SSD).

Assim nem mesmo com um liveCD de Linux, Windows ou qualquer outro sistema será possível capturar os arquivos, já que estes sistemas não conseguirão ler os dados criptografados no HD. Se a criptografia do Bitlocker puder ser quebrada, aí já caímos numa outra questão…

Camadas de proteção além do sistema operacional também podem ser interessantes, como senha no BIOS a cada inicialização (e não apenas para alterar as opções no SETUP). Assim pode-se desativar a possibilidade de dar boot por outras unidades (CD, DVD, etc), dificultando radicalmente o uso de um liveCD/USB.

Algumas placas-mãe oferecem suporte a boot por outras unidades ao teclar determinada tecla durante a inicialização, como F12 ou F8. Isso independe da ordem dos dispositivos na lista de preferências alterada pelo SETUP. É necessário ver se dá para desativar este recurso caso a caso.

Ainda assim, o acesso físico é uma desgraça: algum funcionário, parente ou amigo (dependendo do lugar) poderia abrir seu computador e conectar um HD com outro sistema antes do seu (deixando-o numa porta SATA anterior à do seu HD, por exemplo…). Nesse caso extremo o roubo de dados independe do sistema instalado.

A senha do SETUP pode ser cancelada simplesmente removendo a bateria, na maioria dos casos… Proteger o gabinete com travas de segurança, cadeados e outros meios poderia ser mais eficiente. Controlar o acesso e usar câmeras de vigilância permanente nos locais onde ficam os computadores seria a saída mais completa contra acesso físico não autorizado. As câmeras não garantem nada, mas pelo menos facilitariam a identificação do ladrão de dados digitais :p

Conclusão
A senha do Windows, por si só, não vale quase nada. Para proteger seus dados é necessário se preparar para outras alternativas de segurança, sendo a criptografia de partições ou unidades inteiras uma das melhores formas atuais.

Muito além do ambiente empresarial, trocar o sethc pelo cmd para mudar a senha de administrador é algo fácil de usar em ambientes domésticos também. Um uso legítimo, como já comentei, se dá ao redefinir sua própria senha em casos de esquecimento. Para nós do GdH e boa parte do público deste texto esse cenário é improvável, mas basta pensar nos usuários comuns de computadores que deixam apenas uma conta configurada em login automático (com direitos administrativos). É muito comum esquecer a senha nessas situações, eu mesmo já precisei atender diversos amigos, primos, tios… O que boa parte das pessoas fazem nesses casos é reinstalar o Windows, e aí já deu para ver a dor de cabeça…

Muitos preferem que este tipo de informação fique guardado a sete chaves, indisponível ao público. Eu já penso o contrário, e sinto muito se você discordar. Vulnerabilidades devem ser divulgadas, isso incentiva tanto a prevenção, evitando descuidos, como a correção mais rápida por parte dos desenvolvedores. Considerando que esta falha pode ser usada em diversas versões do Windows… É, de fato a Microsoft não parece estar preocupada.

São vários anos pasados e várias versões do Windows em que a brecha do sethc está presente, e nada é feito para mudar – ou se foi feito, não foi feito com tanta eficiência assim. Não sei você, mas eu me sinto incomodado em saber que a senha de administrador do meu computador ou notebook não fornece a segurança que ela tenta passar. Qualquer outra pessoa na minha casa ou empresa com acesso físico ao meu PC pode acessar facilmente meu histórico de navegação, minhas senhas salvas na web, meus arquivos pessoais que deveriam estar “protegidos” pelas ACLs do Windows…

É verdade que há outras formas de redefinir a senha de administrador do Windows ou tentar quebrá-la por força bruta, mas estas outras formas não fazem parte do objetivo deste texto (uma boa é o chntpw). O maior objetivo aqui é chamar a atenção para o problema e ver se a Microsoft se toca, corrigindo de uma vez por todas isso.

Minhas sugestões, caso alguém da MS veja isso: recomendar a criptografia via Bitlocker por padrão nas edições do Windows em que o recurso está disponível; ou algo mais imediato e provavelmente simples: rodar com privilégios reduzidos o sethc chamado na tela de logon. Opções de acessibilidade não deveriam constituir sinônimo de vulnerabilidade de acesso local.

Longe de mim dizer que Linux ou OS X seriam muito mais seguros em suas configurações default, o caso é que a brecha existe no sistema mais popular nos desktops e não pode ser simplesmente ignorada.

Para ver como alterar a senha de administrador em outras versões do Windows ou mesmo no Linux, confira este meu tutorial de 2007. O termo “hackear” não é incorreto, pois pode significar alteração, quebra da senha original e/ou troca por uma nova usando métodos não oficiais, etc.

É uma falha ou não é, afinal?
Por fim, muitos podem considerar que isto não é um problema, e provavelmente por isso não foi resolvido até agora.

Eu até entendo que alguns consideram não ser problema do Windows porque das duas uma: o usuário já tem acesso de administrador para renomear os arquivos e não precisará fazer isso para obter um privilégio que já tem; ou o usuário tem acesso físico à máquina, então automaticamente tem direito a fazer qualquer coisa com ela.

Eu discordo dessa postura porque ela se parece com uma forma de mera isensão de responsabilidade. A senha de administrador, queira ou não, passa confiança. Por mais que não seja verdade, muita gente realmente acredita que ela protege o computador contra acesso não autorizado. Patrões e supervisores muitas vezes acreditam que ela impede os usuários de instalarem outros softwares ou acessarem arquivos locais de outras pessoas. E na prática não impede, já que basta bootar um liveCD/USDB e…

O problema não parece residir essencialmente no Windows, mas no conjunto todo. Considerando que o Windows é o sistema operacional mais utilizado em desktops/workstations; considerando que boa parte das pequenas e médias empresas não sabem proteger o hardware contra acesso físico não autorizado, sem contar os usuários domésticos; considerando que a cultura de usuários de informática não avançados faz as pessoas confiarem cegamente na senha de administrador… Eu julgo que é uma falha.

Vi isso na pele quando ajudei a fazer manutenção numa rede com diversos PCs com Windows 2000 numa biblioteca pública em São Paulo: todo mundo ao meu redor, sem exceção, pensava que a senha de administrador era algo inviolável. Ninguém sabia o que era SETUP, e achavam que USB era algo exclusivo para transferir fotos ou vídeos, ou conectar teclados e mouses…

O sethc.exe é útil, mas precisa realmente rodar com privilégios administrativos? Ou seria preguiça de alterar o código de legado herdado das versões antigas do Windows, já que para fornecer aquelas opções ele pode requerer poderes administrativos na tela de logon?

Não sei. Sei que se o sistema fosse meu eu faria algo para torná-lo mais seguro, ainda mais sabendo que é usado por milhares de empresas e fornecido mediante uma licença comercial.

Sendo um ataque vindo de um meio externo (com o Windows a ser atacado estando desligado), a culpa não é exatamente do Windows. Mas custaria proteger um pouco mais isso? Outros métodos de redefinição da senha usando arquivos capturados com o Windows desligado também são preocupantes. O mais seguro parece ser mesmo ativar a criptografia da unidade inteira.

Se você não achar que se trata de uma falha mas sim de um ‘recurso’ ou ‘característica’, tudo bem: fica a dica então como forma fácil de redefinir a senha de administrador ou criar novas contas, ainda assim útil em inúmeras situações :)

Uma última observação: a dica de substituir o sethc para o cmd e chamá-lo na tela inicial funcionou aqui no Windows 8 Pro, em todos os PCs nos quais testei; e também no Server 2012 rodando numa máquina virtual, utilizando a demonstração gratuita fornecida pela própria Microsoft. Com o Bitlocker criptografando a partição do Windows todas as tentativas foram frustradas, naturalmente, mantendo as contas protegidas mesmo com acesso físico garantido.

http://www.hardware.com.br/dicas/windows8-redefinir-senha-administrador.html

[Voltar]