
Nikto
Scanner de servidores web em Perl para identificar arquivos interessantes, configurações padrão e possíveis exposições em serviços HTTP.
O Nikto é um scanner de servidores web de código aberto, escrito em Perl. Ele envia verificações ao host informado e compara as respostas com testes mantidos em seus bancos de dados. O resultado ajuda a localizar arquivos interessantes, configurações padrão e possíveis exposições, além de verificar itens como injeção, recuperação remota de arquivos e consoles administrativos.
O que pode ser verificado
A opção `-Tuning` permite selecionar grupos de testes. As categorias incluem arquivos interessantes, configurações incorretas, divulgação de informações, injeções, recuperação de arquivos, negação de serviço, execução de comandos, SQL injection, upload de arquivos, bypass de autenticação, identificação de software e serviços web. Também é possível escolher plugins específicos; por padrão, o Nikto executa todos.
Essa seleção ajuda a direcionar uma verificação para o objetivo definido. Opções como `-host` ou `-url` indicam o alvo, enquanto `-port`, `-ssl`, `-ipv4` e `-ipv6` ajustam a conexão. Use o scanner somente em servidores próprios ou cuja avaliação tenha sido autorizada.
Instalação e execução
O projeto pode ser clonado do GitHub. O script principal fica no diretório `program/` e pode ser chamado pelo interpretador indicado no arquivo ou diretamente com Perl:
```text cd nikto/program ./nikto.pl -h URL_DO_SERVIDOR_AUTORIZADO ```
Também há imagens Docker publicadas no Docker Hub e no GitHub Container Registry, além de um `Dockerfile` para criar uma imagem local. Na execução em contêiner, a opção `-o` grava o relatório; para manter o arquivo no computador, o exemplo do projeto monta um diretório como volume.
Ajustes e relatórios
Entre as opções disponíveis estão a inclusão de cabeçalhos HTTP, o uso de credenciais, o acompanhamento de redirecionamentos e a configuração de timeout, pausa entre testes e proxy. O parâmetro `-Display` controla informações exibidas durante a execução, como redirecionamentos, cookies, respostas bem-sucedidas, erros HTTP e progresso. Há ainda opções para controlar cookies, resolução DNS e recursos interativos.
Os relatórios podem ser salvos em CSV, JSON, HTML, SQL, texto ou XML. A escolha do formato é útil para arquivar resultados ou encaminhá-los a outras etapas de análise. A configuração SQL direta exige parâmetros específicos no arquivo de configuração e credenciais em variáveis de ambiente.
Regras de correspondência
O banco de testes oferece um DSL para avaliar respostas. Os comparadores `BODY`, `HEADER`, `COOKIE` e `CODE` verificam conteúdo do corpo, cabeçalhos, cookies e códigos HTTP; cada um também aceita uma forma de exclusão. Várias condições podem ser combinadas com `&&`, permitindo que um teste exija, por exemplo, a presença de um texto e de um cabeçalho, junto da ausência de outro texto.
Licença
O aviso do projeto informa que o código do Nikto é distribuído sob a GNU GPL versão 3. Os arquivos de banco de dados têm termos próprios e não estão licenciados sob a GPL, portanto sua distribuição segue as condições específicas indicadas pelo projeto. Essa distinção é relevante ao empacotar ou redistribuir componentes do scanner.

Comentários
0Comece a conversa.
Seja a primeira pessoa a comentar este conteúdo.