Como usar o Nmap para verificação de vulnerabilidades?
Publicados: 2022-04-07Nmap, ou mapeador de rede, é um kit de ferramentas para testes de funcionalidade e penetração em uma rede, incluindo varredura de portas e detecção de vulnerabilidades.
Mecanismo de script do Nmap (NSE) Script é um dos recursos mais populares e poderosos do Nmap. Esses scripts de varredura de vulnerabilidade do Nmap são usados por testadores de penetração e hackers para examinar vulnerabilidades conhecidas comuns.
Vulnerabilidades e exposições comuns (CVE) é um banco de dados de problemas de segurança de dados divulgados publicamente. Serve como modelo de referência para a detecção de vulnerabilidades e ameaças relacionadas à segurança dos sistemas de informação.
Neste artigo, veremos como usar o Nmap para verificação de vulnerabilidades.
Vamos começar!
Instalação do Nmap
O Nmap está pré-instalado em quase todas as distribuições Linux. Caso esteja faltando, você precisa instalá-lo manualmente. Ele pode ser facilmente instalado com o seguinte comando.
apt-get install nmap
E você também pode instalá-lo clonando o repositório oficial do git.
git clone https://github.com/nmap/nmap.git
Em seguida, navegue até esse diretório e instale os requisitos usando os comandos abaixo.
./configure make make install
A versão mais recente deste software, bem como instaladores binários para Windows, macOS e Linux (RPM), estão disponíveis aqui.
Verificação de vulnerabilidades com Nmap
Nmap-vulners , vulscan e vuln são os scripts de detecção de CVE mais comuns e populares no mecanismo de pesquisa do Nmap. Esses scripts permitem descobrir informações importantes sobre falhas de segurança do sistema.
Vulneradores do Nmap
Um dos scanners de vulnerabilidade mais conhecidos é o Nmap-vulners. Vejamos como configurar essa ferramenta e como executar uma varredura CVE básica. O mecanismo de script Nmap pesquisa respostas HTTP para identificar CPEs para o script fornecido.
Instalação
Para instalar o script Nmap-vulners, navegue até o diretório de scripts do Nmap usando o comando a seguir.
cd /usr/share/nmap/scripts/
A próxima etapa é clonar o repositório git.
git clone https://github.com/vulnersCom/nmap-vulners.git
Após clonar o repositório git, você não precisará fazer mais nada para a configuração. A ferramenta será instalada automaticamente.
E se você quiser ver os scripts NSE presentes no banco de dados Nmap-vulners, use o comando ls
. Ele exibirá todos os scripts de extensão .nse no terminal.
Uso
É fácil usar scripts NSE. Simplesmente passe o argumento -script para nosso comando Nmap para instruir qual script NSE usar.
nmap -sV --script vulners [--script-args mincvss=<arg_val>] <target>
Não se esqueça de passar o argumento “-sV” ao usar scripts NSE. Nmap-vulners não poderão acessar o banco de dados de exploits Vulners se não receber nenhuma informação de versão do Nmap. Portanto, o parâmetro -sV é necessário o tempo todo.
Comando de exemplo
A sintaxe é bastante direta. Basta chamar o script com a opção “–script” e especificar o mecanismo e o alvo dos vulners para iniciar a varredura.
nmap -sV --script nmap-vulners/ <target>
Se você deseja varrer alguma porta específica, basta adicionar a opção “-p” ao final do comando e passar o número da porta que deseja varrer.
nmap -sV --script nmap-vulners/ <target> -p80,223
Nmap – vulnerabilidade
Os scripts NSE são classificados de acordo com um conjunto de categorias predeterminadas às quais cada script pertence. Autenticação, transmissão, força bruta, intrusivo, malware, seguro, versão e vuln são algumas das categorias. Você pode encontrar todos os tipos de categorias de scripts NSE e suas fases aqui.
Os scripts que estão na categoria “vuln” procuram vulnerabilidades conhecidas específicas e apenas relatam se alguma for identificada no sistema de destino.
nmap -sV --script vuln <target>
Nmap-vulscan
Vulscan é um script NSE que auxilia o Nmap na detecção de vulnerabilidades em alvos baseados em serviços e detecções de versão. vulscan é como um módulo para o Nmap que o transforma em um scanner de vulnerabilidade. A opção Nmap -sV permite a detecção de versão por serviço, que é usada para identificar possíveis explorações para as vulnerabilidades detectadas no sistema.
Atualmente, os seguintes bancos de dados pré-instalados estão disponíveis:
- exploitdb.csv
- osvdb.csv
- securitytracker.csv
- openvas.csv
- scipvuldb.csv
- xforce.csv
- securityfocus.csv
- cve.csv
Instalação
Para instalar o Vulscan, primeiro, vá para o diretório de scripts do Nmap usando o seguinte comando.

cd /usr/share/nmap/scripts/
A próxima etapa é clonar o repositório git e instalar todos os requisitos.
git clone https://github.com/scipag/vulscan.git ln -s `pwd`/scipag_vulscan /usr/share/nmap/scripts/vulscan
Vulscan faz uso de bancos de dados pré-configurados salvos localmente em nossa máquina. Para atualizar o banco de dados, vá para o diretório do atualizador. Digite o seguinte comando em um terminal para navegar até o diretório do atualizador.
cd vulscan/utilities/updater/
Em seguida, altere as permissões do arquivo a ser executado no sistema.
chmod +x updateFiles.sh
E, finalmente, atualize os bancos de dados de exploração com o comando abaixo.
./updateFiles.sh
Uso
Vamos usar o vulscan para fazer uma varredura de vulnerabilidade do Nmap. O script vulscan NSE pode ser usado da mesma forma que o nmap-vulners.
nmap -sV --script vulscan <target>
Por padrão, o Vulscan pesquisará todos os bancos de dados simultaneamente. Leva muito tempo para consultar informações usando todos os bancos de dados. Usando o parâmetro vulscandb, você pode passar apenas um banco de dados CVE por vez.
--script-args vulscandb=database_name
Comando de exemplo
nmap -sV --script vulscan --script-args vulscandb=exploit.csv <target> -p 80,233
Verificação de vulnerabilidade individual
As verificações de vulnerabilidades individuais também podem ser realizadas utilizando scripts específicos dentro de cada categoria. Aqui está uma lista de todos os mais de 600 scripts NSE e 139 bibliotecas NSE.
Exemplos
- http-csrf : Vulnerabilidades de falsificação de solicitação entre sites (CSRF) são detectadas por este script.
nmap -sV --script http-csrf <target>
- http-sherlock : Pretende explorar a vulnerabilidade “shellshock” em aplicativos da web.
nmap -sV --script http-sherlock <target>
- http-slowloris-attack: Sem lançar um ataque DoS, este script verifica um servidor web ou um sistema de destino para vulnerabilidade para executar o ataque Slowloris DoS.
nmap -sV --script http-slowloris-check <target>
- http-vmware-path-vuln : VMWare ESX, ESXi e Server são todos testados para uma vulnerabilidade de passagem de caminho
nmap -sV --script http-vmware-path-vuln <target>
- http-passwd : Tenta recuperar /etc/passwd ou boot.ini para ver se um servidor web é vulnerável à passagem de diretório.
nmap -sV --script http-passwd <target>
- http-internal-ip-disclosure : Ao enviar uma solicitação HTTP/1.0 sem um cabeçalho Host, esta verificação determina se o servidor web vaza seu endereço IP interno.
nmap -sV --script http-internal-ip-disclosure <target>
- http-vuln-cve2013-0156 : Detecta servidores Ruby on Rails que são vulneráveis a ataques DOS e injeção de comandos.
nmap -sV --script http-vuln-cve2013-0156 <target-address>
E, finalmente, aqui está uma lista de todos os scripts NSE que estão na categoria “vuln”.
Seu sistema é capaz de detectar varreduras do Nmap?
O reconhecimento é a primeira fase do hacking ético e dos testes de penetração. Os hackers usam a fase de reconhecimento para localizar falhas e brechas em um sistema para atacar. Portanto, os sistemas de defesa devem ser capazes de detectá-los.
Você receberá alertas se usar ferramentas de SIEM (Security Information and Event Management), firewalls e outras medidas defensivas. E aqui está uma lista das melhores ferramentas SIEM para proteger sua empresa e organização contra ataques cibernéticos. Essas ferramentas ajudam até mesmo no registro de varreduras do Nmap. As varreduras de vulnerabilidade valem a pena, pois a identificação precoce pode evitar danos futuros aos sistemas.
Conclusão
Espero que você tenha achado este artigo muito útil para aprender a usar o Nmap para varredura de vulnerabilidades.
Você também pode estar interessado em aprender a lista de Open Source Web Security Scanners para encontrar vulnerabilidades.