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.
Por padrão, o Nikto envia requisições para o servidor alvo o mais rápido possível. Embora isso seja eficiente, pode ser facilmente detectado por sistemas de segurança e pode sobrecarregar o servidor alvo. A opção -Pause permite controlar o ritmo da varredura adicionando um atraso entre cada teste.
Neste laboratório, você aprenderá a usar a opção -Pause no Nikto para realizar varreduras mais lentas e menos intrusivas.
Compreender o propósito da opção -Pause
Nesta etapa, você aprenderá sobre a opção -Pause no Nikto. Esta opção é usada para especificar um atraso em segundos entre cada requisição de varredura. Este é um recurso crucial para realizar varreduras furtivas ou para testar sistemas frágeis que podem não lidar bem com um alto volume de requisições.
Vamos começar visualizando as informações de ajuda do Nikto para ver a descrição da opção -Pause. Esta é uma boa prática para entender a funcionalidade das opções de qualquer ferramenta.
Execute o seguinte comando no terminal:
nikto -Help
Percorra a saída e procure pela opção -Pause. Você verá uma descrição explicando sua função.
...
-Pause <seconds> Pause between tests (seconds, integer or float)
...
Isso confirma que -Pause aceita um número (inteiro ou float) representando os segundos de espera entre cada teste.
Execute uma varredura com -Pause 5 para aguardar 5 segundos entre os testes
Nesta etapa, você realizará uma varredura Nikto usando a opção -Pause. Nosso ambiente de laboratório possui um servidor web simples rodando em http://localhost:8000 para você escanear.
Definiremos uma pausa de 5 segundos entre cada teste. Isso significa que o Nikto aguardará 5 segundos após enviar uma requisição antes de enviar a próxima.
Execute o seguinte comando no seu terminal para iniciar a varredura:
nikto -h http://localhost:8000 -Pause 5
Vamos detalhar o comando:
nikto: O comando para executar o scanner Nikto.-h http://localhost:8000: A opção-h(ou-host) especifica o host alvo. Neste caso, é o nosso servidor de teste local.-Pause 5: Isso instrui o Nikto a pausar por 5 segundos entre cada teste que ele executa.
Após executar o comando, a varredura começará. Você verá a saída aparecer no terminal.
Observe o ritmo mais lento da varredura
Nesta etapa, você observará a saída do comando que executou na etapa anterior. Você não precisa executar nenhum comando novo aqui.
Olhe para o terminal onde a varredura Nikto está em execução. Você notará que novas linhas de saída, que representam os resultados de testes individuais, aparecem muito mais lentamente do que em uma varredura padrão. Haverá um intervalo perceptível de 5 segundos entre cada novo resultado de teste aparecendo na tela.
Aqui está um exemplo de como a saída pode parecer, com cada linha aparecendo após um atraso:
- Nikto v2.5.0
---------------------------------------------------------------------------
+ Target IP: 127.0.0.1
+ Target Hostname: localhost
+ Target Port: 8000
+ Start Time: 2023-10-27 10:30:00 (GMT0)
---------------------------------------------------------------------------
+ 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.
... (novas linhas aparecem a cada 5 segundos) ...
Este ritmo deliberado é o resultado direto do uso da opção -Pause 5. Uma varredura completa pode levar um tempo significativo com esta configuração. Você pode parar a varredura a qualquer momento pressionando Ctrl+C no terminal. Para este laboratório, você pode deixá-lo rodar por um minuto para observar o efeito e, em seguida, pará-lo antes de prosseguir.
Analise como isso pode ajudar a evadir firewalls de limitação de taxa
Nesta etapa, discutiremos um motivo principal relacionado à segurança para usar a opção -Pause: evadir defesas de limitação de taxa (rate-limiting).
Muitos sistemas de segurança modernos, como Web Application Firewalls (WAFs) e Intrusion Detection Systems (IDS), empregam limitação de taxa como um mecanismo de defesa. A limitação de taxa funciona rastreando o número de requisições de um único endereço IP durante um período de tempo específico. Se o número de requisições exceder um limite predefinido (por exemplo, 100 requisições por minuto), o sistema pode bloquear temporária ou permanentemente esse endereço IP.
Uma varredura Nikto padrão é muito agressiva e envia centenas ou milhares de requisições em um tempo muito curto. Esse comportamento certamente acionaria qualquer regra de limitação de taxa, fazendo com que a varredura seja bloqueada e tornando seus resultados incompletos e imprecisos.
Ao usar -Pause 5, você altera a taxa de requisição da varredura para uma requisição a cada 5 segundos, o que se traduz em apenas 12 requisições por minuto. Essa taxa muito menor tem muito mais probabilidade de passar despercebida por defesas simples de limitação de taxa, permitindo que sua varredura seja concluída com sucesso sem ser bloqueada. Isso torna a opção -Pause uma ferramenta valiosa para testes de penetração mais discretos.
Use esta opção para escanear sistemas frágeis ou sensíveis
Nesta etapa, exploraremos outro caso de uso importante para a opção -Pause: escanear sistemas frágeis ou sensíveis de forma responsável.
Varreduras agressivas e de alta velocidade não apenas correm o risco de detecção; elas também podem impactar negativamente a estabilidade do sistema alvo. Um servidor web, especialmente um mais antigo, com pouca potência ou mal configurado, pode ter dificuldades em lidar com um fluxo repentino de requisições de um scanner. Isso pode levar a uma degradação severa de desempenho, tornando o aplicativo lento ou sem resposta para usuários legítimos, ou, no pior cenário, pode causar a falha do serviço web ou do servidor inteiro.
Quando você é encarregado de avaliar um ambiente de produção ativo ou um sistema conhecido por ser frágil, causar uma negação de serviço (denial of service) é pouco profissional e contraproducente.
Usar a opção -Pause é uma parte fundamental da condução de uma avaliação de segurança responsável e profissional. Ao desacelerar a varredura, você reduz significativamente a carga no servidor alvo, minimizando o risco de interromper sua operação normal. Isso garante que seus testes de segurança não interfiram nas operações comerciais.
Resumo
Neste laboratório, você aprendeu a controlar a velocidade de uma varredura do servidor web Nikto usando a opção -Pause.
Você praticou a execução de uma varredura com um atraso de 5 segundos entre as requisições e observou como isso diminuiu drasticamente o ritmo da varredura. Você também explorou os dois principais benefícios dessa técnica:
- Discrição (Stealth): Diminuir a velocidade das requisições ajuda a evadir regras simples de limitação de taxa implementadas em firewalls e sistemas de detecção de intrusão.
- Estabilidade: Reduzir a taxa de requisições minimiza a carga no servidor alvo, o que é crucial ao escanear sistemas de produção frágeis, com pouca potência ou críticos.
Dominar a opção -Pause é um passo importante para se tornar um profissional de segurança mais eficaz e responsável.


