O Nikto é um scanner de servidor da Web simples e de código aberto que examina um site e relata as vulnerabilidades encontradas que podem ser usadas para explorar ou invadir o site. Além disso, é uma das ferramentas de vulnerabilidades de sites mais usadas no setor e, em muitos círculos, considerada o padrão do setor.
Embora essa ferramenta seja extremamente eficaz, ela é não furtivo. Qualquer site com um sistema de detecção de intrusão ou outras medidas de segurança em vigor detectará que está sendo verificado. Inicialmente projetado para testes de segurança, a discrição nunca foi uma preocupação.
- Não Erro: Use o WMAP do Metasploit para escanear aplicativos da Web em busca de vulnerabilidades
A Maneira Certa de Usar o Nikto
Se você apenas executar o Nikto sozinho em um site de destino, talvez não saiba o que fazer com as informações da varredura. Na verdade, Nikto é mais como um apontador laser para chamar um ataque muito maior, e você verá como isso se desenrola daqui a pouco.
Primeiro, vamos falar sobre a superfície do alvo. Isso é praticamente qualquer lugar que um hacker tentará atacar e pode incluir coisas como impressoras expostas à rede e um servidor da web. Quando começarmos a usar o Nikto posteriormente, precisaremos fornecer a ele um dos três tipos diferentes de informações: um endereço IP para um serviço local, um domínio da Web para atacar ou um site SSL/HTTPS.
Antes de mergulhar direto em uma varredura com o Nikto, é melhor fazer algum reconhecimento adicional usando uma ferramenta de inteligência de código aberto como o Maltego. Ferramentas como essa podem ajudar a criar um perfil e uma lista mais focada de alvos disponíveis que devem ser concentrados. Uma vez feito isso, o Nikto pode ser usado para aprimorar as vulnerabilidades potenciais dos alvos da lista.
- Não perca: Como usar o Maltego para imprimir a impressão digital de uma rede inteira
Se tiver sorte, uma vulnerabilidade com uma exploração armada será encontrada, o que significa que já existe uma ferramenta para tirar proveito da fraqueza. Com a ferramenta apropriada, que explorará automaticamente a vulnerabilidade, um hacker pode obter acesso ao alvo para realizar qualquer número de ataques nos bastidores, como adicionar código para realizar uma atividade maliciosa.
Passo 1: Instale o Nikto
Se você estiver executando o Kali Linux, o Nikto vem pré-instalado, então você não precisa baixar ou instalar nada. Ele estará localizado na categoria “Análise de vulnerabilidade”. Se você não o tiver por algum motivo, poderá obter o Nikto em seu GitHub ou apenas usar o comando apt install.
apt install nikto
Se estiver fazendo isso em um Mac, você pode usar o Homebrew para instalar o Nikto.
brew install nikto
Passo 2: Acesse Conheça o Nikto
Antes de mergulhar na digitalização de servidores da web com o Nikto, permite que você use o – Opção Help para ver tudo o que pode ser feito dentro do Nikto.
nikto -Help<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST>
Opções: -pergunte+ Se deve perguntar sobre o envio de atualizações sim Perguntar sobre cada (padrão) não Não pergunte, não pergunte enviar auto Não pergunte, apenas envie -Cgidirs+ Examine estes diretórios CGI: "nenhum", "todos" ou valores como "/cgi/ /cgi-a/" -config+ Use este arquivo de configuração -Display+ Ativar/desativar exibição saídas: 1 Mostrar redirecionamentos 2 Mostrar cookies recebidos 3 Mostrar todas as respostas 200/OK 4 Mostrar URLs que requerem autenticação D Saída de depuração E Exibir todos os erros HTTP P Imprimir progresso para STDOUT S Esfregar saída de IPs e nomes de host V Saída detalhada -dbcheck Verificar banco de dados e outros arquivos-chave para erros de sintaxe -evasion+ Técnica de codificação: 1 Codificação URI aleatória (não-UTF8) 2 Auto-referência de diretório (/./) 3 Finalização prematura de URL 4 Prefixar string aleatória longa 5 Parâmetro falso 6 TAB como espaçador de solicitação 7 Alterar o caso da URL 8 Use o separador de diretório do Windows () A Use um retorno de carro (0x0d) como um espaçador de solicitação B Use o valor binário 0x0b como um espaçador de solicitação -Format+ Salve o arquivo (-o) formato: csv Valor separado por vírgula htm Formato HTML nbe Nessus NBE format sql Generic SQL (consulte a documentação para ver o esquema) txt Texto simples xml Formato XML (se não for especificado ied, o formato será obtido da extensão do arquivo passada para -output) -Help Informações de ajuda estendida -host+ Host de destino -404code Ignore esses códigos HTTP como respostas negativas (sempre). O formato é "302.301". -404string Ignore esta string no conteúdo do corpo da resposta como resposta negativa (sempre). Pode ser uma expressão regular. -id+ Autenticação do host a ser usada, o formato é id:pass ou id:pass:realm -key+ Arquivo de chave do certificado do cliente -list-plugins Lista todos os plug-ins disponíveis, não realiza testes -maxtime+ Tempo máximo de teste por host (por exemplo, 1h, 60m, 3600s) -mutate+ Adivinha nomes de arquivos adicionais: 1 Testa todos os arquivos com todos os diretórios raiz 2 Adivinha nomes de arquivos de senha 3 Enumera nomes de usuários via Apache (/~pedidos de tipo de usuário) 4 Enumera nomes de usuários via cgiwrap (/cgi-bin/cgiwrap/ ~ solicitações de tipo de usuário) 5 Tentativa de nomes de subdomínio de força bruta, assume que o nome do host é o domínio pai 6 Tentativa de adivinhar nomes de diretório do arquivo de dicionário fornecido -mutate-options Fornece informações para mutates -nointeractive Desativa recursos interativos -nolookup Desativa as pesquisas de DNS -nossl Desativa o uso de SSL -no404 Desativa a tentativa do nikto de adivinhar uma página 404 -Option Sobrepõe uma opção no nikto.conf, pode ser emitida várias vezes -output+ Grava a saída neste arquivo ('.' para auto -name) -Pause+ Pausa entre os testes (segundos, integer ou float) -Plugins+ Lista de plug-ins a serem executados (padrão: ALL) -port+ Porta a ser usada (padrão 80) -RSAcert+ Arquivo de certificado do cliente -root+ Anexar valor raiz a todas as solicitações, o formato é /diretório -Salvar Salvar respostas positivas para isso diretório ('.' para nome automático) -ssl Força o modo ssl na porta -Tuning+ Scan tuning: 1 Arquivo Interessante / Visto em logs 2 Configuração incorreta / Arquivo padrão 3 Divulgação de informações 4 Injeção (XSS/Script/HTML) 5 Recuperação remota de arquivo - Inside Web Root 6 Negação de Serviço 7 Recuperação Remota de Arquivo - Todo o Servidor 8 Execução de Comandos / Shell Remoto 9 SQL Injection 0 Upload de Arquivo um Bypass de Autenticação b Identificação de Software c Inclusão de Fonte Remota d WebService e Console Administrativo x Opções de Ajuste Reverso (ou seja, incluir todos, exceto especificado) -timeout+ Tempo limite para solicitações (padrão 10 segundos) -Userdbs Carregar apenas bancos de dados do usuário, não os bancos de dados padrão all Desativar dbs padrão e carregar apenas testes de dbs do usuário Desativar apenas db_tests e carregar udb_tests -useragent Over -utiliza o useragent padrão -até Executar até o tempo ou duração especificado -update Atualiza bancos de dados e plug-ins do CIRT.net -useproxy Use o proxy definido em nikto.conf ou o argumento http://server:port -Version Imprimir plug-in e banco de dados versões -vhost+ Host virtual (para cabeçalho do host) + requer um valor
Passo 3: Use a Sintaxe Básica
Como você pode ver no passo anterior, Nikto tem muitas opções, mas para nossos propósitos, vamos nos ater à sintaxe básica da seguinte forma. Substituiremos o pelo endereço IP real ou nome do host sem colchetes angulares.
nikto -h
No entanto, o Nikto é capaz de fazer uma varredura que pode ir atrás do SSL e da porta 443, a porta que os sites HTTPS usam (HTTP usa a porta 80 por padrão). Portanto, não estamos apenas limitados a verificar sites antigos, podemos fazer avaliações de vulnerabilidade em sites que usam SSL, o que é praticamente um requisito atualmente para ser indexado nos resultados de pesquisa.
Se sabemos que é um site SSL que estamos direcionando, podemos especificá-lo no Nikto para economizar algum tempo na verificação adicionando -ssl ao final do comando.
nikto -h -ssl
Etapa 4: digitalizar um Site habilitado para SSL
Por exemplo, vamos começar com a varredura pbs.org para ver alguns dos tipos de informações que uma varredura Nikto mostrará . Depois que ele se conecta à porta 443, vemos que há algumas informações úteis sobre a cifra e uma lista de outros detalhes como o servidor Nginx, mas não há muitos dados interessantes aqui para nós.
nikto -h pbs.org -ssl
– Nikto v2.1.6 ————————- ————————————————– — – STATUS: Iniciando! + IP de destino: 54.225.198.196 + Nome do host de destino: pbs.org + Porta de destino: 443 ——————————- ———————————————– + Informações SSl : Assunto: /CN=www.pbs.org Nomes alternativos: account.pbs.org, admin.pgs.org, dipsy-tc.pbs.org, docs.pbs.org, ga.video.cdn.pbs.org, git .pbs.org, heart.ops.pbs.org, hub-dev.pbs.org, image.pbs.org, jaws..pbs.org, kids.pbs.org, koth-qa.svp.pbs.org, login.pbs.org, ops.pbs.org, pbs.org, player.pbs.org, projects.pbs.org, sentry.pbs.org, teacherline.pbs.org, urs.pbs.org, video.pbs. org, weta-qa.svp.pbs.org, whut-qa.svp.pbs.org, wnet.video-qa.pbs. org, wnet.video-staging.pbs.org, www-cache.pbs.org, www.pbs.org Cifras: ECDHE-RSA-AES128-GCM-SHA256 Emissor: /C-US/0=Vamos criptografar/CN= Let’s Encrypt Authority X3 + Hora de início: 2018-12-05 23:34:06 (GMT-8) ————————— ————————————————– – + Servidor: nginx + O cabeçalho X-Frame-Options anti-clickjacking não está presente. + O cabeçalho X-XSS-Protection não está definido. Este cabeçalho pode sugerir ao agente do usuário proteção contra algumas formas de XSS + Cabeçalho incomum ‘x-pbs-fwsrvname’ encontrado, com conteúdo: fwcacheproxy1 + O site usa SSL e o cabeçalho HTTP Strict-Transport-Security não está definido. + O cabeçalho X-Content-Type-Options não está definido. Isso pode permitir que o agente do usuário renderize o conteúdo do site de uma maneira diferente do tipo MIME + Página raiz / redireciona para: https://www.pbs.org/ + Nenhum diretório CGI encontrado (use ‘-C all’ para forçar a verificação de todos os diretórios possíveis) + Endereço IP RC-1918 encontrado no cabeçalho ‘x-pbs-appsvrip’: O IP é “10.137.181.52”. + Cabeçalho incomum ‘x-cache-fs-status’ encontrado, com conteúdo: EXPIRADO + Cabeçalho incomum ‘x-pbs-appsvrname’ encontrado, com conteúdo: fwcacheproxy1 + Cabeçalho incomum ‘x-pbs-appsvrip’ encontrado, com conteúdo: 10.137 .181.52 + Servidor vaza inodes via ETags, cabeçalho encontrado com arquivo /pbs.org.zip, campos: 0x5b96537e 0x1678 + 7446 solicitações: 0 erro(s) e 10 item(ns) relatados no host remoto + Hora final: 2018-12 -06 00:30:29 (GMT-8) (3383 segundos) ———————————- ——————————————– + 1 anfitrião(es) testado
Etapa 5: digitalizar um endereço IP
Agora que realizamos uma varredura rápida de um site, vamos tentar usar o Nikto em uma rede local para encontrar servidores incorporados, como uma página de login para um roteador ou serviço HTTP em outra máquina que é apenas um servidor sem site. Para começar, vamos encontrar nosso endereço IP usando ifconfig.
ifconfig
en0: flags=8863 mtu 1500 inet 192.168.0.48 netmask 0xffffff00 broadcast 192.168.0.255 inet6 XXXX::XXX:XXXX:XXXX:XXXX%en0 prefixlen 64 scopeid seguro 0x8 ether XX:XX:XX:XX:XX:XX txqueuelen 1000 (Ethernet) inet6 XXXX::XXX:XXXX:XXXX:XXXX% en0 prefixlen 64 autoconf protegido inet6 XXXX::XXX:XXXX:XXXX:XXXX%en0 prefixlen 64 autoconf temporário nd6 options=201
<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST>
O endereço IP que queremos é o “i net” um. Em seguida, podemos executar ipcalc nele para obter nosso alcance de rede. Se você não tem ipcalc, você pode instalá-lo com apt install ipcalc e tente novamente. O intervalo estará ao lado de “Rede”, no meu caso, 192.168.0.0/24.
ipcalc 192.168.0.48
<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST>
Endereço: 192.168.0.48 11000000.10101000. 00000000. 00110000 Máscara de rede: 255.255.255.0 = 24 11111111.11111111.11111111. 00000000 Curinga: 0.0.0.255 00000000.00000000.00000000. 11111111 => Rede: 192.168.0.0/24 11000000.10101000.00000000. 00000000 HostMin: 192.168.0.1 11000000.10101000.00000000. 00000001 HostMax: 192.168.0.254 11000000.10101000.00000000. 11111110 Transmissão: 192.168.0.255 11000000.10101000.00000000. 11111111 Hosts/Net: 254 Classe C, Internet Privada
Agora, vamos querer rodar o Nmap para encontrar serviços rodando no alcance da rede. Vamos escanear a porta 80 com nosso range e inserir -oG (saída grepable) para extrair apenas os hosts que estão funcionando, ou seja, os que respondem indicando que a porta 80 está aberta. Em seguida, salvaremos tudo em um arquivo, que estou chamando de nullbyte.txt, mas pode ter qualquer nome.
nmap -p 80 192.168.0.0/24 -oG nullbyte.txt
Iniciando o Nmap 7.60 ( https://nmap.org ) em 2018-12-06 00 :43 Relatório de varredura PST Nmap para 192.168.0.1 O host está ativo (latência de 0,021s). PORT STATE SERVICE 80/tcp aberto relatório de varredura Nmap http para 192.168.0.2 O host está ativo (latência de 0,088s). PORT STATE SERVICE 80/tcp aberto relatório de varredura Nmap http para 192.168.0.4 O host está ativo (latência de 0,032s). PORT STATE SERVICE 80/tcp aberto relatório de varredura Nmap http para 192.168.0.5 O host está ativo (latência de 0,020s). PORT STATE SERVICE 80/tcp abrir relatório de varredura Nmap http para 192.168.0.11 O host está ativo (latência de 0,068s). PORT STATE SERVICE 80/tcp fechou relatório de verificação do Nmap http para 192.168.0.24 O host está ativo (latência de 0,023s). PORT STATE SERVICE 80/tcp fechou relatório de verificação do Nmap http para 192.168.0.31 O host está ativo (latência de 0,059s). PORT STATE SERVICE 80/tcp fechou relatório de verificação do Nmap http para 192.168.0.48 O host está ativo (latência de 0,030s). PORT STATE SERVICE 80/tcp fechou relatório de verificação do Nmap http para 192.168.0.60 O host está ativo (latência de 0,092s). PORT STATE SERVICE 80/tcp fechado http Nmap concluído: 256 endereços IP (9 hosts acima) verificados em 8,92 segundos
Há um pequeno truque que pode enviar todos os hosts diretamente para o Nikto para digitalização. Usamos cat para ler a saída armazenada em nosso nullbyte.txt documento (ou o que você nomeou). Em seguida, existe o awk, uma ferramenta do Linux que ajudará a procurar o seguinte padrão, onde Up significa que o host está ativo e print $2 significa imprimir a segunda palavra nessa linha para cada, ou seja, apenas o endereço IP. Em seguida, enviamos esses dados para um novo arquivo chamado targetIP.txt (ou o nome que você quiser).
cat nullbyte.txt | awk ‘/Up$/{print $2}’ | cat >> targetIP.txt
Agora podemos visualizar o conteúdo do nosso novo arquivo com
cat para ver todos os endereços IP que têm a porta 80 aberta.
cat targetIP.txt
<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST>
192.168.0.1 192.168.0.2 192.168.0.4 192.168.0.5 192.168.0.11 192.168.0.24 192.168.0.31 192.168.0.48 192.168.0.60
Isso é perfeito para Nikto porque pode facilmente interpretar arquivos como este. Assim, podemos enviar esta saída para Nikto com o seguinte comando.
nikto -h targetIP.txt
Os resultados serão semelhantes aos que obtido ao executar a verificação SSL.
Etapa 6 : Escanear um site HTTP
Verificamos um site seguro e um endereço IP em uma rede local, e agora é hora de ir atrás um domínio da web não seguro usando a porta 80. Para este exemplo, estou usando “afl.com.au”, que não estava usando SSL no momento em que executei esta verificação.
nikto -h www .afl.com.au
- Nikto v2.1.6 ------------------------ ---------------------------------------------- + IP alvo: 159.180.84.10 + Nome do host de destino: www.afl.com.au + Porta de destino: 80 + Hora de início: 2 018-12-05 21:48:32 (GMT-8) ----------------------------------- ---------------------------------------- + Servidor: instart/nginx + Nova tentativa via cabeçalho : 1.1 verniz (Varnish/6.1), 1.1 e9ba0a9a729ff2960a04323bf1833df8.cloudfront.net (CloudFront) + O cabeçalho X-Frame-Options anti-clickjacking não está presente. + O cabeçalho X-XSS-Protection não está definido. Este cabeçalho pode sugerir ao agente do usuário proteção contra algumas formas de XSS + Cabeçalho incomum 'x-cache' encontrado, com conteúdo: Miss from cloudfront + Cabeçalho incomum 'x-instart-cache-id' encontrado, com conteúdo: 17: 12768802731504004780::1544075250 + Cabeçalho incomum 'v-cache-hit' encontrado, com conteúdo: Hit + Cabeçalho incomum 'x-amz-cf-id' encontrado, com conteúdo: Dr-r6OwO5kk9ABt4ejzpc7R7AIF6SuH6kfJHQgP0v6xZoHwMLE55rQ= cabeçalho x-instart request-id' encontrado, com conteúdo: 12814413144077601501:BEQ01-CPVNPPRY18:1552504721:0 + Cabeçalho incomum 'x-oneagent-js-injection' encontrado, com conteúdo: true + Cabeçalho incomum 'grace' encontrado, com conteúdo: cache + O O cabeçalho X-Content-Type-Options não está definido. Isso pode permitir que o agente do usuário renderize o conteúdo do site de uma maneira diferente do tipo MIME + Cabeçalho incomum 'x-ruxit-js-agent' encontrado, com conteúdo: true + Cookie dtCookie criado sem o sinalizador httponly + Banner do servidor mudou de 'instart/nginx' para 'nginx', o que pode sugerir que um WAF, balanceador de carga ou proxy está em vigor + Nenhum diretório CGI encontrado (use '-C all' para forçar a verificação de todos os diretórios possíveis) + Entrada '/sites/ ' em robots.txt retornou um código HTTP não proibido ou de redirecionamento (200) + Entrada '/search/' em robots.txt retornou um código HTTP não proibido ou de redirecionamento (200) + Entrada '*.mobileapp' em robots. txt retornou um código HTTP não proibido ou de redirecionamento (400) + A entrada '*.liveradio' em robots.txt retornou um código HTTP não proibido ou de redirecionamento (400) + A entrada '*.smartmobile' em robots.txt retornou um não -código HTTP proibido ou redirecionado (400) + A entrada '*.responsive' em robots.txt retornou um código HTTP não proibido ou redirecionado (400) + A entrada '/stats?*/' em robots.txt retornou um não-forb idden ou código HTTP de redirecionamento (200) + "robots.txt" contém 8 entradas que devem ser visualizadas manualmente. + OSVDB-3092: /sitemap.xml: Isso fornece uma boa listagem do conteúdo do site. + OSVDB-3092: /psql_history: Isso pode ser interessante... + OSVDB-3092: /global/: Isso pode ser interessante... + OSVDB-3092: /home/: Isso pode ser interessante... + OSVDB- 3092: /news: Isso pode ser interessante... + OSVDB-3092: /search.vts: Isso pode ser interessante... + OSVDB-3092: /stats.htm: Isso pode ser interessante... + OSVDB-3092 : /stats.txt: Isso pode ser interessante... + OSVDB-3092: /stats/: Isso pode ser interessante... + OSVDB-3092: /Stats/: Isso pode ser interessante... + OSVDB-3093: /.wwwacl: Contém informações de autorização + OSVDB-3093: /.www_acl: Contém informações de autorização + OSVDB-3093: /.htpasswd: Contém informações de autorização + OSVDB-3093: /.access: Contém informações de autorização + OSVDB-3093: /. livro de endereços: livro de endereços PINE, pode armazenar informações de contato e notas confidenciais de endereço de e-mail + OSVDB-3093: /.bashrc: o diretório inicial do usuário foi encontrado com um arquivo shell rc. Isso pode revelar informações de arquivo e caminho. + OSVDB-3093: /.bash_history: O diretório inicial de um usuário pode ser definido como a raiz da web, o histórico do shell foi recuperado. Isso não deve ser acessível através da web. + OSVDB-3093: /.forward: O diretório inicial do usuário foi encontrado com um arquivo de encaminhamento de e-mail. Pode revelar para onde o e-mail do usuário está sendo encaminhado. + OSVDB-3093: /.history: O diretório inicial de um usuário pode ser definido como a raiz da web, o histórico do shell foi recuperado. Isso não deve ser acessível através da web. + OSVDB-3093: /.htaccess: Contém informações de configuração e/ou autorização + OSVDB-3093: /.lynx_cookies: Diretório inicial do usuário encontrado com arquivo de cookie LYNX. Pode revelar cookies recebidos de sites arbitrários. + OSVDB-3093: /.mysql_history: Banco de dados SQL? + OSVDB-3093: /.passwd: Contém informações de autorização + OSVDB-3093: /.pinerc: Diretório inicial do usuário encontrado com um arquivo PINE rc. Pode revelar informações do sistema, diretórios e muito mais. + OSVDB-3093: /.plan: Diretório inicial do usuário com um .plan, um arquivo agora desatualizado para fornecer informações através do protocolo finger + OSVDB-3093: /.proclog: Diretório inicial do usuário com um arquivo Procmail rc. Pode revelar o tráfego de correio, diretórios e muito mais. + OSVDB-3093: /.procmailrc: Diretório inicial do usuário com um arquivo Procmail rc. Pode revelar subdiretórios, contatos de e-mail e muito mais. + OSVDB-3093: /.profile: foi encontrado o diretório inicial do usuário com um perfil de shell. Pode revelar informações de diretório e configuração do sistema. + OSVDB-3093: /.rhosts: O diretório inicial de um usuário pode ser definido como a raiz da web, um arquivo .rhosts foi recuperado. Isso não deve ser acessível através da web. + OSVDB-3093: /.sh_history: Um usuário' Se o diretório inicial de s pode ser definido como a raiz da web, o histórico do shell foi recuperado. Isso não deve ser acessível através da web. + OSVDB-3093: /.ssh: O diretório inicial de um usuário pode ser definido como a raiz da web, um arquivo ssh foi recuperado. Isso não deve ser acessível através da web. + OSVDB-5709: /.nsconfig: Contém informações de autorização + /portal/changelog: Log de alterações do editor HTML richtext Vignette encontrado. + 7587 solicitações: 4 erros e 55 itens relatados no host remoto + Hora de término: 2018-12-05 22:42:41 (GMT-8) (3249 segundos) -------- -------------------------------------------------- ----------------- + 1 host(s) testado(s)
Acima, podemos ver que existe um servidor Varnish e alguns cabeçalhos que ajudam a indicar como o site está configurado. No entanto, o mais interessante são os diretórios encontrados, que podem ajudar a bloquear arquivos de configuração que podem conter credenciais ou outras coisas que foram mal configuradas e deixadas involuntariamente acessíveis.
Os itens com o prefixo OSVDB são vulnerabilidades relatado no banco de dados de vulnerabilidades de código aberto (um site que fechou em 2016). É semelhante a outros bancos de dados de vulnerabilidade, como SecurityFocus, Microsoft’s Technet e Common Vulnerabilities and Exposures. Prefiro verificar o National Vulnerability Database.
Embora não haja grandes coisas que possam ser exploradas a partir desta verificação, se houver, você pode usar a ferramenta de referência CVE para traduzir o identificador OSVDB para uma entrada CVE, então você pode usar um dos outros sites acima para ler mais sobre a vulnerabilidade.
Digamos que encontramos alguns que valem a pena explorar, como CVE-2018- 10933, uma vulnerabilidade do Libssh que abordamos em detalhes anteriormente. O CVE contém informações sobre o que pode ser explorado, qual é a pontuação de gravidade (como crítico) e algumas outras informações que podem ajudar a determinar um vetor de ataque. Se valer a pena usar, você pode pesquisar no Metasploit, pois provavelmente alguém já desenvolveu um módulo armado para explorá-lo com mais facilidade.
Etapa 7: Par de varreduras com Metasploit
Uma das melhores coisas sobre o Nikto é que você pode realmente exportar informações para um formato que o Metasploit possa ler quando você estiver executando uma varredura. Para isso, basta utilizar os comandos acima para realizar o scan, mas anexando -Format msf+ ao final dele. O formato pode nos ajudar a emparelhar rapidamente os dados recuperados com uma exploração armada.
nikto -h <PERFORMNUD,DAD> -Formatar msf+
Portanto, neste guia, passamos da determinação da área de superfície do alvo para encontrar uma vulnerabilidade e, em seguida, emparelhá-la com uma exploração armada para que não ‘t tem que fazer todo o trabalho. Como o Nikto não é uma ferramenta furtiva, é aconselhável realizar esses tipos de varreduras com uma VPN, através do Tor ou outro tipo de serviço para que seu endereço IP real não seja sinalizado por comportamento suspeito.