Escaneamento de Servidores Web com Nikto

NmapBeginner
Pratique Agora

Introdução

Neste laboratório, você aprenderá a utilizar o Nikto, um scanner de servidor web de código aberto, para detectar vulnerabilidades potenciais. Você instalará o Nikto, escaneará um servidor web de teste, salvará os resultados e analisará as descobertas para identificar falhas de segurança. Esta prática prática fornecerá habilidades fundamentais para a avaliação de segurança web.

Instalar e Verificar o Nikto

Antes de começar a procurar por vulnerabilidades, você precisa instalar a ferramenta Nikto. Esta etapa o guiará pela atualização da lista de pacotes do seu sistema e pela instalação do Nikto usando o gerenciador de pacotes apt. Todos os comandos serão executados no terminal. Seu diretório de trabalho padrão é /home/labex/project.

Primeiro, atualize a lista de pacotes para garantir que você obtenha a versão mais recente do software disponível nos repositórios.

sudo apt update

Em seguida, instale o Nikto. A flag -y confirma automaticamente a instalação, para que você não precise digitar 'Y' manualmente.

sudo apt install -y nikto

Assim que a instalação for concluída, é uma boa prática verificar se a ferramenta foi instalada corretamente. Você pode fazer isso verificando a sua versão.

nikto -Version

Você deverá ver uma saída que exibe o número da versão do Nikto, semelhante ao exemplo abaixo. A versão exata pode variar.

---------------------------------------------------------------------------
- Nikto v2.5.0
---------------------------------------------------------------------------

Com o Nikto instalado com sucesso, você agora está pronto para prosseguir com o escaneamento de um servidor web.

Realizar uma Varredura Básica

Agora que o Nikto está instalado, seu próximo passo é executar uma varredura básica contra um servidor web alvo. Para este laboratório, um servidor web de teste já está rodando em seu ambiente. Antes de escanear, você deve sempre confirmar se o alvo está online e acessível.

Primeiro, verifique se o servidor web alvo está funcionando. Usaremos o curl com a flag -I para buscar apenas os cabeçalhos HTTP do servidor. O alvo para este laboratório é http://localhost:8000.

curl -I http://localhost:8000

Uma resposta bem-sucedida incluirá a linha HTTP/1.0 200 OK, o que indica que o servidor está ativo e pronto para aceitar requisições.

HTTP/1.0 200 OK
Server: SimpleHTTP/0.6 Python/3.10.12
Date: ...
Content-type: text/html
Content-Length: 71

Agora, execute sua primeira varredura com o Nikto. Use a flag -h (ou -host) para especificar o seu alvo.

nikto -h http://localhost:8000

O Nikto começará a escanear o alvo. Você verá a saída em tempo real no seu terminal conforme ele realiza vários testes. A varredura começará com informações sobre o alvo e, em seguida, listará quaisquer vulnerabilidades potenciais encontradas.

- Nikto v2.5.0
---------------------------------------------------------------------------
+ Target IP:          127.0.0.1
+ Target Hostname:    localhost
+ Target Port:        8000
+ Start Time:         ...
---------------------------------------------------------------------------
+ Server: SimpleHTTP/0.6 Python/3.10.12
+ 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.
...
+ 1 host(s) tested

Você acabou de realizar uma varredura básica de servidor web. Na próxima etapa, você aprenderá como salvar esses resultados para análise posterior.

Salvar os Resultados da Varredura em um Arquivo

Executar uma varredura e visualizar a saída no terminal é útil para uma verificação rápida, mas para avaliações profissionais, você deve salvar os resultados. Um relatório salvo serve como um registro das descobertas e pode ser compartilhado com outras pessoas para fins de correção.

O Nikto permite salvar os resultados da varredura em vários formatos. Nesta etapa, você salvará o relatório como um arquivo de texto simples. Use a flag -o (ou -output) para especificar um arquivo de saída.

Execute a varredura novamente, desta vez direcionando a saída para um arquivo chamado nikto_report.txt.

nikto -h http://localhost:8000 -o nikto_report.txt

A varredura será executada como antes, mas desta vez, além de exibir os resultados na tela, ela os salvará no arquivo especificado em seu diretório atual (/home/labex/project).

Após a conclusão da varredura, verifique se o arquivo de relatório foi criado usando o comando ls -l, que lista os arquivos e seus detalhes.

ls -l nikto_report.txt

Você deverá ver o seu novo arquivo de relatório listado, com um tamanho superior a zero.

-rw-rw-r-- 1 labex labex 1234 ... nikto_report.txt

Para confirmar rapidamente o conteúdo do arquivo, você pode visualizar as primeiras 20 linhas usando o comando head.

head -n 20 nikto_report.txt

Isso exibirá o início do relatório, que inclui o resumo da varredura e as primeiras descobertas. Agora você tem um registro permanente da sua varredura.

Analisar o Relatório de Varredura

Com os resultados da varredura salvos, a etapa final é analisar o relatório para entender as vulnerabilidades identificadas. Isso envolve ler o relatório e filtrá-lo para destacar as informações mais importantes.

Primeiro, você pode visualizar o relatório inteiro usando o comando cat. Isso é útil para obter uma visão geral completa de todas as informações coletadas pelo Nikto.

cat nikto_report.txt

Um relatório completo pode ser longo, por isso muitas vezes é mais eficiente filtrá-lo. O Nikto usa o símbolo + no início de uma linha para indicar uma descoberta interessante ou uma vulnerabilidade potencial. Você pode usar o comando grep para exibir apenas essas linhas.

grep '+' nikto_report.txt

Este comando filtrará o relatório e mostrará uma lista concisa de todos os itens sinalizados pelo Nikto.

+ Target Host: localhost
+ Target Port: 8000
+ GET /: The anti-clickjacking X-Frame-Options header is not present.
+ HEAD /: SimpleHTTP/0.6 appears to be outdated (current is at least 1.2)

Ao revisar essas descobertas, preste atenção às descrições que indicam configurações incorretas (como cabeçalhos de segurança ausentes) ou a presença de arquivos sensíveis. Cada descoberta fornece um ponto de partida para investigações futuras.

Resumo

Neste laboratório, você instalou o Nikto com sucesso e realizou uma varredura de vulnerabilidades em um servidor web alvo. Você aprendeu como executar uma varredura, salvar as descobertas em um arquivo de relatório e analisar os resultados para identificar possíveis problemas de segurança. Essas habilidades fundamentais, incluindo a instalação de ferramentas de segurança, a execução de varreduras e a interpretação de relatórios, são essenciais para qualquer pessoa que esteja começando em cibersegurança e testes de invasão.