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.
Embora o Nikto possa ser configurado usando opções de linha de comando, seu comportamento padrão é controlado por um arquivo de configuração central, nikto.conf. Compreender como modificar este arquivo permite que você altere permanentemente as configurações padrão, personalize varreduras para ambientes específicos e otimize seu fluxo de trabalho.
Neste laboratório, você aprenderá como localizar, ler e modificar o arquivo nikto.conf. Você alterará a string USERAGENT padrão, executará uma varredura para observar o novo comportamento e, em seguida, restaurará a configuração original.
Localizar o arquivo de configuração principal nikto.conf
Nesta etapa, você localizará o arquivo de configuração principal do Nikto, nikto.conf. Este arquivo contém todas as configurações padrão que o Nikto usa quando é executado. Em sistemas baseados em Debian, como o ambiente Ubuntu que você está usando, este arquivo geralmente está localizado no diretório /etc/.
Podemos usar o comando find para pesquisar em todo o sistema de arquivos pelo arquivo. Esta é uma técnica útil quando você não tem certeza da localização exata de um arquivo de configuração.
Execute o seguinte comando em seu terminal para encontrar nikto.conf. Redirecionaremos o erro padrão (2) para /dev/null para ocultar quaisquer mensagens de "Permissão negada" para uma saída mais limpa.
sudo find / -name nikto.conf 2> /dev/null
Você deverá ver o caminho para o arquivo de configuração como saída:
/etc/nikto.conf
Agora que você sabe sua localização, pode prosseguir para inspecionar seu conteúdo.
Abrir o arquivo e revisar as configurações padrão como RFIURL
Nesta etapa, você abrirá o arquivo nikto.conf usando um editor de texto e examinará algumas de suas configurações padrão. Usaremos o editor nano, que é um editor de texto simples de linha de comando. Como o arquivo está em /etc/ e pertence ao usuário root, você deve usar sudo para abri-lo.
Abra o arquivo com nano:
sudo nano /etc/nikto.conf
Uma vez dentro do nano, você pode navegar com as teclas de seta. O arquivo é bem comentado (linhas que começam com #) para explicar o que cada variável faz.
Vamos procurar por uma variável específica, RFIURL. Esta variável define o arquivo externo que o Nikto usa para testes de Inclusão de Arquivo Remoto (RFI). Pressione Ctrl + W para abrir o prompt de pesquisa, digite RFIURL e pressione Enter. Você deverá ver uma linha semelhante a esta:
## The URL to a remote file to use for RFI tests.
RFIURL=http://cirt.net/rfi.txt
Em seguida, vamos encontrar a variável USERAGENT, que modificaremos na próxima etapa. Pressione Ctrl + W novamente, digite USERAGENT e pressione Enter. Você encontrará a string User-Agent padrão que o Nikto usa para se identificar para o servidor web.
## The User-Agent to send to the web server
USERAGENT=Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20100101 Firefox/10.0 (Nikto/2.5.0)
Após revisar essas configurações, você pode sair do nano sem salvar nenhuma alteração pressionando Ctrl + X.
Alterar uma variável estática como o USERAGENT padrão
Agora, você modificará uma variável estática no arquivo de configuração. Alteraremos o USERAGENT padrão para um valor personalizado. Alterar o User-Agent pode ser útil para imitar um navegador específico, evadir detecção simples ou rotular o tráfego de sua varredura para fins de registro.
Primeiro, abra o arquivo novamente com nano:
sudo nano /etc/nikto.conf
Use Ctrl + W para pesquisar por USERAGENT novamente. Assim que encontrar a linha, é uma boa prática manter o valor original como referência. Adicione um # no início da linha original USERAGENT para comentá-la. Em seguida, em uma nova linha diretamente abaixo dela, adicione seu User-Agent personalizado.
Suas alterações devem ficar assim:
## The User-Agent to send to the web server
#USERAGENT=Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20100101 Firefox/10.0 (Nikto/2.5.0)
USERAGENT=MyCustomScanner/1.0
Agora, salve as alterações e saia do editor. Pressione Ctrl + O para gravar as alterações, pressione Enter para confirmar o nome do arquivo e, em seguida, pressione Ctrl + X para sair do nano. Sua configuração agora está atualizada.
Executar uma varredura para observar o novo comportamento padrão
Nesta etapa, você executará uma varredura Nikto contra o servidor web local para ver seu novo USERAGENT em ação. O script de configuração para este laboratório já instalou e iniciou um servidor web Apache, que está em execução em 127.0.0.1 (localhost).
Quando o Nikto inicia uma varredura, ele imprime um resumo da configuração que está usando. Isso nos permite verificar nossa alteração sem precisar inspecionar os logs do servidor web.
Execute uma varredura básica contra o servidor local com a opção -h (host):
nikto -h http://127.0.0.1
Observe a saída inicial do Nikto. Ela listará as informações do alvo e algumas das opções que estão sendo usadas para a varredura. Você deverá ver seu User-Agent personalizado refletido na saída.
- Nikto v2.5.0
---------------------------------------------------------------------------
+ Target IP: 127.0.0.1
+ Target Hostname: 127.0.0.1
+ Target Port: 80
+ Start Time: 2023-10-27 10:30:00 (GMT0)
---------------------------------------------------------------------------
- Server: Apache/2.4.52 (Ubuntu)
+ User-Agent: MyCustomScanner/1.0
- The anti-clickjacking X-Frame-Options header is not present.
... (os resultados da varredura continuarão) ...
Como você pode ver na linha + User-Agent: MyCustomScanner/1.0, o Nikto agora está usando o valor padrão que você definiu em nikto.conf. Você pode parar a varredura a qualquer momento pressionando Ctrl + C.
Reverter as alterações para a configuração original
Por fim, é uma boa prática restaurar a configuração ao seu estado original, especialmente em um ambiente compartilhado. Nesta etapa, você reverterá as alterações feitas em nikto.conf.
Durante a configuração do laboratório, um backup do arquivo de configuração original foi criado automaticamente em /etc/nikto.conf.bak. Você pode restaurar este backup usando o comando mv (move) para sobrescrever seu arquivo modificado com o original.
Execute o seguinte comando para restaurar o backup:
sudo mv /etc/nikto.conf.bak /etc/nikto.conf
Este comando move /etc/nikto.conf.bak para /etc/nikto.conf, substituindo efetivamente o arquivo que você editou.
Para confirmar que o arquivo foi revertido, você pode usar o comando grep para verificar a linha USERAGENT novamente.
grep USERAGENT /etc/nikto.conf
A saída agora deve mostrar a linha original e não comentada do User-Agent, confirmando que suas alterações foram revertidas com sucesso.
USERAGENT=Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20100101 Firefox/10.0 (Nikto/2.5.0)
Resumo
Neste laboratório, você personalizou com sucesso o comportamento do Nikto editando seu arquivo de configuração principal, nikto.conf. Esta é uma habilidade fundamental para adaptar ferramentas de segurança às necessidades específicas de um teste de penetração ou auditoria de segurança.
Você aprendeu a:
- Localizar o arquivo
nikto.confem um sistema Linux. - Ler e entender o propósito das variáveis de configuração.
- Modificar uma variável estática, especificamente o
USERAGENT. - Verificar a alteração de configuração executando uma varredura e observando a saída.
- Restaurar a configuração original a partir de um arquivo de backup.
Dominar as alterações de arquivos de configuração permite que você defina padrões personalizados e persistentes para suas ferramentas, tornando seus testes de segurança mais eficientes e eficazes.


