USANDO O NMAP -TUTORIAL
Autor: Alissongeek, Guilherme Custodio,Eddyraitec | Publicado: 2010-04-22T15:08:00-07:00

Os escaneadores de hosts são ferramentas úteis a administradores de rede e consultores de segurança ou utilitários usados por hackers para invasão? Esse dilema segue os usuários dessas ferramentas cada vez mais populares e fáceis de usar. Seja qual for seu objetivo este artigo tentará elucidar a forma de utilização e os principais recursos de um dos mais conhecidos escaneadores existentes, o Nmap.O NmapO Nmap é um escaneador de hosts que usa recursos avançados para verificar o estado do seu alvo. A ferramenta é gratuita e encontrada nas versões Linux, Windows(95,98,NT, Me, 2K e XP), Mac OS, Solaris, FreeBSD e OpenBSD. As versões para Windows e Linux contam com uma interface gráfica que facilitam a vida dos usuários.Aqui analisaremos a versão para Linux, porém o funcionamento varia pouco em outros sistemas operacionais.Obtendo e instalandoO download pode ser feito no site oficial, em http://www.insecure.org. A instalação pode ser feita a partir do pacote RPM disponivel no site. Como root(superusuário), instale com o seguinte comando:rpm -vhi http://download.insecure.org/nmap/dist/nmap-3.30-1.i386.rpmAssim o programa será baixado e instalado diretamente do site oficial do Nmap.Caso você use uma distribuição que não suporte RPM, como Debian ou Slackware, baixe os fontes e compile. Para isso baixe o arquivo com o comando:wget http://download.insecure.org/nmap/dist/nmap-3.30.tar.bz2Agora descompacte com o comando:bzip2 -cd nmap-3.30.tar.bz2 | tar xvf -Entre no diretório criado com o comando:cd nmap-3.30Agora compile e instale:./configuremakemake installUtilizaçãoApesar de existirem os front-ends gráficos disponíveis, os comando passados em modo texto permitem uma enorme flexibilidade e, ao contrário do que possa parecer, o uso não é difícil. A sintaxe do comando sempre será:nmap   -p Onde o alvo é o endereço IP do host ou rede que se deseja escanear. Caso exista uma forma de resolver nomes, como um DNS configurado, você pode usar o nome do host ao invés do IP. Com a opção -p podemos especificar portas ou faixas de portas para análise. Os parâmetros são ajustados de acordo com o que se deseja obter, os principais são:-sT - Com esse parâmetro é feito um escaneamento através de tentativas de conexão TCP. Essa forma é muito fácil de ser identificada por firewalls e IDS;-sS – Assim, a tentativa será com pacotes TCP com a flag SYN ligada, ou seja, como apenas uma requisição de conexão. Essa técnica dificulta um pouco a detecção;-sP - Com essa opção o escaneamento será feito através de pacotes ICMP echo request. Verifica apenas se o host está ativo;-sU - Envia pacotes UDP com 0 byte para determinar o estado dessas portas;-sO - É usado para tentar determinar os protocolos suportados pelo host;-O - Com esse parâmetro é feito uma tentativa de determinar o sistema operacional através de uma técnica conhecida como Active FingerPrint.Bom, esses são os principais parâmetros, com eles podemos realizar os mais variados testes. Vamos partir para a prática. Primeiro testo com pacotes SYN, nas portas de 1 a 100, meu próprio roteador:nmap -sS 192.168.0.1 -p 1-100Recebi uma resposta assim:O que me mostra que tenho um serviço SSH(usado para acesso remoto) aberto na porta 22.Você pode escanear um endereço de rede para determinar serviços ativos em mais de um host, basta para isso informar o endereço da rede, como no exemplo:nmap -sS 192.168.0.0/24 -p 1-150Os resultados são mostrados para todos os hosts da rede separadamente. Essa técnica é interessante pra identificar falhas de segurança em toda sua rede interna.Agora tentaremos um alvo fora da minha rede interna. Tentaremos o IP 168.143.xx.48, omitiremos obviamente parte do endereço analisado.nmap -sT 168.143.xx.48Note que não especificamos um intervalo de portas, assim todas as portas serão escaneadas e nosso teste poderá demorar bastante dependendo do nosso link. Aqui tentamos uma análise por tentativas de conexão TCP(opção -sT) ao invés de apenas envio de solicitações de conexão(opção -sS). É fácil observar que existem muitos serviços ativos e suas respectivas portas.Por último tentaremos identificar o sistema operacional de um alvo em nossa rede local, para isso usaremos o parâmetro -O, assim:nmap -O 192.168.0.66Em nosso teste o sistema operacional foi identificado perfeitamente, como pode ser visto na figura acima.Como se defenderUtilitários como o Nmap estão em constante atualização, cada vez mais sutis eles passam muitas vezes desapercebidos no firewalls e IDSs. O que pode diminuir os riscos é a configuração de firewalls com regras bem definidas, diminuição dos serviços ativos no gateway deixando apenas aqueles indispensáveis ao seu funcionamento e análise constante de seus arquivos de log. Um bom sistema de detecção de intrusos, como o SNORT, é indicado também.O Nmap pode e deve ser usado para averiguação do estado do seu host, principalmente se tratar de um servidor. Use constantemente para monitorar o estado das portas e se elas pertencem a algum serviço legitimo ou não.Portas abertas podem significar trojans instalados, por isso use também o programa chkrootkit para identificar mais facilmente essa tentativa de ataque. O chkrootkit pode ser encontrado no endereço http://www.chkrootkit.org.ConclusãoO Nmap pode ser considerado uma ferramenta Hacker ou um excelente utilitário para consultores de segurança e administradores de rede, o fato é que ele realiza de forma extremamente eficiente o que se propõe.