Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
Ferramentas/GitHubGitHub/pedrofbrm/apache-web-log-analysis-lab
Segurança WebAprendizado e EducaçãoAnálise de LogsLabs e Prática
GitHubpedrofbrm/apache-web-log-analysis-lab

apache-web-log-analysis-lab

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.

Ver Repositório

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
há 3 mesesAinda não revisado

Laboratório de Análise de Logs da Web Apache

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.


Objetivo

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.


Ambiente

ComponenteDetalhes
VM AtacanteKali Linux
VM AlvoDebian 13
RedeNAT Network (VirtualBox)
IP do Atacante10.0.2.5
IP do Alvo10.0.2.15
Servidor webApache 2.4.67
Fontes de log/var/log/apache2/access.log, /var/log/apache2/error.log
Porta HTTP80

Etapas Realizadas

1. Validação do Serviço Apache

Confirmado que o servidor HTTP Apache estava ativo e em execução na máquina alvo.```bash sudo systemctl status apache2 --no-pager

root@kitploit:~
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


3. Teste de Conectividade

Verificada a conectividade de rede entre a máquina atacante Kali e o alvo Debian.```bash ping -c 4 10.0.2.15

root@kitploit:~
**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.


5. Configuração do Conteúdo Web

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 "

Admin Panel

" | sudo tee /var/www/html/admin/index.html echo "

Login Page

" | sudo tee /var/www/html/login/index.html

root@kitploit:~
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:

  • Servidor: Apache/2.4.67 (Debian)
  • Cabeçalho ausente: X-Frame-Options — proteção contra clickjacking ausente
  • Cabeçalho ausente: X-Content-Type-Options — proteção contra MIME sniffing ausente
  • Vazamento de ETag: O servidor pode vazar números de inode via ETags (CVE-2003-1418)
  • Métodos permitidos: GET, POST, OPTIONS, HEAD
  • Diretórios interessantes encontrados: /admin/, /backup/, /login/
  • Confirmado: /admin/index.html — Página de login do Admin acessível
  • Total de requisições: 8102 em 17 segundos

7. Varredura Dirb

Executou o Dirb para realizar brute force de diretórios no servidor web alvo.```bash dirb http://10.0.2.15

root@kitploit:~
**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

root@kitploit:~
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.


9. Padrão de Varredura por IP de Origem

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

root@kitploit:~
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 HTTPSignificadoContagem
200OK — recurso encontrado e servido177
403Proibido — recurso existe mas acesso negado26
404Não Encontrado — recurso não existe21740

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.


11. Total de Requisições por IP do Atacante

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

root@kitploit:~
**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"

root@kitploit:~
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

root@kitploit:~
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:

Path Traversal Attempts (Directory Traversal)

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._)

root@kitploit:~
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

Tentativas de Acesso a Arquivos Protegidos

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

root@kitploit:~
#### 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)

Análise

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.

Fase 1 — Varredura de Vulnerabilidades (Nikto, 21:14 às 21:18)

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.

Fase 2 — Enumeração de Diretórios (Dirb, 21:19 às 21:21)

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.

Avaliação Combinada

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.


Indicadores Principais


Recomendações Defensivas

Com base nos achados, os seguintes controles são recomendados:

  • Adicionar cabeçalhos de segurança à configuração do Apache: X-Frame-Options, X-Content-Type-Options, Content-Security-Policy
  • Desabilitar cabeçalhos ETag para evitar vazamento de informações de inode
  • Restringir métodos HTTP permitidos apenas a GET, POST, HEAD
  • Desabilitar listagem de diretórios para todos os diretórios, especialmente /backup/
  • Restringir acesso a /server-status apenas a localhost
  • Implementar limitação de taxa para bloquear IPs que geram requisições excessivas por segundo
  • Implantar um WAF (Web Application Firewall) para detectar e bloquear padrões de path traversal
  • Monitorar error.log continuamente para eventos AH10244 (caminho de URI inválido)
  • Remover ou restringir o acesso a diretórios sensíveis (/admin/, /backup/) da exposição pública
  • Ocultar a versão do Apache dos cabeçalhos de resposta HTTP (ServerTokens Prod, ServerSignature Off)

Conclusão

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.


Ferramentas Utilizadas

  • Kali Linux
  • Debian 13
  • Apache 2.4.67
  • Nikto v2.5.0
  • Dirb v2.22
  • grep, wc, cat


Laboratório de Análise de Logs do Apache

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.


Objetivo

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.


Ambiente


Etapas Realizadas

1. Validação do Serviço Apache

Confirmado que o servidor Apache estava ativo e em execução na máquina alvo.```bash sudo systemctl status apache2 --no-pager

root@kitploit:~
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


3. Teste de Conectividade

Verificada a conectividade de rede entre o Kali e o Debian.```bash ping -c 4 10.0.2.15

root@kitploit:~
**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.


5. Criação de Conteúdo de Teste

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 "

Admin Panel

" | sudo tee /var/www/html/admin/index.html echo "

Login Page

" | sudo tee /var/www/html/login/index.html

root@kitploit:~
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:

  • Servidor: Apache/2.4.67 (Debian)
  • Header ausente: X-Frame-Options — proteção contra clickjacking ausente
  • Header ausente: X-Content-Type-Options — proteção contra MIME sniffing ausente
  • Vazamento de ETag: Servidor pode vazar números de inode via ETags (CVE-2003-1418)
  • Métodos permitidos: GET, POST, OPTIONS, HEAD
  • Diretórios interessantes encontrados: /admin/, /backup/, /login/
  • Confirmado: /admin/index.html — página de admin acessível publicamente
  • Total de requisições: 8102 em 17 segundos

7. Scan com Dirb

Executado o Dirb para realizar força bruta de diretórios contra o servidor web alvo.```bash dirb http://10.0.2.15

root@kitploit:~
**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

root@kitploit:~
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.


9. Padrão de Scan por IP de Origem

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

root@kitploit:~
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 HTTPSignificadoQuantidade
200OK — recurso encontrado e entregue177
403Proibido — recurso existe mas acesso negado26
404Não encontrado — recurso não existe21.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.


11. Total de Requisições por IP do Atacante

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

root@kitploit:~
**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"

root@kitploit:~
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

root@kitploit:~
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:

Tentativas de Path Traversal (Directory Traversal)

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._)

root@kitploit:~
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

Tentativas de Acesso a Arquivos Protegidos

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

root@kitploit:~
#### 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)

Análise

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.

Fase 1 — Varredura de Vulnerabilidades (Nikto, 21:14 a 21:18)

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.

Fase 2 — Enumeração de Diretórios (Dirb, 21:19 a 21:21)

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.

Avaliação Combinada

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.


Indicadores Principais


Recomendações Defensivas

Com base nos achados, os seguintes controles são recomendados:

  • Adicionar headers de segurança na configuração do Apache: X-Frame-Options, X-Content-Type-Options, Content-Security-Policy
  • Desabilitar headers ETag para evitar vazamento de informações de inode
  • Restringir os métodos HTTP permitidos a GET, POST e HEAD apenas
  • Desabilitar listagem de diretórios em todos os diretórios, especialmente /backup/
  • Restringir acesso ao /server-status apenas para localhost
  • Implementar rate limiting para bloquear IPs que gerem requisições excessivas por segundo
  • Implantar WAF (Web Application Firewall) para detectar e bloquear padrões de path traversal
  • Monitorar error.log continuamente em busca de eventos AH10244 (URI path inválido)
  • Remover ou restringir o acesso público a diretórios sensíveis (/admin/, /backup/)
  • Ocultar a versão do Apache nos cabeçalhos de resposta HTTP (ServerTokens Prod, ServerSignature Off)

Conclusão

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.


Ferramentas Utilizadas

  • Kali Linux
  • Debian 13
  • Apache 2.4.67
  • Nikto v2.5.0
  • Dirb v2.22
  • grep, wc, cat
Baixar ferramenta
IndicadorValor
IP do Atacante10.0.2.5
IP do Alvo10.0.2.15
Porta alvo80 (HTTP)
Servidor webApache 2.4.67 (Debian)
Ferramentas identificadasNikto v2.5.0, Dirb v2.22
Total de requisições do atacante21.962
Respostas HTTP 200177
Respostas HTTP 40326
Respostas HTTP 40421.740
Diretórios descobertos/admin/, /backup/, /login/
Tentativas de path traversalMúltiplas (todas bloqueadas)
Métodos HTTP inválidos testadosTRACK, DEBUG, SEARCH, INDEX
Arquivos sensíveis visados/etc/passwd, /etc/shadow, .htpasswd, .htaccess
Exploração bem-sucedidaNenhuma
Janela de tempo21:14 às 21:21 (2026-05-06)
ComponenteDetalhes
VM AtacanteKali Linux
VM AlvoDebian 13
RedeNAT Network (VirtualBox)
IP do Atacante10.0.2.5
IP do Alvo10.0.2.15
Servidor webApache 2.4.67
Fontes de log/var/log/apache2/access.log, /var/log/apache2/error.log
Porta HTTP80
IndicadorValor
IP do atacante10.0.2.5
IP do alvo10.0.2.15
Porta alvo80 (HTTP)
Servidor webApache 2.4.67 (Debian)
Ferramentas identificadasNikto v2.5.0, Dirb v2.22
Total de requisições do atacante21.962
Respostas HTTP 200177
Respostas HTTP 40326
Respostas HTTP 40421.740
Diretórios descobertos/admin/, /backup/, /login/
Tentativas de path traversalMúltiplas (todas bloqueadas)
Métodos HTTP inválidos testadosTRACK, DEBUG, SEARCH, INDEX
Arquivos sensíveis alvejados/etc/passwd, /etc/shadow, .htpasswd, .htaccess
Exploração bem-sucedidaNenhuma
Janela de tempo21:14 a 21:21 (2026-05-06)