DIA#48-OverTheWire-Bandit (LVL 14)

    Continuo no OverTheWire desta vez para o nível 14. Desta vez mudou o objectivo, não existindo inicialmente necessidade de ir buscar password, mas sim se se conectar através de SSH, usando a private key cedida no enunciado, de modo a poder aceder ao ficheiro com a password como o utilizador "bandit14". Para isto usou-se "ssh -i sshkey.private bandit14@localhost", em que a flag "-i" informa que de seguida está presente uma private key que se quer ser lida e "bandit14@localhost" significa que o sistema se vai ligar como bandit14 ao localhost (refere-se à máquina que se está a usar), pode-se então entrar com, por exemplo "ssh bandit10@bandit.labs.overthewire.org -p2220" e a partir dessa sessão usar "ssh bandit11@localhost" para entrar como "bandit14" no localhost, que é "bandit" neste caso.
    Seguidamente, enquanto se está na sessão como utilizador "bandit14", com a utilização do comando "cat /etc/bandit_pass/bandit14" obtém-se a password "4wcYUJFw0k0XLShlDzztnTBHiqxU3b3e" podendo ser usada para ser mais fácil voltar ao nível a posteriori, em que se irá usar o comando de sempre "ssh bandit14@bandit.labs.overthewire.org -p2220", com a password obtida anteriormente, para poder entrar de novo no nível. Pode-se ver o processo em baixo.



  
PS. Durante a análise deste nível fiz bastante pesquisa que acabou por não ser útil para passar o nível, pesquisa essa que coloco de seguida:
  • O formato de uma public key gerada por um ssh é: "<ssh-rsa or ssh-dss> <string gigante de coisas sem sentido> <username>@<host>".
  • Existem dois tipos de chaves de autenticação:
    • RSA (Rivest-Shamir-Adleman) a escolha recomendada nos dias de hoje;
    • DSA (Digital Signature Algorithm) tem ficado cada vez menos segura. 
  • Usa-se "eval `ssh-agent -s`" para poder usar "ssh-add ~/sshkey.private"(comando que dá a conhecer uma private key a um agente de SSH numa directoria "~/sshkey.private"), uma vez que o "ssh-agent" manda um output com variáveis de environment necessárias para se ligar ao agente e ao chamar "eval" faz-se load imediato dessas mesmas variáveis no meu environment. O "ssh-agent" não consegue fazer isso sozinho devido ao facto de em UNIX um processo poder apenas modificar as suas variáveis de environment e passa-las a processos children, não pode modificar o processo parent. Tudo isto e mais veio de "https://unix.stackexchange.com/questions/351725/why-eval-the-output-of-ssh-agent/351727".
  • Pode-se criar alias com, por exemplo "alias ssh-agent-cyg='eval `ssh-agent -s`'", podendo agora usar-se "ssh-agent-cyg" para correr "eval `ssh-agent -s`". Obtive esta informação de "https://unix.stackexchange.com/questions/351725/why-eval-the-output-of-ssh-agent/351727".
  • Para um olhar sobre SSH/OpenSSH/Keys recomendo ir a "https://help.ubuntu.com/community/SSH/OpenSSH/Keys".
  • Para saber como usar uma private key para fazer login usando uma private key "https://www.youtube.com/watch?v=svRWcx7dT8g

Comentários

Mensagens populares deste blogue

DIA#36-OverTheWire-Bandit (LVL 2)

DIA#45-OverTheWire-Bandit (LVL 11)

DIA#52-OverTheWire-Bandit (LVL 18)