Escanear Múltiplos Hosts de um Arquivo com Nikto

Kali LinuxBeginner
Pratique Agora

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.

Escanear manualmente um grande número de hosts pode ser tedioso e demorado. Uma abordagem mais eficiente é listar todos os seus alvos em um único arquivo e fazer com que o Nikto os escaneie sequencialmente. Neste laboratório, você aprenderá como criar um arquivo de texto contendo vários hosts de destino e usar o Nikto para realizar uma varredura de vulnerabilidade em todos eles com um único comando.

Criar um arquivo de texto com múltiplos IPs ou nomes de host de destino

Nesta etapa, você criará um arquivo de texto simples que contém os nomes de host dos destinos que você deseja escanear. O Nikto pode ler este arquivo e escanear cada host listado nele. Cada nome de host ou endereço IP deve estar em uma nova linha. Usaremos o editor de texto nano para criar este arquivo em seu diretório de trabalho atual, ~/project.

Primeiro, abra um novo arquivo chamado targets.txt usando nano:

nano targets.txt

Agora, dentro do editor nano, adicione os dois nomes de host a seguir. Estes são sites públicos disponíveis para fins de teste.

scanme.nmap.org
example.com

Para salvar o arquivo no nano, pressione Ctrl+O, em seguida, pressione Enter para confirmar o nome do arquivo. Para sair do nano, pressione Ctrl+X.

Você pode verificar o conteúdo do seu arquivo usando o comando cat:

cat targets.txt

Você deverá ver a seguinte saída:

scanme.nmap.org
example.com

Agora você tem um arquivo de destino pronto para o Nikto.

Usar a flag -h com o caminho para o seu arquivo de texto

Nesta etapa, prepararemos o comando Nikto para um escaneamento de múltiplos alvos. A flag -h (ou --host) é usada para especificar o alvo. Embora normalmente aceite um único nome de host ou endereço IP, ela também pode aceitar um caminho de arquivo. Quando você fornece um caminho de arquivo, o Nikto entende que deve ler os alvos desse arquivo.

A sintaxe básica para esta operação é:

nikto -h /path/to/your/file.txt

Como nosso arquivo targets.txt está no diretório atual (~/project), podemos simplesmente usar o nome do arquivo.

Antes de executar o escaneamento real, é uma boa prática se familiarizar com as opções do Nikto. Você pode visualizar o menu de ajuda executando:

nikto -Help

Percorra a saída e você encontrará a descrição para a opção -h / -host, confirmando que ela pode aceitar um host ou um arquivo de hosts. Executaremos o escaneamento real na próxima etapa.

Iniciar o escaneamento de múltiplos alvos

Agora que você criou o arquivo de destino e entende a estrutura do comando, é hora de iniciar o escaneamento. O Nikto lerá o arquivo targets.txt e escaneará cada host listado dentro dele, um após o outro.

Execute o seguinte comando no seu terminal para iniciar o escaneamento. Por favor, seja paciente, pois um escaneamento completo de múltiplos hosts pode levar vários minutos.

nikto -h targets.txt

O terminal exibirá agora o progresso em tempo real do escaneamento.

Monitorar a saída enquanto o Nikto escaneia cada host sequencialmente

Nesta etapa, você observará a saída gerada pelo Nikto. Não há novos comandos para executar. À medida que o escaneamento avança, você verá informações detalhadas para cada alvo.

Primeiro, o Nikto exibirá seu banner e começará com o primeiro alvo, scanme.nmap.org. Você verá informações como seu endereço IP, software do servidor e quaisquer vulnerabilidades encontradas.

Um exemplo truncado da saída inicial para o primeiro host pode parecer com isto:

- Nikto v2.5.0
---------------------------------------------------------------------------
+ Target IP:          45.33.32.156
+ Target Hostname:    scanme.nmap.org
+ Target Port:        80
+ Start Time:         ...
---------------------------------------------------------------------------
+ Server: Apache/2.4.7 (Ubuntu)
... (verificações de vulnerabilidade e descobertas para scanme.nmap.org) ...

Assim que o escaneamento para scanme.nmap.org for concluído, o Nikto começará automaticamente a escanear o próximo alvo, example.com. A saída indicará claramente a mudança para o novo alvo:

... (fim do escaneamento para scanme.nmap.org) ...
+ 1 host(s) testado(s)
- Nikto v2.5.0
---------------------------------------------------------------------------
+ Target IP:          93.184.216.34
+ Target Hostname:    example.com
+ Target Port:        80
+ Start Time:         ...
---------------------------------------------------------------------------
+ Server: ECS (sjc/4E5D)
... (verificações de vulnerabilidade e descobertas para example.com) ...

Simplesmente observe o terminal até que todo o processo seja concluído.

Revisar os resultados combinados na saída ou arquivo salvo

Assim que o Nikto terminar de escanear todos os hosts em targets.txt, ele imprimirá um resumo final. Este resumo inclui o número total de hosts testados e a hora de término do escaneamento. O log completo do escaneamento para todos os hosts estará visível no seu terminal.

Embora a visualização da saída no terminal seja útil, para documentação ou análise posterior, é melhor salvar os resultados em um arquivo. Você pode fazer isso usando o sinalizador -o (ou -output).

Vamos executar o escaneamento novamente, mas desta vez, salvaremos a saída em um arquivo chamado scan_results.txt.

nikto -h targets.txt -o scan_results.txt

Este comando realizará o mesmo escaneamento, mas além de exibir a saída na tela, ele a gravará em scan_results.txt. Após a conclusão do escaneamento, você poderá visualizar o conteúdo do relatório salvo usando o comando cat:

cat scan_results.txt

Isso permite que você revise as descobertas de todos os hosts escaneados a qualquer momento, sem precisar executar o escaneamento novamente.

Resumo

Neste laboratório, você aprendeu com sucesso como automatizar o escaneamento de múltiplos servidores web usando o Nikto. Você praticou a criação de uma lista de alvos em um arquivo de texto, com cada alvo em uma nova linha. Em seguida, você usou o sinalizador -h para direcionar o Nikto para este arquivo, permitindo que ele escaneasse cada host sequencialmente. Finalmente, você aprendeu como salvar os resultados combinados de um escaneamento multi-host em um arquivo de saída usando o sinalizador -o para facilitar a revisão e o registro. Este método é uma técnica fundamental para melhorar a eficiência em fluxos de trabalho de reconhecimento de rede e avaliação de vulnerabilidades.