Passo a passo fraco [TryHackMe]

Apr 01 2023
Recentemente, desenvolvi uma sala THM para um evento CTF na minha faculdade e aqui está o passo a passo !! Link: https://tryhackme.com/jr/weak Nota: A caixa leva de 5 a 7 minutos para iniciar corretamente todos os serviços, então você precisa ser um pouco paciente :) Recon Uma varredura básica de porta da caixa revela que as portas são 80 e 22 estão abertos com serviços válidos (http e ssh, respectivamente).

Recentemente, desenvolvi uma sala THM para um evento CTF na minha faculdade e aqui está o passo a passo !!

Link:https://tryhackme.com/jr/weak

Nota: A caixa leva de 5 a 7 minutos para iniciar corretamente todos os serviços, então você deve ser um pouco paciente :)

reconhecimento

Uma varredura básica da caixa revela que as portas 80 e 22 estão abertas com serviços válidos (http e ssh, respectivamente).

Enumeração

Http

Um modelo de aparência muito básica

A página http não tem botões ativos nem nada, então análise de código-fonte e bloqueio de diretório é algo que eu faria.

Usuário: tirone

Este comentário em particular implora a possibilidade de tyrone ser um usuário válido na caixa.

Enquanto isso, o bloqueio de diretório revela a existência de um arquivo chamado impressionum.txt

Que felizmente parece uma chave privada para login ssh.

Somando dois e dois, o login pode ser feito para tyrone.

sim chmod 600 atw
yay!

Mais Enumeração

Após o login, local.txt é imediatamente encontrado em /home/tyrone/

Além disso, /var/www/html/ tem um arquivo chamado flag2 que não temos permissão para ler

Olhando de perto, é de propriedade do próprio tyrone, para que possamos alterar as permissões e nos permitir lê-lo.

Não tente copiar a bandeira pls

Um grep casual no conteúdo do arquivo nos mostra mais dois arquivos que podem ser lidos assim que alterarmos suas permissões

4 bandeiras para baixo!

O diretório raiz tem um arquivo de texto que pode ser lido pelo tyrone, mas claramente não é um sinalizador

baseRot1364 parece um wrapper base64 em torno de rot13

Base64 — Rot13 — Base64

Vamos baixar essa bandeira!

Escalação de Privilégios

O usuário tyrone não tem permissões de sudo e nenhuma credencial disponível em nenhum diretório.

Observar os bits SUID com o seguinte comando nos permite ver os binários que permitem que qualquer usuário os execute como o usuário que os possui

find / -perm -4000 2>/dev/null

https://gtfobins.github.io/gtfobins/tee/#suid

Agora podemos sobrescrever qualquer arquivo no sistema de arquivos. (Easy Priv Esc através de /etc/passwd)

No entanto, há outro vetor de escalonamento de privilégios que gostaria de exibir.

crontab está ilegível. Esquisito.

Permite monitorar os serviços para ver o que o crontab está executando.

https://github.com/DominicBreuker/pspy

Algo, em algum lugar está acionando um script

Incrível, vamos substituir isso
Comando personalizado para substituir o script.sh
Agora, isso deve se transformar em um bit SUID assim que o relógio atingir 00
Bash agora é um bit SUID.

Acesso raiz agora facilmente disponível por meio de um comando GTFOBins fácil

https://gtfobins.github.io/gtfobins/bash/#suid

cd para root e pegue o proof.txt ezpz.

Qualquer comentário, sugestão ou crítica pode ser comunicado a mim via Twitter, LinkedIn ou deixar um comentário aqui

@JodisKripe