Nikto Web Scanner
Nesse post iremos falar um pouco sobre o Nikto, um scanner open source licenciado pela GPL, ele varre seu alvo procurando por vulnerabilidades, versões , CGI’s, inclui também um banco de dados no formato CSV, Suporta plugins externos, uso de proxys, além de muitas outras funcionalidades, ele é um ótima ferramenta para o arsenal de qualquer administrador Linux.
Ele foi escrito por Chris Solo e David Lodge para validação de vulnerabilidades, ele verifica se há versões desatualizadas em mais de 1250 servidores web, ele também procura e mostra se há softwares e plugins desatualizados no servidor web.
Características do Nikto Web Scanner
- Supports SSL
- Supports full http proxy
- Supports text, HTML, XML and CSV to save reports.
- Scan for multiple ports
- Can scan on multiple server by taking inputs from files like nmap output
- Support LibWhisker IDS
- Capable enough to identify installed software with headers, files and favicons
- Logs for Metasploits
- Reports for “unusual ” headers.
- Apache and cgiwrap user enumeration
- Authenticate hosts with Basic and NTLM
- Scans can be Auto-paused at specified time.
Vamos instalar e testar essa ferramenta, a maioria das distribuições Linux hoje em dia vem com Perl, Perl Modules e OpenSSL pré-instalados, se sua distribuição não vem com esses pacotes você pode obtê-los via apt-get.
# apt-get install perl openssl libnet-ssleay-perl
Depois baixe o pacote do repositório oficial:
# wget http://www.cirt.net/nikto/nikto-2.1.5.tar.gz
Agora, descopacte o arquivo e acesse o diretório:
# tar -xvf nikto-2.1.5.tar.gz && cd nikto-2.1.5
Agora iremos dar permissão de execução para o arquivo e atualizar o nosso Nikto:
Depois de atualizar de uma olhada das opções de parâmetro:
# ./nikto.pl
Você vai receber a seguinte saída:
– Nikto v2.1.5
—————————————————————————
+ ERROR: No host specified
Note: This is the short help output. Use -H for full help text.
Para executar testes básicos você deve usar a opção -h para definir o alvo, por padrão a porta de destino é a 80.
#./nikto.pl -h 192.168.0.55
Se você deseja verificar uma outra porta como a 443 por exemplo, você pode utilizar a opção -p.
# ./nikto.pl -h 192.168.0.55 -p 443
Você também pode especificar alvos, portas e protocolos usando a URL completa:
# ./nikto.pl -h http://192.168.0.55:443
Caso deseje utilizar o domínio, basta especificá-lo no alvo. (Utilizei o google apenas como exemplo)
# ./nikto.pl -h http://www.google.com
Para especificar mais de uma porta basta executar:
# ./nikto.pl -h 192.168.0.55 -p 80,443
Uma outra opção legal é a -C all, ela força a checagem de todos os diretórios em busca de CGI
# ./nikto.pl -C all -h 192.168.0.55 -p 443
Caso queira salvar a saída em um arquivo, utilize a opção -o
# ./nikto.pl -C all -h 192.168.0.55 -p 443 -o scan_teste.txt
Outra coisa muito importante é utilizar proxy para manter o anonimato, abra o arquivo nikto.conf
# pico nikto.conf
Procure pelas entradas abaixo, descomente e informe o ip e porta do proxy que deseja usar:
# Proxy settings -- still must be enabled by -useproxy PROXYHOST=192.168.0.155 PROXYPORT=8118
Agora para realizar o scanner utilizando o proxy basta adicionar a opção -useproxy
# ./nikto.pl -h 192.168.0.55 -p 443 -useproxy
Você também pode utilizar o endereço de proxy como argumento:
# ./nikto.pl -h 192.168.0.55 -p 443 -useproxy http://192.168.0.155:8118/
Uma dica que eu aconselho é sempre procurar entender o que é cada saída que vocês irão ver, as vulnerabilidades e warning são catalogadas em um banco de dados OSVDB então procure ver no site osvdb.org, por exemplo, o que é cada item que vocês irão encontrar.
É isso ai, aproveitem a dica e usem com responsabilidade acima de tudo.
- Metasploit Framework de cabo a rabo – Parte 6 - 4 de junho de 2018
- Metasploit Framework de cabo a rabo – Parte 5 - 28 de maio de 2018
- CEH – Scanning Networks – Parte 2 - 24 de maio de 2018
Saudações,
Não consigo executar o nikto, ao tentar executar o programa ou até mesmo atualizar com o comando # ./nikto.pl -update recebo o seguinte erro:
Can’t locate /var/lib/nikto/plugins/JSON-PP.pm in @INC (you may need to install the ::var::lib::nikto::plugins::JSON-PP module) (@INC contains: /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.20.2 /usr/local/share/perl/5.20.2 /usr/lib/x86_64-linux-gnu/perl5/5.20 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.20 /usr/share/perl/5.20 /usr/local/lib/site_perl .) at ./nikto.pl line 60.
Como posso resolver isso?
tentou executar com o sudo ?