Home Vulnhub - RickdiculouslyEasy
Post
Cancel

Vulnhub - RickdiculouslyEasy

Link da Materia: https://www.vulnhub.com/entry/rickdiculouslyeasy-1,207/

Scan/Enumeracao

Host Discovery

  • Com o arp-scan descobrimos que o nosso alvo esta no ip 192.168.150.118
1
sudo arp-scan -I eth1 192.168.56.0/24

Port Discovery

  • Com o parametro “-p-“ do nmap varremos todas as portas possiveis do nosso alvo e encontramos 07 delas abertas. 21, 22, 80, 9090, 13337, 22222 e 60000
1
sudo nmap -n -T5 -p- 192.168.56.105

Port Scan

  • Agora com o parametro “-A” do nmap vamos descobrir mais informacoes sobre essas portas abertas do nosso alvo. Temos algumas portas que retornaram o “tcpwrapped”, isso significa que o nmap identificou algum servico analogo ao “TCP Wrapped” que limita o acesso a algumas aplicacoes a host previamente configurados. Ou seja, como nao estamos na lista dos que podem acessar a aplicacao o Handshake e concluido porem o servidor encerra a conexao, por isso a porta aparece como tcpwrapped…
1
sudo nmap -n -T5 -A -p 21,22,80,9090,13337,22222,60000 192.168.56.105

  • Porta 21: vsftpd 3.0.3
  • Porta 22: tcpwrapped
  • Porta 80: Apache httpd 2.4.27 ((Fedora))
  • Porta 9090: Cockpit web service 161 or earlier
  • Porta 13337: tcpwrapped
  • Porta 22222: OpenSSH 7.5 (protocol 2.0)
  • Porta 60000: tcpwrapped

Enumeracao/Exploracao Web (Porta 80)

Browser pagina principal

  • Entramos na pagina da aplicacao Web

Fuzzy de diretorios - Gobuster

  • Como e de costume, vamos rodar o gobuster em cima da pagina para ver o que encontramos de interessante… Achamos o “/cgi-bin/”, “/passwords” e o “/robots.txt

/passwords

  • Acessando o diretorio “passwords” temos dois arquivos “flag.txt” e “passwords.html

  • No arquivo “passwords.html” esta falando que “Morty” deixou a senha em um lugar facil, entao o outro usuario disse que vai esconder melhor… Olhando o codigo fonte achamos algo interessante “Password: winter

  • Tentamos ssh com o usuario “morty” e a senha encontrada, porem, sem sucesso…

/robots.txt

  • Acessando o robots.txt temos algumas paginas interessantes: “root_shell.cgi” e “tracertool.cgi

root_shell.cgi

  • Entramos na pagina porem ela esta em contrucao…

  • Olhando o codigo fonte nao temos nada de interessante, apenas alguns comentarios… Coisa de CTF

tracertool.cgi

  • A pagina pede para informarmos um IP… aparentemente ele ira nos tetornar a rota ate o IP

  • Testamos e a pagina nos retornou algo semelhante com o comando traceroute

BurpSuite

  • Vamos para o Burp, para deixar mais perfermatica a nossa enumeracao

  • Analisando a requisicao vemos como a pagina passa o IP

  • Agora vamos jogar para o “repeater” do Burp para ver se conseguimos executar comando nessa pagina… Conseguimos RCE!

  • Depois de varias tentativas tentando executar algum comando para nos retornar o shell nao obtivemos sucesso em nenhuma… O que nos resta e dar uma olhada nos arquivos na maquina para tentar achar alguma vulnerabilidade…

Usuarios

  • Vamos dar uma olhada nos usuarios da maquina, lendo o arquivo /etc/passwd, ja que nos tivemos uma dica de senha de um deles…

  • Parece que a aplicacao ta filtrando o comando “cat”, para contornar isso conseguimos ler o passwd usando o comando “tail”. Achamos 03 ususarios que podemos realizar login na maquina: “RickSanchez”, “Morty” e “Summer

1
192.168.56.101;tail -f /etc/passwd

SSH - Porta 22222

  • Antes de tudo vamos tentar logar com um desses usuarios que acabamos de encontrar e a senha que achamos no codigo fonte de uma das paginas. “winter

  • Conseguimos logar com a credencial Summer:winter

Usuario Summer

  • Achamos mais uma flag

  • Vamos dar uma olhada nos arquivos da maquina… Conseguimos entrar no /home/Morty. Tem dois arquivos la, vamos transferi-los para a nossa maquina

  • Conseguimos transferir os arquivos para a nossa maquina, mas nao conseguimos descompactar o “journal.txt.zip” e o “Safe_Password.jpg” aparentemente nao tem nada…

  • No diretorio “/home/RickSanchez” temos mais dois diretorios, o RICKS_SAFE que tem um binario dentro dele, porem nao temos permissao de execucao e o ThisDoesntContainAnyFlags que tem um arquivo .txt (nao e uma flag)

  • Depois de varias tentativas conseguimos algo interessante… No arquivo Safe_Password.jpg, que esta no /home/Morty, contem uma senha… Basta verificar as strings do arquivo que conseguiremos ver essa dica
1
strings Safe_Password.jpg

  • Exitem outros jeitos de descobrir esse segredo do arquivo .jpg, uma dela e dar um “cat” no arquivo…

  • A melhor maneira que encontrei para verificar essa informacao foi com o comando “binwalk”. Encontramos a senha Meeseek para descompactar o arquivo .zip
1
binwalk -e Safe_Password.jpg

  • Descompactando o arquivo “journal.txt.zip” temos um recado dizendo algo sobre uma senha de seguranca: 131333

  • Bom, temos mais uma flag porem nao saimos do lugar ate agora…
  • Vamos mover o binario “safe” para o /tmp, dar permissao e executa-lo…

  • O binario diz que temos que passar argumentos
  • Depois de varias tentativas e o programa retornando nada de interessante, passamos a senha de seguranca que encontramos.

  • A dica e para criarmos um script para gerar senhas com as seguinte dicas:
    • 01 caracter maiusculo
    • 01 numero (digito)
    • 01 das palavras da “minha antiga banda”

Criando uma wordlist

  • Primeiramente vamos procurar qual era o nome da banda…

  • Agora vamos criar um script em python para gerar uma wordlist de acordo com as dicas que achamos.
1
2
3
4
5
6
#!/usr/bin/python3
import string
for letra in list(string.ascii_uppercase):
    for numero in [0,1,2,3,4,5,6,7,8,9]:
        for palavra in ['The', 'Flesh', 'Curtains']:
            print(str(letra)+str(numero)+str(palavra))

  • Agora e so dar permissao de execucao para o script e executa-lo jogando a sua saida para um arquivo

Brute Force SSH - Porta 22222

  • Bom, agora que ja temos uma wordlist vamos tentar quebrar a senha do ssh. Como nao tenho certeza do ususario eu vou tentar fazer com o dois que conhecemos na maquina… Conseguimos achar a credencial RickSanchez:P7Curtains
1
hydra -L user.txt -P wordlist_II.txt ssh://192.168.56.105 -s 22222

Usuario RickSanchez

  • Conseguimos logar com a credencial encontrada

  • Demos sorte na primeira tentariva… Verificamos que o usuario Rick tem permissao para fazer qualquer coisa com o sudo na maquina
1
sudo -l

  • Agora ficou facil, e so logar com o root usando o sudo
1
sudo su

  • Pronto, agora somos ROOT!

ROOT

  • Achamos mais uma flag, a do ROOT

Bonus

Flag Porta 13337

  • Conseguimos pegar mais uma flag que esfava na porta 13337 da maquina

FTP - Porta 21

  • Conseguimos acessar o ftp como anonymous e achamos mais uma flag

Web - Porta 9090

  • Entrando na pagina web da porta 9090 temos mais uma flag e somente isso… Nao achamos nada de interessante…

Consideracoes Finais

  • Seguindo uma ordem de prioridade conseguimos explorar a maquina sem perder muito tempo com os servicos rolhas. Talves teria como acessar a maquina de outra maneira, mas por hora nao vamos explorar os outros servicos.
This post is licensed under CC BY 4.0 by the author.
Contents