Introdução
Bem-vindo a este laboratório sobre enumeração de servidores web e acesso básico a arquivos. Neste exercício, você aprenderá técnicas fundamentais de reconhecimento web usadas para descobrir e interagir com serviços web.
Neste laboratório, você simulará um cenário básico de reconhecimento web. Você começará realizando reconhecimento em um sistema alvo para confirmar que ele está online e identificar os serviços em execução. Usando a ferramenta nmap, você descobrirá um servidor web e enumerará sua versão. Em seguida, usará o comando curl para acessar um arquivo de flag que foi colocado no servidor web.
Ao concluir, você entenderá como:
- Verificar a conectividade de rede usando
ping. - Usar
nmappara escanear serviços web e realizar enumeração. - Compreender técnicas básicas de reconhecimento web.
- Usar
curlpara acessar arquivos em um servidor web e recuperar uma flag.
Vamos começar.
Verificar Conectividade com o Alvo usando Ping
Nesta etapa, você começará confirmando que o sistema alvo é alcançável a partir da sua máquina. O comando ping é uma utilidade padrão para testar a conectividade de rede. Ele envia pacotes ICMP Echo Request para um host e aguarda as respostas. Este é o primeiro e mais básico passo em qualquer tarefa de reconhecimento de rede.
Seu ambiente inclui um sistema alvo acessível com o nome de host target.
Execute o seguinte comando no terminal para enviar quatro pacotes para o target:
ping -c 4 target
Você deverá ver uma saída confirmando que quatro pacotes foram enviados e quatro foram recebidos, indicando uma conexão estável. O endereço IP pode ser diferente, mas o resultado deve mostrar 0% de perda de pacotes.
PING target (172.17.0.2) 56(84) bytes of data.
64 bytes from target (172.17.0.2): icmp_seq=1 ttl=64 time=0.105 ms
64 bytes from target (172.17.0.2): icmp_seq=2 ttl=64 time=0.069 ms
64 bytes from target (172.17.0.2): icmp_seq=3 ttl=64 time=0.068 ms
64 bytes from target (172.17.0.2): icmp_seq=4 ttl=64 time=0.067 ms
--- target ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3075ms
rtt min/avg/max/mdev = 0.067/0.077/0.105/0.016 ms
Com a conectividade confirmada, você está pronto para prosseguir com o escaneamento do alvo.
Escanear Portas Abertas com Nmap
Nesta etapa, você usará o nmap para escanear o alvo em busca de portas abertas e identificar os serviços em execução nelas. O Nmap é uma ferramenta poderosa para exploração de rede e auditoria de segurança. Este escaneamento o ajudará a encontrar potenciais pontos de entrada, como um servidor web.
Executaremos um escaneamento direcionado na porta 80, a porta padrão para tráfego HTTP. Também usaremos scripts para coletar mais informações sobre o serviço.
Execute o seguinte comando nmap no seu terminal:
nmap -sV -p 80 --script http-enum target
Vamos detalhar este comando:
-sV: Habilita a detecção de versão, que tenta determinar a versão do serviço em execução na porta.-p 80: Especifica que queremos escanear apenas a porta 80.--script http-enum: Executa um script que enumera diretórios e arquivos no servidor web.target: O nome de host da nossa máquina alvo.
A saída será semelhante a esta:
Starting Nmap 7.80 ( https://nmap.org ) at 2025-09-18 09:40 CST
Nmap scan report for target (172.17.0.2)
Host is up (0.00018s latency).
PORT STATE SERVICE VERSION
80/tcp open http Apache httpd 2.4.41 ((Unix))
|_http-server-header: Apache/2.4.41 (Unix)
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 7.32 seconds
Os resultados do escaneamento confirmam que a porta 80/tcp está aberta e executando Apache httpd 2.4.41. Este servidor web está hospedando arquivos que podemos acessar na próxima etapa.
Conectar ao Alvo via HTTP
Nesta etapa, você interagirá com o servidor web usando curl para acessar arquivos. curl é uma ferramenta de linha de comando para transferência de dados com URLs.
Primeiro, faremos uma solicitação padrão para a página principal do servidor web para ver como ela se parece.
curl http://target
O servidor deve responder com o conteúdo da página padrão do Apache.
<html>
<body>
<h1>It works!</h1>
</body>
</html>
Agora, vamos acessar o arquivo de flag que foi colocado no diretório raiz do servidor web. Embora o arquivo seja diretamente acessível nesta configuração, vamos demonstrar como você o acessaria tipicamente:
curl http://target/flag.txt
Este comando recuperará o arquivo de flag diretamente da raiz de documentos do servidor web.
Explorar Sistema Alvo e Localizar Flag
Nesta etapa final, você recuperará e visualizará a flag. A saída do comando curl anterior deve ter exibido a flag diretamente no seu terminal.
A saída esperada do comando é o conteúdo do arquivo de flag:
labex{p4th_tr4v3rs4l_w1zardry}
Se a saída for longa ou você quiser salvá-la para mais tarde, pode redirecionar a saída do comando curl para um arquivo. Esta é uma prática comum ao lidar com arquivos maiores.
Execute o comando novamente, mas desta vez salve o resultado em um arquivo chamado flag.txt:
curl http://target/flag.txt > flag.txt
Agora, você pode visualizar o conteúdo do arquivo baixado usando o comando cat:
cat flag.txt
O terminal exibirá a flag:
labex{p4th_tr4v3rs4l_w1zardry}
Parabéns! Você identificou com sucesso um servidor web, acessou o arquivo de flag e capturou a flag. Copie o valor da flag para completar o laboratório.
Resumo
Neste laboratório, você completou com sucesso um exercício básico de reconhecimento web. Você aprendeu e praticou as seguintes habilidades:
- Reconhecimento: Você usou
pingpara verificar se o alvo estava online e acessível. - Enumeração: Você usou
nmapcom varredura de versão (-sV) e scripts (--script http-enum) para identificar uma porta HTTP aberta e a versão específica do servidor web Apache. - Acesso a Arquivos: Você usou
curlpara acessar arquivos no servidor web. - Recuperação da Flag: Você recuperou com sucesso o arquivo de flag do servidor web.
Este exercício demonstra técnicas básicas de reconhecimento web que são fundamentais para entender como os servidores web funcionam e como interagir com eles programaticamente. Essas habilidades são essenciais para desenvolvimento web, administração de sistemas e testes de segurança.



