Minha Primeira Sala TryHackMe: Um Guia para Iniciantes (Metodologia, Sem Spoilers)
Um relato de aprendizado público da metodologia que usei na minha primeira sala Linux para iniciantes no TryHackMe — reconhecimento, enumeração e a mentalidade que finalmente fez sentido.
Aviso Legal: Este é um conteúdo de placeholder escrito para demonstrar o blog. O nome da "sala" abaixo é ilustrativo — não é um guia de uma sala específica do TryHackMe que eu alegue ter resolvido. A metodologia descrita é um fluxo de trabalho genérico para iniciantes. Substitua esta postagem pelos seus próprios relatos reais.
Nota: Este é conteúdo de placeholder criado para demonstrar o blog. Substitua-o pela sua própria escrita.
Finalmente sentei e trabalhei na minha primeira sala de iniciantes do TryHackMe no último fim de semana. Eu vinha dando voltas na ideia há meses — comprando a assinatura, dizendo a mim mesmo que começaria "na próxima semana" — e o que finalmente me desbloqueou foi tratar isso como uma tarefa de casa em vez de uma prova. Esta postagem não é uma revelação de flag. É a metodologia que aprendi, escrita para que eu possa relê-la mais tarde.
A Configuração
Não vou fingir que sou legal com isso. Instalei o arquivo de configuração do OpenVPN exatamente como a plataforma instruiu, conectei e depois verifiquei três vezes a conexão porque não confiei nela:
# Coloque o arquivo .ovpn baixado em uma pasta e conecte.
sudo openvpn --config ryan_student.ovpn
# Em outro terminal, verifique se o túnel foi estabelecido.
ip a show tun0
# Confirme se o alvo é alcançável através do túnel.
ping -c 3 10.10.10.10 # IP alvo ilustrativo
Uma verificação de sanidade que faço toda vez agora: eu ping o alvo antes de fazer nmap nele. Se o ping falhar, a VPN não subiu, e não tem sentido fazer a varredura. Cinco minutos economizados, toda vez.
Fase 1 — Reconhecimento
A maior mudança no meu pensamento foi internalizar que "reconhecimento" não é um único passo, é uma postura. Antes de tocar no alvo, você anota o que está tentando aprender. Minha lista parece com isto:
- Quais serviços estão ativos?
- Quais versões?
- O que está exposto que não estava documentado?
- O que a superfície me diz sobre como esta máquina deve ser abordada?
O primeiro comando é sempre o mesmo:
# Varredura inicial rápida: top 1000 portas TCP, scripts padrão, detecção de versão.
nmap -sV -sC -oN nmap_initial.txt 10.10.10.10
Eu salvo a saída em um arquivo porque com certeza vou esquecer o que estava na porta 8080 quando eu tiver pivotado para a porta 22. Algumas flags que aprendi a ler com cuidado:
| Flag | O que ela faz | Quando eu a uso |
|---|---|---|
-sV |
Procura por versões de serviços | Quase sempre — versões direcionam a enumeração |
-sC |
Executa scripts padrão do NSE | Varredura inicial, para encontrar pontos fáceis |
-O |
Detecção de SO | Quando tenho um palpite e quero confirmar |
-p- |
Varre todas as 65.535 portas TCP | Quando a varredura das top-1000 não encontrou nada |
-oN |
Saída normal para um arquivo | Sempre. As anotações são o produto final. |
--min-rate |
Controla a taxa de pacotes (acelera/desacelera) | Acelerar varreduras amplas em uma conexão estável |
-sV— procura por versões de serviços. É aqui que está o ouro.-sC— scripts padrão do NSE. Mais lentos, mas frequentemente encontram pontos fáceis (FTP anônimo, títulos de http, compartilhamentos SMB).-oN— saída normal para um arquivo. O "eu" do futuro vai agradecer ao "eu" do presente.
Se a varredura inicial encontrar portas, mas não muitos detalhes, farei uma passagem mais aprofundada:
# Todas as portas TCP, depois alimentar a detecção de versão com o que estiver aberto.
nmap -p- --min-rate 1000 -oN nmap_allports.txt 10.10.10.10
nmap -sV -sC -p <portas abertas, separadas por vírgula> -oN nmap_deep.txt 10.10.10.10
Fase 2 — Enumeração
Esta é a fase em que eu costumava me apressar, e é a fase em que agora passo mais tempo. Enumeração é onde você mapeia a superfície em detalhes. O erro que eu continuava cometendo era pular para a exploração assim que via um servidor web. Agora me obrigo a responder três perguntas antes de fazer qualquer coisa:
- Que software, exatamente? (String de versão, framework, CMS.)
- Quais endpoints, diretórios ou arquivos existem que não estão na página principal?
- Existe uma vulnerabilidade conhecida para esta versão?
Para um servidor web na porta 80, uma enumeração básica de diretórios parece com:
# Enumeração de diretórios com gobuster. Pequena wordlist para começar.
gobuster dir -u http://10.10.10.10/ -w /usr/share/wordlists/dirb/common.txt -o gobuster.txt
# Se encontrar algo interessante, procure por arquivos também.
gobuster dir -u http://10.10.10.10/ -w /usr/share/wordlists/dirb/common.txt -x php,txt,html,bak -o gobuster_files.txt
Se a máquina expuser SMB, enum4linux é um ponto de partida amigável:
enum4linux -a 10.10.10.10 | tee enum4linux.txt
A parte não "sexy" da enumeração é tomar notas. Eu mantenho um arquivo markdown por máquina com seções para portas, versões, diretórios, credenciais tentadas e becos sem saída. Quando volto para uma máquina no dia seguinte, as anotações são o que me colocam de volta no ritmo em cinco minutos, em vez de uma hora.
Fase 3 — Exploração (a parte cuidadosa)
É aqui que a ética realmente importa, mesmo em um laboratório controlado. Três regras que estabeleci para mim mesmo:
- Eu só executo exploits que consigo explicar em uma frase. Se não consigo dizer por que este payload funciona, paro e leio.
- Prefiro PoCs públicos de fontes confiáveis (Exploit-DB, repositórios do GitHub de pesquisadores nomeados) do que um copy-paste aleatório de um fórum.
- Eu leio o código do PoC antes de executá-lo. Sempre.
Para uma sala Linux para iniciantes, o passo de exploração geralmente não é um exploit de corrupção de memória. Geralmente é um destes:
- Uma CVE conhecida contra uma versão de serviço desatualizada encontrada durante a enumeração.
- Uma credencial fraca ou padrão em um painel de admin exposto.
- Um upload de arquivo que o aplicativo falha em validar corretamente.
- Um vetor de injeção de comando em um recurso que chama o sistema operacional.
"Máquinas iniciantes" são iniciantes por uma razão. A lição é a metodologia, não o exploit. O mesmo loop de reconhecimento → enumeração → exploração escala até o topo; apenas a profundidade muda.
Fase 4 — Escalonamento de Privilégios
Uma vez que você tem um ponto de apoio como um usuário de baixo privilégio, a pergunta se torna: como me torno root? No Linux, minha lista de verificação é:
- Execute
idewhoami. Anote os grupos dos quais você faz parte. -
sudo -l— o que este usuário pode executar como root sem senha? - Procure por binários SUID:
find / -perm -4000 -type f 2>/dev/null - Verifique scripts graváveis chamados por cron ou timers do systemd.
- Olhe as variáveis de ambiente, PATH, qualquer coisa incomum em
~/.bashrc.
GTFOBins é a referência que consulto após encontrar um binário SUID suspeito ou uma entrada sudo -l. O ponto não é decorar; o ponto é saber o que procurar e onde procurar.
No Windows, a referência equivalente é LOLBAS, e a ferramenta que eu usaria após um ponto de apoio é algo como winpeas para automatizar a fase de descoberta.
O Que Realmente Fez Sentido
Algumas coisas que desejo que alguém tivesse me dito com mais força antes de eu começar:
- Quinze minutos de enumeração valem duas horas de adivinhação. A máquina está te dizendo para o que ela é vulnerável. Preste atenção.
- Tome notas. O "eu" do futuro é seu público. Todo comando, toda saída, todo "hmm, isso é estranho".
- Não seja precioso com as dicas. Salas iniciantes são para aprender, não para provar que você pode forçar a resposta com zero ajuda.
- Leia o exploit antes de executá-lo. Mesmo que você não entenda completamente. Especialmente se você não entende completamente.
- A metodologia é o aprendizado, não a flag. As flags expiram; o loop não.
O Que Vem a Seguir
Meu plano para o próximo mês é trabalhar em mais duas ou três salas iniciantes usando exatamente este loop, com o objetivo de ficar mais rápido nas partes chatas (reconhecimento, anotação) para que eu possa passar mais tempo nas partes interessantes (análise de vulnerabilidade). Quando isso se sentir confortável, vou avançar para salas intermediárias e começar a olhar para o HackTheBox e a PortSwigger Web Security Academy para variar.
Se você também está começando: a melhor coisa que você pode fazer é anotar o que você tentou. Na primeira vez que fizer isso, você vai perceber quanto da sua "memória" na verdade era uma série de palpites sortudos, e é nesse momento que o aprendizado real começa.