
Laboratório da Equipe Azul focado em analisar logs de acesso Apache para detectar força bruta de diretório e atividade de varredura web.
Laboratório Blue Team focado em analisar logs do servidor HTTP Apache para detectar atividades de varredura web, enumeração de diretórios e tentativas de path traversal.
Instalar e expor um servidor web Apache em um ambiente de laboratório isolado, simular varredura web automatizada usando ferramentas padrão da indústria e analisar os logs gerados sob a perspectiva do Blue Team — identificando padrões de ataque, assinaturas de ferramentas e indicadores de atividade maliciosa de reconhecimento.
| Componente | Detalhes |
|---|---|
| VM Atacante | Kali Linux |
| VM Alvo | Debian 13 |
| Rede | NAT Network (VirtualBox) |
| IP do Atacante | 10.0.2.5 |
| IP do Alvo | 10.0.2.15 |
| Servidor web | Apache 2.4.67 |
| Fontes de log | /var/log/apache2/access.log, /var/log/apache2/error.log |
| Porta HTTP | 80 |
Confirmado que o servidor HTTP Apache estava ativo e em execução na máquina alvo.```bash sudo systemctl status apache2 --no-pager
Resultado: `active (running)` desde Qua 2026-05-06 21:09:17. Apache 2.4.67 (Debian), PID principal 3164, 55 tarefas ativas.
---
### 2. Identificação do IP do Alvo
Identificou o endereço IP da máquina alvo Debian.```bash
ip a
IP alvo: 10.0.2.15/24 — interface enp0s3
Verificada a conectividade de rede entre a máquina atacante Kali e o alvo Debian.```bash ping -c 4 10.0.2.15
**Resultado:** 4 packets transmitted, 4 received, 0% packet loss. RTT min/avg/max: 0.495/1.288/2.139ms.
---
### 4. Teste do Apache no Navegador
Acessou o servidor Apache do navegador Kali para confirmar a disponibilidade do serviço HTTP.```
http://10.0.2.15
Resultado: Página padrão do Apache2 Debian carregada com sucesso — confirmando que o servidor web estava acessível e respondendo a requisições HTTP.
Foram criados diretórios e páginas de teste no servidor alvo para simular uma estrutura realista de aplicação web.```bash sudo mkdir -p /var/www/html/admin sudo mkdir -p /var/www/html/backup sudo mkdir -p /var/www/html/login echo "
Diretórios criados: `/admin`, `/backup`, `/login`
---
### 6. Varredura Nikto
Executou o Nikto contra o servidor web alvo para simular a varredura automatizada de vulnerabilidades.```bash
nikto -h http://10.0.2.15
Nikto v2.5.0 — Horário de Início: 2026-05-06 20:16:56 — Horário de Término: 20:17:13 (17 segundos)
Resultados relatados pelo Nikto:
X-Frame-Options — proteção contra clickjacking ausenteX-Content-Type-Options — proteção contra MIME sniffing ausente/admin/, /backup/, /login//admin/index.html — Página de login do Admin acessívelExecutou o Dirb para realizar brute force de diretórios no servidor web alvo.```bash dirb http://10.0.2.15
**DIRB v2.22 — Início: Qua Mai 6 20:19:50 2026 — Fim: 20:19:59 2026 (9 segundos)**
Wordlist utilizada: `/usr/share/dirb/wordlists/common.txt` — 4612 palavras testadas
Diretórios e arquivos encontrados:
| URL | Código | Tamanho |
| --------------------------------- | ------ | ------- |
| http://10.0.2.15/index.html | 200 | 10703 |
| http://10.0.2.15/server-status | 403 | 314 |
| http://10.0.2.15/admin/ | 200 | — |
| http://10.0.2.15/admin/index.html | 200 | 21 |
| http://10.0.2.15/backup/ | 200 | — |
| http://10.0.2.15/login/ | 200 | — |
| http://10.0.2.15/login/index.html | 200 | 20 |
**Aviso:** A listagem do diretório `/backup/` está ativada — nenhum arquivo de índice presente, conteúdo do diretório diretamente navegável.
**Total baixado:** 13836 bytes — **Encontrados:** 4 recursos
---
### 8. Análise do Log de Acesso
Inspecionou entradas brutas do log de acesso para identificar o padrão de ataque.```bash
sudo cat /var/log/apache2/access.log
Exemplos de entradas da fase de verificação do Nikto (21:18:32):``` 10.0.2.5 - - [06/May/2026:21:18:32 -0300] "GET /10.0.2.15.tar.bz2 HTTP/1.1" 404 527 10.0.2.5 - - [06/May/2026:21:18:32 -0300] "GET /10_0_2_15.gz HTTP/1.1" 404 527 10.0.2.5 - - [06/May/2026:21:18:32 -0300] "GET /10.0.2.15.sql HTTP/1.1" 404 527 10.0.2.5 - - [06/May/2026:21:18:32 -0300] "GET /10.0.2.15.zip HTTP/1.1" 404 527
Exemplos de entradas da fase de verificação Dirb (21:21:34):```
10.0.2.5 - - [06/May/2026:21:21:34 -0300] "GET /login/xsql HTTP/1.1" 404 472
10.0.2.5 - - [06/May/2026:21:21:34 -0300] "GET /login/xxx HTTP/1.1" 404 472
10.0.2.5 - - [06/May/2026:21:21:34 -0300] "GET /login/zimbra HTTP/1.1" 404 472
10.0.2.5 - - [06/May/2026:21:21:34 -0300] "GET /login/zoom HTTP/1.1" 404 472
Padrão observado: Centenas de requisições sequenciais dentro do mesmo segundo, todas visando caminhos inexistentes — consistente com comportamento de varredura automatizada.
Filtrados todos os registros de log de acesso originados do IP do atacante.```bash sudo grep "10.0.2.5" /var/log/apache2/access.log | head -30
Padrões adicionais observados:
- Nikto tentou acessar arquivos de backup usando o IP do servidor como nome de arquivo (ex.: `10.0.2.15.tar.bz2`, `10.0.2.15.sql`, `10.0.2.15.zip`)
- Dirb iterou por wordlists ordenadas alfabeticamente visando cada diretório descoberto
- Ambas as ferramentas geraram requisições em velocidade de máquina — múltiplas entradas por segundo da mesma faixa de porta de origem
---
### 10. Distribuição de Códigos de Status HTTP
Contou as requisições por código de resposta HTTP para quantificar a superfície de ataque.```bash
sudo grep " 200 " /var/log/apache2/access.log | wc -l
sudo grep " 403 " /var/log/apache2/access.log | wc -l
sudo grep " 404 " /var/log/apache2/access.log | wc -l
| Código HTTP | Significado | Contagem |
|---|---|---|
| 200 | OK — recurso encontrado e servido | 177 |
| 403 | Proibido — recurso existe mas acesso negado | 26 |
| 404 | Não Encontrado — recurso não existe | 21740 |
Total de erros 404: 21.740 — a esmagadora maioria das requisições tinha como alvo caminhos que não existem, o que é a característica definidora de força bruta automatizada de diretórios.
Contadas todas as entradas de log de acesso originadas do atacante.```bash sudo grep "10.0.2.5" /var/log/apache2/access.log | wc -l
**Total de requisições de 10.0.2.5: 21,962**
---
### 12. Identificação de Assinatura de Ferramenta
Pesquisado por assinaturas específicas de scanner no log de acesso.
#### Assinatura do Nikto```bash
sudo grep "nikto" /var/log/apache2/access.log | head -5
Resultado:``` 10.0.2.5 - - [06/May/2026:21:18:32 -0300] "PUT /nikto-test-pk9VPSjF.html HTTP/1.1" 405 590 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"
Nikto criou um arquivo de teste (`nikto-test-pk9VPSjF.html`) via requisição PUT para verificar permissões de escrita no servidor.
#### assinatura Dirb```bash
sudo grep "DirBuster\|dirb" /var/log/apache2/access.log | head -5
Resultado:``` 10.0.2.5 - - [06/May/2026:21:21:26 -0300] "GET /dirb HTTP/1.1" 404 472 10.0.2.5 - - [06/May/2026:21:21:26 -0300] "GET /dirbmark HTTP/1.1" 404 472 10.0.2.5 - - [06/May/2026:21:21:29 -0300] "GET /admin/dirb HTTP/1.1" 404 472 10.0.2.5 - - [06/May/2026:21:21:29 -0300] "GET /admin/dirbmark HTTP/1.1" 404 472 10.0.2.5 - - [06/May/2026:21:21:32 -0300] "GET /login/dirb HTTP/1.1" 404 472
O próprio nome do Dirb aparece na wordlist que ele usa, deixando uma assinatura clara nos logs.
---
### 13. Análise do Log de Erros
Inspecionou o log de erros do Apache para eventos de segurança no lado do servidor desencadeados pelo scan.```bash
sudo cat /var/log/apache2/error.log
Critical events found:
Nikto tentou acessar arquivos sensíveis do sistema atravessando limites de diretório:``` [client 10.0.2.5] AH10244: invalid URI path (/../../../../../../../../../../../../etc/shadow) [client 10.0.2.5] AH10244: invalid URI path (/../../../../../../../../../../etc/passwd) [client 10.0.2.5] AH10244: invalid URI path (/%2E%2E/%2E%2E/%2E%2E/%2E%2E/%2E%2E/windows/win.ini) [client 10.0.2.5] AH10244: invalid URI path (/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/etc/passwd) [client 10.0.2.5] AH10244: invalid URI path (/../../../../../../../../../boot.ini) [client 10.0.2.5] AH10244: invalid URI path (/../../../../winnt/repair/sam._)
Alvos incluídos: `/etc/passwd`, `/etc/shadow`, `boot.ini`, `win.ini`, Windows SAM database — todos os alvos clássicos de path traversal.
#### Métodos HTTP Inválidos
Nikto testou métodos HTTP não padrão para identificar configurações incorretas:```
[client 10.0.2.5] AH00135: Invalid method in request DIWHWPJH / HTTP/1.1
[client 10.0.2.5] AH00135: Invalid method in request DEBUG / HTTP/1.1
[client 10.0.2.5] AH00135: Invalid method in request TRACK / HTTP/1.0
[client 10.0.2.5] AH00135: Invalid method in request SEARCH / HTTP/1.1
[client 10.0.2.5] AH00135: Invalid method in request INDEX / HTTP/1.1
Ambas as ferramentas tentaram acessar arquivos de configuração protegidos pelo Apache:``` [client 10.0.2.5] AH01630: client denied by server configuration: /var/www/html/.htpasswd [client 10.0.2.5] AH01630: client denied by server configuration: /var/www/html/.htaccess [client 10.0.2.5] AH01630: client denied by server configuration: /var/www/html/server-status [client 10.0.2.5] AH01630: client denied by server configuration: /var/www/html/admin/.htpasswd [client 10.0.2.5] AH01630: client denied by server configuration: /var/www/html/login/.htpasswd
#### Path Traversal Específico do VMware
Nikto também testou para exposição da infraestrutura VMware:```
[client 10.0.2.5] AH10244: invalid URI path (/sdk/%2E%2E/%2E%2E/%2E%2E/%2E%2E/%2E%2E/%2E%2E/etc/vmware/hostd/vmInventory.xml)
Os logs de acesso e erro revelaram um padrão de ataque automatizado em duas fases originado de um único endereço IP (10.0.2.5) direcionado ao servidor web Apache na porta 80.
O Nikto realizou 8.102 requisições em 17 segundos, testando vulnerabilidades web conhecidas, cabeçalhos de segurança ausentes, métodos HTTP perigosos e vetores de path traversal. O log de erro capturou múltiplas tentativas de acessar /etc/passwd, /etc/shadow, boot.ini e arquivos SAM do Windows — todas bloqueadas pela validação de URI do Apache. O Nikto também tentou uma requisição PUT para criar um arquivo de teste no servidor, confirmando que estava testando permissões de escrita.
O Dirb testou 4.612 palavras de sua wordlist comum contra a raiz e cada subdiretório descoberto. Isso gerou a maior parte dos 21.740 erros 404 observados. O Dirb identificou com sucesso /admin/, /backup/ e /login/ como diretórios válidos. O diretório /backup/ foi encontrado com listagem de diretório ativada — uma má configuração significativa que permitiria a um invasor navegar diretamente por seu conteúdo.
A concentração de 21.962 requisições HTTP de um único IP de origem em aproximadamente 7 minutos, combinada com a presença de tentativas de path traversal, métodos HTTP inválidos e assinaturas específicas de ferramentas tanto nos logs de acesso quanto de erro, constitui evidência clara de atividade automatizada de reconhecimento web.
Nenhuma exploração bem-sucedida foi observada. Todas as tentativas de path traversal foram rejeitadas pelo motor de validação de URI do Apache. O acesso a arquivos protegidos (.htpasswd, .htaccess, server-status) foi negado pela configuração do servidor.
Com base nos achados, os seguintes controles são recomendados:
X-Frame-Options, X-Content-Type-Options, Content-Security-Policy/backup//server-status apenas a localhosterror.log continuamente para eventos AH10244 (caminho de URI inválido)/admin/, /backup/) da exposição públicaServerTokens Prod, ServerSignature Off)Este laboratório demonstrou como ferramentas automatizadas de varredura web deixam padrões distintos e identificáveis tanto nos logs de acesso quanto nos de erro do Apache. Ao correlacionar o volume de erros 404, a presença de tentativas de path traversal no error.log, requisições de métodos HTTP inválidos e assinaturas específicas de ferramentas nos caminhos de requisição e strings de user-agent, foi possível reconstruir a linha do tempo completa do ataque e identificar as ferramentas utilizadas — sem qualquer conhecimento prévio das ações do atacante.
O exercício reforça a importância do monitoramento de logs do servidor web, configuração de cabeçalhos de segurança e controles de acesso a diretórios como práticas fundamentais do Blue Team para infraestrutura voltada para a web.
Laboratório Blue Team focado em analisar logs do servidor Apache para detectar varreduras web, enumeração de diretórios e tentativas de path traversal.
Instalar e expor um servidor web Apache em um ambiente de laboratório isolado, simular varreduras automatizadas utilizando ferramentas amplamente usadas em testes de segurança, e analisar os logs gerados sob uma perspectiva Blue Team — identificando padrões de ataque, assinaturas de ferramentas e indicadores de atividade de reconhecimento malicioso.
Confirmado que o servidor Apache estava ativo e em execução na máquina alvo.```bash sudo systemctl status apache2 --no-pager
Resultado: `active (running)` desde Wed 2026-05-06 21:09:17. Apache 2.4.67 (Debian), PID principal 3164, 55 tarefas ativas.
---
### 2. Identificação do IP do Alvo
Identificado o endereço IP da máquina Debian alvo.```bash
ip a
IP do alvo: 10.0.2.15/24 — interface enp0s3
Verificada a conectividade de rede entre o Kali e o Debian.```bash ping -c 4 10.0.2.15
**Resultado:** 4 pacotes transmitidos, 4 recebidos, 0% de perda. RTT min/avg/max: 0.495/1.288/2.139ms.
---
### 4. Teste do Apache no Navegador
Acessado o servidor Apache a partir do navegador do Kali para confirmar disponibilidade do serviço HTTP.```
http://10.0.2.15
Resultado: Página padrão do Apache2 Debian carregada com sucesso — confirmando que o servidor web estava acessível e respondendo a requisições HTTP.
Criados diretórios e páginas de teste no servidor alvo para simular uma estrutura de aplicação web realista.```bash sudo mkdir -p /var/www/html/admin sudo mkdir -p /var/www/html/backup sudo mkdir -p /var/www/html/login echo "
Diretórios criados: /admin, //backup, //login
---
### 6. Scan com Nikto
Executado o Nikto contra o servidor web alvo para simular varredura automatizada de vulnerabilidades.```bash
nikto -h http://10.0.2.15
Nikto v2.5.0 — Início: 2026-05-06 20:16:56 — Fim: 20:17:13 (17 segundos)
Achados reportados pelo Nikto:
X-Frame-Options — proteção contra clickjacking ausenteX-Content-Type-Options — proteção contra MIME sniffing ausente/admin/, /backup/, /login//admin/index.html — página de admin acessível publicamenteExecutado o Dirb para realizar força bruta de diretórios contra o servidor web alvo.```bash dirb http://10.0.2.15
**DIRB v2.22 — Início: Wed May 6 20:19:50 2026 — Fim: 20:19:59 2026 (9 segundos)**
Wordlist utilizada: `/usr/share/dirb/wordlists/common.txt` — 4612 palavras testadas
Diretórios e arquivos encontrados:
| URL | Código | Tamanho |
| --------------------------------- | ------ | ------- |
| http://10.0.2.15/index.html | 200 | 10703 |
| http://10.0.2.15/server-status | 403 | 314 |
| http://10.0.2.15/admin/ | 200 | — |
| http://10.0.2.15/admin/index.html | 200 | 21 |
| http://10.0.2.15/backup/ | 200 | — |
| http://10.0.2.15/login/ | 200 | — |
| http://10.0.2.15/login/index.html | 200 | 20 |
**Aviso:** O diretório `/backup/` está com listagem habilitada — sem arquivo de índice, o conteúdo do diretório pode ser navegado diretamente.
**Total baixado:** 13836 bytes — **Encontrados:** 4 recursos
---
### 8. Análise do Log de Acesso
Inspecionadas as entradas brutas do log de acesso para identificar o padrão de ataque.```bash
sudo cat /var/log/apache2/access.log
Entradas da fase de scan do Nikto (21:18:32):``` 10.0.2.5 - - [06/May/2026:21:18:32 -0300] "GET /10.0.2.15.tar.bz2 HTTP/1.1" 404 527 10.0.2.5 - - [06/May/2026:21:18:32 -0300] "GET /10_0_2_15.gz HTTP/1.1" 404 527 10.0.2.5 - - [06/May/2026:21:18:32 -0300] "GET /10.0.2.15.sql HTTP/1.1" 404 527 10.0.2.5 - - [06/May/2026:21:18:32 -0300] "GET /10.0.2.15.zip HTTP/1.1" 404 527
Entradas da fase de scan do Dirb (21:21:34):```
10.0.2.5 - - [06/May/2026:21:21:34 -0300] "GET /login/xsql HTTP/1.1" 404 472
10.0.2.5 - - [06/May/2026:21:21:34 -0300] "GET /login/xxx HTTP/1.1" 404 472
10.0.2.5 - - [06/May/2026:21:21:34 -0300] "GET /login/zimbra HTTP/1.1" 404 472
10.0.2.5 - - [06/May/2026:21:21:34 -0300] "GET /login/zoom HTTP/1.1" 404 472
Padrão observado: Centenas de requisições sequenciais dentro do mesmo segundo, todas direcionadas a caminhos inexistentes — comportamento consistente com varredura automatizada.
Filtradas todas as entradas do log de acesso originadas do IP do atacante.```bash sudo grep "10.0.2.5" /var/log/apache2/access.log | head -30
Padrões adicionais observados:
- O Nikto tentou acessar arquivos de backup usando o IP do servidor como nome de arquivo (ex: `10.0.2.15.tar.bz2`, `10.0.2.15.sql`, `10.0.2.15.zip`)
- O Dirb iterou por wordlists em ordem alfabética direcionando cada diretório descoberto
- Ambas as ferramentas geraram requisições em velocidade de máquina — múltiplas entradas por segundo na mesma faixa de porta de origem
---
### 10. Distribuição de Códigos de Status HTTP
Contabilizadas as requisições por código de resposta HTTP para quantificar a superfície de ataque.```bash
sudo grep " 200 " /var/log/apache2/access.log | wc -l
sudo grep " 403 " /var/log/apache2/access.log | wc -l
sudo grep " 404 " /var/log/apache2/access.log | wc -l
| Código HTTP | Significado | Quantidade |
|---|---|---|
| 200 | OK — recurso encontrado e entregue | 177 |
| 403 | Proibido — recurso existe mas acesso negado | 26 |
| 404 | Não encontrado — recurso não existe | 21.740 |
Total de erros 404: 21.740 — a esmagadora maioria das requisições foi direcionada a caminhos inexistentes, o que é a característica definidora de força bruta automatizada de diretórios.
Contabilizadas todas as entradas do log de acesso originadas do atacante.```bash sudo grep "10.0.2.5" /var/log/apache2/access.log | wc -l
**Total de requisições de 10.0.2.5: 21.962**
---
### 12. Identificação de Assinatura das Ferramentas
Buscadas assinaturas específicas dos scanners no log de acesso.
#### Assinatura do Nikto```bash
sudo grep "nikto" /var/log/apache2/access.log | head -5
Resultado:``` 10.0.2.5 - - [06/May/2026:21:18:32 -0300] "PUT /nikto-test-pk9VPSjF.html HTTP/1.1" 405 590 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"
O Nikto criou um arquivo de teste (`nikto-test-pk9VPSjF.html`) via requisição PUT para verificar permissões de escrita no servidor.
#### Assinatura do Dirb```bash
sudo grep "DirBuster\|dirb" /var/log/apache2/access.log | head -5
Resultado:``` 10.0.2.5 - - [06/May/2026:21:21:26 -0300] "GET /dirb HTTP/1.1" 404 472 10.0.2.5 - - [06/May/2026:21:21:26 -0300] "GET /dirbmark HTTP/1.1" 404 472 10.0.2.5 - - [06/May/2026:21:21:29 -0300] "GET /admin/dirb HTTP/1.1" 404 472 10.0.2.5 - - [06/May/2026:21:21:29 -0300] "GET /admin/dirbmark HTTP/1.1" 404 472 10.0.2.5 - - [06/May/2026:21:21:32 -0300] "GET /login/dirb HTTP/1.1" 404 472
O próprio nome do Dirb aparece na wordlist que ele utiliza, deixando uma assinatura clara nos logs.
---
### 13. Análise do Log de Erros
Inspecionado o log de erros do Apache para identificar eventos de segurança gerados pelo scan.```bash
sudo cat /var/log/apache2/error.log
Eventos críticos encontrados:
O Nikto tentou acessar arquivos sensíveis do sistema atravessando limites de diretório:``` [client 10.0.2.5] AH10244: invalid URI path (/../../../../../../../../../../../../etc/shadow) [client 10.0.2.5] AH10244: invalid URI path (/../../../../../../../../../../etc/passwd) [client 10.0.2.5] AH10244: invalid URI path (/%2E%2E/%2E%2E/%2E%2E/%2E%2E/%2E%2E/windows/win.ini) [client 10.0.2.5] AH10244: invalid URI path (/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/etc/passwd) [client 10.0.2.5] AH10244: invalid URI path (/../../../../../../../../../boot.ini) [client 10.0.2.5] AH10244: invalid URI path (/../../../../winnt/repair/sam._)
Alvos incluíram: `/etc/passwd`, `/etc/shadow`, `boot.ini`, `win.ini`, banco SAM do Windows — todos alvos clássicos de path traversal.
#### Métodos HTTP Inválidos
O Nikto testou métodos HTTP não padrão para identificar configurações incorretas:```
[client 10.0.2.5] AH00135: Invalid method in request DIWHWPJH / HTTP/1.1
[client 10.0.2.5] AH00135: Invalid method in request DEBUG / HTTP/1.1
[client 10.0.2.5] AH00135: Invalid method in request TRACK / HTTP/1.0
[client 10.0.2.5] AH00135: Invalid method in request SEARCH / HTTP/1.1
[client 10.0.2.5] AH00135: Invalid method in request INDEX / HTTP/1.1
Ambas as ferramentas tentaram acessar arquivos de configuração protegidos pelo Apache:``` [client 10.0.2.5] AH01630: client denied by server configuration: /var/www/html/.htpasswd [client 10.0.2.5] AH01630: client denied by server configuration: /var/www/html/.htaccess [client 10.0.2.5] AH01630: client denied by server configuration: /var/www/html/server-status [client 10.0.2.5] AH01630: client denied by server configuration: /var/www/html/admin/.htpasswd [client 10.0.2.5] AH01630: client denied by server configuration: /var/www/html/login/.htpasswd
#### Path Traversal Específico para VMware
O Nikto também testou exposição de infraestrutura VMware:```
[client 10.0.2.5] AH10244: invalid URI path (/sdk/%2E%2E/%2E%2E/%2E%2E/%2E%2E/%2E%2E/%2E%2E/etc/vmware/hostd/vmInventory.xml)
Os logs de acesso e de erros revelaram um padrão de ataque automatizado em duas fases, originado de um único endereço IP (10.0.2.5) direcionado ao servidor Apache na porta 80.
O Nikto realizou 8.102 requisições em 17 segundos, testando vulnerabilidades web conhecidas, headers de segurança ausentes, métodos HTTP perigosos e vetores de path traversal. O log de erros registrou múltiplas tentativas de acesso a /etc/passwd, /etc/shadow, boot.ini e ao banco SAM do Windows — todas bloqueadas pela validação de URI do Apache. O Nikto também tentou uma requisição PUT para criar um arquivo de teste no servidor, confirmando que estava verificando permissões de escrita.
O Dirb testou 4.612 palavras de sua wordlist comum contra o diretório raiz e cada subdiretório descoberto. Isso gerou a maior parte dos 21.740 erros 404 observados. O Dirb identificou com sucesso /admin/, /backup/ e /login/ como diretórios válidos. O diretório /backup/ foi encontrado com listagem habilitada — uma configuração incorreta significativa que permitiria a um atacante navegar pelo seu conteúdo diretamente.
A concentração de 21.962 requisições HTTP de um único IP de origem em aproximadamente 7 minutos, combinada com a presença de tentativas de path traversal, requisições com métodos HTTP inválidos e assinaturas específicas de ferramentas nos logs de acesso e de erros, constitui evidência clara de atividade automatizada de reconhecimento web.
Nenhuma exploração bem-sucedida foi observada. Todas as tentativas de path traversal foram rejeitadas pelo mecanismo de validação de URI do Apache. O acesso a arquivos protegidos (.htpasswd, .htaccess, server-status) foi negado pela configuração do servidor.
Com base nos achados, os seguintes controles são recomendados:
X-Frame-Options, X-Content-Type-Options, Content-Security-Policy/backup//server-status apenas para localhosterror.log continuamente em busca de eventos AH10244 (URI path inválido)/admin/, /backup/)ServerTokens Prod, ServerSignature Off)Este laboratório demonstrou como ferramentas de varredura web automatizada deixam padrões distintos e identificáveis nos logs de acesso e de erros do Apache. Ao correlacionar o volume de erros 404, a presença de tentativas de path traversal no error.log, requisições com métodos HTTP inválidos e assinaturas específicas de ferramentas nos caminhos de requisição e strings de user-agent, foi possível reconstruir a linha do tempo completa do ataque e identificar as ferramentas utilizadas — sem qualquer conhecimento prévio das ações do atacante.
O exercício reforça a importância do monitoramento de logs de servidores web, configuração de headers de segurança e controles de acesso a diretórios como práticas fundamentais de Blue Team para infraestrutura exposta à web.
| Indicador | Valor |
|---|
| IP do Atacante | 10.0.2.5 |
| IP do Alvo | 10.0.2.15 |
| Porta alvo | 80 (HTTP) |
| Servidor web | Apache 2.4.67 (Debian) |
| Ferramentas identificadas | Nikto v2.5.0, Dirb v2.22 |
| Total de requisições do atacante | 21.962 |
| Respostas HTTP 200 | 177 |
| Respostas HTTP 403 | 26 |
| Respostas HTTP 404 | 21.740 |
| Diretórios descobertos | /admin/, /backup/, /login/ |
| Tentativas de path traversal | Múltiplas (todas bloqueadas) |
| Métodos HTTP inválidos testados | TRACK, DEBUG, SEARCH, INDEX |
| Arquivos sensíveis visados | /etc/passwd, /etc/shadow, .htpasswd, .htaccess |
| Exploração bem-sucedida | Nenhuma |
| Janela de tempo | 21:14 às 21:21 (2026-05-06) |
| Componente | Detalhes |
|---|
| VM Atacante | Kali Linux |
| VM Alvo | Debian 13 |
| Rede | NAT Network (VirtualBox) |
| IP do Atacante | 10.0.2.5 |
| IP do Alvo | 10.0.2.15 |
| Servidor web | Apache 2.4.67 |
| Fontes de log | /var/log/apache2/access.log, /var/log/apache2/error.log |
| Porta HTTP | 80 |
| Indicador | Valor |
|---|
| IP do atacante | 10.0.2.5 |
| IP do alvo | 10.0.2.15 |
| Porta alvo | 80 (HTTP) |
| Servidor web | Apache 2.4.67 (Debian) |
| Ferramentas identificadas | Nikto v2.5.0, Dirb v2.22 |
| Total de requisições do atacante | 21.962 |
| Respostas HTTP 200 | 177 |
| Respostas HTTP 403 | 26 |
| Respostas HTTP 404 | 21.740 |
| Diretórios descobertos | /admin/, /backup/, /login/ |
| Tentativas de path traversal | Múltiplas (todas bloqueadas) |
| Métodos HTTP inválidos testados | TRACK, DEBUG, SEARCH, INDEX |
| Arquivos sensíveis alvejados | /etc/passwd, /etc/shadow, .htpasswd, .htaccess |
| Exploração bem-sucedida | Nenhuma |
| Janela de tempo | 21:14 a 21:21 (2026-05-06) |