DickRips – Informatica e Atualidade
Pagina dedicada ao Linux, Tecnologias e diversidades
Início Curriculum Sobre Mim
Categorias
Carreira Jogos Linux Pessoal Programação Redes Segurança Servidores Tecnico Utilidades Virtual MachineArquivo
março 2009 janeiro 2009 dezembro 2008 novembro 2008 outubro 2008 setembro 2008 agosto 2008 julho 2008 junho 2008 maio 2008 abril 2008 março 2008 fevereiro 2008 janeiro 2008 dezembro 2007 novembro 2007 outubro 2007 setembro 2007 agosto 2007 julho 2007 junho 2007 maio 2007 abril 2007 março 2007 fevereiro 2007 janeiro 2007 dezembro 2006 novembro 2006Pesquisar
Blogroll
Br-Linux UbuntuMeta
Registrar-se LoginAssinar
Entradas (RSS) Comentários (RSS) « Firefox 3Detectando Intrusos com o PHPIDS »
nmap – O Mapeador de Rede
Posted by Daniel Carraro Tomasini em junho 20, 2008
Como Lamont Grandquist (um contribuidor/desenvolvedor do nmap) citou, nmap faz três coisas: Irá disparar um ping para um determinado número de hosts para determinar se eles estão ativos. Irá escanear as portas dos hosts para determinar que serviços eles estão oferecendo e irá tentar determinar o SO (Sistema Operacional) do(s) host(s). Nmap permite ao usuário escanear redes pequenas como uma LAN(Local Area Network, Rede de Alcance Local) com 2 máquinas ou grandes redes com 500 máquinas ou até mesmo maiores. Nmap também permite ao usuário personalizar as técninas usadas para escanear. Algumas vezes uma simples varredura com ICMP(Internet Control Message Protocol) ping pode ser tudo que você precise.
Usando o Nmap Tipos de Scanner
Sem muito alvoroço, vamos aos negócios com o nmap. Primeiro nós iremos precisar de um endereço para escanear. Se você está trabalhando em uma rede local, então escolha um dos hosts locais. Vamos supor que sua rede local consista de duas máquinas: Adão e Eva. Adão (192.168.0.1) é a máquina em que nós estaremos rodando o nmap. Eva (192.168.0.2) é a máquina que nós estaremos escaneando. Na linha de comando eu digitaria o seguinte::
Citando:
nmap 192.168.0.2 Esta é a saída do scanner: Citando:
Exemplo 1
Starting nmap V. 2.53 by [email protected] (www.insecure.org/nmap)
Interesting ports on Eve (192.168.0.2):
(The 1511 ports scanned but not shown below are in state:closed) Port State Service
23/tcp open telnet 25/tcp open smtp 79/tcp open finger 80/tcp open http 98/tcp open linuxconf 111/tcp open sunrpc 113/tcp open auth 513/tcp open login 514/tcp open shell 515/tcp open printer 6000/tcp open X11
Nmap run completed — 1 IP address (1 host up) scanned in 1 second
O que o exemplo acima fez foi executar um scanner TCP contra o endereço designado. Como nós podemos observar a saída que este exemplo nos deu, nosso host está ativo e nos passa uma lista de portas que ele está escutando. Este, é claro, é o mais básico de todos os comandos que podem ser executados sem nenhum privilégio especial. A desvantagem desta chamada é que qualquer host que esteja executando um software para logar o movimento da rede irá detectar facilmente esse tipo de scan. A saída para esta chamada seria a mesma se adicionarmos a opção -sT à linha de comando, que ficaria assim: nmap -sT 192.168.0.2. (Note que este comando pode ser executado por usuários normais, sem permissões especiais).
Você não está em uma rede local? Está trabalhando em uma única máquina com conexão dial-up? Sem problemas, execute ifconfig (ou use seu editor de textos favorito para visualizar seu arquivo /var/log/messages e procurar pela última saída contendo seu endereço de IP remoto) para obter seu endereço de IP e partir daí. Vamos dizer que meu endereço de IP seja 206.212.15.23, nós podemos usar isso de ínicio para criar uma base de nossos scans. Então, com isso em mente vamos checar nosso “vizinho”:
Citando:
nmap -sT 206.212.15.22 Esta é a saída gerada pelo exemplo: Citando:
Exemplo 2
Starting nmap V. 2.53 by [email protected] (www.insecure.org/nmap)
Interesting ports on find2-cs-4.dial.ISP.net (206.212.15.22): (1522 ports scanned but not shown below are in state: closed) Port State Service
139/tcp open netbios-ssn
Nmap run completed — 1 IP address (1 host up) scanned in 20 seconds
Este é um exemplo bem básico das capacidades do nmap, mas pelo menos dá uma base aos iniciantes para trabalhar se não estiver em uma rede local.
-sS Agora, vamos dizer que o que você quer é usar um scanner silencioso para se previnir de uma detecção,
então você usaria nosso exemplo anterior apenas com a chamda -sS (SYN), ficando assim: nmap -sS
192.168.0.2. A chamada -sS (SYN) é referida algumas vezes como o scan “meio-aberto”, pois voce não inicia uma conexão TCP completa. A saída será igual a do exemplo 1 mas com uma chance menor chance de ser detectado pela outra ponta. Ao contrário da chamada -sT, esta requer privilégios de root (super-usuário).
-sF -sX -sN Agora, para a verdadeira paranóia de se previnir de um host que esteja usando um software que
filtre e logue o movimento da rede e que possa detectar pacotes SYN, nós podemos recorrer à um terceiro tipo de scan, com chamadas -sF (FIN Oculto), sX (Xmas tree) ou -sN (Nulo). Atenção: Desde que a Microsoft insista em fazer as coisas do geito deles, nem FIN, nem Xmas ou tipos de scan Nulos irão funcionar contra Windows 95/98 ou Windows NT. Então, se nós estivermos tentando obter uma lista de portas disponíveis
usando tanto as opções -sT ou -sT mas obtivermos a saída “All scanned ports are: closed” executando as opções -sF, sX ou -sN, nós podemos assumir seguramente que o alvo é uma máquira rodando Windows. Este realmente não é um procedimento necessário para verificar se uma máquina está usando Windows, pois o nmap já tem um mecanismo de detecção remota de SO que nós iremos analizar mais tarde. Estes três comandos também requerem privilégios de root (super-usuário).
-sU Esta opção diz ao nmap para buscar por portas UDP (User Datagram Protocol) ao invés de portas TCP no
host alvo. Embora isto possa ser meio demorado as vezes no Linux, é executado particularmente rápido contra máquinas com Windows. Usando nosso exemplo anterior de Adão e Eva, vamos excutar (novamente com privilégios de root) um scan -sU contra Eva:
Citando:
nmap -sU 192.168.0.2
Aqui está a saída resultante do scanner: Citando:
Exemplo 3
Starting nmap V. 2.53 by [email protected] (www.insecure.org/nmap)
Interesting ports on Eve (192.168.0.2):
(The 1445 ports scanned but not shown below are in state: closed) Port State Service
111/udp open sunrpc 517/udp open talk 518/udp open ntalk
Nmap run completed — 1 IP address (1 host up) scanned in 4 seconds
Como nós podemos observar, nmap scaneou 1455 portas em Eva e nos passou uma lista das portas UDP que ele encontrou que estavam escutando. Apartir dos exemplos um e dois nós podemos concluir que estamos frente à uma instalação Linux. Com isso em mente, se você se lembrar da introdução que eu mencionei que o nmap faz três coisas: executa pings, scaneia portas e detecta o sistema operacional do alvo. Agora que nós já analizamos os primeiros dois usos, vamos nos voltar para a detecção de SO.
Detecção de SO
-O Esta opção é usada para determinar o sistema operacional do alvo dado. Pode ser usada junto com os tipos
de scanner que nós mencionamos acima ou sozinha. Nmap usa o que é chamado de fingerprinting (impressões digitais no jargão popular) do TCP/IP para tentar determinar o SO do alvo dado. Para uma leitura mais completa sobre fingerprinting de SOs veja o artigo de Foyer entitulado “Detecção Remota de SO via TCP/IP
fingerprinting” que pode ser encontrado aqui. Com isso em mente, vamos direto para o nosso próximo exemplo.
Usando nosso host alvo (Eva) do Exemplo 1, eu irei digitar o seguinte: (Veja que a opção -O requer privilégios de root)
Citando:
nmap -O 192.168.0.2 Esta é a saída gerada pelo exemplo: Citando:
Exemplo 4
Starting nmap V. 2.53 by [email protected] (www.insecure.org/nmap)
Interesting ports on Eve (192.168.0.2):
(The 1511 ports scanned but not shown below are in state:closed) Port State Service
21/tcp open ftp 23/tcp open telnet 25/tcp open smtp
79/tcp open finger 80/tcp open http 98/tcp open linuxconf 111/tcp open sunrpc 113/tcp open auth 513/tcp open login 514/tcp open shell 515/tcp open printer 6000/tcp open X11
TCP Sequence prediction: Class=random positive increments Difficulty=1772042 (Good luck!)
Remote operating system guess: Linux 2.1.122 – 2.2.14
Nmap run completed — 1 IP address (1 host up) scanned in 1 second
Perceba que o nmap reporta as mesmas portas disponíveis como ele fez no exemplo 1 devido a opção -sT, mas ele também determina o SO da máquina (neste caso Linux) e a versão do kernel… nada mau hein?! Nmap vem equipado com um impressionante banco de dados de SOs.
Mais diversão com Nmap
Ao invés de nos limitar para escanear apenas um alvo, vamos expandir nossos horizontes para coisas grandes e melhores. No exmplo 2 nós usamos nosso endereço de IP para escanear. Usando aquele endereço novamente nós podemos dar uma olhada em vários alvos na nossa “comunidade”. Na linha de comando digite o seguinte: (substituindo por um endereço válido de sua preferência é claro):
Citando:
nmap -sT -O 206.212.15.0-50
O que isso faz é instruir o nmap para escanear cada host entre o endereço de IP 206.212.15.0 e
206.212.15.50. Se por acasao você obter muitos resultados interssantes desta ou de maior escala, então você sempre pode encaminhar a saída para um arquivo que possa ser lido pelo homem ou para um arquivo que possa ser análizado pela máquina para futuras referências usando a seguinte opção:
Para criar um arquivo de saída que possa ser lido pelos olhos humanos adicione o comando -oN dentro de sua string do nmap, você irá ver algo similar à isto:
Citando:
nmap -sT -O -oN exemplo.txt 206.212.15.0-50
Prefere um arquivo para a leitura de máquina? Adicione -oM para direcionar a saída para um arquivo que possa ser lido pela máquina:
Citando:
nmap -sT -O -oM exemplo.txt 206.212.15.0-50
*Antes, quanto eu estava gravando todas as opções do nmap, eu executei meu primeiro scanner de grande escala contra 250 máquina consecutivas usando um endereço qualquer (nmap -sX -O -oN exemplo.txt XXX.XXX.XXX.0-250). Para minha grande surpresa eu me vi frente à 250 máquinas ativas com Linux. Outra razão por que os entusiastas do Linux NUNCA ficarão entediados.
-I Esta é uma chamada bem pequena que ativa a opçao de scanner para inversão de ident TCP do nmap. Isso
divulga informações que nos mostra o username que é dono dos processos ativos. Vamos dar uma olhada (Note que o host deve estar rodando o identd). Na linha de comando executa este comando contra o seu alvo, no caso, nosso Eva, rodando Linux:
-iR Use este comando para instruir o nmap para escanear hosts aleatórios para você. -p A opção de alcance de porta permite que você escolha que portas o nmap irá escanear.
-v Use a opcao de verbosidade para mostrar mais dados de saída. Use duas vezes ( -v -v ) para uma
verbosidade máxima.
-h Mostra na tela uma referência rápida sobre as chamadas do Nmap Juntando Tudo
Agora que nós já vimos os três usos básicos do nmap e algumas outras opções, vamos misturar um pouco: Citando:
nmap -v -v -sS -O 209.212.53.50-100
Isso instrui o nmap para usar o máximo de verbosidade possível para rodar um scanner silencioso e detecção de SO contra todas as máquina cujos IPs vão de 209.212.53.50 até 209.212.53.100. Este comando também requer privilégios de root devido às opções -sS e -O. É claro que isso irá mostrar uma quantidade de dados muito extensa, então, vamos logar nossos resultados dentro de um arquivo de leitura comum para futuras referências:
Citando:
nmap -v -v -sS -O -oN exemplo.txt 209.212.53.50-10
Agora vamos fazer o nmap executar um scanner silencioso e instruí-lo para procurar apenas por máquinas oferecendo serviços http e ftp entre os endereços 209.212.53.50 e 209.212.53.100. Novamente nós iremos logar a saída (Eu sou louco por logs) para futura referência dentro de um arquivo de leitura comum chamdo called ftphttpscan.txt:
Citando:
nmap -sS -p 23,80 -oN ftphttpscan.txt 209.212.53.50-100
Lembra-se da opção -iR mensionada anteriormente? Vamos usá-la para fazer uma busca aleátoria pela Internet por servidores web usando o mesmo exemplo que está no manual online do nmap::
Citando:
nmap -sS -iR -p 80
Último, porém não menos importante, enquanto juntamos informações, não esqueça de executar o nmap em você mesmo. Apenas digite o comando : nmap 127.0.0.1 Isso é especialmente útil e recomendado se você é novo no Linux e está conectado à Internet via DSL ou internet via cabo.
Fonte: CentOsBR – Autor: Ermerson Millnitz
Ads by Google
Digitalização Documentos
Av. Brig. Faria Lima - Jardins (11) 3637-9550
www.docvirtual.com.br
Rede Configuraçao
A Telefônica Negócios tem a solução sob medida para você. Confira!
www.telefonica.com.br/Empresas
Redes de Computadores
Curso Online com vídeos, tutor e certificado com selo de qualidade.
www.PortalEducacao.com.br/
Anti Spam Para Rede
A HP tem a melhor opção de proteção para os seus dados. Confira!
Esta entrada foi publicada em junho 20, 2008 às 10:47 am e é arquivado em Linux, Redes, Tecnico. Você pode
acompanhar qualquer resposta para esta entrada através de RSS 2.0 feed. Você pode deixe uma resposta, ou
Trackback do seu próprio site.
Uma resposta to “nmap – O Mapeador de Rede”
1.
Kismet Tutorial « Linux kismet’s Weblog
disse
agosto 18, 2008 às 12:34 pm
[...] e Servidores Linux – C. E. Morimoto Enviado em Redes, Segurança, Tecnico Nenhum comentário » nmap – O Mapeador de Rede Escrito por Daniel Carraro Tomasini em Junho 20, 2008 Como Lamont Grandquist (um [...]
Responder
Deixe uma resposta
Nome (obrigatório) Email (obrigatório) Site
XHTML: Você pode usar estas etiquetas: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite="">
<cite> <code> <pre> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>
Enviar comentário
Notificar-me os comentários mais recentes via e-mail.
Notifique-me de novos artigos por e-mail
« Firefox 3
Detectando Intrusos com o PHPIDS »