Recebi
pela área de envio de dicas do Explorando uma dica bem
rápida, aproveitando-se de um recurso (e de uma brecha
de segurança grave) do Windows XP para obter acesso como
administrador. Deixo então o agradecimento pela
colaboração do Rhadsclei, que me passou a idéia e
o nome do arquivo envolvido, e decidi comentá-la neste
texto, detalhadamente.
O
Windows XP usa uma conta especial do sistema, chamada ?SYSTEM?.
Essa conta é usada enquanto nenhum usuário está logado,
pois para os programas funcionarem no Windows NT, eles
precisam de uma conta de usuário, e usarão as
configurações de personalizações e segurança do perfil
desse usuário. Mesmo após o logon, se você abrir a guia
?Processos? do Gerenciador de tarefas, verá que alguns
programas são executados por essa conta, ?SYSTEM?.
Possivelmente são serviços essenciais inicializados
antes do ponto de logon, onde há interação com o
usuário. Muito provavelmente esta conta especial é usada
durante a instalação do Windows também, após o início da
parte gráfica. A ?brecha? é que ela possui privilégios
administrativos. Qualquer programa rodado com ela, tem
direitos de administrador, e pode fazer o que bem quiser
no sistema. Eis o segredo: rodar um programa sem fazer
logon, usando essa conta. Você me perguntaria... Mas
como, se antes de fazer logon não se tem acesso a nenhum
menu ou meio de chamar programas?! Por vias normais,
não. Mas...
O
Windows possui ferramentas de acessibilidade, para
auxiliar de forma mínima usuários com deficiências
motoras e/ou audiovisuais. Ele possui um gerenciador de
utilitários, chamado pelo atalho Win + U.
Independentemente deste, pode-se ficar segurando a tecla
SHIFT por 8 segundos, e então as opções de
acessibilidade são abertas. Elas permitem configurar o
alto-contraste, o movimento do cursor do mouse via
teclado, a emissão de sons em determinadas situações, a
piscagem da tela durante a reprodução de um som de
sistema (como um ?beep?, por exemplo), etc. Para
permitir que os usuários com necessidades especiais
tenham esse auxílio durante o logon, o atalho de ficar
segurando SHIFT por 8 segundos funciona também na tela
de logon.
Eis o
truque, facilmente aplicado: substituir o arquivo que é
chamado pelo atalho das opções de acessibilidade por
outro executável qualquer. O mais prático é o ?cmd.exe?,
o interpretador de comandos. Basta acessar a pasta
system32, renomear (ou apagar) o arquivo ?sethc.exe?, e
então copiar o ?cmd.exe? para essa mesma pasta,
renomeando a cópia com o nome ?sethc.exe?. Só isso.
Agora, ao segurar SHIFT por 8 segundos, o prompt de
comando será aberto. Na tela de logon, como os direitos
da conta usada ali são de administrador, o prompt de
comando será executado como administrador.
Nota: na
tela de logon que lista os usuários, o prompt de comando
(ou o arquivo ?sethc.exe?, mais precisamente) poderá
ficar oculto, por trás dela. Para não se atrapalhar e
exibi-lo corretamente, alterne para o logon clássico,
teclando duas vezes CTRL + ALT + DEL. (No Windows NT,
teclar duas vezes CTRL + ALT + DEL não faz com que o
sistema seja reiniciado; se você não acompanhou o
Windows 2000/XP e só conhece o 9x/Me, é bom saber disso
:)
O
arquivo pode ser substituído facilmente se o usuário
possuir uma conta local, mesmo que restrita, e se o HD
estiver formatado em FAT/FAT32. Usando o próprio
Explorer pode-se trocar o arquivo, já que ele não fica
aberto o tempo todo. Se o HD estiver formatado em NTFS,
onde os usuários limitados não têm permissão de escrita
nas pastas de sistema do Windows, e/ou se o usuário for
um intruso que não possui sequer conta local, basta usar
um sistema alternativo, que rode do CD. O mais comum é o
Linux, diversas distros, como o Kurumin :) Isso
considerando que o sistema possa ler e escrever em NTFS,
o que é o caso do Kurumin 7.
Rodando
o prompt de comando como administrador, você pode chamar
programas, que serão executados com privilégios de
administrador. Rode control userpasswords2 para criar
novos usuários, redefinir a senha de qualquer conta de
usuário, incluindo, é claro, do administrador. Se
preferir, use o console de gerenciamento do computador (compmgmt.msc),
e clique em ?Usuários e grupos locais?. Eu me
surpreendi, pois foi possível rodar até o Explorer! Veja
alguns screenshots. Para decepção dos usuários que
confiam tanto na segurança do Windows, saiba que estas
imagens não foram montadas num editor, foram obtidas com
o famoso ?Print Screen?, salvas originariamente no Paint,
também rodando sem fazer logon:
Ao dar o
comando ?explorer.exe? no prompt, o Explorer foi aberto.
Na primeira vez, definiu o papel de parede ?Alegria?,
que é padrão, e ainda ofereceu o ?Tour do Windows?.
Observe a tela de logon arrastada para o topo. Nenhuma
senha foi necessária.
Criação
de uma nova conta de usuário, com o comando control
userpasswords2.
Ao dar
CTRL+ALT+DEL, abriu-se o Gerenciador deTarefas. Pelo
visto, ele ficou instável :( Isso ocorreu com alguns
outros programas também. No entanto, após criar uma
conta e se logar com ela, o acesso ao sistema ficava
?normal?.
Clicando
com o direito na área de trabalho e em ?Propriedades?,
pode-se alterar os temas. Veja, deixei o prateado para a
tela de logon! Até que esta dica pode ser útil para mera
personalização, você altera as opções visuais da tela de
logon sem precisar tocar no registro.
Percebi
umas instabilidades ao rodar programas deste modo, como
no gerenciador de tarefas, o copiar/colar arquivos pelo
Explorer não funcionava, etc. Depois de uns 5 minutos o
Explorer era fechado sozinho, não sei se isso foi
programado ou se é devido algum erro não esperado...
Afinal não é esperado ?fazer logon sem fazer logon?, com
a conta de usuário SYSTEM. Mas ele podia ser aberto a
qualquer momento, digitando-se ?explorer? no prompt de
comando novamente.
Eu
estava usando o Windows XP SP1, e coloquei o SP2 só para
ver se o problema permanecia nele. Afinal, se tivesse
sido corrigido, eu nem me atreveria a escrever este
texto. ?Pode ser? que alguma das atualizações
automáticas tenha corrigido isso, eu não sei porque não
uso o computador principal com Internet, portanto, nada
de atualizações automáticas. Mas acredito que não, senão
esta falha já teria vazado muito mais amplamente.
E
como se proteger?
Uma dica
para proteção, caso você tenha computadores com Windows
XP na empresa (ou em qualquer lugar que seja), e queira
se prevenir... É usar o ?syskey?. É um programinha não
documentado que vem com o Windows, e permite alterar a
forma de criptografia das contas de usuários locais.
Você pode configurar o Windows para solicitar uma senha
especial, independentemente de qualquer conta de
usuário, a toda inicialização. Se quiser mais proteção,
pode requerer um disquete obrigatório. Sem ele, não se
usa o Windows. Para isso basta abrir o SysKey, digitando
syskey no ?Executar?:
Tela do
SysKey. Clique em ?Atualizar? para alterar a proteção do
sistema das contas de usuários. Não perca a senha nem o
disquete, se for o caso, senão, adeus contas de usuário.
Você poderá instalar o Windows do zero em outra pasta,
mas perderá acesso a qualquer arquivo criptografado em
partições NTFS (se você possuir arquivos protegidos
desta forma, é claro).
Pelo
menos em teoria, ao ativar a criptografia do banco de
dados de contas de usuários dessa forma, o Windows não
tem como permitir o logon de ninguém, simplesmente
porque não tem as informações das contas, que estariam
codificadas na senha especial ou no arquivo do disquete.
Pelo que testei, o atalho de segurar SHIFT por 8
segundos não funcionou na tela que pede a senha especial
(do syskey).
A
responsabilidade é de cada um
Algumas
pessoas particularmente me criticam por escrever ?dicas?
com este teor. Em meio a tantos agradecimentos e
comentários, recebi algumas críticas de revoltados com
um texto que escrevi há um tempo sobre criação de vírus
(http://janelasepinguins.blogspot.com/2006/08/dica-como-criar-um-vrus.phpl).
Mas muita gente reconheceu o lado importante (como são
criados, como se defender, o que fazer, etc).
Provavelmente receberei críticas quanto a este texto,
mas os que criticam negativamente são usuários que vão
contra o bem comum, ao compartilhamento de informação.
Matei a cobra e mostrei o pau, ?travei o PC mas mostrei
no gerenciador de processos quem foi o culpado?. Quanto
mais esta informação for divulgada, mais gente se
cuidará e, de certa forma, pressionará a empresa
produtora do Windows a rever algumas coisas nos seus
sistemas antes de soltá-los. Vai dizer que os
desenvolvedores do Windows não sabiam que durante a tela
de logon, a conta usada possui privilégios
administrativos? Tudo bem, errar é humano. Antes
divulgar esta informação de forma clara e técnica e
permitir que mais técnicos e profissionais de TI se
mexam para proteger os sistemas dos seus clientes, do
que não divulgá-la, ocultá-la. Ela não ficará oculta, um
passa para o outro, e se nada for feio para tentar
proteger os sistemas, muitos espertinhos se aproveitarão
desse mole que o Windows dá. Alunos em escolas, clientes
em lan houses, funcionários em empresas, e até mesmo -
porque não? - o seu filho, no seu computador.
Além
dessa questão, é uma mão na roda para quem precisa
recuperar a senha pessoal, ou criar uma nova conta de
usuário, se perder acesso por qualquer motivo às
configurações do computador. Uma dica que deve fazer
parte da mala de ferramentas de qualquer técnico Windows
que se preze. Engraçado que um bom técnico Windows deve
ter um live-CD do Linux, não é?
Concluindo
Isso
mostra que a senha de administrador no Windows e nada é
a mesma coisa. Como o software é fechado, a comunidade
não pode fazer nada, devendo esperar por um patch da
Microsoft. Isso ?se sair?. Enquanto isso, o Windows em
casa ou no escritório, não está seguro. A idéia é de que
a conta de administrador é segura, potente, de que
realmente o sistema está protegido. Mas não é isso que
ocorre. O acesso local, quando possível, é uma das
formas mais fáceis de acessar um computador alheio.
Portanto, pense em soluções físicas de proteção.
Gabinetes com cadeado, câmeras de segurança onde tiver
computadores importantes... Enfim, cuide-se.
Veja
também:
-
Hackeando as
senhas no Windows 2000
-
O Windows que roda do CD!
-
Rodando o Linux do CD para
acessar arquivos do Windows |