SempreUPdate
Notícias sobre Ubuntu, Debian, Fedora, Linux, Android, Tecnologia, LibreOffice e muito mais!

NMAP – Entendendo e monitorando portas abertas!

Entenda um pouco mais sobre o NMAP!

O Nmap é um software livre que realiza port scan (Scanner de portas), desenvolvido por Gordon Lyon, “Fyodor”. O software é utilizado por muitos para verificar a segurança dos computadores e para escanear serviços ou servidores em uma rede, ele é famoso pela sua rapidez e pelas variadas opções de scanners. Então nesta dica veja como monitorar as portas abertas com o NMAP.

NMAP – Entendendo e monitorando portas abertas!

Segue abaixo alguns parâmetros que se pode utilizar no NMAP:

  • -sP
    Ping scan: Algumas vezes é necessário saber se um determinado host ou rede está no ar.  Nmap pode enviar pacotes ICMP “echo request” para verificar se determinado host ou rede está ativa. Hoje em dia, existem muitos filtros que rejeitam os pacotes ICMP “echo request”, então envia um pacote TCP ACK para a porta 80 (default) e caso receba RST o alvo está ativo. A terceira técnica envia um pacote SYN e espera um RST ou SYN-ACK.
  • -sR
    RCP scan: Este método trabalha em conjunto com várias técnicas do Nmap. Ele considera todas as portas TCP e UDP abertas e envia comandos NULL SunRPC, para determinar se realmente são portas RPC. É como se o comando “rpcinfo -p” estivesse sendo utilizado, mesmo através de um firewall ( ou protegido por TCP wrappers ).
  • -sS
    TCP SYN scan: Técnica também conhecida como “half-open”, pois não abre uma conexão TCP completa. É enviado um pacote SYN, como se ele fosse uma conexão real e aguarda uma resposta. Caso um pacote SYN-ACK seja recebido, a porta está aberta, enquanto um como resposta indica que a porta está fechada. A vantagem dessa abordagem é que poucos irão detectar esse scanning de portas.
  • -sT
    TCP connect() scan: É a técnica mais básica de TCP scanning. É utilizada a chamada de sistema (system call) “connect()” que envia um sinal as portas ativas. Caso a porta esteja aberta recebe como resposta “connect()”. É um dos scan mais rápidos, porém fácil de ser detectado.
  • –sU
    UDP scan: Este método é utilizado para determinar qual porta UDP está aberta em um host. A técnica consiste em enviar um pacote UDP de 0 byte para cada porta do host. Se for recebido uma mensagem ICMP “port unreachable” então a porta está fechada, senão a porta pode estar aberta. Para variar um pouco, a Microsoft ignorou a sugestão da RFC e com isso a varredura de máquinas Windows é muito
    rápida.
  • -sV
    Version detection: Após as portas TCP e/ou UDP serem descobertas por algum dos métodos, o nmap irá determinar qual o serviço está rodando atualmente. O arquivo nmap-service-probes é utilizado para determinar tipos de protocolos, nome da aplicação, número da versão e outros detalhes.
  • -D
    Durante uma varredura, utiliza uma série de endereços falsificados, simulando que o scanning tenha originado desses vários hosts, sendo praticamente impossível identifiicar a verdadeira origem da varredura. Ex.: nmap -D IP1,IP2,IP3,IP4,IP6,SEU_IP alvo
  • -F
    Procura pelas portas que estão no /etc/services. Método mais rápido, porém não procurar por todas as portas. Ex.: nmap -F alvo
  • -I
    Se o host estiver utilizando o ident, é possível identificar o dono dos serviços que estão sendo executados no servidor (trabalha com a opção -sT) Ex.: nmap -sT -I alvo
  • -n
    Não irá resolver nome de hosts a ser varrido.
    Ex.: nmap -n alvo
  • -O
    Ativa a identificação do host remoto via TCP/IP. Irá apresentar versão do Sistema
    Operacional e tempo ativo.
    Ex.: nmap -O alvo
  • -p Especifica quais portas devem ser verificadas na varredura. Por default, todas as portas entre 1 e 1024 são varridas.

Bom, esse são apenas algumas opções, para saber mais acesse http://nmap.org/.

Abaixo, segue um script para monitorar se alguma porta foi alterada em seu servidor, caso ela tenha sido, você recebe um e-mail. Primeiro foi gerado um arquivo com a saída de um “nmap”:
Observação: No exemplo utilizo um nmap puro, ou seja, sem parâmetros, porém você pode utilizar qualquer parâmetro indicado acima.
# nmap localhost | grep open > original

Verifique que direciono a saída do Script para um arquivo, que chamei de “original”. Agora vem o script que compara dois arquivos:

#!/bin/bash
 nmap localhost | grep open > atual
 diff original atual
 if [ $? -eq 0 ]; then
 echo “Nada Mudou”
 else
 mail reports@dominio.com.br < atual
 fi
Bom é isso, um abraço a todos.
Comentários