Nesse aspecto, existem algumas maneiras para recuperar senha do Windows. Principalmente, em versões do Windows 8/10. Por exemplo, usando a recuperação de uma conta online da Microsoft.
Entretanto, puxando “sardinha” para o Linux, essa tarefa pode ser mais simples usando algum Live USB através da ferramenta chntpw.
Saiba como recuperar a senha de um usuário do Ubuntu Linux
Recuperar senha do Windows
Direto ao ponto, você pode usar a ferramenta chntpw para recuperar senha do Windows usando o Linux. É um utilitário de terminal muito conhecido pelos técnicos e mantenedores de sistemas.
Em resumo, o chntpw usa o arquivo SAM (Security Account Manager) do Windows. Esse arquivo é uma espécie de base de dados que armazena senhas do usuários Windows XP, Windows Vista, Windows 7, 8.1 e 10. Assim, ele irá “resetar” a senha do usuário Windows selecionado. Assim, use essa ferramenta com consciência, ética e sigilo de privacidade de outros usuários do sistema alvo.
Mão na massa
Nesse tutorial foi usado um Live USB do Fedora Linux na máquina com Windows 10 instalado. Outros métodos, seria usar o Live do Parted Magic ou Kali Linux, por exemplo 🙂
1. Instalando e configurando
10 ferramentas Linux úteis para recuperação e diagnóstico de problemas do computador
Depois do boot do Live USB, com o computador conectado na internet, instale o chntpw do repositório oficial do Fedora usando o dnf:
Depois disso, é preciso montar a unidade do Windows para acessar os arquivos. Execute o seguinte comando para visualizar todas as partições de unidade com um sistema de arquivos NTFS:
A maioria dos discos rígidos é designada para /dev/sdaX, onde X é o número da partição – unidades virtuais podem ser atribuídas a /dev/vdX e algumas unidades mais recentes (como SSDs) usam /dev/nvmeX. Para este exemplo, a unidade do Windows C é atribuída a /dev/sda2. Para montar a unidade, execute:
Guia completo para iniciantes sobre discos e partições no Linux
O Fedora Workstation contém os pacotes ntfs-3g e ntfsprogs prontos para o uso. Se você está usando outra distribuição que não tenha o sistema de arquivos NTFS habilitado, você pode instalar estes dois pacotes do repositório oficial da sua distribuição:
Depois, quando a unidade estiver montada, navegue até o local do arquivo SAM e verifique se ele está lá (presente em /Windows/System32/config):
2. Apagar ou redefinir uma senha
Agora é hora de começar da verdade.
A opção -h fornece tudo o que precisamos saber sobre esse utilitário e como usá-lo:
$ chntpw -h chntpw: change password of a user in a Windows SAM file, or invoke registry editor. Should handle both 32 and 64 bit windows and all version from NT3.x to Win8.1 chntpw [OPTIONS] [systemfile] [securityfile] [otherreghive] […] -h This message -u Username or RID (0x3e9 for example) to interactively edit -l list all users in SAM file and exit -i Interactive Menu system -e Registry editor. Now with full write support! -d Enter buffer debugger instead (hex editor), -v Be a little more verbose (for debuging) -L For scripts, write names of changed files to /tmp/changed -N No allocation mode. Only same length overwrites possible (very safe mode) -E No expand mode, do not expand hive file (safe mode) Usernames can be given as name or RID (in hex with 0x first) See readme file on how to get to the registry files, and what they are. Source/binary freely distributable under GPL v2 license. See README for details. NOTE: This program is somewhat hackish! You are on your own!
Está no diretório onde está o arquivo SAM, /mnt/Windows/System32/config, você pode executar o comando para exibir uma lista de usuários que ele lê do arquivo SAM:
$ sudo chntpw -l SAM chntpw version 1.00 140201, (c) Petter N Hagen Hive name (from header): <\SystemRoot\System32\Config\SAM> ROOT KEY at offset: 0x001020 * Subkey indexing type is: 686c File size 65536 [10000] bytes, containing 7 pages (+ 1 headerpage) Used for data: 346/37816 blocks/bytes, unused: 23/7016 blocks/bytes. | RID -|---------- Username ------------| Admin? |- Lock? --| | 01f4 | Administrator | ADMIN | dis/lock | | 01f7 | DefaultAccount | | dis/lock | | 03e8 | defaultuser0 | | dis/lock | | 01f5 | Guest | | dis/lock | | 03ea | sysadm | ADMIN | | | 01f8 | WDAGUtilityAccount | | dis/lock | | 03e9 | WinUser | | |
Pronto! Agora que temos uma lista de usuários do Windows, podemos editar a conta. Use o parâmetro -u seguido pelo nome de usuário e pelo nome do arquivo SAM. Para este exemplo, edite a conta sysadm:
$ sudo chntpw -u sysadm SAM chntpw version 1.00 140201, (c) Petter N Hagen Hive name (from header): <\SystemRoot\System32\Config\SAM> ROOT KEY at offset: 0x001020 * Subkey indexing type is: 686c File size 65536 [10000] bytes, containing 7 pages (+ 1 headerpage) Used for data: 346/37816 blocks/bytes, unused: 23/7016 blocks/bytes. ================= USER EDIT ==================== RID : 1002 [03ea] Username: sysadm fullname: SysADM comment : homedir : 00000220 = Administrators (which has 2 members) Account bits: 0x0010 = [ ] Disabled | [ ] Homedir req. | [ ] Passwd not req. | [ ] Temp. duplicate | [X] Normal account | [ ] NMS account | [ ] Domain trust ac | [ ] Wks trust act. | [ ] Srv trust act | [ ] Pwd don't expir | [ ] Auto lockout | [ ] (unknown 0x08) | [ ] (unknown 0x10) | [ ] (unknown 0x20) | [ ] (unknown 0x40) | Failed login count: 0, while max tries is: 0 Total login count: 0 - - - User Edit Menu: 1 - Clear (blank) user password (2 - Unlock and enable user account) [seems unlocked already] 3 - Promote user (make user an administrator) 4 - Add user to a group 5 - Remove user from a group q - Quit editing user, back to user select Select: [q] >
Para “resetar” a senha, pressione 1 e ENTER. Se bem sucedido, você verá a seguinte mensagem:
... Select: [q] > 1 Password cleared! ================= USER EDIT ==================== RID : 1002 [03ea] Username: sysadm fullname: SysADM comment : homedir : 00000220 = Administrators (which has 2 members) Account bits: 0x0010 = [ ] Disabled | [ ] Homedir req. | [ ] Passwd not req. | [ ] Temp. duplicate | [X] Normal account | [ ] NMS account | [ ] Domain trust ac | [ ] Wks trust act. | [ ] Srv trust act | [ ] Pwd don't expir | [ ] Auto lockout | [ ] (unknown 0x08) | [ ] (unknown 0x10) | [ ] (unknown 0x20) | [ ] (unknown 0x40) | Failed login count: 0, while max tries is: 0 Total login count: 0 ** No NT MD4 hash found. This user probably has a BLANK password! ** No LANMAN hash found either. Try login with no password! ...
Confirme a mudança:
$ sudo chntpw -l SAM chntpw version 1.00 140201, (c) Petter N Hagen Hive name (from header): <\SystemRoot\System32\Config\SAM> ROOT KEY at offset: 0x001020 * Subkey indexing type is: 686c File size 65536 [10000] bytes, containing 7 pages (+ 1 headerpage) Used for data: 346/37816 blocks/bytes, unused: 23/7016 blocks/bytes. | RID -|---------- Username ------------| Admin? |- Lock? --| | 01f4 | Administrator | ADMIN | dis/lock | | 01f7 | DefaultAccount | | dis/lock | | 03e8 | defaultuser0 | | dis/lock | | 01f5 | Guest | | dis/lock | | 03ea | sysadm | ADMIN | *BLANK* | | 01f8 | WDAGUtilityAccount | | dis/lock | | 03e9 | WinUser | | | ...
Veja que a coluna “Lock?” agora mostra BLANK para o usuário do sysadm. Digite ‘q’ para sair e ‘y’ para gravar as alterações no arquivo SAM. Reinicialize a máquina no Windows e faça o login usando a conta (neste caso sysadm) sem uma senha.
Considerações
A ferramenta chntpw é um canivete suíço usado por muitos administradores Linux e profissionais de TI. Por ser uma ferramenta útil para redefinir rapidamente as senhas de contas do Windows, ele também pode ser usado para solucionar problemas e modificar contas locais do Windows.
Além disso, ela pode executar tarefas administrativas básicas do usuário do Windows. Ele tem a capacidade de promover o usuário ao grupo de administradores, desbloquear contas, exibir e modificar associações a grupos e editar o registro.
Esta talvez seja apenas uma das possíveis opções para resolver o problema mostrado aqui. Se você já teve esse problema e tem uma solução alternativa, fique à vontade para colocá-lo nos comentários abaixo 🙂
Referências
Via | FedoraMagazine