Mensagens

DIA#56-OverTheWire-Bandit (LVL 22)

Imagem
     Continuo no OverTheWire desta vez para o nível 22. Hoje o nível dá a conhecer a ferramenta " cron ", usada para correr comandos quando o utilizador quiser. Comecei por mudar de directoria para onde estavam as configurações de " cron " com o comando " cd  /etc/cron.d/ ", seguidamente usei " ls -la " para ver o que estava nessa directoria, onde escolhi ver os conteúdos do ficheiro que achei mais pertinente para o nível com " cat cronjob_bandit22 " que me deu informação que o " bandit22 " estava a correr um sript, ou sempre que iniciava o " cron " ou a todos os minutos, este script não envia nada para fora uma vez que tanto os erros como o output normal está a ser descartado em " /dev/null ". Peguei então no script e fui ver o que estava a ser corrido " cat /usr/bin/cronjob_bandit22.sh ", onde observei que se estava a mudar as permissões de um ficheiro na directoria " tmp " e depois en...

DIA#55-OverTheWire-Bandit (LVL 21)

Imagem
     Continuo no OverTheWire desta vez para o nível 21. Inicialmente neste nível usou-se " nmap localhost " saber que ports estavam abertos a ser executados, esses são os que se querem evitar. Para escolher que port a usar fui ao site " https://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers " e sabendo que os ports 0-1023 estão reservados para serviços privilegiados, sendo designados como portos bem conhecidos, comecei a procurar fora desse intervalo por um port para usar, acabando por encontrar o port 4000 (usado pelo jogo Diablo II) que sei não estar a ser utilizado.      Para completar este nível foi necessário utilizar dois terminais, ambos dentro da sessão " bandit20 ", um que envia a password do nível anterior e fica à escuta com o comando " echo 'GbKksEFF4yrVs6il55v6gwY5aVje5f0j' | nc -lp 4000 " e outro comando " ./suconnect 4000 " que usa o ficheiro " suconnect " da directoria home para procurar uma str...

DIA#54-OverTheWire-Bandit (LVL 20)

Imagem
     Continuo no OverTheWire desta vez para o nível 20. Apesar de ter demorado algum tempo, este nível é bastante básico, basta executar " bandit20-do " como era mencionado, a partir dai recebemos a informação que o programa usa-se para correr como outro utilizador, " bandit20 " e sabendo que precisamos de aceder ao ficheiro " /etc/bandit_pass/bandit20 " usa-se " ls -l  /etc/bandit_pass/bandit20 " para ver que os owners desse ficheiro é o " bandit20 ", o que nos faz usar " ./bandit20-do cat  /etc/bandit_pass/bandit20 " para aceder ao ficheiro através de " bandit20 ", o que apresenta a password "GbKksEFF4yrVs6il55v6gwY5aVje5f0j".      Seguidamente repete-se o que se tem feito usando de " ssh bandit20@bandit.labs.overthewire.org -p2220 " colocando-se posteriormente a password obtida. Pode-se ver o processo em baixo. PS.   Para um olhar mais em detalhe relativamente a " setuid " recomendo i...

DIA#53-OverTheWire-Bandit (LVL 19)

Imagem
     Continuo no OverTheWire desta vez para o nível 19. Neste nível existem várias opções de resolução.      O primeiro método de resolução é colocar um comando logo a seguir a à tentativa de se ligar por ssh, neste caso usei o " cat readme " para obter a password, ficando então com o comando " ssh bandit18@bandit.labs.overthewire.org -p2220 cat readme ", que irá dar a password do nível 19 "IueksS7Ubh8G3DCwVzrTd8rAVOwq3M5x" após colocar a do nível 18.     O segundo método usa a flag " -t " no comando " ssh " para forçar a abertura de um pseudo-terminal, com o comando " ssh bandit18@bandit.labs.overthewire.org -p2220 -t /bin/sh ", onde " /bin/sh " é o pseudo-terimnal usado.No terminal vai-se poder utilizar " cat readme " para obter a password, para sair do pseudo-terminal basta utilizar " exit ".      Seguidamente repete-se o que se tem feito usando de " ssh bandit19@bandit.labs.overthewire.or...

DIA#52-OverTheWire-Bandit (LVL 18)

Imagem
     Continuo no OverTheWire desta vez para o nível 18. Que é bastante simples, sendo apenas necessário o uso do comando " diff " para encontrar a diferença entre os ficheiros " password.new " e " password.old ", isto faz-se usando " diff passwords.new passwords.old " que vai dar o seguinte output.      Em que " 42c42 " significa que é necessário mudar o texto da linha 42 do primeiro ficheiro (password.new) para ficar igual à linha 42 do seguindo ficheiro (password.old), mostrando de seguida as linhas que são diferentes, em que " < " significa que é do primeiro ficheiro (o que interessa) e  ">" do segundo ficheiro. Daqui retira-se a password "kfBf3eYk5BPBRzwjqutbbfE887SVc5Yd".      Seguidamente sai-se ambos os hosts bandit e repete-se o que se tem feito usando de " ssh bandit18@bandit.labs.overthewire.org -p2220 " colocando-se posteriormente a password obtida. Onde, neste caso, vai sair com ...

DIA#51-OverTheWire-Bandit (LVL 17)

Imagem
     Continuo no OverTheWire desta vez para o nível 17. Este nível já foi um bocado mais complicado, tendo-se inicialmente usado o comando " nmap " para saber os ports onde havia um servidor à escuta,  através de " nmap localhost -p31000-32000 " para fazer um scan no conjunto de ports de 31000 a 32000, tendo isto resultado numa listas de ports à escuta.     Seguidamente fui tentar ligar-me a cada um dos ports da lista através de SSL através do uso do comando  " openssl s_client -connect localhost:<port> ", tendo obtido respostas com erro, outra permitia colocar a password, tal como é mencionado no enunciado do nível , mandando-a de volta e finalmente um recebeu a password e devolveu o texto de uma private key.     Com a private key, antes de mais nada precisava de colocar o texto num documento, para isso precisava de ter  permissão para escrever, para isso fiz uso de " touch 1 " para verificar que não tinha permissão de escrita na ...

DIA#50-OverTheWire-Bandit (LVL 16)

Imagem
     Continuo no OverTheWire desta vez para o nível 16. Neste nível apesar de ter aprendido bastantes coisas novas a solução é bastante fácil, é apenas necessário de usar " s_client " que implementa um client SSL/TLS que se liga a um host remoto usando SSL/TLS. Para fazer esta ligação usou-se então o comando " openssl s_client -connect localhost:30001 ", onde se colocou a password do nível 15, obtendo a password "cluFn7wTiGryunymYOu4RcffSxQluehd".      Seguidamente repete-se o que se tem feito usando de " ssh bandit16@bandit.labs.overthewire.org -p2220 " colocando-se posteriormente a password obtida. Pode-se ver o processo em baixo. PS.   Recomendo vivamente ir a " https://en.wikipedia.org/wiki/Transport_Layer_Security#Digital_certificates ", para aprender mais sobre: A história do SSL (este protocolo está outdated sendo inseguro) e TLS, onde se menciona as características de cada versão que existiu; Como funciona o TLS; Os algoritmos u...