Nmap
Contents |
Nmap
O que é
Nmap é uma ferramenta para exploração de rede criada pelo Fyodor. É uma das ferramentas mais importantes para engenharia de segurança ou pen-tester. Com ele você poderá entrar em uma rede e buscar serviços que estão escutando em cada porta especifica. Você pode fazer um varredura de tcp()connect que fará uma conexão completa com o host ou uma syn scan que fará uma simples conexão que servirá para testar regras de firewall por exemplo.
Instalação
Instale o nmap usando o seguinte comando
sudo apt-get install nmap
Flags
- Nota: O alvo poderá ser uma rede ou simples host
sS
TCP SYN scan: Opção muito usada. 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.
sudo nmap -sS 192.168.0.1
Starting Nmap 4.10 ( http://www.insecure.org/nmap/ ) at 2006-10-30 16:23 BRT Interesting ports on idtstnw65-w (192.168.0.1): Not shown: 1661 closed ports PORT STATE SERVICE 80/tcp open http 81/tcp open hosts2-ns 111/tcp open rpcbind 139/tcp open netbios-ssn 389/tcp open ldap 427/tcp open svrloc 443/tcp open https 524/tcp open ncp 548/tcp open afpovertcp 636/tcp open ldapssl 731/tcp open netviewdm3 846/tcp open unknown 847/tcp open unknown 1234/tcp open hotline 2049/tcp open nfs 8009/tcp open ajp13 32778/tcp open sometimes-rpc19 32779/tcp open sometimes-rpc21 MAC Address: 00:99:99:99:99:99 (3com) Nmap finished: 1 IP address (1 host up) scanned in 7.069 seconds
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.
sudo nmap -sP 192.168.0.1
Starting Nmap 4.10 ( http://www.insecure.org/nmap/ ) at 2006-10-30 16:24 BRT Host idtstnw65 (192.168.0.1) appears to be up. MAC Address: 00:99:99:98:00:99 (3com) Nmap finished: 1 IP address (1 host up) scanned in 0.366 seconds
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 ).
sudo nmap -sR 192.168.0.1
Starting Nmap 4.10 ( http://www.insecure.org/nmap/ ) at 2006-10-30 16:26 BRT Umm -- RPC returned success for bogus version -- thats OK I guess Umm -- RPC returned success for bogus version -- thats OK I guess Umm -- RPC returned success for bogus version -- thats OK I guess Umm -- RPC returned success for bogus version -- thats OK I guess Interesting ports on idtstnw65 (192.168.0.1): Not shown: 1661 closed ports PORT STATE SERVICE VERSION 80/tcp open http 81/tcp open hosts2-ns 111/tcp open rpcbind (rpcbind V2) 2 (rpc #100000) 139/tcp open netbios-ssn 389/tcp open ldap 427/tcp open svrloc 443/tcp open https 524/tcp open ncp 548/tcp open afpovertcp 636/tcp open ldapssl 731/tcp open rpcbind (rpcbind V2) 2 (rpc #100000) 846/tcp open rpcbind (rpcbind V2) 2 (rpc #100000) 847/tcp open rpcbind (rpcbind V2) 2 (rpc #100000) 1234/tcp open rpcbind (rpcbind V0) 0 (rpc #100000) 2049/tcp open rpcbind (rpcbind V0) 0 (rpc #100000) 8009/tcp open ajp13 32778/tcp open rpcbind (rpcbind V0) 0 (rpc #100000) 32779/tcp open rpcbind (rpcbind V0) 0 (rpc #100000) MAC Address: 99:99:99:99:99:99 (3com)
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.
sudo nmap -sT 192.168.0.1
Starting Nmap 4.10 ( http://www.insecure.org/nmap/ ) at 2006-10-30 16:29 BRT Interesting ports on idtstnw65 (192.168.0.1): Not shown: 1661 closed ports PORT STATE SERVICE 80/tcp open http 81/tcp open hosts2-ns 111/tcp open rpcbind 139/tcp open netbios-ssn 389/tcp open ldap 427/tcp open svrloc 443/tcp open https 524/tcp open ncp 548/tcp open afpovertcp 636/tcp open ldapssl 731/tcp open netviewdm3 846/tcp open unknown 847/tcp open unknown 1234/tcp open hotline 2049/tcp open nfs 8009/tcp open ajp13 32778/tcp open sometimes-rpc19 32779/tcp open sometimes-rpc21 MAC Address: 00:99:99:99:99:99 (3com)
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.
sudo nmap -sU 192.168.0.1
Starting Nmap 4.10 ( http://www.insecure.org/nmap/ ) at 2006-10-30 16:31 BRT Interesting ports on idtstnw65 (192.168.0.1): Not shown: 1471 closed ports PORT STATE SERVICE 111/udp open|filtered rpcbind 123/udp open|filtered ntp 137/udp open|filtered netbios-ns 138/udp open|filtered netbios-dgm 161/udp open|filtered snmp 427/udp open|filtered svrloc 524/udp open ncp 902/udp open|filtered unknown 903/udp open|filtered unknown 904/udp open|filtered unknown 961/udp open|filtered unknown 1030/udp open|filtered iad1 2049/udp open|filtered nfs 32778/udp open|filtered sometimes-rpc20 32779/udp open|filtered sometimes-rpc22 32780/udp open|filtered sometimes-rpc24 MAC Address: 00:99:99:69:99:99 (3com) Nmap finished: 1 IP address (1 host up) scanned in 76.637 seconds
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.
sudo nmap -sV 192.168.0.1
Starting Nmap 4.10 ( http://www.insecure.org/nmap/ ) at 2006-10-30 16:36 BRT Interesting ports on idtstnw65 (192.168.0.1): Not shown: 1661 closed ports PORT STATE SERVICE VERSION 80/tcp open http Apache httpd 2.0.45 ((NETWARE) mod_jk/1.2.4a) 81/tcp open http Novell Netware HTTP Stack (HTTPSTK.NLM) 111/tcp open rpcbind 2 (rpc #100000) 139/tcp open netbios-ssn Netware 6 SMB Services 389/tcp open ldap (Anonymous bind OK) 427/tcp open svrloc? 443/tcp open ssl/http Apache httpd 2.0.45 ((NETWARE) mod_jk/1.2.4a) 524/tcp open ncp Novell Netware NCP 548/tcp open afpovertcp? 636/tcp open ssl/ldap (Anonymous bind OK) 731/tcp open rpcbind 2 (rpc #100000) 846/tcp open rpcbind 2 (rpc #100000) 847/tcp open rpcbind 2 (rpc #100000) 1234/tcp open hotline? 2049/tcp open rpc 8009/tcp open ssl/http Novell Netware HTTP Stack (HTTPSTK.NLM) 32778/tcp open rpc 32779/tcp open rpc MAC Address: 00:99:99:99:99:99 (3com) Service Info: OS: NetWare Nmap finished: 1 IP address (1 host up) scanned in 121.699 seconds
sF, sX, sN
- Nota use somente uma dessas 3 flags
Stealth FIN, Xmas Tree ou Null: Alguns firewalls e filtros de pacotes detectam pacotes SYN's em portas restritas, então é necessário utilizar métodos avançados para atravessar esses softwares.
- FIN: Portas fechadas enviam um pacote RST como resposta a pacotes FIN, enquanto portas abertas ignoram esses pacotes. (Esse método não funciona com a plataforma Windows, uma vez que a Microsoft não seguiu RFC 973) Xmas Tree: Portas fechadas enviam um pacote RST como resposta a pacotes FIN, enquanto portas abertas ignoram esses pacotes. As flags FIN, URG e PUSH são utilizados no pacotes FIN que é enviado ao alvo. (Esse método não funciona com a plataforma Windows, uma vez que a Microsoft não seguiu RFC 973) Null: Portas fechadas enviam um pacote RST como resposta a pacotes FIN, enquanto portas abertas ignoram esses pacotes. Nenhuma flag é ligada no pacote FIN. (Esse método não funciona com a plataforma Windows, uma vez que a Microsoft não seguiu RFC 973)
Opções Gerais
D <decoy1,[decoy2],[SEU_IP]...>
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 identificar a verdadeira origem da varredura.
sudo nmap -D IP1,IP2,IP3,IP4,IP6,SEU_IP 192.168.0.1
F
Procura pelas portas que estão no /etc/services. Método mais rápido, porém não procurar por todas as portas.
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)
n
Não irá resolver nome de hosts a ser varrido.
O
Ativa a identificação do host remoto via TCP/IP. Irá apresentar versão do Sistema Operacional e tempo ativo.
p <lista_de_portas>
Especifica quais portas devem ser verificadas na varredura. Por default, todas as portas entre 1 e 1024 são varridas.
P0
Não tenta pingar o host antes de iniciar a varredura. Isto permite varrer alvos que bloqueiam ICMP “echo request (ou responses)” através de firewall.
PS<lista_de_portas>
Usa pacotes SYN para determinar se o host está ativo. sudo nmap -PS80 192.168.0.1
PT<lista_de_portas>
Usa TCP “ping” para determinar se o host está ativo.
sudo nmap -PT80 192.168.0.1
R
Irá resolver nome de hosts alvo.
r
A varredura será feita nas portas randomicamente, não seguinte a ordem crescente.
T <Paranoid|Sneaky|Polite|Normal|Aggressive|Insane>
Esse parâmetro seta a prioridade de varredura do Nmap:
- Paranoid (-T5) é muito lento na esperança de prevenir a detecção pelo
- sistema IDS. Este serializa todos os scans (scanning não paralelo) e geralmente espera no mínimo 5 minutos entre o envio de pacotes.
- Sneaky (-T4) é similar ao Paranoid, exceto que somente espera 15 segundos
- entre o envio de pacotes.
- Polite (-T3) tem o significado para facilitar a carga na rede e reduzir as
- chances de travar a máquina. Ele serializa os testes e espera no mínimo 0.4 segundos entre eles.
- Normal (-T2) é o comportamento default do Nmap, o qual tenta executar tão
- rápido quanto possível sem sobrecarregar a rede ou perder hosts/portas.
- Aggressive(-T1) esse modo adiciona um timeout de 5 minutos por host e
- nunca espera mais que 1.25 segundos para testar as respostas.
- Insane (-T0) é somente adequando para redes muito rápidas ou onde você
- não se importa em perder algumas informações. Nesta opção o timeout dos hosts acontecem em 75 segundos e espera somente 0.3 segundos por teste individual.
ttl <valor>
Altera o valor do TTL (Time to Live), dessa forma dificulta a origem do pacote.
sudo nmap -ttl 55 192.168.0.1
v
Modo verbose. Mostra tudo o que está se passando.
sudo nmap -v 192.168.0.1
Flag não documentada
O nmap tem uma flag não documentada, a flag é: --scanflags. Com ela é possível especificar flags arbitrárias usando nomes de flags ou número. Nesse exemplo estamos usando uma varredura SYN-FIN
sudo nmap -sS –scanflags SYNFIN -O 192.168.0.1
Links
Nmap (last edited 2011-09-19 23:20:58 by localhost)