Verificar vulnerabilidades em servidores da web com Nikto

Índice

Nikto é uma ferramenta amplamente utilizada por aqueles que realizam atividades éticas de hacking e pentest ou testes de penetração. O Nikto pode ser executado em qualquer plataforma que suporte Perl e pode contornar os sistemas de detecção de intrusão (IDS).

Nikto é usado para controlar vulnerabilidades CGI, mas o faz de forma evasiva, a fim de contornar os sistemas de detecção de intrusão. Ele vem com documentação completa que deve ser revisada cuidadosamente antes de executar o programa. Se você tiver servidores da web que atendem Scripts CGI, Nikto pode ser um excelente recurso para monitorar a segurança desses servidores.

O Nikto tem a capacidade de identificar arquivos potencialmente vulneráveis ​​ou perigosos, ele também pode identificar o que o aplicativo faz a varredura ou quais serviços usa, e também usa um banco de dados com vulnerabilidades conhecidas que contém informações para reconhecer essas ameaças durante a varredura.

Nikto é uma ferramenta que permite analisar um servidor da web e examinar todos os arquivos e serviços para encontrar possíveis ameaças e vulnerabilidades de segurança, incluindo:

  • Configurações erradas do servidor e do software usado
  • Identifique arquivos e vulnerabilidades padrão
  • Identifique arquivos e softwares vulneráveis

O Nikto pode ser usado para escanear versões desatualizadas do software que instalamos em nosso servidor. Nikto nos fornecerá uma varredura rápida para encontrar arquivos e programas potencialmente vulneráveis ​​em nosso servidor ou site.

Para executar o Nikto, precisamos que nosso servidor suporte Perl, na maioria dos casos ele oferece suporte por padrão. Ele está disponível para todos os sistemas operacionais como Linux, Unix, CentOS, Debian, Ubuntu, MacOSX. Windows e suporta SSL.

O resultado da varredura do servidor é um relatório que pode ser gerado nos seguintes formatos: TXT, CSV para Excel, HTML, XML.

Podemos instalar o Nikto baixando-o do repositório GitHUB Nikto

Em seguida, descompactamos o arquivo baixado:

 tar zxvf nikto-2.1.4.tar.gz cd nikto-2.1.4
Executamos com Perl:
 perl nikto.pl
Se tivermos um sistema operacional como o Ubuntu, o Nikto será instalado a partir dos repositórios:
 sudo apt-get install nikto
Em seguida, atualizamos o banco de dados Nikto para acessar o banco de dados de digitalização e atualizar lista de plugins acessível.
 atualização nikto

 nikto -list-plugins

A Nikto atualiza periodicamente seus repositórios para adicionar versões de cada um e atualizar novas vulnerabilidades que surgem. Como um antivírus faria, neste caso, o repositório usado por Nikto é o banco de dados de vulnerabilidades na web http://osvdb.org/

Análise e teste de vulnerabilidade com Nikto
Vamos fazer a varredura de um servidor web usando, para este tutorial, uma instalação do BadStore que usamos em outro tutorial.

Vamos começar escaneando um ip e porta 80 com a opção -p (porta) para indicar a porta a escanear

 nikto -h 192.168.0.12 -p 80

Enquanto a varredura está sendo realizada, ela nos mostrará informações sobre vulnerabilidades para que possamos pesquisar seu código na página Open Source Vulnerability Database (OSVDB) e ver do que se trata a vulnerabilidade e como resolvê-la, por exemplo, tem o código OSVDB-27487, vamos para a página de pesquisa e inserimos o código numérico e clicamos em GO.

O resultado será um relatório muito completo sobre vulnerabilidade, incidentes, soluções para o problema e estatísticas sobre o número de casos em que foi detectado, incluindo a última data em que a vulnerabilidade em grande escala foi detectada.

Em seguida, verificaremos a integridade dos arquivos usando os seguintes parâmetros:

  • d = modo de depuração
  • v = mostrar detalhes
  • h = host para escanear
 niktol -D v -h 192.168.0.12

Após a verificação, podemos ver que erros são encontrados em arquivos ou links não encontrados na web. Podemos incluir opções diferentes em cada varredura, como indicar qual tarefa queremos realizar, veremos apenas alguns dos parâmetros mais importantes para detectar vulnerabilidades.

3 - Divulgação de informações
4 - injeção XSS e Javascript
6 - Varredura de negação de serviço
9 - injeção de SQL

A seguir faremos um exemplo com o opção 3 para determinar quais informações publicamos usando o seguinte comando:

 nikto -Tuning 3 -h 192.168.0.12

Podemos observar que a varredura encontrou algumas vulnerabilidades, o que pode permitir Ataques XSS, onde o controle remoto do servidor pode ser feito, especialmente porque a listagem de alguns diretórios é permitida.

Além disso, este tipo de vulnerabilidade se deve ao fato de que os URLs com parâmetros não são controlados:

 http: // mydomain /? section = mysection & option = 101
A solução seria tornar o url mais amigável e controlar os parâmetros que são enviados.

Um ataque que pode ser feito é incluir um Código JavaScript capaz de ler os cookies do servidor e, assim, tentar obter dados do administrador, como:

 http: // mydomain /? section = & option = 101

Gostou e ajudou este tutorial?Você pode recompensar o autor pressionando este botão para dar a ele um ponto positivo
wave wave wave wave wave