Sistema mikrokit, recuperando senha. mtpass , user.dat

Created: Jan. 1, 2010, 4 a.m.
Update: March 31, 2020, 10:02 p.m.
Recuperando senha admin do sistema mikrokit, user.dat mtpass

Ambiente: Ubuntu 12.04 64 bits

Recentemente me chamaram para trocar a senha do root de um servidor Linux. Chegando lá percebi que o Login não era um Linux e sim um sistema chamado mikrokit, é um sistema para hardwares como wireless and routers, um distro firewall. Apesar de nunca ter tido contato com esse sistema, é uma boa indicação para quem quer algo prático e funcional sem precisar instalar um Linux do zero, http://www.mikrotik.com

Esse site ( http://aacable.wordpress.com/2012/01/14/howto-recover-mikrotik-admin-account-forgotten-password/ ) tem duas dicas para recupera a senha do sistema mikrokit. O primeiro passo é pegar o arquivo user.dat e colocar no site que o site te mostra o usuario/senha. Bootar o servidor com ubuntu LiveCD, montar a partição do sistema mikrokit e procurar pelo arquivo user.dat,  find . -name user.dat . Verifique se o arquivo não tem tamanho zero. Eu encontrei dois, um deles com tamanho zero. Copie para um pendrive. Eu inicialmente usei a solução online para mostrar os usuarios/senhas com esse site, http://mikrotikpasswordrecovery.com/ , pasta selecionar o arquivo user.dat que você copiou e depois "Show password". Esse site mostrou dois usuarios/senha, mas isso não foi o suficiente para logar no sistema, autenticação falhava todas as vezes. Logo pensei que o antigo administrador desligou todos os usuários, por isso seria impossível entrar no sistema com esses dois usuários.

- - - Saida:
nome_adm    <senha>
admin        <senha>    

Eu parti para o a segunda solução, achei estranho não ter um usuário válido para autenticar direto no TTY do servidor, por isso usei o  "MikroTik Password Recovery" , mtpass , http://manio.skyboo.net/mikrotik/.

Usei a última versão, http://manio.skyboo.net/mikrotik/mtpass-0.9.tar.bz2

$ mkdir -p /tmp/mt
$ cd /tmp/mt
$ wget -c http://manio.skyboo.net/mikrotik/mtpass-0.9.tar.bz2
$ bzip2 -d mtpass-0.9.tar.bz2; tar xfv mtpass-0.9.tar.bz2
$ cd /tmp/mt/mtpass-0.9

mas na hora de compilar, ERRO:

$ make

ERRO:

g++   -lssl -lcrypto  mtpass.cpp   -o mtpass
/tmp/ccekGgrB.o: In function `cUserRecord::DecryptAndShowRecord()':
mtpass.cpp:(.text._ZN11cUserRecord20DecryptAndShowRecordEv[_ZN11cUserRecord20DecryptAndShowRecordEv]+0xd9): undefined reference to `MD5'
collect2: error: ld returned 1 exit status
make: *** [mtpass] Error 1

SOLUÇÃO:

$ g++ mtpass.cpp -lgnutls-openssl -o mtpass

Depois de compilado com sucesso! Vamos para a mágica!

$ ./mtpass user.dat 

Bingo! Como imaginava o antigo ADM não seria tão loco de desligar todos os users!


Rec# | Username        | Password           | Disable flag   | User comment                      
--------------------------------------------------------------------------------------------
1    | admin_nome      | <senha>           | USER DISABLED  |                                   
2    | admin           | <senha>           | USER DISABLED  | system default user               
3    | suporte         | <BLANK PASSWORD>  |                |                                   
4    | suporte         | <senha>           |                |                                   

Apereceu 4 usuários, 2 há mais que na solução web! :)  Ai foi só testar com o respectivo usuário/senha.

Faça bom aproveito!


Tiago de Souza Moraes - teago.futuria.com.br - 2020 // CSS by UIKIT CSS