Autor: André Jaccon
Neste tutorial iremos mostra como utilizar o Nikto, um scanner para Web Server
escrito em Perl, no qual pode ser utilizado para detectar vulnerabilidades
em servidores Web Apache.
Considerações Iniciais
======================
Os testes realizados foram efetuados no seguinte ambiente
- Distribuição Debian Gnu/Linux 3.1 R2
- Kernel 2.6.17
- Apache 2.0.59
- Perl 5.8.4
Baixando os pacotes necessários
===============================
O Nikto pode ser baixado no site http://www.cirt.net/nikto/ (http://www.cirt.net/nikto/) o link direto
para download do script é http://www.cirt.net/nikto/nikto-current.tar.gz (http://www.cirt.net/nikto/nikto-current.tar.gz)
Iniciando a configuração.
=========================
É muito simples a utilização do script após ter baixo para o seu computador
o script descompacte em uma pasta utilizando o seguinte comando:
tar -zxvf nikto-current.tar.gz
Em meu caso será criado a pasta com o script nikto-1.35 que é a versão atual
do script quando escrevi este artigo.
Fazendo Update da base de dados
===============================
Para fazer update com atualizações da base de dados do Nikto utilize os
comandos abaixo:
perl ./nikto.pl -update
Rodando o scanner
=================
Para rodar o scanner basta executar o comando abaixo
perl ./nikto.pl -allcgi -h localhost
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
Flags importantes
=================
Algumas flags de comando importantes que podemos citar estão descriminadas
abaixo com suas respectivas funcionalidades:
- -h: especifica o host a ser scanneado
- -allcgi: executa todos os scripts internos do nikto para scanner o host desejado
- -cookies: imprime os cookies encontrados
- -evasion+: técnica de invasão ids
- -findonly: encontra apenas portas https, não executa o scanner completamente
- -format: salva arquivo no formato (use -o) : htm, csv or txt
- -generic: força um scanner completo padrão
- -host+: host alvo o mesmo que -h
- -id+: usa autênticação no host no formato userid:password
- -nolookup: pula a resolução de nomes
- -output+: escreve a saida do comando para arquivo
- -port+: utilizado para indicar a porta do httpd (padrão 80)
- -ssl: força scan em modo ssl
- -timeout: tempo de timeout do servidor (padrão 10 segundos)
- -useproxy: usa proxy configurados no config.txt
- -version: imprime a versão dos plugins do banco de dados
- -vhost+: virtual host ( para cabeçalho do host )
- -verbose: Apresenta a saída conforme o scan está rodando
Abaixo está a descrição das técninicas de invasão de IDS:
1 Random URI encoding (non-UTF8)
2 Directory self-reference (/./)
3 Premature URL ending
4 Prepend long random string
5 Fake parameter
6 TAB as request spacer
7 Random case sensitivity
8 Use Windows directory separator (\)
9 Session splicing
Técnicas de mutação:
1 Test all files with all root directories
2 Guess for password file names
3 Enumerate user names via Apache (/~user type requests)
4 Enumerate user names via cgiwrap (/cgi-bin/cgiwrap/~user type requests)
ate mais
Hmm
Como sempre os seus excelente tuto's sobre Linux/Segurança..
Muito bom..
Ah e para mim a conclusão foi:
"Você não precisa do Nessus quando se tem um Nikto.."
Talvez mais tarde eu posto outro texto explicando o nikto mais afundo
100+
bem interessante!
irei testar!
depois digo minha opinião!
valeu kra.