🌶️Startup
Olá, viajante! Neste artigo, trago um write-up do desafio Startup, da plataforma TryHackMe.
Reconhecimento
Ao realizar um portscan básico, encontrei as seguintes portas abertas:
PORT STATE SERVICE
21/tcp open ftp
22/tcp open ssh
80/tcp open http
Analisando a aplicação web, não encontrei nada relevante.

Olhando o código-fonte, também não encontrei nada muito interessante.

Enquanto a enumeração de subdiretórios com o gobuster
ainda não foi concluída, analisei o serviço FTP e notei que o servidor permite login anônimo.

Realizei o download dos arquivos acima e notei que a imagem important.jpg
, na verdade, não é tão importante assim.

Porém, no arquivo notice.txt
, temos um possível nome de usuário.
#Whoever is leaving these damn Among Us memes in this share, it IS NOT FUNNY. People downloading documents from our website will think we are a joke! Now I dont know who it is, but Maya is looking pretty sus.
Retomando a enumeração de diretórios, encontrei o diretório /files
.

Exploração
Tenho acesso ao serviço FTP e a um diretório de arquivos... Posso tentar subir uma shell reversa através do serviço FTP.

Tentarei obter uma shell full TTY através do Python.
python3 -c 'import pty;pty.spawn("/bin/bash")'
CTRL + Z
stty raw -echo
fg
export TERM=xterm

Agora posso checar por arquivos e, ao realizar tal procedimento, encontrei a primeira flag.

Analisando os arquivos em maior profundidade, encontrei uma pasta chamada incidents
e, dentro dela, um arquivo de extensão .pcapng
.

Realizando a cópia do arquivo para a minha máquina via scp
e analisando o arquivo com o Wireshark
, encontrei um pacote que continha uma possível (e aparente) senha.

Movimentação Lateral
Analisando a pasta /home
para verificar a existência de outros usuários, encontrei outro usuário. Agora com um nome de usuário genuíno e uma possível senha, posso tentar realizar uma movimentação lateral.

Escalação de Privilégio
Analisando a pasta scripts
, encontrei um script em shell chamado planner.sh
, pertencente ao usuário root mas com permissão de execução para qualquer usuário.


planner.sh
O script acima basicamente envia o conteúdo da variável LIST
para dentro do arquivo /scripts/startup_list.txt
e, após o envio, executa o script /etc/print.sh
, ao qual investigarei agora.

/etc/print.sh
é o usuário que estou utilizando no momento. Good newsChecando o conteúdo do script, trata-se apenas de uma chamada de shell e a exibição de uma mensagem de conclusão.
#!/bin/bash
echo "Done!"
Checando executáveis com permissão SUID, encontrei o executável crontab
. Apontarei o script planner.sh
no crontab
do usuário que acessei para tentar obter uma shell reversa com permissões elevadas.

crontab
para o script planner.sh

crontab

Last updated