Introdução
Nikto é um popular scanner de servidores web de código aberto que realiza testes abrangentes contra servidores web para vários itens, incluindo mais de 6700 arquivos/programas potencialmente perigosos, verifica versões desatualizadas de mais de 1250 servidores e problemas específicos de versão em mais de 270 servidores.
Embora uma varredura padrão seja completa, ela também pode consumir tempo e gerar muita saída. Para avaliações mais direcionadas, o Nikto fornece a opção -Tuning. Este recurso permite especificar quais tipos de testes executar, tornando suas varreduras mais rápidas e focadas.
Neste laboratório, você aprenderá a usar a opção -Tuning para controlar o comportamento de varredura do Nikto. Você praticará a execução de varreduras com diferentes níveis de ajuste para encontrar vulnerabilidades específicas e comparar os resultados.
Compreender o propósito da opção -Tuning
Nesta etapa, você aprenderá sobre a opção -Tuning e as diferentes categorias de teste que ela pode controlar. A opção -Tuning ajuda você a focar a varredura em áreas específicas de interesse, economizando tempo e reduzindo o ruído na saída.
O Nikto categoriza seus testes em vários tipos. Você pode usar um número ou letra para selecionar uma categoria específica. Vamos analisar as principais opções de ajuste disponíveis. Você pode vê-las visualizando as informações de ajuda.
Execute o seguinte comando para exibir o menu de ajuda do Nikto:
nikto -h
Percorra a saída e encontre a seção -Tuning. Ela se parecerá com isto:
-Tuning
Tuning options control the test that Nikto will use against a target.
By default, Nikto runs the default set of tests. The tuning options
are a bitwise value, so they can be combined (e.g. -Tuning 12).
The options are:
0 - File Upload
1 - Interesting File / Seen in logs
2 - Misconfiguration / Default File
3 - Information Disclosure
4 - Injection (XSS/Script/HTML)
5 - Remote File Retrieval - Inside Web Root
6 - Denial of Service
7 - Remote File Retrieval - Server Wide
8 - Command Execution / Remote Shell
9 - SQL Injection
a - Authentication Bypass
b - Software Identification
c - Remote Source Inclusion
x - Reverse Tuning Options (i.e., include all except specified)
Como você pode ver, cada número corresponde a uma categoria de teste específica. Por exemplo, 1 é para "Interesting File" (Arquivo Interessante), e 2 é para "Misconfiguration" (Configuração Incorreta). A opção x é especial; ela inverte a lógica, dizendo ao Nikto para executar todos os testes exceto aqueles que você especificar.
Executar uma varredura com -Tuning 1 para Arquivos Interessantes
Nesta etapa, você realizará uma varredura focada para procurar apenas por "Arquivos Interessantes". Este tipo de varredura procura por arquivos que podem não estar diretamente vinculados da aplicação web, mas que podem conter informações sensíveis, como arquivos de backup, arquivos de configuração ou logs. Nosso script de configuração criou um arquivo config.bak para este propósito.
Usaremos a opção -Tuning 1 para instruir o Nikto a executar apenas testes da categoria "Interesting File / Seen in logs" (Arquivo Interessante / Visto em logs). O servidor web está em execução em 127.0.0.1 na porta 8000.
Execute o seguinte comando no seu terminal:
nikto -h http://127.0.0.1:8000 -Tuning 1
Após a conclusão da varredura, você verá uma saída semelhante à seguinte. Observe que o Nikto encontrou o arquivo config.bak.
- Nikto v2.5.0
---------------------------------------------------------------------------
+ Target IP: 127.0.0.1
+ Target Hostname: 127.0.0.1
+ Target Port: 8000
+ Start Time: ...
---------------------------------------------------------------------------
+ Server: SimpleHTTP/0.6 Python/3.10.6
+ /config.bak: A backup file was found.
+ 1 host(s) tested
Isso demonstra como você pode encontrar rapidamente arquivos potencialmente sensíveis sem executar uma varredura completa e demorada.
Executar uma varredura com -Tuning 2 para Configuração Incorreta
Nesta etapa, você usará a opção -Tuning 2 para procurar por configurações incorretas comuns do servidor e arquivos padrão. Uma configuração incorreta comum é permitir a indexação de diretórios, que lista o conteúdo de um diretório se nenhum arquivo de índice (como index.html) estiver presente. O servidor Python simples que estamos usando tem esse comportamento.
Vamos executar uma varredura focada apenas em configurações incorretas.
Execute este comando:
nikto -h http://127.0.0.1:8000 -Tuning 2
A saída mostrará descobertas relacionadas a configurações incorretas. Você deverá ver uma mensagem indicando que a indexação de diretórios está habilitada.
- Nikto v2.5.0
---------------------------------------------------------------------------
+ Target IP: 127.0.0.1
+ Target Hostname: 127.0.0.1
+ Target Port: 8000
+ Start Time: ...
---------------------------------------------------------------------------
+ Server: SimpleHTTP/0.6 Python/3.10.6
+ /: Directory indexing is enabled.
+ 1 host(s) tested
Observe que esta varredura não relatou o arquivo config.bak porque limitamos os testes à categoria "Misconfiguration" (Configuração Incorreta).
Usar -Tuning x para realizar uma varredura de Tuning Inverso
Nesta etapa, você aprenderá como usar o tuning inverso. Às vezes, você deseja executar uma varredura ampla, mas excluir uma categoria específica de testes que você sabe que são irrelevantes ou muito ruidosos. A opção x em -Tuning permite que você faça isso.
Por exemplo, digamos que você queira executar todos os testes exceto as verificações de "Arquivo Interessante". Você pode conseguir isso combinando x com 1.
Execute o seguinte comando para realizar uma varredura inversa que exclui os testes de "Arquivo Interessante":
nikto -h http://127.0.0.1:8000 -Tuning x1
Observe a saída. Você verá várias descobertas, como a configuração incorreta de indexação de diretórios, mas o arquivo config.bak não será relatado.
- Nikto v2.5.0
---------------------------------------------------------------------------
+ Target IP: 127.0.0.1
+ Target Hostname: 127.0.0.1
+ Target Port: 8000
+ Start Time: ...
---------------------------------------------------------------------------
+ Server: SimpleHTTP/0.6 Python/3.10.6
+ The anti-clickjacking X-Frame-Options header is not present.
+ The X-Content-Type-Options header is not set. This could allow the user agent to render the content of the site in a different fashion to the MIME type.
+ /: Directory indexing is enabled.
...
+ 1 host(s) tested
O tuning inverso é uma maneira poderosa de personalizar suas varreduras removendo verificações específicas que não são necessárias para sua avaliação atual.
Comparar a saída de diferentes níveis de tuning
Nesta etapa prática final, você combinará várias opções de tuning para criar uma varredura mais abrangente, porém ainda personalizada. A opção -Tuning aceita múltiplos valores para executar testes de todas as categorias especificadas.
Vamos executar uma varredura que combina a busca por "Arquivos Interessantes" (1) e "Configurações Incorretas" (2).
Execute o seguinte comando:
nikto -h http://127.0.0.1:8000 -Tuning 12
Agora, examine a saída. Você verá que o Nikto relata descobertas de ambas as categorias. Ele encontrará tanto o arquivo config.bak quanto o problema de indexação de diretórios.
- Nikto v2.5.0
---------------------------------------------------------------------------
+ Target IP: 127.0.0.1
+ Target Hostname: 127.0.0.1
+ Target Port: 8000
+ Start Time: ...
---------------------------------------------------------------------------
+ Server: SimpleHTTP/0.6 Python/3.10.6
+ /: Directory indexing is enabled.
+ /config.bak: A backup file was found.
+ 1 host(s) tested
Ao comparar os resultados desta varredura com as anteriores, você pode ver claramente como a opção -Tuning permite controlar precisamente o escopo da sua avaliação de segurança. Você pode misturar e combinar opções para construir a varredura exata que você precisa.
Resumo
Neste laboratório, você aprendeu como controlar efetivamente o comportamento de varredura do Nikto usando a opção -Tuning. Este recurso poderoso é essencial para realizar avaliações de segurança web eficientes e focadas.
Você praticou:
- Compreender as diferentes categorias de testes disponíveis no Nikto.
- Executar uma varredura focada em "Arquivos Interessantes" usando
-Tuning 1. - Realizar varredura para "Configurações Incorretas" usando
-Tuning 2. - Executar uma varredura inversa para excluir testes específicos usando
-Tuning x. - Combinar múltiplas opções de tuning para criar um perfil de varredura personalizado.
Ao dominar a opção -Tuning, você pode melhorar significativamente seu fluxo de trabalho com o Nikto, permitindo que você se concentre rapidamente em tipos específicos de vulnerabilidades e reduza o tempo gasto analisando os resultados da varredura.



