Você está na página 1de 46

NMAP(1) [FIXME: manual]

NMAP(1)

NAME
nmap - Ferramenta de explorao de Rede e Rastreio de Segurana / Portas

SYNOPSIS
nmap [Tipo de Rastreio(Scan)...] [Opes] {Especificao do Alvo}

DESCRIO
O Nmap (Network Mapper) uma ferramenta em cdigo aberto para explorao
de rede e auditoria de segurana. Foi desenhada para rastrear(Scan)
rapidamente redes amplas contudo funciona bem com um nico anfitrio(host).
Nmap usa pacotes IP em estado bruto(raw) sobre novas formas para determinar
que anfitries(hosts) esto disponveis na rede, que servios (nome e verso
da aplicao) esses anfitries(hosts) esto disponibilizando, que sistemas
operativos (e verses de SO) esto em uso, que tipo de filtros de
pacotes/firewalls esto em uso e dezenas de outras caractersticas. Enquanto
o Nmap frequentemente usado para auditorias de segurana, muitos sistemas
e
administradores de redes consideram-no til para as tarefas de rotina como o
inventrio da rede, gesto de actualizaes de servios e monitorizar o
uptime de anfitries ou servios.

A sada do Nmap uma lista de alvos rastreados(scanned) com informaes


adicionais de cada um dependendo das opes utilizadas. Uma informao chave
a tabela de portas interessantes. Essa tabela lista o nmero da porta e
o
protocolo, o nome do servio e o estado. O estado pode ser aberto (open),
filtrado (filtered), fechado (closed), ou no-filtrado (unfilterd). Aberto
(open) significa que uma aplicao na mquina-alvo est escutando as
conexes/pacotes nessa porta. Filtrado (filtered) significa que o firewall,
filtro ou outro obstculo de rede est bloqueando a porta de forma que o
Nmap
no consegue dizer se ela est aberta (open) ou fechada (closed). Portas
fechadas (closed)no possuem uma aplicao escutando nelas embora possam
abrir a qualquer instante. Portas so classificadas como no filtradas
(unfiltered)quando elas respondem s sondagens do Nmap mas o Nmap no
consegue determinar se as portas esto abertas ou fechadas. O Nmap reporta
as
combinaes aberta|filtrada (open|filtered)e fechada|filtrada
(closed|filtered)quando no consegue determinar qual dos dois estados
descrevem melhor a porta. A tabela de portas tambm pode incluir detalhes de
verso de software quando a deteco de verso for solicitada. Quando um
rastreio(scan) do protocolo IP solicitado (-sO) o Nmap fornece informaes
dos protocolos IP suportados ao invs de portas que estejam abertas.

Alm da tabela de portas interessantes o Nmap pode fornecer informaes


adicionais sobre os alvos, inclundo nomes de DNS reverso, suposies de
sistema operativo, tipos de dispositivos e endereos MAC.

Um rastreio(scan) tpico do Nmap mostrado em Example 1, Uma amostra de


rastreio(scan) do Nmap. Os nicos argumentos que o Nmap utiliza nesse
exemplo so -A para permitir a deteco de SO e a verso -T4 para execuo
mais rpida e os nomes de anfitrio(hostnames) de dois alvos.

Example 1. Uma amostra de rastreio(scan) do Nmap

# nmap -A -T4 scanme.nmap.org playground


Starting nmap ( http://www.insecure.org/nmap/ )
Interesting ports on scanme.nmap.org (205.217.153.62):
(The 1663 ports scanned but not shown below are in state: filtered)
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 3.9p1 (protocol 1.99)
53/tcp open domain
70/tcp closed gopher
80/tcp open http Apache httpd 2.0.52 ((Fedora))
113/tcp closed auth
Device type: general purpose
Running: Linux 2.4.X|2.5.X|2.6.X
OS details: Linux 2.4.7 - 2.6.11, Linux 2.6.0 - 2.6.11
Uptime 33.908 days (since Thu Jul 21 03:38:03 2005)

Interesting ports on playground.nmap.org (192.168.0.40):


(The 1659 ports scanned but not shown below are in state: closed)
PORT STATE SERVICE VERSION
135/tcp open msrpc Microsoft Windows RPC
139/tcp open netbios-ssn
389/tcp open ldap?
445/tcp open microsoft-ds Microsoft Windows XP microsoft-ds
1002/tcp open windows-icfw?
1025/tcp open msrpc Microsoft Windows RPC
1720/tcp open H.323/Q.931 CompTek AquaGateKeeper
5800/tcp open vnc-http RealVNC 4.0 (Resolution 400x250; VNC TCP
port: 5900)
5900/tcp open vnc VNC (protocol 3.8)
MAC Address: 00:A0:CC:63:85:4B (Lite-on Communications)
Device type: general purpose
Running: Microsoft Windows NT/2K/XP
OS details: Microsoft Windows XP Pro RC1+ through final release
Service Info: OSs: Windows, Windows XP

Nmap finished: 2 IP addresses (2 hosts up) scanned in 88.392 seconds

A verso mais nova do Nmap pode ser obtida em http://www.insecure.org/nmap/.


A verso mais nova da pgina man est disponvel em
http://www.insecure.org/nmap/man/.

SUMRIO DAS OPES


Este sumrio de opes mostrado quando o Nmap executado sem argumentos e
a ltima verso est sempre disponvel em
http://www.insecure.org/nmap/data/nmap.usage.txt. Ele ajuda as pessoas a
lembrar-se das opes mais comuns mas no substitui a documentao mais
tcnica do restante deste manual. Algumas opes mais obscuras nem esto
aqui
includas.

Synopsis: nmap [Tipo(s) de Rastreio(Scan)] [Opes] {especificao do


alvo}
ESPECIFICAO DO ALVO:
Pode-se usar nomes de anfitries(hostnames), Endereos IP, redes, etc.
Ex: scanme.nmap.org, microsoft.com/24, 192.168.0.1; 10.0-255.0-255.1-
254
-iL <inputfilename>: Entrada(Input) de listas de
anfitries(hosts)/redes
-iR <num hosts>: Escolher alvos aleatoriamente
--exclude <host1[,host2][,host3],...>: Excluir anfitries(hosts)/redes
--excludefile <exclude_file>: Lista de excluses de um ficheiro
DESCOBERTA DE ANFITRIES(HOSTS):
-sL: List Scan - lista simplesmente os alvos para efectuar o
rastreio(scan)
-sP: Ping Scan - apenas determnina se o anfitrio est online
-P0: Considera todos os anfitries como online -- salta a descoberta
de anfitries
-PS/PA/PU [portlist]: rastreio de descoberta TCP SYN/ACK ou UDP para
determinadas portas
-PE/PP/PM: Rastreio(scan) de descoberta ICMP echo, timestamp, and
netmask request
-n/-R: Nunca resolver/Resolver sempre nomes de DNS [default: resolver
algumas vezes]
TCNICAS DE SCAN:
-sS/sT/sA/sW/sM: Rastreios(Scans) TCP SYN/Connect()/ACK/Window/Maimon
-sN/sF/sX: Rastreios(Scans) TCP Null, FIN, and Xmas
--scanflags <flags>: Customizar as TCP scan flags
-sI <anfitrio(host) zombie[:probeport]>: Idlescan
-sO: Rastreio(Scan) de protocolo IP
-b <ftp relay host>: FTP bounce scan
ESPECIFICAO DO PORTO E ORDEM DE RASTREIO:
-p <port ranges>: Apenas efectuar o rastreio(scan) de portas
especficas
Ex: -p22; -p1-65535; -p U:53,111,137,T:21-25,80,139,8080
-F: Rpido - Efectua o rastreio(Scan) apenas das portas especificadas
no ficheiro nmap-services
-r: Efectuar o rastreio(Scan) das portas consecutivas e no
aleatoriamente
DETECO DO SERVIO/VERSO:
-sV: Rastrear(scan) portas abertas para determinar a informao sobre
o servio/verso
--version-light: Limitar aos rastreios mais provveis para
identificao mais rpida
--version-all: Experimentar todos os rastreios para detectar a verso
--version-trace: Mostrar detalhadamente a actividade do rastreio(scan)
da verso (para debugging)
DETECO DO SO:
-O: Permite a deteco do SO
--osscan-limit: Limitar a deteco de SO aos alvos promissores
--osscan-guess: Efectuar o rastreio do SO de forma mais agressiva
TIMING AND PERFORMANCE:
-T[0-6]: Ajustar o tempo do modelo(template) (maior mais rpido)
--min-hostgroup/max-hostgroup <msec>: Tamanho dos grupos de
rastreio(scan)
de anfitrio(host) paralelo
--min-parallelism/max-parallelism <msec>: Rastreio paralelismo
--min_rtt_timeout/max-rtt-timeout/initial-rtt-timeout <msec>: Ajustar
o
tempo de retorno do rastreio.
--host-timeout <msec>: Desistir de um alvo aps este tempo
--scan-delay/--max_scan-delay <msec>: Ajustar esperas entre rastreios
FIREWALL/IDS EVASO E DISFARE(SPOOFING):
-f; --mtu <val>: fragmentar pacotes (opcional com dado MTU)
-D <decoy1,decoy2[,ME],...>: Disfara um rastreio(scan) com iscos
-S <IP_Address>: Disfarar(Spoof) endereo de origem
-e <iface>: Usar um interface especifico
-g/--source-port <portnum>: Usar um determinado numero de porta
--data-length <num>: Acrescentar dados aleatorios aos pacotes enviados
--ttl <val>: Ajustar o campo IP TTL tempo-de-vida
--spoof-mac <mac address, prefix, or vendor name>: Disfarar(Spoof) o
endereo MAC
SAIDA(OUTPUT):
-oN/-oX/-oS/-oG <file>: Retorna os resultados do rastreio(scan) em XML
normal, s|<rIpt kIddi3,
e formatados respectivamente para o ficheiro especificado
-oA <basename>: Saida(Output) nos trs formatos principais
-v: Aumenta o nivel de informao apresentada(verbosity) (usar 2x para
aumentar o efeito)
-d[level]: Ajusta o nivel de debugging (t 9 significativo)
--packet-trace: Mostra todos os pacotes enviados e recebidos
--iflist: Mostra os interfaces do anfitrio e rotas (para debugging)
--append-output: Acrescenta, em vez de destruir/substituir, ficheiros
de resultados
--resume <filename>: Continuar um rastreio cancelado(aborted)
--stylesheet <path/URL>: A XSL stylesheet para transformar
retorno(output) XML para HTML
--no_stylesheet: Impedir que o Nmap de associar a XSL stylesheet com
retorno(output) XML
OUTROS(MISC):
-6: Permitir rastreio(scanning) IPv6
-A: Permitir deteco do SO e verso
--datadir <dirname>: Especifica a localizao do ficheiro de dados
personalizado do Nmap
--send-eth/--send-ip: Enviar pacotes utilizando "raw ethernet frames"
ou pacotes IP
--privileged: Assume que o utilizador possui os previlgios
necessrios
-V: Mostra a verso
-h: Mostra esta pgina de sumrio de ajuda
EXEMPLOS:
nmap -v -A scanme.nmap.org
nmap -v -sP 192.168.0.0/16 10.0.0.0/8
nmap -v -iR 10000 -P0 -p 80

ESPECIFICAO DE ALVO
Tudo na linha de comando do Nmap que no for uma opo (ou argumento de uma
opo) tratado como uma especificao de um anfitrio (host)-alvo. O caso
mais simples especificar um endereo IP como alvo ou um nome de
anfitrio(hostname) para ser rastreado(scaned).

Algumas vezes pode querer efectuar o rastreio(scan) de uma rede inteira de


anfitries(hosts) adjacentes. Para isso o Nmap suporta o estilo de
endereamento CIDR. Pode acrescentar /nmerodebits em um endereo ou
hostname
e o Nmap ir efectuar o rastreio(scan) de cada endereo IP para o qual os
primeiros nmerosdebits sejam o mesmo que o IP de referncia ou o hostname
dado. Por exemplo, 192.168.10.0/24 escanearia os 256 hosts entre
192.168.10.0
(binrio: 11000000 10101000 00001010 00000000) e 192.168.10.255 (binrio:
11000000 10101000 00001010 11111111), inclusive. 192.168.10.40/24 faria
exatamente a mesma coisa. Dado que o afitrio(host) scanme.nmap.org est no
endereo IP 205.217.153.62, a especificao scanme.nmap.org/16 efectuaria o
rastreio(scan) dos 65.536 endereos IP entre 205.217.0.0 e 205.217.255.255.
O
menor valor permitido /1, que equivale ao rastreio(scan) de metada da
Internet. O maior valor 32, que faz o rastreio(scan) de apenas o
anfitrio(host) nomeado ou endereo IP porque todos os bits de endereamento
esto fixos.
A notao CIDR curta mas nem sempre flexvel o suficiente. Por exemplo,
pode querer fazer o rastreio(scan) de 192.168.0.0/16 mas desejar saltar
todos
os IPs terminados em .0 ou .255 porque eles so normalmente endereos de
broadcast. O Nmap suporta isso atravs de endereamento por faixa de octeto.
Ao invs de especificar um endereo IP normal, pode especificar uma lista de
nmeros separada por vrgulas ou faixa de nmeros para cada octeto. Por
exemplo, 192.168.0-255.1-254 ir saltar todos os endereos na faixa que
terminarem com .0 e/ou .255. Faixas no precisam ser limitadas ao octeto
final: o especificador 0-255.0-255.13.37 ir executar um rastreio(scan) em
toda a Internet buscando os endereos IP terminados em 13.37. Esse tipo de
amostragem ampla pode ser til em levantamentos e pesquisas de toda a
Internet.

Endereos IPv6 podem apenas ser especificados utilizando o endereo IP ou


hostname IPv6 completamente qualificado. Faixas CIDR e octetos no so
suportados para o IPv6 porque eles raramente so teis.

O Nmap aceita mltiplas especificaes de anfitrio(host) na linha de


comando, e elas no precisam ser do mesmo tipo. O comando nmap
scanme.nmap.org 192.168.0.0/8 10.0.0,1,3-7.0-255 executa o que se espera
dele.

Embora os alvos sejam normalmente especificados na linha de comando, as


seguintes opes tambm esto disponveis para controlar a seleo de alvos:

-iL <arquivodeentrada> (Entrada a partir de uma lista)


L a especificao de alvos partir de um arquivodeentrada. Passar uma
lista enorme de anfitries(hosts) na linha de comando muito ruim,
ainda
que seja normalmente desejvel. Por exemplo, o seu servidor DHCP pode
exportar uma lista de 10.000 endereos correntes em uso que deseja
efectuar o rastreio(scan). Ou talvez deseje o rastreio(scan) dr todos os
endereos IP excepto aqueles usados para localizar anfitries(hosts) que
usam endereos IP estticos no-autorizados. Simplesmente gere uma lista
de anfitries(hosts) a efectuar o rastreio(scan) e passe o nome do
arquivo para o Nmap como um argumento opo -iL. As entradas podem
estar em qualquer um dos formatos aceites pelo Nmap na linha de comando
(endereo IP, hostname, CIDR, IPv6, ou faixas de octetos). Cada entrada
deve ser separada por um ou mais espaos em branco, tabulaes ou
newlines. Voc pode especificar um hfen (-) como nome de arquivo se
quiser que o Nmap leia os nomes de anfitrio(hostsnames) da entrada
padro (standard input) ao invs de um arquivo.

-iR <nmero de afitries(hosts)> (Escolhe alvos aleatrios)


Para levantamentos na Internet toda e outras pesquisas, pode querer
escolher alvos de forma aleatria. O argumento nmero de
anfitries(hosts) diz ao Nmap quantos IPs ele dever gerar. IPs
indesejveis, tais como aqueles de certas redes privadas, multicast e
faixas de endereos no-alocadas so automaticamente anuladas. O
argumento 0 (zero) pode ser especificado caso deseje um rastreio(scan)
sem fim. Tenha em mente que alguns administradores de rede no gostam de
rastreios(scans) no-autorizados de suas redes e podem apresentar queixa
Use esta opo por sua conta e risco! Se estiver realmente aborrecido em
uma tarde chuvosa, tente o comando nmap -sS -PS80 -iR 0 -p 80 para
localizar servidores web aleatrios para navegar.

--exclude <host1[,host2][,host3],...> (Exclui anfitries(hosts)/redes)


Especifica uma lista de alvos, separados por vrgula, a serem excludos
do rastreio(scan) mesmo que faam parte da faixa de rede especificada. A
lista que fornece utiliza a sintaxe normal do Nmap, portanto ela pode
incluir nomes de afitrio(hosts), blocos de rede CIDR, faixas de
octetos,
etc. Isso pode ser til quando a rede que deseja efectuar o
rastreio(scan) inclui servidores de misso crtica intocveis, sistemas
que reconhecidamente reagem mal a rastreio(scan) de portas ou sub-redes
administradas por outras pessoas.

--excludefile <arquivo_excluso> (Exclui a lista do arquivo)


Oferece a mesma funcionalidade que a opo --exclude, excepto que os
alvos a excluir so fornecidos em um exclude_file , delimitados por
newline, espao em branco ou tabulao, ao invs de na linha de comando.

DESCOBERTA DE HOSTS
Um dos primeiros passos em qualquer misso de reconhecimento de uma rede
reduzir um conjunto (s vezes enorme) de faixas de endereos IP, em uma
lista
de anfitries(hosts) activos e interessantes. Efectuar o rastreio(scan) de
cada porta de cada endereo IP lento e normalmente desnecessrio. claro
que o que torna um anfitrio(host) interessante depende muito do propsito
do
rastreio(scan). Administradores de rede podem estar apenas interessados em
hosts que executam um determinado servio, enquanto os auditores de
segurana
podem se importar com cada dispositivo que possuir um endereo IP. Um
administrador pode se sentir vontade em usar o ping ICMP para localizar os
anfitries(hosts) na rede interna, enquanto um profissional externo de
anlise de vulnerabilidades (penetration tester) pode utilizar um conjunto
diversificado de dezenas de sondagens numa tentativa de enganar as
restries
da firewall.

As necessidades para o descobrimento de anfitrio(host) so muito diversas


e,
por isso, o Nmap oferece uma ampla variedade de opes para customizar as
tcnicas utilizadas. A descoberta de anfitrio(host) s vezes chamada de
rastreo ping(ping scan), mas ela vai muito alm dos simples pacotes ICMP de
echo request associados com a popular ferramenta conhecida como ping. Os
usurios podem saltar a etapa do ping inteiramente com uma lista de
rastreio(scan) (-sL) ou desactivado o ping (-P0), ou enfrentar a rede com
combinaes arbitrrias de sondagens multi-portas TCP SYN/ACK, UDP, e ICMP.
O
objetivo dessas sondagens solicitar respostas que mostrem que um endereo
IP est realmente activo ( utilizado por um afitrio(host) ou dispositivo
de
rede). Em muitas redes, apenas uma pequena percentagem dos endereos IP est
activa em um dado momento. Isso particularmente comum com o espao de
endereamento privado ao abrigo do RFC1918 como, por exemplo, 10.0.0.0/8.
Essa rede tem 16 milhes de IPs, mas eu j a vi sendo utilizado em empresas
com menos de mil mquinas. A descoberta de anfitries(hosts) pode encontrar
essas mquinas escassamente alocadas em um mar de endereos IP.

Se nenhuma opo de descoberta de hosts for dada, o Nmap envia um pacote TCP
ACK destinado a porta 80 e uma procura ICMP Echo Request a cada mquina-
alvo.
Uma exceo a isso que um rastreio(scan) ARP utilizado para cada alvo
localizado na rede ethernet local. Para usurios Unix sem privilgios de
shell, um pacote SYN enviado ao invs do ack utilizando a chamada de
sistema connect(). Esses valores default equivalem s opes -PA -PE. Esta
descoberta de anfitrio(host) frequentemente suficiente para o
rastreio(scan) de redes locais, mas um conjunto de sondagens mais
abrangentes
recomendado para auditoria de segurana.

As opes -P* (que seleccionam tipos de ping) podem ser combinadas. Voc
pode
aumentar as chances de penetrar numa firewall enviando muitos tipos de
sondagens, utilizando diferentes portas/flags TCP e cdigos ICMP. Note
tambm
que a descoberta por ARP (-PR) feita por default contra alvos na rede
ethernet local mesmo que especifique outras opes -P* , porque quase
sempre mais rpida e mais eficiente.

As seguintes opes controlam a descoberta de anfitries(hosts).

-sL (Listagem de rastreio(scan))


A listagem de rastreio(scan) uma forma degenerada de descoberta de
anfitries(hosts) que simplesmente lista cada anfitrio(host) da rede
especificada, sem enviar nenhum pacote aos hosts-alvos. Por default o
Nmap far a resoluo de DNS dos anfitries(hosts) para descobrir seus
nomes. Ainda surpreendente a quantidade de informaes teis que
simples nomes de hosts podem dar. Por exemplo, fw.chi.playboy.com o
firewall do escritrio de Chicago da Playboy Enterprises. Nmap tambm
reporta o nmero total de endereos IP ao final. A listagem de
rastreio(scan) um bom teste de sanidade para assegurar que est com a
lista correta de endereos IP dos seus alvos. Se os anfitries(hosts)
mostrarem nomes de domnios que no reconhece, vale a pena investigar
melhor para evitar o rastreio(scan) da rede da empresa errada.

Uma vez que a idia apenas mostrar uma lista dos hosts-alvos, as
opes
de funcionalidade de nvel mais alto tais como o rastreio(scan) de
portas, deteco de SO, ou rastreio(scan) utilizando ping, no podem ser
combinadas com esta opo. Se deseja desactivar o rastreio(scan)
utilizando ping enquanto executa funes de nvel elevado, leia a opo
-P0.

-sP (Rastreio(scan) usando Ping)


Esta opo diz ao Nmap para somente executar um rastreio(scan) usando o
ping (descoberta de anfitries(hosts)), e ento mostrar os hosts
disponveis que responderam ao scan. Nenhum teste adicional (tais como o
rastreio(scan) de portas e deteo de SO) executado. Isto um pouco
mais intrusivo que a listagem de rastreio(scan), e pode ser usado para
os
mesmos propsitos. Permite um reconhecimento leve de uma rede-alvo sem
chamar muita ateno. Saber quantos hosts esto ativos mais valioso
para invasores que a lista fornecida pela listagem de rastreio(scan) com
cada endereo IP e seu nome de anfitrio(host).

Administradores de sistemas frequentemente acham esta opo valiosa. Ela


pode ser facilmente utilizada para contar o nmero de mquinas
disponveis em uma rede ou monitorar a disponibilidade dos servidores.
Isto normalmente chamado de varredura com ping (ping sweep), e mais
confivel do que fazer um ping num endereo de broadcast, pois muitos
anfitries(rastreio(scan)hosts) no respondem a pesquisas com broadcast.
A opo -sP envia um ICMP echo request e um pacote TCP para a porta 80
por default. Quando executada por um usurio sem privilgios, um pacote
SYN enviado (usando uma chamada connect()) para a porta 80 no alvo.
Quando um usurio privilegiado tenta rastrear(scan) alvos na rede
ethernet local, requisies ARP (-PR) so utilizadas, a menos que
--send-ip tenha sido especificado. A opo -sP pode ser combinada com
qualquer um dos tipos de sondagens de descobrimento (as opes -P* ,
excluindo -P0) para maior flexibilidade. Se qualquer uma dessas opes
de
tipos de sondagens e nmero de porta for utilizada, as sondagens default
(ACK e echo request) so sobrepostas. Quando firewalls restritivos esto
posicionados entre o host de origem que executa o Nmap e a rede-alvo,
utilizar essas tcnica avanadas recomendado. Do contrrio, hosts
podem
ser perdidos quando o firewall ignorar as sondagens ou as respostas
delas.

-P0 (Sem ping)


Esta opo salta completamente a fase de descoberta do Nmap. Normalmente
o Nmap utiliza este estgio para determinar as mquinas activas para o
rastreio(scan) mais agressivo. Por default, o Nmap apenas executa
sondagens agressivas tais como o rastreio(scan) de portas, deteco de
verses, ou deteces do SO contra afitries(hosts) que foram
verificados
como activos. Desactivar a descoberta de anfitries(hosts) com -P0 faz
com que o Nmap teste as funes de rastreio(scan) solicitadas contra
todos os endereos IP alvos especificados. Portanto se um espao de
endereamento alvo do tamanho de uma classe B (/16) for especificado na
linha de comando, todos os 65.536 endereos IP sero alvo do
rastreio(scan). O segundo caracter da opo -P0 um zero e no a letra
O. A descoberta de anfitries(hosts) apropriada desconsiderada como na
listagem de rastreio(scan), mas ao invs de parar e mostrar a lista de
alvos, o Nmap continua a executar as funes solicitadas como se cada
alvo IP estivesse activo.

-PS [listadeportas] (Ping usando TCP SYN)


Esta opo envia um pacote TCP vazio com a flag SYN marcada. A porta de
destino default a 80 (configurada em tempo de compilao pela varivel
DEFAULT_TCP_PROBE_PORT no nmap.h), mas uma porta alternativa pode ser
especificada como um parmetro. At uma lista de portas separadas por
vrgula pode ser especificada (p.ex. -PS22,23,25,80,113,1050,35000),
nesse caso as sondagens sero tentadas contra cada porta em paralelo.

A flag SYN sugere aos sistemas remotos que est tentando estabelecer uma
comunicao. Normalmente a porta de destino estar fechada e um pacote
RST (reset) ser enviado de volta. Se a porta estiver aberta, o alvo ir
dar o segundo passo do cumprimento-de-trs-vias (3-way-handshake) do TCP
respondendo com um pacote TCP SYN/ACK TCP. A mquina executando o Nmap
ento derruba a conexo recm-criada respondendo com um RST ao invs de
enviar um pacote ACK que iria completar o cumprimento-de-trs-vias e
estabelecer uma conexo completa. O pacote RST enviado pelo kernel da
mquina que est executando o Nmap em resposta ao SYN/ACK inesperado, e
no pelo prprio Nmap.

O Nmap no se importa se a porta est aberta ou fechada. Tanto a


resposta
RST ou SYN/ACK discutidas anteriormente dizem ao Nmap se o hosts est
disponvel e responsivo.
Em mquinas UNIX apenas o usurio privilegiado root capaz,
normalmente,
de enviar e receber pacotes TCP em estado bruto(raw packets). Para
usurios no privilegiados um contorno automaticamente empregado em
concordncia com a chamada de sistema connect() iniciada contra cada
porta-alvo. Isso tem o efeito de enviar um pacote SYN ao anfitrio(host)
alvo em uma tentativa de estabelecer uma conexo. Se o connect()
retornar
com sucesso rpido ou com uma falha ECONNREFUSED, a pilha TCP subjacente
deve ter recebido um SYN/ACK ou RST e o anfitrio(host) marcado como
disponvel. Se a tentativa de conexo for abandonada at que um timeout
ocorra, o host marcado como indisponvel. Esse contorno tambm usado
para conexes IPv6, pois o suporte a construo de pacotes IPv6 em
estado
bruto(raw) ainda no est disponvel no Nmap.

-PA [listadeportas] (Ping usando TCP ACK)


O ping usando TCP ACK muito similar ao recm-discutido ping usando
SYN.
A diferena como poderia imaginar, que a flag TCP ACK marcada ou
invs da flag SYN. O pacote ACK finge reconhecer dados de uma conexo
TCP
estabelecida, quando nenhuma conexo existe de facto. Ento os
anfitries(hosts) remotos deveriam sempre responder com pacotes RST
revelando sua existncia no processo.

A opo -PA utiliza a mesma porta default que a sondagem SYM (80) e pode
tambm obter uma lista de portas destino no mesmo formato. Se um usurio
privilegiado tenta isto, ou se um alvo IPv6 especificado, o contorno
connect() discutido anteriormente utilizado. Esse contorno
imperfeito
pois o connect() est realmente enviando um pacote SYN ao invs de um
ACK.

O motivo para oferecer ambas as sondagens ping, que utilizam SYN e ACK,

maximizar as chances de passar por firewalls. Muitos administradores


configuram routers e outros firewalls simples para bloquear a entrada de
pacotes SYN excepto aqueles destinados a servios pblicos como o site
web da empresa ou servidor de correio electrnico. Isso evita as demais
conexes entradas na organizao, permitindo aos usurios fazer conexes
desobstruidas Internet. Essa aproximao no-orientada conexo
(non-stateful ou stateless) consome poucos recursos no firewall/router e
amplamente suportada por filtros de hardware e software. O firewall de
software Netfilter/iptables do Linux oferece a convenincia da opo
--syn para implementar essa abordagem stateless. Quando regras stateless
do firewall como essas so implementadas, sondagens de ping usando SYN
(-PS) muito provavelmente sero bloqueadas quando forem enviadas
portas
fechadas. Nesses casos, a sondagem ACK se destaca pois ela simplesmente
passa por essas regras.

Outro tipo comum de firewall utiliza regras orientadas a conexo que


descartam pacotes inesperados. Esta caracterstica era encontrada
inicialmente apenas em firewalls de alto-nvel, embora tenha se tornado
mais comum com o passar dos anos. O sistema Netfilter/iptables do Linux
suporta esta caracterstica atravs da opo --state, que categoriza os
pacotes baseados no estado da conexo. Uma sondagem SYN tem maiores
chances de funcionar contra um sistema assim, pois pacotes ACK
inesperados so normalmente reconhecidos como falsos e descartados. Uma
soluo para esse dilema enviar ambas as sondagens SYN e ACK
especificando -PS e -PA.

-PU [listadeportas] (Ping usando UDP)


Outra opo de descoberta de anfitries(hosts) o ping usando UDP, que
envia um pacote UDP vazio (a menos que --data-length seja especificado)
para as portas informadas. A listadeportas tem o mesmo formato que os
discutidos anteriormente nas opes -PS e -PA. Se nenhuma porta for
especificada, o default 31338. Esse default pode ser configurado em
tempo de compilao alterando DEFAULT_UDP_PROBE_PORT no nmap.h. Uma
porta
alta no comum utilizada como default porque enviar para portas
abertas
normalmente indesejado para este tipo particular de rastreio(scan).

Ao bater contra uma porta fechada na mquina-alvo, a sondagem UDP deve


criar um pacote ICMP de porta inalcanvel como resposta. Isso diz ao
Nmap que a mquina est activa e disponvel. Muitos outros tipos de
erros
ICMP, tais como anfitrio(host)/rede inalcanvel ou TTL excedido so
indicativos de um anfitrio(host) inactivo ou inalcanvel. A falta de
resposta tambm interpretada dessa forma. Se uma porta aberta
alcanada, a maioria dos servios simplesmente ignoram o pacote vazio e
falham em retornar qualquer resposta. por isso que a porta de sondagem
default 31338, que pouco provavelmente estar em uso. Uns poucos
servios, tal como o chargen, ir responder a um pacote UDP vazio, e com
isso revelar ao Nmap que a mquina est disponvel.

A principal vantagem deste tipo de scan que ele passa por firewalls e
filtros que apenas examinam o TCP. Por exemplo, uma vez eu tive um
router
broadband sem-fios Linksys BEFW11S4. A interface externa desse
dispositivo filtrava todas as portas TCP por default, mas as sondagens
UDP ainda causavam mensagens de porta inalcanvel, denunciando assim o
dispositivo.

-PE; -PP; -PM (Tipos de Ping do ICMP)


Alm dos tipos incomuns de descoberta de anfitries(hosts) TCP e UDP
discutidos anteriormente, o Nmap pode enviar os pacotes-padro que
normalmente so enviados pelo popular programa ping. O Nmap envia um
pacote ICMP do tipo 8 (echo request) ao endereo IP alvo, esperando como
resposta um tipo 0 (Echo Reply) do anfitrio(host) disponvel.
Infelizmente para muitos exploradores de rede, muitos anfitries(hosts)
e
firewalls actualmente bloqueiam esses pacotes, ao invs de responder
como
requerido pela RFC 1122[1]. Por essa razo, rastreios(scans) puramente
ICMP so raramente confiveis o suficiente contra alvos desconhecidos na
Internet. Mas para administradores de sistemas monitorando uma rede
interna eles podem ser uma abordagem prtica e eficiente. Utilize a
opo
-PE para activar esse comportamento echo request.

Embora o echo request seja a pesquisa padro de um ping ICMP, o Nmap no


pra aqui. A padronizao do ICMP (RFC 792[2]) tambm especifica
timestamp request, information request, e pacotes address mask request
como cdigos 13, 15, e 17, respectivamente. Apesar do propsito
ostensivo
dessas pesquisas seja obter informaes tais como a mscara do endereo
e
hora corrente, eles podem ser facilmente utilizados para descoberta de
anfitries(hosts). Um sistema que responda est activo e disponvel. O
Nmap no implementa actualmente os pacotes de requisio de informaes,
pois eles no so amplamente suportados. A RFC 1122 insiste que um
anfitrio(host) NO DEVERIA implementar essas mensagens. Pesquisas de
marcao de hora (Timestamp) e mscara de endereo podem ser enviadas
com
as opes -PP e -PM , respectivamente. Uma resposta timestamp reply
(cdigo ICMP 14) ou uma resposta address mask reply (cdigo 18) revela
que o host est disponvel. Essas duas pesquisas podem ser valiosas
quando os administradores bloqueiam pacotes echo request especificamente
e esquecem que outras pesquisas ICMP podem ser usadas com o mesmo
propsito.

-PR (Ping usando ARP)


Um dos cenrios de uso mais comuns do Nmap o rastreio(scan) da LAN
ethernet. Na maioria das LANs, especialmente aquelas que utilizam a
faixa
de endereamento privado ao abrigo do RFC1918, a vasta maioria dos
endereos IP nuca so utilizados. Quando o Nmap tenta enviar um pacote
IP
em estado bruto(raw), tal como um ICMP echo request, o sistema operativo
deve determinar o endereo fsico de destino (ARP) correspondente ao
IP-alvo de forma que ele possa enderear adequadamente o frame ethernet.
Isso normalmente lento e problemtico, pois os sistemas operativos no
foram escritos com a expectativa de que precisariam fazer milhes de
requisies ARP contra anfitries(hosts) indisponveis em um curto
perodo de tempo.

O rastreio(scan) ARP encarrega o Nmap e seus algortmos optimizados de


fazer as requisies ARP. E se ele conseguir uma resposta de volta, o
Nmap no precisa de se preocupar com os pacotes ping baseados em IP, uma
vez que ele j sabe que o anfitrio(host) est activo. Isso torna o
rastreio(sca) ARP muito mais rpido e mais confivel que os
rastreios(scans) baseados em IP. Portanto isso feito por default
quando
se faz o rastreio(scan) de anfitries(hosts) ethernet que o Nmap detecta
estarem posicionados em uma rede ethernet local. Mesmo se tipos
diferentes de ping (tais como -PI ou -PS) sejam especificados, o Nmap
usa
o ARP em vez, para cada um dos alvos que estiverem na mesma LAN. Se no
quiser de forma alguma fazer um ratreio(scan) ARP, especifique --send-
ip.

-n (No faa resoluo DNS)


Diz ao Nmap para nunca fazer uma resoluo DNS nos endereos IP activos
que ele encontrar. Uma vez que o DNS normalmente lento, isso acelera
as
coisas.

-R (resoluo DNS para todos os alvos)


Diz ao Nmap para fazer sempre uma resoluo DNS reversa nos endereos
IP-alvos. Normalmente isto apenas executado quando uma mquina est
activa.

FUNDAMENTOS DO RASTREIO(SCAN) DE PORTAS


Embora o Nmap tenha crescido em funcionalidades ao longo dos anos, ele
comeou como um eficiente scanner de portas e essa permanece a sua funo
principal. O simples comando nmap alvo faz o rastreio(scan) a mais de 1660
portas TCP no anfitrio(host) alvo. Embora muitos scanner de portas tenham
tradicionalmente agrupado todas as portas nos estados aberto ou fechado, o
Nmap muito mais granular. Ele divide as portas em seis estados:
aberto(open), fechado(closed),filtrado(filtered), no-filtrado(unfiltered),
aberto(open)|filtrado(filtered), ou fechado(closed)|filtrado(filtered).

Esses estados no so propriedades intrnsecas da porta mas descrevem como o


Nmap as v. Por exemplo, um rastreio(scan) do Nmap da mesma rede como alvo
pode mostrar a porta 135/tcp como aberta, enquanto um rastreio(scan) ao
mesmo
tempo com as mesmas opes a partir da Internet poderia mostrar essa porta
como filtrada.

Os seis estados de porta reconhecidos pelo Nmap

aberto (open)
Uma aplicao est activamente aceitando conexes TCP ou pacotes UDP
nesta porta. Encontrar esse estado frequentemente o objectivo
principal
de um rastreio(scan) de portas. Pessoas conscientes sobre a segurana
sabem que cada porta aberta um convite para um ataque. Invasores e
profissionais de avaliao de segurana querem explorar as portas
abertas, enquanto os administradores tentam fechar ou proteger com
firewalls sem bloquear usurios legtimos. Portas abertas so tambm
interessantes para rastreios(scans) no-relacionados segurana pois
mostram os servios disponveis para utilizao na rede.

fechado (closed)
Uma porta fechada est acessvel (ela recebe e responde a pacotes de
sondagens do Nmap), mas no h nenhuma aplicao ouvindo nela. Elas
podem
ser teis para mostrar que um anfitrio(host) est activo em um
determinado endereo IP (descoberta de hosts, ou rastreio(scan) usando
ping), e como parte de uma deteo de SO. Pelo facto de portas fechadas
serem alcanveis, pode valer a pena o rastreio(scan) mais tarde no caso
de alguma delas abrir. Os administradores deveriam considerar o bloqueio
dessas portas com um firewall. Ento elas apareceriam no estado
filtrado,
discutido a seguir.

filtrado(filtered)
O Nmap no consegue determinar se a porta est aberta porque uma
filtragem de pacotes impede que as sondagens alcancem a porta. A
filtragem poderia ser de um dispositivo firewall dedicado, regras de
router, ou um software de firewall baseado em anfitrio(host). Essas
portas frustram os atacantes pois elas fornecem poucas informaes. s
vzes elas respondem com mensagens de erro ICMP tais como as do tipo 3
cdigo 13 (destino inalcanvel: comunicao proibida
administrativamente), mas os filtros que simplesmente descartam pacotes
sem responder so bem mais comuns. Isso fora o Nmap a tentar diversas
vezes s para o caso de a sondagem ter sido descartada por
congestionamento da rede ao invs de filtragem. Isso reduz a velocidade
do rastreio(scan) dramaticamente.

no-filtrado(unfiltered)
O estado no-filtrado significa que uma porta est acessvel, mas que o
Nmap incapaz de determinar se ela est aberta ou fechada. Apenas o
rastreio(scan) ACK, que usado para mapear conjuntos de regras de
firewall classifica portas com este estado. O rastreio(scan) de portas
no-filtradas com outros tipos de scan, tal como scan Window, scan Syn,
ou scan FIN, podem ajudar a responder se a porta est aberta.

open|filtered
O Nmap coloca portas neste estado quando incapaz de determinar se uma
porta est aberta ou filtrada. Isso acontece para tipos de
rastreio(scan)
onde as portas abertas no do nenhuma resposta. A falta de resposta
poderia tambm significar que um filtro de pacotes descartou a sondagem
ou qualquer resposta que ela tenha provocado. Portanto o no sabe com
certeza se a porta est aberta ou se est sendo filtrada. Os
rastreios(scans) UDP, IP Protocol, FIN, Null, e Xmas classificam portas
desta forma.

closed|filtered
Este estado usado quando o Nmap incapaz de determinar se uma porta
est fechada ou filtrada. apenas usado para o rastreio(scan) IPID Idle
scan.

TCNICAS DE RASTREIO(SCAN) DE PORTAS


Como um novato executando uma reparao automvel posso perder horas
tentando
usar minhas ferramentas rudimentares (martelo, fita adesiva, grifo, etc.)
nas
tarefas. Quando eu falho miseravelmente e reboco minha lata-velha para um
mecnico de verdade ele invariavelmente pesca aqui e ali em um enorme ba de
ferramentas at pegar a coisa perfeita que torna a tarefa numa brincadeira.
A
arte de rastrear(scaning) portas similar. Os peritos entendem as dezenas
de
tcnicas de rastreio(scan) e escolhem as que so apropriadas (ou uma
combinao) para uma dada tarefa. Usurios inexperientes e script kiddies,
por outro lado, tentam resolver todos os problemas com o scan SYN default.
Uma vez que o Nmap gratuito a nica barreira para a mestria em
rastreio(scaning) de portas o conhecimento. Isso certamente melhor que
no
mundo automvel onde pode ser necessrio uma grande habilidade para
determinar que precisa de um compressor de molas e ento tem que pagar
milhares de euros por um.

A maioria dos tipos de rastreio(scan) est disponvel apenas para usurios


privilegiados. Isso acontece porque eles enviam e recebem pacotes em estado
bruto(raw), o que requer acesso de root em sistemas Unix. Utilizar a conta
de
administrador no Windows recomendado, embora o Nmap s vzes funcione com
usurios sem privilgios nessa plataforma quando o WinPcap foi carregado no
SO. Requerer privilgio de root era uma sria limitao quando o Nmap foi
lanado em 1997, pois muitos usurios apenas tinham acesso a contas de shell
compartilhadas. Agora o mundo diferente. Computadores esto mais baratos,
muito mais pessoas tem acesso directo e permanente Internet e computadores
desktop Unix (incluindo Linux e MAC OS X) so comuns. Uma verso para o
Windows do Nmap se encontra actualmente disponvel permitindo que se use em
muito mais computadores desktop. Por todas essas razes os usurios tm
menos
necessidade de executar o Nmap a partir de contas de shell compartilhadas e
limitadas. Isso muito bom pois as opes privilegiadas tornam o Nmap muito
mais poderoso e flexvel.
Embora o Nmap tente produzir resultados precisos tenha em mente que todas as
dedues so baseadas em pacotes devolvidos pelas mquinas-alvo (ou
firewalls
na frente delas). Tais anfitries(hosts) podem no ser confiveis e enviar
respostas com o propsito de confundir ou enganar o Nmap. Muito mais comum
so os anfitries(hosts) no-de-acordo-com-a-rfc que no respondem como
deveriam s sondagens do Nmap. As sondagens FIN, Null e Xmas so
particularmente suscetveis a esse problema. Tais questes so especficas
de
determinados tipos de scan e portanto so discutidos nas entradas
individuais
de cada um dos tipos.

Esta seo documenta as dezenas de tcnicas de rastreio(scan) de portas


suportadas pelo Nmap. Apenas um mtodo pode ser utilizado de cada vezm
excepto que um scan UDP (-sU) pode ser combinado com qualquer um dos tipos
de
scan TCP. Como uma ajuda para a memria as opes dos tipos de
rastreio(scan)
de portas esto no formato -sC, onde C um caracter proeminente no nome do
rastreio(scan), normalmente o primeiro. A nica excepo a essa regra para
o rastreio(scan) denominado FTP bounce (-b). Por default o Nmap executa um
rastreio(scan) SYN, embora ele substitua por um rastreio(scan) Connect() se
o
usurio no tiver os privilgios adequados para enviar pacotes em estado
bruto(raw) (requer acesso de root no UNIX) ou se alvos IPv6 forem
especificados. Dos rastreios(scans) listados nesta seco os usurios no
privilegiados podem apenas executar os rastreios(scans) connect() e ftp
bounce.

-sS (rastreio(scan) TCP SYN)


O rastreio(scan) SYN a opo de rastreio(scan) default e a mais
popular
por boas razes. Pode ser executada rapidamente fazendo o rastreio(scan)
a milhares de portas por segundo em uma rede rpida, no bloqueada por
firewalls intrusivos. O rastreio(scan) SYN relativamente no-
obstrusivo
e camuflado, uma vez que ele nunca completa uma conexo TCP. Ele tambm
trabalha contra qualquer pilha TCP padronizada ao invs de depender de
factores especficos de plataformas como os rastreios(scans)
Fin/Null/Xmas, Maimon e Idle fazem. Ele tambm permite uma diferenciao
limpa e confivel entre os estados aberto (open), fechado (closed), e
filtrado (filtered).

Esta tcnica freqentemente chamada de rastreio(scan) de porta


entreaberta (half-open scanning), porque no abre uma conexo TCP
completamente. Voc envia um pacote SYN, como se fosse abrir uma conexo
real e ento espera uma resposta. Um SYN/ACK indica que a porta est
ouvindo (aberta) enquanto um RST (reset) indicativo de uma no-
ouvinte.
Se nenhuma resposta recebida aps diversas retransmisses a porta
marcada como filtrada. A porta tambm marcada como filtrada se um erro
ICMP de inalcanvel recebido (tipo 3, cdigo 1,2, 3, 9, 10, ou 13).

-sT (rastreio(scan) TCP connect())


O rastreio(scan) TCP Connect() o rastreio(scan) default do TCP quando
o
rastreio(scan) SYN no uma opo. Esse o caso quando o usurio no
tem privilgios para criar pacotes em estado bruto(raw) ou rastrear
redes
IPv6. Ao invs de criar pacotes em estado bruto(raw) como a maioria dos
outros tipos de rastreio(scan) fazem, o Nmap pede ao sistema operativo
para estabelecer uma conexo com a mquina e porta alvos enviando uma
chamada de sistema connect(). Essa a mesma chamada de alto nvel que
os
navegadores da web, clientes P2P, e a maioria das outras aplicaes para
rede utilizam para estabelecer uma conexo. parte do interface de
programao conhecida como API de Sockets de Berkeley. Ao invs de ler
as
respostas em pacotes em estado bruto(raw) directamente dos fios, o Nmap
utiliza esta API para obter informaes do estado de cada tentativa de
conexo.

Quando um rastreio(scan) SYN est disponvel normalmente a melhor


escolha. O Nmap tem menos controle sobre a chamada de alto nvel
connect() do que sobre os pacotes em estado bruto(raw) tornando-o menos
eficiente. A chamada de sistema completa as conexes nas portas-alvo
abertas ao invs de executar o reset de porta entreaberta que o
rastreio(scan) SYN faz. Isso no s leva mais tempo e requer mais
pacotes
para obter a mesma informao mas tambm torna mais provvel que as
mquinas-alvo registrem a conexo. Um sistema IDS decente ir detectar
qualquer um deles, mas a maioria das mquinas no tem esse tipo de
sistema de alarme. Muitos servios na maioria dos sistema Unix iro
acrescentar uma nota na syslog e s vzes uma mensagem de erro obscura,
quando o Nmap se conecta e ento fecha a conexo sem enviar nenhum dado.
Servios verdadeiramente patticos iro travar quando isso acontecer
embora isso seja incomum. Um administrador que v um punhado de
tentativas de conexo nos registros vindos de um nico sistema deveria
saber que foi rastreado(scanned) com connect.

-sU (rastreios(scans) UDP)


Embora os servios mais populares na Internet operem sobre o protocolo
TCP, os servios UDP[3] so amplamente difundidos. O DNS, o SNMP e o
DHCP
(registrados nas portas 53, 161/162, e 67/68) so trs dos mais comuns.
Pelo facto do rastreio(scan) UDP ser normalmente mais lento e mais
difcil que o TCP alguns auditores de segurana ignoram essas portas.
Isso um erro pois servios UDP passveis de explorao so bastante
comuns e invasores certamente no ignoram o protocolo inteiro.
Felizmente
o Nmap pode ajudar a inventariar as portas UDP.

O rastreio(scan) UDP activado com a opo -sU. Ele pode ser combinado
com um tipo de rastreio(scan) TCP como o rastreio(scan) SYN (-sS) para
averiguar ambos protocolos na mesma execuo.

O SYN UDP funciona enviando um cabealho UDP vazio (sem dados) para cada
porta pretendida. Se um erro ICMP de porta inalcanvel (tipo 3, cdigo
3) retornado a porta est fechada. Outros erros do tipo inalcanvel
(tipo 3, cdigos 1, 2, 9, 10, ou 13) marcam a porta como filtrada.
Ocasionalmente um servio ir responder com um pacote UDP provando que
est aberta. Se nenhuma resposa recebida aps as retransmisses a
porta
classificada como aberta|filtrada. Isso significa que a porta poderia
estar aberta ou talvez que filtros de pacotes estejam bloqueando a
comunicao. Rastreios(scans) de verses (-sV) podem ser utilizados para
ajudar a diferenciar as portas verdadeiramente abertas das que esto
filtradas.

Um grande desafio com o rastreio(scan) UDP faz-lo rapidamente. Portas


abertas e filtradas raramente enviam alguma resposta, deixando o Nmap
esgotar o tempo (time out) e ento efectuar retransmisses para o caso
de
a sondagem ou a resposta ter sido perdida. Portas fechadas so
normalmente um problema ainda maior. Elas costumam enviar de volta um
erro ICMP de porta inalcanvel. Mas, ao contrrio dos pacotes RST
enviados pelas portas TCP fechadas em resposta a um rastreio(scan) SYN
ou
Connect, muitos anfitries(hosts) limitam a taxa de mensagens ICMP de
porta inalcanvel por default. O Linux e o Solaris so particularmente
rigorosos quanto a isso. Por exemplo, o kernel 2.4.20 do Linux limita a
quantidade de mensagens de destino inalcanvel a at uma por segundo
(no
net/ipv4/icmp.c).

O Nmap detecta a limitao de taxa e diminui o ritmo de acordo para


evitar inundar a rede com pacotes inteis que a mquina-alvo ir
descartar. Infelizmente, um limite como o do Linux de um pacote por
segundo faz com que um rastreio(scan) de 65.536 portas leve mais de 18
horas. Idias para acelerar o rastreio(scan) UDP incluem rastrear(scan)
mais anfitries(hosts) em paralelo, fazer um rastreio(scan) rpido
apenas
das portas mais comuns primeiro, rastrear(scan) por detrs de um
firewall
e utilizar --host-timeout para saltar os anfitries(hosts) lentos.

-sN; -sF; -sX (rastreios(scans) TCP Null, FIN, e Xmas)


Estes trs tipos de rastreio(scan) (at mais so possveis com a opo
--scanflags descrita na prxima seco) exploram uma brecha subtil na
RFC
do TCP[4] para diferenciarem entre portas abertas e fechadas. A pgina
65
diz que se a porta [destino] estiver FECHADA .... um segmento de
entrada
que no contenha um RST ir causar o envio de um RST como resposta.
Ento a pgina seguinte discute os pacotes enviados a portas abertas sem
os bits SYN, RST ou ACK marcados, afirmando que: pouco provvel que
chegue aqui, mas se chegar, descarte o segmento e volte.

Quando se rastreia(scan) sistemas padronizados com o texto desta RFC,


qualquer pacote que no contenha os bits SYN, RST ou ACK ir resultar em
um RST como resposta se a porta estiver fechada e nenhuma resposta se a
porta estiver aberta. Contanto que nenhum desses trs bits esteja
includos qualquer combinao dos outros trs (FIN, PSH e URG) vlida.
O Nmap explora isso com trs tipos de rastreio(scan):

rastreio(scan) Null (-sN)


No marca nenhum bit (o cabealho de flag do tcp 0)

rastreio(scan) FIN (-sF)


Marca apenas o bit FIN do TCP.

rastreio(scan) Xmas(-sX)
Marca as flags FIN, PSH e URG, iluminando o pacote como uma rvore
de
Natal.

Estes trs tipos de rastreio(scan) so exatamente os mesmos em termos de


comportamento exceto pelas flags TCP marcadas no pacotes de sondagem. Se
um pacote RST for recebido a porta considerada fechada e nenhuma
resposta significa que est aberta|filtrada. A porta marcada como
filtrada se um erro ICMP do tipo inalcanvel (tipo 3, cdigo 1, 2, 3,
9,
10, ou 13) for recebido.

A vantagem principal destes tipos de rastreio(scan) que eles podem


bisbilhotar atravs de alguns firewalls no-orientados conexo e de
routers que filtram pacotes. Outra vantagem que esses tipos de
rastreio(scan) so um pouco mais camuflados do que o rastreio(scan) SYN.
Mas no conte com isso -- a maioria dos produtos IDS modernos podem ser
configurados para detect-los. O maior problema que nem todos os
sistemas seguem a RFC 793 ao p-da-letra. Diversos sistemas enviam
respostas RST para as sondagens independentemente do facto da porta
estar
aberta ou no. Isso faz com que todas as portas sejam classificadas como
fechadas. A maioria dos sistemas operativos que fazem isso so Microsoft
Windows, muitos dispositivos Cisco, BSDI e o IBM OS/400. Esse
rastreio(scan) funciona realmente contra a maioria dos sistemas baseados
em Unix. Outro ponto negativo desses rastreios(scans) que eles no
conseguem diferenciar portas abertas de alguns tipos de portas filtradas
deixando com a resposta abera|filtrada.

-sA (rastreio(scan) TCP ACK)


Este rastreio(scan) diferente dos outros discutidos at agora pelo
facto de que ele nunca determina se uma porta est aberta (ou mesmo
aberta|filtrada). Ele utilizado para mapear conjuntos de regras do
firewall determinando se eles so orientados conexo ou no e quais
portas esto filtradas.

O pacote de sondagem do rastreio(scan) ACK tem apenas a flag ACK marcada


(a menos que use --scanflags). Quando se rastreia(scan) sistemas
no-filtrados as portas abertas e fechadas iro devolver um pacote RST.
O
Nmap ento coloca nelas o rtulo no-filtradas (unfiltered) significando
que elas esto alcanveis pelo pacote ACK, mas se elas esto abertas ou
fechadas indeterminado. Portas que no respondem ou que devolvem
certas
mensagens de erro ICMP (tipo 3, cdigo 1, 2, 3, 9, 10, ou 13), so
rotuladas como filtradas.

-sW (rastreio(scan) da Janela TCP)


Rastreio(scan) da Janela exactamente o mesmo que o rastreio(scan) ACK
excepto que ele explora um detalhe da implementao de certos sistemas
de
forma a diferenciar as portas abertas das fechadas ao invs de sempre
mostrar no-filtrada quando um RST devolvido. Ele faz isso examinando
o
campo Janela TCP (TCP Window) do pacote RST devolvido. Em alguns
sistemas
as portas abertas usam um valor positivo de tamanho de janela (mesmo
para
pacotes RST) enquanto que as portas fechadas tm um valor igual a zero.
Ento, ao invs de mostrar sempre uma porta como no-filtrada quando se
recebe um RST de volta, o rastreio(scan) da Janela mostra a porta como
aberta ou fechada se o valor da Janela TCP no reset for positivo ou
zero,
respectivamente.

Este rastreio(scan) se baseia em um detalhe de implementao de uma


minoria de sistemas na Internet, portanto no se pode confiar sempre
nele. Sistemas que no suportam isso iro normalmente devolver todas as
portas como fechadas. claro que possvel que a mquina realmente no
tenha nenhuma porta aberta. Se a maioria das portas rastreadas(scaned)
estiver fechada mas uns poucos nmeros de portas comuns (tais como 22,
25, 53) esto filtrados, o sistema muito provavelmente est vulnervel.
De vez em quando os sistemas iro mostrar exatamente o comportamento
oposto. Se o seu rastreio(scan) mostrar 1000 portas abertas e 3 fechadas
ou filtradas, ento essas trs podem muito bem ser as verdadeiramente
abertas.

-sM (rastreio(scan) TCP Maimon)


O rastreio(scan) Maimon recebeu o nome de seu descobridor, Uriel Maimon.
Ele descreveu a tcnica na Phrack Magazine, edio 49 (Novembro de
1996).
O Nmap, que incluiu essa tcnica, foi lanado duas edies mais tarde. A
tcnica exatamente a mesma que os rastreios(scans) Null, FIN e Xmas,
exceto que a sondagem FIN/ACK. De acordo com a RFC 793 (TCP) um pacote
RST deveria ser gerado em resposta a tal sondagem se a porta estiver
aberta ou fechada. Entretanto, Uriel notou que muitos sistemas derivados
do BSD simplesmente descartavam o pacote se a porta estivesse aberta.

--scanflags (rastreio(scan) TCP Customizado)


Usurios verdadeiramente avanados do Nmap no precisam se limitar aos
tipos de rastreios(scans) enlatados oferecidos. A opo --scanflags
permite que desenhe seu prprio rastreio(scan) permitindo a
especificao
de flags TCP arbitrrias. Deixe sua imaginao correr solta enquanto
dribla sistemas de deteco de intruso cujos fabricantes apenas olharam
rapidamente a pgina man do Nmap adicionando regras especficas!

O argumento do --scanflags pode ser um valor numrico da marca (flag)


como o 9 (PSH e FIN), mas usar nomes simblicos mais fcil. Apenas
esprema alguma combinao de URG, ACK, PSH, RST, SYN, e FIN. Por
exemplo,
--scanflags URGACKPSHRSTSYNFIN marca tudo, embora no seja muito til
para rastreio(scan). A ordem em que essas marcas so especificadas
irrelevante.

Alm de especificar as marcas desejadas pode especificar um tipo de


rastreio(scan) TCP (como o -sA ou -sF). Esse tipo-base diz ao Nmap como
interpretar as respostas. Por exemplo, um rastreio(scan) SYN considera
nenhuma-resposta como uma indicao de porta filtrada enquanto que um
rastreio(scan) FIN trata a mesma como aberta|filtrada. O Nmap ir se
comportar da mesma forma que o tipo de rastreio(scan)-base escolhido,
excepto que ele ir usar as marcas TCP que especificar. Se no escolher
um tipo-base, o rastreio(scan) SYN utilizado.

-sI <hostzumbi[:portadesondagem]> (rastreio(scan) Idle)


Este mtodo avanado de rastreio(scan) permite um rastreio(scan) TCP
realmente cego das portas do alvo (significando que nenhum pacote
enviado para o alvo do seu endereo IP real). Ao invs disso um ataque
canal-lateral (side-channel) explora a previsvel gerao de sequncia
de
ID, consequncia da fragmentao do IP no anfitrio(host) zumbi, para
juntar informaes sobre as portas abertas no alvo. Sistemas IDS iro
mostrar o rastreio(scan) como se viessem da mquina zumbi que
especificou
(que deve estar activa e obedecer a alguns critrios). Este tipo
fascinante de rastreio(scan) complexo demais para se descrever
completamente aqui neste guia de referncia, ento eu escrevi e postei
um
trabalho informal com detalhes completos em
https://nmap.org/book/idlescan.html.

Alm de ser extraordinariamente camuflado (devido sua natureza cega),


este tipo de rastreio(scan) permite mapear relaes de confiana
baseadas
em IP entre mquinas. A listagem de portas mostra as portas abertas da
perspectiva do anfitrio(host) zumbi. Portanto pode tentar
rastrear(scan) um alvo usando vrios zumbis que acha que podem ser
confiveis (via regras de router/filtro de pacotes).

Voc pode adicionar os dois-pontos seguindo do nmero da porta ao nome


do
anfitrio(host) zumbi, se quiser sondar uma porta em particular no zumbi
verificando as mudanas de IPID. Do contrrio o Nmap ir utilizar a
porta
que ele normalmente usa por default para pings tcp (80).

-sO (Rastreios(Scans) do protocolo IP)


Scans do Protocolo IP permitem que determine quais protocolos IP (TCP,
ICMP, IGMP, etc.) so suportados pelas mquina-alvo. Isso no
tecnicamente um rastreio(scan) de portas, pois ele varia os nmeros do
protocolo IP ao invs dos nmeros de portas TCP e UDP. Ainda assim, ele
utiliza a opo -p para seleccionar os nmeros de protocolos a
rastrear(scan), mostra os resultados dentro do formato normal da tabela
de portas e at usa o mesmo mecanismo de rastreio(scan) dos mtodos de
descoberta de portas. Portanto ele parecido o suficiente com um
rastreio(scan) de portas e por isso pertence a este lugar.

Alm de ser til de certa forma, o rastreio(scan) de protocolo mostra o


poder do software de cdigo aberto. Embora a idia fundamental seja
bastante simples, eu no tinha pensado em adicion-la e nem havia
recebido nenhuma solicitao para essa funcionalidade. Ento, no vero
de
2000, Gerhard Rieger concebeu a idia, escreveu uma excelente alterao
(patch) implementando-a e enviou-a para a lista de discusso
nmap-hackers. Eu incorporei a alterao na rvore do Nmap e lancei uma
nova verso no dia seguinte. Poucos produtos de software comercial tem
usurios entusiasmados o suficiente para desenhar e contribuir com
melhorias!

O rastreio(scan) de protocolo funciona de uma forma similar a um


rastreio(scan) UDP. Ao invs de ficar repetindo alternando o campo de
nmero de porta de um pacote UDP, ele envia cabealhos de pacote IP e
faz
a repetio alternando o campo de protocolo IP de 8 bits. Os cabealhos
normalmente esto vazios, sem conter dados, nem mesmo o cabealho
apropriado do suposto protocolo. As trs excepes so o TCP, o UDP e o
ICMP. Um cabealho de protocolo apropriado para estes includo, uma
vez
que alguns sistemas no os enviaro caso no tenham e porque o Nmap tem
as funes para cri-los ao invs de observar as mensagens de erro ICMP
de porta inalcanvel, o rastreio(scan) de protocolo fica de olho nas
mensagens ICMP de protocolo inalcanvel. Se o Nmap recebe qualquer
resposta de qualquer protocolo do anfitrio(host)-alvo, o Nmap marca
esse
protocolo como aberto. Um erro ICMP de protocolo no-alcanvel (tipo 3,
cdigo 2) faz com que o protocolo seja marcado como fechado. Outros
erros
ICMP do tipo inalcanvel (tipo 3, cdigo 1, 3, 9, 10, ou 13) fazem com
que o protocolo seja marcado como filtrado (embora eles provem, ao mesmo
tempo, que o ICMP est aberto). Se nenhuma resposta for recebida aps as
retransmisses, o protocolo marcado como aberto|filtrado.

-b <anfitrio(host) para relay de ftp> (Rastreio(Scan) de FTP bounce)


Uma caracterstica interessante do protocolo FTP (RFC 959[5]) o
suporte
a conexes denominadas proxy ftp. Isso permite que um usurio conecte-se
a um servidor FTP e ento solicite que arquivos sejam enviados a um
terceiro servidor. Tal caracterstica sujeita a abusos em diversos
nveis, por isso a maioria dos servidores parou de suport-la. Um dos
abusos permitidos fazer com que o servidor FTP efectue o
rastreio(scan)
das portas de outros anfitries(hosts). Simplesmente solicite que o
servidor FTP envie um arquivo para cada porta interessante do
anfitrio(host)-alvo. A mensagem de erro ir descrever se a porta est
aberta ou no. Esta uma boa forma de passar por cima de firewalls
porque os servidores FTP de empresas normalmente so posicionados onde
tem mais acesso a outros anfitries(hosts) internos que os velhos
servidores da Internet teriam. O Nmap suporta o rastreio(scan) de ftp
bounce com a opo -b. Ela recebe um argumento no formato
nomedousurio:senha@servidor:porta. Servidor o nome ou endereo IP de
um servidor FTP vulnervel. Assim como em uma URL normal, pode omitir
nomedousurio:senha, neste caso as credenciais de login annimo
(usurio:
anonymous senha:-wwwuser@) sero usados. O nmero da porta (e os
dois-pontos) podem ser omitidos, e ento a porta FTP default (21) no
servidor ser utilizada.

Esta vulnerabilidade espalhou-se em 1997 quando o Nmap foi lanado mas


foi corrigida amplamente. Servidores vulnerveis ainda esto por a,
ento pode valer a pena tentar se tudo o mais falhar. Se passar por cima
de um firewall o seu objetivo, faa o rastreio(scan) da rede-alvo
procurando por uma porta 21 aberta (ou mesmo por qualquer servio FTP se
rastrear(scan) todas as portas com a deteco de verso), ento tente um
rastreio(scan) bounce usando-as. O Nmap ir dizer se o anfitrio(host)
vulnervel ou no. Se estiver apenas tentando encobrir suas pegadas, no
precisa (e, na verdade, no deveria) limitar-se a anfitries(hosts) na
rede-alvo. Antes de sair rastreando endereos aleatrios na Internet
procurando por servidores FTP, considere que os administradores de
sistemas podem no apreciar o seu abuso nos servidores deles.

ESPECIFICAO DE PORTAS E ORDEM DE SCAN


Somado a todos os mtodos de rastreio(scan) discutidos anteriormente, o Nmap
oferece opes para especificar quais portas so rastreadas(scaned) e se a
ordem de rastreio(scan) aleatria ou sequencial. Por default, o Nmap
rastreia(scan) todas as portas at, e incluindo, 1024, bem como portas com
numerao alta listadas no arquivo nmap-services para o(s) protocolo(s)
rastreados(scaned).
-p <faixa de portas> (Rastreia apenas as portas especificadas)
Esta opo especifica quais as portas que deseja rastrear(scan) e
prevalece sobre o default. Nmeros de portas individuais so OK, bem
como
as faixas separadas por um hfen (p.ex.: 1-1023). Os valores iniciais
e/ou finais da faixa podem ser omitidos, o que faz com que o Nmap use 1
e
65535 respectivamente. Portanto pode especificar -p- para rastrear(scan)
as portas de 1 at 65535. Escanear a porta zero permitido se
especificar explicitamente. Para o rastreio(scan) do protocolo IP (-sO),
esta opo especifica os nmeros dos protocolos que deseja
rastrear(scan)
(0-255).

Quando rastrear(scan) ambas as portas TCP e UDP, pode especificar um


protocolo em particular precedendo os nmeros de portas com T: ou U:. O
qualificador dura at que especifique um novo qualificador. Por exemplo,
o argumento -p U:53,111,137,T:21-25,80,139,8080 faria o rastreio(scan)
das portas UDP 53, 111 e 137, bem como as portas TCP listadas. Note que
para rastrear(scan) ambas as portas UDP & TCP, tem que especificar -sU e
pelo menos um tipo de rastreio(scan) TCP (tal como -sS, -sF ou -sT). Se
nenhum qualificador de protocolo for informado, os nmeros de portas
sero acrescentados todas as listas de protocolos.

-F (rastreio(scan) Rpido (portas limitadas))


Especifica que deseja apenas rastrear(scan) as portas listadas no
arquivo
nmap-services que vem com o nmap (ou o arquivo de protocolos para o
-sO).
Isto muito mais rpido do que rastrear(scan) todas as 65535 portas de
um anfitrio(host). Pelo facto desta lista conter tantas portas TCP
(mais
de 1200), a diferena de velocidade de um rastreio(scan) TCP default
(cerca de 1650 portas) no dramtica. A diferena pode ser enorme se
especificar seu prprio minsculo arquivo nmap-services usando a opo
--datadir.

-r (No usa as portas de forma aleatria)


Por default o Nmap usa a ordem das portas a serem rastreadas de forma
aleatria (excepto aquelas portas normalmente acessveis que so movidas
prximas ao incio por motivos de eficincia). Essa tcnica de busca
aleatria normalmente desejvel mas pode especificar -r para um
rastreio(scan) de portas sequencial.

DETECO DE SERVIO E VERSO


Aponte o Nmap para uma mquina remota e ele poder lhe dizer que as portas
25/tcp, 80/tcp e 53/udp esto abertas. Utilizar o banco de dados
nmap-services com cerca de 2.200 servios bastante conhecidos do Nmap iria
relatar que aquelas portas provavelmente correspondem a um servidor de
correio eletrnico (SMTP), a um servidor de pginas web (HTTP) e a um
servidor de nomes (DNS) respectivamente. Essa pesquisa normalmente precisa
-- a grande maioria de daemons escutando na porta TCP 25 de facto de
servidores de correio eletrnico. Entretanto no deveria apostar a sua
segurana nesta informao! As pessoas podem e executam servios em portas
estranhas.

Mesmo que o Nmap esteja certo e o servidor hipottico acima esteja


executando
os servios SMTP, HTTP e DNS, isso no informao o bastante. Quando fizer
uma avaliao de vulnerabilidades (ou mesmo um simples inventrio da rede)
de
sua empresa ou clientes, realmente deseja saber qual o programa-servidor de
correio eletrnico ou de nomes e as verses que esto rodando. Ter um nmero
de verso exacto ajuda substancialmente na determinao de quais exploraes
(exploits) o servidor est vulnervel. A deteco de verso ajuda a obter
esta informao.

Depois que as portas TCP e/ou UDP forem descobertas usando qualquer um dos
outros mtodos de rastreio(scan), a deteco de verso interroga essas
portas
para determinar mais informaes sobre o que realmente sendo executado
nessas
portas. O banco de dados nmap-service-probes do Nmap contm sondagens para
pesquisar diversos servios e expresses de acerto (match expressions) para
reconhecer e destrinchar as respostas. O Nmap tenta determinar os protocolos
de servios (p.ex.: ftp, ssh, telnet, http), o nome da aplicao (p.ex.: ISC
Bind, Apache httpd, Solaris telnetd), o nmero da verso, o nome do
anfitrio(host), tipo de dispositivo (p.ex.: impressora, router), a famlia
do SO (p.ex.: Windows, Linux) e s vezes detalhes diversos do tipo, se um
servidor X est aberto para conexes, a verso do protocolo SSH ou o nome do
usurio do KaZaA. claro que a maioria dos servios no fornece todas essas
informaes. Se o Nmap foi compilado com o suporte ao OpenSSL ele ir se
conectar aos servidores SSL para deduzir qual o servio que est escutando
por trs da camada criptografada. Quando os servios RPC so descobertos, o
"amolador" de RPC (RPC grinder) do Nmap (-sR) automaticamente utilizado
para determinar o nome do programa RPC e o nmero da verso. Algumas portas
UDP so deixadas no estado aberta|filtrada depois que rastreio(scan) de
porta
UDP no consegue determinar se a porta est aberta ou filtrada. A deteco
de
verso ir tentar provocar uma resposta dessas portas (do mesmo jeito que
faz
com as portas abertas) e alterar o estado para aberta se conseguir. Portas
TCP do tipo aberta|filtrada so tratadas da mesma forma. Note que a opo -A
do Nmap habilita a deteco de verso entre outras coisas. Um trabalho
documentando o funcionamento, uso e customizao da deteco de verso est
disponvel em http://www.insecure.org/nmap/versionscan.html.

Quando o Nmap recebe uma resposta de um servio mas no consegue encontr-la


em seu banco de dados, ele mostra uma identificao (fingerprint) especial e
uma URL para que envie informaes se souber com certeza o que est rodando
nessa porta. Por favor considere dispor de alguns minutos para mandar essa
informao de forma que sua descoberta possa beneficiar a todos. Graas a
esses envios o Nmap tem cerca de 3.000 padres de acerto para mais de 350
protocolos, tais como o smtp, ftp, http, etc.

A deteco de verso habilitada e controlada com as seguintes opes:

-sV (deteco de verso)


Habilita a deteco de verso, conforme discutido acima.
Alternativamente
pode usar a opo -A para habilitar tanto a deteco de SO como a
deteco de verso.

--allports (No exclui nenhuma porta da deteco de verso)


Por default a deteco de verso do Nmap salta a porta TCP 9100 por
causa
de algumas impressoras que imprimem qualquer coisa que seja enviada para
essa porta, levando a dezenas de pginas com requisies HTTP,
requisies de sesses SSL binrias, etc. Esse comportamento pode ser
alterado modificando-se ou removendo a directiva Exclude no
nmap-service-probes ou pode especificar --allports para rastrear(scan)
todas as portas independente de qualquer directiva Exclude.

--version-intensity <intensidade> (Estabelece a intensidade do


rastreio(scan)
de verso)
Quando est executando um rastreio(scan) de verso (-sV) o nmap envia
uma
srie de sondagens, cada qual com um valor atribudo de raridade, entre
1
e 9. As sondagens com nmeros baixos so efectivas contra uma ampla
variedade de servios comuns, enquanto as com nmeros altos so
raramente
teis. O nvel de intensidade especifica quais sondagens devem ser
utilizadas. Quando mais alto o nmero, maiores as chances de o servio
ser corretamente identificado. Entretanto rastreios(scans) de alta
intensidade levam mais tempo. A intensidade deve estar entre 0 e 9. O
default 7. Quando uma sondagem registrada na porta-alvo atravs da
directiva nmap-service-probes ports, essa sondagem tentada
independentemente do nvel de intensidade. Isso assegura que as
sondagens
DNS sempre sero tentadas contra qualquer porta 53 aberta e a sondagem
SSL ser realizada contra a 443, etc.

--version-light (Habilita o modo leve (light))


Esse um apelido conveniente para --version-intensity 2. Esse modo leve
torna o rastreio(scan) de verso muito mais rpido, mas ligeiramente
menos provvel que identifique os servios.

--version-all (Tenta simplesmente todas as sondagens)


Um apelido para --version-intensity 9, assegurando que todas as
sondagens
sejam tentadas contra cada porta.

--version-trace (Monitora as atividades do rastreio(scan) de verso)


Isto faz com que o Nmap mostre informaes de depurao extensivas sobre
o que o rastreio(scan) de verso est fazendo. um sub-conjunto do que
obteria com --packet-trace.

-sR (Scan RPC)


Este mtodo trabalha em conjunto com os vrios mtodos de rastreio(scan)
de portas do Nmap. Ele pega todas as portas TCP/UDP descobertas no
estado
aberta e inunda-as com comandos NULL do programa SunRPC em uma tentativa
de determinar se elas so portas RPC e se forem, quais programas e
nmeros de verso elas mostram. Dessa forma pode obter efectivamente a
mesma informao que o rpcinfo -p mesmo se o portmapper do alvo estiver
atrs de um firewall (ou protegido por TCP wrappers). Chamarizes no
funcionam ainda com o rastreio(scan) RPC. Isso habilitado
automaticamente como parte do rastreio(scan) de verso (-sV) se o
solicitar. Como a deteco de verso inclui isso e muito mais
abrangente, o -sR raramente necessrio.

DETECO DE SO
Uma das caractersticas mais conhecidas do Nmap a deteco remota de SO
utilizando a identificao da pilha (stack fingerprinting) do TCP/IP. O Nmap
envia uma srie de pacotes TCP e UDP ao anfitrio(host) remoto e examina
praticamente todos os bits das respostas. Aps executar dezenas de testes
como a amostragem TCP ISN, suporte e ordenamento das opes do TCP,
amostragem IPID e a observao do tamanho inicial da janela, o Nmap compara
os resultados com o banco de dados nmap-os-fingerprints com mais de 1500
identificaes de SO conhecidas e mostra os detalhes do SO se houver uma
correspondncia. Cada identificao inclui uma descrio textual livre do SO
e uma classificao que fornece o nome do fabricante (p.ex.: Sun), SO base
(p.ex.: Solaris), gerao do SO (p.ex.: 10) e tipo de dispositivo (genrico,
router, switch, consola de jogo, etc.).

Se o Nmap no conseguir identificar o SO da mquina e as condies forem


favorveis (p.ex.: pelo menos uma porta aberta e uma porta fechada foram
encontradas), o Nmap ir fornecer uma URL onde poder enviar a identificao
se souber (com certeza) o SO em execuo na mquina. Fazendo isso, contribui
para o pool de sistemas operacionais conhecidos pelo Nmap e, com isso, ele
ser mais preciso para todos.

A deteco de SO habilita diversos outros testes que usam as informaes


coletadas durante o processo. Um deles a medio de uptime, que utiliza a
opo timestamp do TCP (RFC 1323) para supor quando uma mquina foi
reiniciada pela ltima vez. Isso apenas mostrado para as mquinas que
fornecem essa informao. Outro a Classificao de Previsibilidade da
Seqencia do TCP. Ele mede aproximadamente o grau de dificuldade de se
estabelecer uma conexo TCP forjada contra um anfitrio(host) remoto. til
para se explorar relaes de confiana baseadas no IP de origem (rlogin,
filtros de firewall, etc.) ou para ocultar a origem de um ataque. Esse tipo
de enganao (spoofing) raramente executada hoje em dia, mas muitas
mquinas ainda esto vulnerveis a ele. O nmero de dificuldade real
baseado em amostragens estatsticas e pode variar. Normalmente melhor usar
a classificao em ingls, do tipo worthy challenge (um desafio que vale a
pena) ou trivial joke (uma piada, muito fcil). Isso s mostrado na
sada
normal do modo verbose (-v). Quando o modo verbose habilitado juntamente
com o -O, a Gerao de Seqencia IPID tambm mostrada. A maioria das
mquinas classificada como incremental , o que significa que elas
incrementam o campo ID no cabealho IP para cada pacote que envia. Isso
torna-as vulnervel a diversos ataques avanados de levantamento e
forjamento
de informaes.

Um trabalho documentando o funcionamento, utilizao e customizao da


dateco de verso est disponvel em mais de uma dezena de lnguas em
http://www.insecure.org/nmap/osdetect/.

A deteo de SO habilitada e controlada com as seguintes opes:

-O (Habilita a deteco de SO)


Habilita a deteo de SO como discutido acima. Alternativamente pode
usar
-A para habilitar tanto a deteco de SO quanto a deteco de verso.

--osscan-limit (Limitar a deteco de SO a alvos promissores)


A deteco de SO bem mais eficiente se ao menos uma porta TCP aberta e
uma fechada for encontrada. Escolha esta opo e o Nmap no ir nem
tentar a deteco de SO contra anfitries(hosts) que no correspondam a
este critrio. Isso pode economizar um tempo considervel,
particularmente em rastreios(scans) -P0 contra muitos anfitries(hosts).
Isso s importa quando a deteco de SO solicitada atravs de -O ou
-A.

--osscan-guess; --fuzzy (Resultados de tentativas de deteco de SO)


Quano o Nmap no capaz de detectar uma correspondncia exacta de SO,
s
vzes ele oferece possibilidades aproximada. A correspondncia tem que
ser muito prxima para o Nmap fazer isso por default. Qualquer uma
dessas
opes (equivalentes) tornam as tentativas do Nmap mais agressivas.

TEMPORIZAO (TIMING) E DESEMPENHO


Uma das minhas mais altas prioridades no desenvolvimento do Nmap tem sido o
desempenho. Um rastreio(scan) default (nmap hostname) de um anfitrio(host)
em minha rede local leva apenas um quinto de segundo. Isso mal d tempo de
piscar o olho, mas esse tempo conforme est rastreando dezenas ou centenas
de
milhares de anfitries(hosts). Alm disso, certos tipos de rastreio(scan)
como o rastreio(scan) UDP ou a deteco de verso, aumentam o tempo de
rastreio(scan) substancialmente. Da mesma forma algumas configuraes de
firewall fazem o mesmo, particularmente quando limitam a taxa de resposta.
Embora o Nmap se utilize de paralelismo e muitos outros algoritmos avanados
para acelerar esses rastreios(scans) o usurio tem o controle final sobre
como o Nmap executa. Usurios avanados elaboram comandos do Nmap
cuidadosamente para obter apenas as informaes que importam, sempre se
preocupando com as restries de tempo.

Tcnicas para melhorar os tempos de rastreio(scan) incluem omitir testes


no-crticos e atualizar at a verso mais recente do Nmap (melhorias de
desempenho so feitas freqentemente). Otimizar os parmetros de tempo
tambm
podem fazer uma grande diferena. Essas opes esto listadas abaixo.

--min-hostgroup <milissegundos>; --max-hostgroup <milissegundos> (Ajuste dos


tamanhos dos grupos de rastreio(scan) paralelos)
O Nmap tem a habilidade de fazer um rastreio(scan) de portas ou de
verses em mltiplos anfitries(hosts) em paralelo. O Nmap faz isso
dividindo a faixa de endereos IP-alvo em grupos e ento rastreando um
grupo de cada vez. No geral grupos maiores so mais eficientes. A
contrapartida que os resultados dos anfitries(hosts) no pode ser
fornecido at que o grupo inteiro tenha terminado. Portanto se o Nmap
comeou com um tamanho de grupo igual a 50, o usurio no receberia
nenhum relatrio (exceto pelas atualizaes mostradas no modo verbose)
at que os primeiros 50 anfitries(hosts) tivessem completado.

Por default, o Nmap assume um compromisso para resolver esse conflito.


Ele comea com um tamanho de grupo pequeno, igual a cinco, para que os
primeiros resultados venham rpido e ento aumenta o tamanho at que
chegue em 1024. O nmero default exacto depende das opes fornecidas.
Por questes de eficincia o Nmap usa tamanhos de grupo maiores para o
UDP ou para rastreios(scans) TCP com poucas portas.

Quando o tamanho de grupo mximo especificado com --max-hostgroup, o


Nmap nunca ir exceder esse tamanho. Especifique um tamanho mnimo com
--min-hostgroup e o Nmap ir tentar manter o tamanho dos grupos acima
desse nvel. O Nmap pode ter que usar tamanhos menores do que
especificou, se no houverem anfitries(hosts)-alvo suficientes restando
em uma dada interface para completar o mnimo especificado. Ambos podem
ser configurados para manter o tamanho do grupo dentro de uma faixa
especfica, embora isso raramente seja desejado.
O uso primrio destas opes especificar um tamanho de grupo mnimo
grande de forma que o rastreio(scan) completo seja executado mais
rapidamente. Uma escolha comum 256 para rastrear(scan) uma rede em
blocos de tamanho Classe C. Para um rastreio(scan) com muitas portas
exceder esse nmero no ir ajudar muito. Para rastreios(scans) com
poucos nmeros de portas um tamanho de grupo de anfitries(hosts) de
2048
ou mais pode ser til.

--min-parallelism <milissegundos>; --max-parallelism <milissegundos> (Ajuste


da paralelizao das sondagens)
Estas opes controlam o nmero total de sondagens que podem estar
pendentes para um grupo de anfitries(hosts). Elas so usadas para o
rastreio(scan) de portas e para a descoberta de anfitries(hosts). Por
default o Nmap calcula um paralelismo ideal e constantemente actualizado
baseado no desempenho da rede. Se os pacotes estiverem sendo descartados
o Nmap reduz o ritmo e liberta menos sondagens pendentes. O nmero de
sondagens ideal aumenta vagarosamente conforme a rede se mostre mais
confivel. Estas opes estabelecem limites mnimo e mximo nessa
varivel. Por default o paralelismo ideal pode cair at 1 se a rede se
mostrar no-confivel e subir at diversas centenas em condies
perfeitas.

O uso mais comum estabelecer --min-parallelism em um nmero maior que


um para melhorar a velocidade dos rastreios(scans) de anfitries(hosts)
ou redes com desempenho ruim. Esta uma opo arriscada para se ficar
brincando pois configurar um valor alto demais pode afetar a preciso.
Configurar isso tambm reduz a habilidade do Nmap de controlar o
paralelismo dinamicamente baseado nas condies da rede. Um valor igual
a
dez pode ser razovel, embora eu s ajuste esse valor como ltima
alternativa.

A opo --max-parallelism s vzes configurada para evitar que o Nmap


envie aos anfitries(hosts) mais do que uma sondagem de cada vez. Isso
pode ser til em conjunto com --scan-delay (discutido mais tarde),
embora
esta ltima normalmente sirva bem ao propsito por si s.

--min_rtt_timeout <milissegundos>, --max-rtt-timeout <milissegundos>,


--initial-rtt-timeout <milissegundos> (Ajuste de tempo de expirao
(timeouts) das sondagens)
O Nmap mantm um valor de tempo de expirao (timeout) de execuo para
determinar quanto tempo ele deve esperar por uma resposta de uma
sondagem
antes de desistir ou retransmitir essa sondagem. Isso calculado com
base nos tempos de resposta de sondagens anteriores. Se a lentido da
rede se mostra significativa e varivel esse tempo de expirao pode
subir para vrios segundos. Ele tambm comea com um nvel conservador
(alto) e pode ficar desse jeito por um tempo enquanto o Nmap
rastreia(scan) anfitries(hosts) no-responsivos.

Estas opes recebem um valor em milissegundos. Especificar um


--max-rtt-timeout e --initial-rtt-timeout mais baixos que o default pode
reduzir o tempo de rastreio(scan) significativamente. Isso
particularmente verdade para rastreios(scans) sem ping (-P0) e para
aqueles contra redes bastante filtradas. Mas no se torne muito
agressivo. O rastreio(scan) pode acabar levando mais tempo se
especificar
um valor to baixo que muitas sondagens iro expirar o tempo e serem
retransmitidas enquanto a resposta ainda est em trnsito.

Se todos os anfitries(hosts) esto em uma rede local, 100 milissegundos


um valor de --max-rtt-timeout razoavelmente agressivo. Se houver
roteamento envolvido faa um ping de um anfitrio(host) da rede primeiro
com o utilitrio ICMP ping ou com um formatador de pacotes customizados
como o hping2, que pode passar por um firewall mais facilmente. Descubra
o tempo mximo de round trip em dez pacotes mais ou menos. Coloque o
dobro desse valor em --initial-rtt-timeout e o triplo ou qudruplo para
o
--max-rtt-timeout. Normalmente eu no configuro o rtt mximo abaixo de
100ms, no importa quais os tempos de ping. Eu tambm no excedo o valor
1000ms.

--min_rtt_timeout uma opo raramente utilizada que poderia ser til


quando uma rede to no-confivel que mesmo o default do Nmap muito
agressivo. Considerando que o Nmap apenas reduz o tempo de expirao
para
um valor mnimo quando a rede parece ser confivel, esta necessidade no
comum e deveria ser reportada lista de discusso nmap-dev como um
bug.

--host-timeout <milissegundos> (Desiste em anfitries(hosts)-alvo lentos)


Alguns anfitries(hosts) simplesmente levam tempo demais para serem
rastreados. Isso pode ser causado por um hardware ou software de rede
com
fraco desempenho ou pouco confivel, limitao na taxa dos pacotes ou
por
um firewall restritivo. Os poucos anfitries(hosts) mais lentos de todos
os anfitries(hosts) escaneados podem acabar sendo responsveis pela
maior parte do tempo total gasto com o rastreio(scan). s vzes melhor
cortar fora o prejuzo e saltar esses anfitries(hosts) logo no incio.
Isso pode ser feito especificando --host-timeout com o nmero de
milissegundos que tolera esperar. Eu normalmente especifico 1800000 para
ter certeza de que o Nmap no ir gastar mais do que meia hora em um
nico anfitrio(host). Note que o Nmap pode estar escaneando outros
anfitries(hosts) ao mesmo tempo em que essa meia hora desse nico
anfitrio(host) est correndo, ento no uma perda de tempo total. Um
anfitries(hosts) que expira o tempo saltado. Nenhum resultado de
tabela de portas, deteco de SO ou deteco de verso mostrado para
esse anfitrio(host).

--scan-delay <milissegundos>; --max_scan-delay <milissegundos> (Ajusta o


atraso entre sondagens)
Esta opo faz com que o Nmap aguarde um determinado nmero de
milissegundos entre cada sondagem enviada a um dado anfitrio(host).
Isto
particularmente til no caso de limitao de taxas de transferncia.
Mquinas Solaris (entre muitas outras) iro normalmente responder a
pacotes de sondagens de rastreios(scans) UDP com apenas uma mensagem
ICMP
por segundo. Qualquer nmero maior que isso, enviado pelo Nmap, ser um
desperdcio. Um --scan-delay de 1000 ir manter uma taxa de
transferncia
baixa. O Nmap tenta detectar a limitao de taxa e ajusta o atraso no
rastreio(scan) de acordo, mas no di especificar explicitamente se j
sabe qual a taxa que funciona melhor.
Outro uso do --scan-delay para evitar os sistemas de preveno e
deteo de intruso (IDS/IPS) baseados em limites.

-T <Paranoid|Sneaky|Polite|Normal|Aggressive|Insane> (Estabelece um padro


de
temporizao)
Embora os controles de temporizao de ajuste fino discutidos nas sees
anteriores sejam poderosos e efectivos, algumas pessoas consideram-nos
confusos. Escolher os valores apropriados pode s vzes levar mais tempo
do que o prprio rastreio(scan) que est tentando optimizar. Por isso o
Nmap oferece uma aproximao mais simples com seis padres de
temporizao. Voc pode especific-los com a opo -T e os nmeros (0 -
5) ou os nomes. Os nomes de padres so paranico (paranoid, 0), furtivo
(sneaky, 1), educado (polite, 2), normal (3), agressivo (agressive, 4) e
insano (insane, 5). Os dois primeiros so para evitar um IDS. O modo
educado (ou polido), diminui o ritmo de rastreio(scan) para usar menos
banda e recursos da mquina alvo. O modo normal o default e, portanto,
-T3 no faz nada. O modo agressivo acelera os rastreios(scans) assumindo
que est em uma rede razoavelmente rpida e confivel. Finalmente, o
modo
insano assume que est em uma rede extraordinariamente rpida ou est
disposto a sacrificar alguma preciso pela velocidade.

Estes padres permitem que o usurio especifique o quo agressivo


desejam
ser, ao mesmo tempo que deixam o Nmap escolher os valores de
temporizao
exactos. Os padres tambm fazem ajustes pequenos na velocidade onde
ainda no existem opes para controle de ajuste fino. Por exemplo, -T4
proibe que o atraso dinmico de rastreio(scan) exceda 10ms para portas
TCP e -T5 corta esse valor para 5 milissegundos. Padres podem ser
utilizados em conjunto com controles de ajuste fino desde que o padro
seja especificado primeiramente. Do contrrio os valores default para os
padres iro se sobrepor aos valores que especificar. Eu recomendo usar
-T4 quando rastrear(scan) redes razoavelmente modernas e confiveis.
Mantenha essa opo (no comeo da linha de comando) mesmo que adicione
controles de ajuste fino, de forma que possa se beneficiar com as
pequenas otimizaes extras que ela habilita.

Se tiver uma conexo ethernet ou de banda-larga decente, eu recomendaria


sempre utilizar -T4. Algumas pessoas adoram o -T5 embora seja agressivo
demais para o meu gosto. As pessoas s vzes especificam -T2 porque
acham
que diminui a probabilidade de travar os anfitries(hosts) ou porque
elas
consideram-se educadas em geral. Normalmente elas no percebem o quo
lento o -T Polite realmente . Esses rastreios(scans) podem levar dez
vzes mais tempo que um rastreio(scan) default. Travamento de mquinas e
problemas com a banda so raros com as opes de temporizao default
(-T3) e portanto, eu normalmente as recomendo para escaneadores
precavidos. Omitir a deteco de verso bem mais eficaz do que ficar
brincando com os valores de temporizao para reduzir esses problemas.

Embora o -T0 e o -T1 possam ser usados para evitar alertas no IDS, eles
iro leva muito mais tempo para rastrear(scan) milhares de mquinas ou
portas. Para um rastreio(scan) to amplo prefira estabelecer os valores
exatos de temporizao que precisa ao invs de depender dos valores
"engessados" de -T0 e -T1.
Os principais efeitos de T0 serializar o rastreio(scan) de forma que
apenas uma porta rastreada de cada vez e ento aguardar cinco minutos
entre o envio de cada sondagem. T1 e T2 so similares mas aguardam
apenas 15 segundos e 0,4 segundos, respectivamente, entre as sondagens.
T3 o comportamento default do Nmap, que inclui o paralelismo. T4 faz
o
mesmo que --max-rtt-timeout 1250 --initial-rtt-timeout 500 e estabelece
o
atraso mximo de rastreio(scan) TCP em 10 milissegundos. T5 faz o mesmo
que --max-rtt-timeout 300 --min_rtt_timeout 50 --initial-rtt-timeout 250
--host-timeout 900000 e estabelece o atraso mximo de rastreio(scan) TCP
em 5ms.

EVITANDO E ENGANANDO O FIREWALL/IDS


Muitos pioneiros da Internet vislumbraram uma rede mundial aberta com um
espao de endereamento IP universal que permitisse conexes virtuais entre
quaisquer dois ns. Isso permite que os anfitries(hosts) actuem como
verdadeiros semelhantes, servindo e obtendo informaes uns dos outros. As
pessoas poderiam aceder a seus computadores domsticos do trabalho, mudando
os ajustes do controle de climatizao ou abrindo as portas para convidados.
Essa viso de conectividade universal foi sufocada pela falta de espao de
endereamento e preocupaes com a segurana. No incio dos anos 1990 as
empresas comearam a instalar firewalls para o propsito claro de reduzir a
conectividade. Rede enormes foram isoladas da Internet-sem-fronteiras por
proxies de aplicativos, traduo de endereamento de rede (network address
translation) e filtros de pacotes. O fluxo irrestrito de informaes deu a
vez regulamentao acirrada de canais de comunicao autorizados e ao
contedo que neles trafegam.

As obstrues de rede como o firewall podem tornar o mapeamente de uma rede


extremamente difcil. E isso no vai se tornar mais fcil, pois sufocar as
sondagens casuais freqentemente o objetivo principal de se instalar esses
dispositivos. Apesar disso o Nmap oferece muitas ferramentas para ajudar a
entender essas redes complexas e para verificar que os filtros esto
funcionando como esperado. Ele at suporta mecanismos para passar por cima
de
defesas mal implementadas. Um dos melhores mtodos para se entender a
postura
de segurana de uma rede tentar derrub-la. Pense com a mente de uma
pessoa
que quer atac-lo e aplique tcnicas desta seo contra a sua rede. Lance um
rastreio(scan) FTP bounce, um rastreio(scan) idle, um ataque de fragmentao
ou tente "tunelar" (criar um tnel) atravs de um de seus prprios proxies.

Alm de restringir a atividade de rede as empresas esto monitorando o


trfego cada vez mais com sistemas de deteco de intruso (IDS). Todos os
principais IDS vm com regras designadas para detectar rastreios(scans)
feitos com o Nmap porque os rastreios(scans) so, s vzes, precursores de
ataques. Muitos desses produtos foram recentemente metamorfoseados em
sistemas de preveno de intruso (IPS) que bloqueiam o trfego considerado
malicioso de forma activa. Infelizmente para administradores de rede e
vendedores de IDS, detectar confiavelmente as ms intenes atravs da
anlise de dados de pacotes um problema difcil. Atacantes com pacincia,
habilidade e a ajuda de certas opes do Nmap podem normalmente passar por
um
IDS sem serem detectados. Enquanto isso, os administradores devem lidar com
um alto nmero de resultados do tipo falso-positivo onde actividades
inocentes so diagnosticadas erradamente e recebem alertas ou so
bloqueadas.

De vez em quando as pessoas sugerem que o Nmap no deveria oferecer opes


que permitam evitar as regras de firewalls ou passar desapercebidos por
IDSs.
Elas argumentam que essas caractersticas so to sujeitas m-utilizao
por atacantes quanto so utilizadas por administradores para aumentar a
segurana. O problema com esta lgica que esses mtodos ainda assim seriam
utilizados pelos atacantes que encontrariam outras ferramentas ou ento
acrescentariam essa funcionalidade no Nmap. Enquanto isso os administradores
achariam muito mais difcil executar suas tarefas. Instalar apenas
servidores
FTP modernos e corrigidos uma defesa muito melhor do que tentar evitar a
distribuio de ferramentas que implementem o ataque FTP bounce.

No existe uma carta mgica (ou opo do Nmap) para detectar e subverter
firewalls e sistemas IDS. necessrio habilidade e experincia. Um tutorial
est alm do objectivo deste guia de referncia que apenas lista as opes
relevantes e descreve suas funes.

-f (fragmenta os pacotes); --mtu (usando a MTU especificada)


A opo -f faz com que o rastreio(scan) solicitado (incluindo
rastreios(scans) usando ping) utilize pequenos pacotes IP fragmentados.
A
idia dividir o cabealho TCP em diversos pacotes para tornar mais
difcil para os filtros de pacotes, os sistemas de deteco de intruso
e
outros aborrecimentos, detectar o que est fazendo. Tenha cuidado com
isto! Alguns programas tem problemas para lidar com estes pequenos
pacotes. O sniffer da velha-guarda chamado Sniffit sofria uma falha de
segmentao assim que recebia o primeiro fragmento. Especifique esta
opo uma vez e o Nmap dividir os pacotes em 8 bytes ou menos aps o
cabealho IP. Portanto, um cabealho TCP de 20 bytes seria dividido em 3
pacotes. Dois com oito bytes do cabealho TCP e um com os quatro
restantes. claro que cada fragmento tambm tem um cabealho IP.
Especifique -f novamente para usar 16 bytes por fragmento (reduzindo o
nmero de fragmentos). Ou ento, pode especificar o seu prprio tamanho
de quebra com a opo --mtu. No especifique tambm o -f se usar o
--mtu.
A quebra deve ser um mltiplo de 8. Embora os pacotes fragmentados no
passem por filtros de pacotes e firewalls que enfilerem todos os
fragmentos IP, tal como a opo CONFIG_IP_ALWAYS_DEFRAG do kernel do
Linux faz, algumas redes no aguentam o impacto no desempenho que isso
causa deixando a opo desabilitada. Outros no conseguem habilitar isso
porque os fragmentos podem seguir por rotas diferentes na rede. Alguns
sistemas de origem desfragmentam pacotes de sada no kernel. O Linux e o
mdulo de reastreamento de conexo do iptables um exemplo desse tipo.
Faa um rastreio(scan) enquanto executa um sniffer como o Ethereal para
ter a certeza de que pacotes enviados esto fragmentados. Se o SO do seu
anfitrio(host) estiver causando problemas tente a opo --send-eth para
passar por cima da camada IP e enviar frames ethernet em estado
bruto(raw).

-D <chamariz1 [,chamariz2][,ME],...> (Disfara um rastreio(scan) usando


chamarizes)
Faz com que um rastreio(scan) com chamarizes seja executado, o que
parece
ao anfitrio(host) remoto que, o(s) anfitrio(host)(s) que especificou
como chamarizes tambm estejam rastreando a rede-alvo. Com isso, o IDS
poder reportar 5 a 10 rastreios(scans) de portas de endereos IP
nicos,
mas no saber qual IP estava realmente efectuado o rastreio(scan) e
qual
era um chamariz inocente. Embora isso possa ser desvendado atravs de
rastreamento de caminho de router, descarte de respostas
(response-dropping) e outros mecanismos activos, normalmente uma
tcnica eficaz para esconder o seu endereo IP.

Separe cada anfitrio(host)-chamariz com vrgulas e pode opcionalmente


usar ME como um dos chamarizes para representar a posio do seu
endereo
IP real. Se colocar ME na 6a. posio ou acima, alguns detectores de
rastreio(scan) de portas comuns (como o excelente scanlogd da Solar
Designer) pouco provavelmente iro mostrar o seu endereo IP. Se no
utilizar o ME o nmap ir coloc-lo em uma posio aleatria.

Observe que os anfitries(hosts) que utilizar como chamarizes devem


estar
activos ou poder acidentamente inundar com SYN os seus alvos. Tambm
ser bastante fcil determinar qual o anfitrio(host) que est a
efectuar o rastreio(scan) se houver apenas um anfitrio(host) realmente
activo na rede. Voc pode preferir usar endereos IP ao invs de nomes
(de forma que as redes chamarizes no vejam em seus logs dos servidores
de nomes).

Chamarizes so utilizados tanto no rastreio(scan) com ping inicial


(usando ICMP, SYN, ACK ou qualquer outro) como tambm durante a fase
real
de rastreio(scan) de portas. Chamarizes tambm so usados durante a
deteco de SO remoto (-O). Chamarizes no funcionam com a deteco de
verso ou com o rastreio(scan) TCP connect().

Vale a pena observar que usar chamarizes demais pode deixar seu
rastreio(scan) lento e potencialmente at torn-lo menos preciso. Outra
coisa, alguns provedores ISP iro filtrar os seus pacotes disfarados
mas
muitos no restringem pacotes IP disfarados.

-S <Endereo_IP> (Disfara o endereo de origem)


Em algumas circunstncias o Nmap pode no conseguir determinar o seu
endereo de origem (o Nmap ir dizer se for esse o caso). Nesta situao
use o -S com o endereo IP da interface que deseja utilizar para enviar
os pacotes.

Outro uso possvel para esta flag para disfarar o rastreio(scan) e


fazer com que os alvos achem que alguma outra pessoa est fazendo o
rastreio(scan). Imagine uma empresa que est constantemente sofrendo
rastreios(scans) de portas de um concorrente! A opo -e normalmente
seria requerida para este tipo de uso e -P0 seria recomendvel.

-e <interface> (Usa a interface especificada)


Diz ao Nmap qual interface deve ser utilizada para enviar e receber
pacotes. O Nmap deveria ser capaz de detectar isto automaticamente mas
ele informar se no conseguir.

--source-port <nmerodaporta>; -g <nmerodaporta> (Disfara o nmero de


porta
de origem)
Um erro de configurao surpreendentemente comum confiar no trfego
com
base apenas no nmero da porta de origem. fcil entender como isso
acontece. Um administrador configura um firewall novinho em folha s
para
ser inundado com queixas de usurios ingratos cujas aplicaes param de
funcionar. Em particular, o DNS pode parar de funcionar porque as
respostas DNS UDP de servidores externos no conseguem mais entrar na
rede. O FTP outro exemplo comum. Em tranferncias FTP activas o
servidor remoto tenta estabelecer uma conexo de volta com o cliente
para
poder transferir o arquivo solicitado.

Solues seguras para esses problemas existem frequentemente na forma de


proxies no nvel da aplicao ou mdulos de firewall para anlise de
protocolo. Infelizmente tambm h solues mais fceis e inseguras.
Observando que as respostas DNS chegam pela porta 53 e o FTP activo pela
porta 20 muitos administradores caem na armadilha de apenas permitir
trfego vindo dessas portas. Eles normalmente assumem que nenhum
atacante
ir notar e explorar essas brechas no firewall. Em outros casos os
administradores consideram isso uma medida provisria de curto prazo at
que eles possam implementar uma soluo mais segura. Normalmente ele
esquecem-se de fazer as actualizaes de segurana.

Administradores de rede sobrecarregados no so os nicos a carem nessa


armadilha. Diversos produtos foram empacotados com essas regras
inseguras. Mesmo a Microsoft culpada. Os filtros IPsec que vieram com
o
Windows 2000 e com o Windows XP contm uma regra implcita que permite
todo o trfego TCP ou UDP da porta 88 (Kerberos). Em outro caso bastante
conhecido, verses do firewall pessoal Zone Alarm, at a verso 2.1.25,
permitiam qualquer pacote UDP entrante com a porta de origem 53 (DNS) ou
67 (DHCP).

O Nmap oferece as opes -g e --source-port (elas so equivalentes) para


explorar essas fraquezas. Apenas fornea um nmero de porta e o Nmap ir
enviar pacotes dessa porta onde for possvel. O Nmap utiliza nmeros de
porta diferentes para que certos testes de deteco de SO funcionem
direito e as requisies DNS ignoram a flag --source-port porque o Nmap
confia nas bibliotecas de sistema para lidar com isso. A maioria dos
rastreios(scans) TCP, incluindo o rastreio(scan) SYN, suportam a opo
completamente assim como o rastreio(scan) UDP.

--data-length <nmero> (Acrescenta dados aleatrios nos pacotes enviados)


Normalmente o Nmap envia pacotes minimalistas contendo apenas o
cabealho. Dessa forma os pacotes TCP tm normalmente 40 bytes e os echo
requests ICMP tem s 28. Esta opo faz com que o Nmap acrescente o
nmero informado de bytes aleatrios na maioria dos pacotes que envia.
Os
pacotes de deteco de SO (-O) no so afectados mas a maioria dos
pacotes de ping e rastreio(scan) de portas so. Isso atrasa as coisas
mas
pode tornar um rastreio(scan) ligeiramente menos chamativo.

--ttl <valor> (Establece o valor do campo time-to-live)


Estabelece que o campo tempo-de-vida (time-to-live) dos pacotes enviados
ter o valor informado.
--randomize-hosts (Torna aleatria a ordem dos anfitries(hosts)-alvo)
Informa ao Nmap que ele deve embaralhar cada grupo de, no mximo, 8096
anfitries(hosts) antes de efectuar o rastreio(scan). Isso torna os
rastreios(scans) menos bvios a vrios sistemas de monitoramento de
rede,
especialmente quando combina isso com as opes de temporizao lentas.
Se deseja que fazer isso em grupos maiores aumente o PING_GROUP_SZ no
nmap.h e recompile. Uma soluo alternativa gerar uma lista de
endereos IP-alvos com um rastreio(scan) de lista (-sL -n -oN
nomedoarquivo), embaralhar a lista com um script Perl e ento fornecer a
lista completa para o Nmap com -iL.

--spoof-mac <endereo mac, prefixo, ou nome do fabricante> (Disfara o


endereo MAC)
Solicita ao Nmap que utilize o endereo MAC informado para todos os
frames ethernet em estado bruto (raw) que ele enviar. Esta opo implica
em --send-eth para assegurar que o Nmap realmente envie pacotes no nvel
ethernet. O MAC fornecido pode assumir diversos formatos. Se for apenas
a
string 0 o Nmap ir escolher um MAC completamente aleatrio para a
sesso. Se a string informada for um nmero par de dgitos hexa (com os
pares opcionalmente separados por dois pontos) o Nmap ir usa-la como o
MAC. Se menos do que 12 dgitos hexa forem informados o Nmap preenche o
restante dos 6 bytes com valores aleatrios. Se o argumento no for um 0
ou uma string hexa o Nmap ir procurar no nmap-mac-prefixes para
encontrar o nome de um fabricante contendo a string informada (no
sensvel a maisculas ou minsculas). Se encontrar, o Nmap usa o OUI
(prefixo de 3 bytes) do fabricante e preenche os 3 bytes restantes
aleatoriamente. Exemplos de argumentos --spoof-mac vlidos so Apple, 0,
01:02:03:04:05:06, deadbeefcafe, 0020F2 e Cisco.

SADA (OUTPUT)
Qualquer ferramenta de segurana s til se a sada que ela gera tambm o
for. Testes e algortmos complexos so de pouco valor se no forem
apresentados de uma forma organizada e compreensvel. Dado o nmero de
formas
que o Nmap utilizado pelas pessoas e por outros softwares, nenhum formato
ir agradar a todos. Ento o Nmap oferece diversos formatos incluindo o modo
interativo para humanos lerem diretamente e o XML para fcil interpretao
por um software.

Alm de oferecer diversos formatos de sada, o Nmap fornece opes para


controlar a verbosidade da sada assim como as mensagens de depurao. Os
tipos de sada podem ser enviados para a sada padro (standard output) ou
para arquivos, o qual o Nmap pode acrescentar ou ento sobrescrever.
Arquivos
de sada tambm podem ser utilizados para se retomar rastreios(scans)
abortados.

O Nmap torna a sada disponvel em cinco formatos diferentes. O default


chamado de sada interativa (interactive output) e enviada para a sada
padro (stdout). H tambm a sada normal (normal output) que similar
interativa excepto pelo facto de mostrar menos informaes e alertas sobre a
execuo uma vez que se espera que seja feita uma anlise somente aps o
rastreio(scan) completar, ao invs de interativamente.

A sada XML um dos tipos de sada mais importantes pois permite a


converso
para HTML, facilmente analisada por programas como a interface grfica do
Nmap ou pode ser importada em banco de dados.

Os dois tipos restantes de sada so a simples sada para o grep (grepable


output) que inclui a maioria das informaes de um anfitrio(host)-alvo em
uma nica linha e a s4d4 sCRiPt KiDDi3 (sCRiPt KiDDi3 0utPUt) para usurios
que se consideram 1r4d0z (|<-r4d).

Embora a sada interativa seja a default e no tenha associada nenhuma opo


de linha de comando, as outras quatro opes de formato utilizam a mesma
sintaxe. Elas recebem um argumento que o nome do arquivo onde os
resultados
devem ser armazenados. Formatos mltiplos podem ser especificados mas cada
formato s pode ser especificado uma vez. Por exemplo, pode querer armazenar
a sada normal para seu uso enquanto grava a sada XML do mesmo
rastreio(scan) para anlise utilizando programas. Voc pode fazer isso com
as
opes -oX myscan.xml -oN myscan.nmap. Embora este captulo use nomes
simples
como myscan.xml por uma questo de brevidade, nomes mais descritivos
normalmente so recomendados. Os nomes escolhidos so uma questo de
preferncia pessoal, embora eu use nomes longos que incorporam da data do
rastreio(scan) e uma palavra ou duas que descrevam o rastreio(scan),
colocados em um diretrio com o nome da empresa que eu estou rastreando.

Mesmo que essas opes gravem os resultados em arquivos, o Nmap ainda assim
mostra a sada interativa na stdout como de costume. Por exemplo, o comando
nmap -oX myscan.xml target grava em XML no myscan.xml e enche a sada padro
com os mesmos resultados interativos que teria mostrado se a opo -oX no
tivesse sido especificada. Voc pode mudar isso passando um caracter hfen
como argumento de um dos tipos de formato. Isso faz com que o Nmap desactive
a sada interativa e apenas grave os resultados no formato que especificou
para a sada padro. Dessa forma, o comando nmap -oX - target ir enviar
apenas a sada XML para a stdout. Erros srios ainda podem ser mostrados na
sada padro de erros, stderr.

Ao contrrio de alguns argumentos do Nmap o espao em branco entre a flag da


opo (como a -oX) e o nome do arquivo ou hfen obrigatrio. Se omitir as
flags e informar argumentos como -oG- ou -oXscan.xml, uma caracterstica de
compatibilidade retroactiva do Nmap ir causar a criao de arquivos de
sada
do tipo normal format chamados G- e Xscan.xml respectivamente.

O Nmap tambm oferece opes para controlar a verbosidade do rastreio(scan)


e
para acrescentar informaes nos arquivos de sada ao invs de sobrepor.
Todas essas opes esto descritas abaixo.

Formatos de Sada do Nmap

-oN <especificaodearquivo> (Sada normal)


Solicita que a sada normal (normal output) seja direcionada para o
arquivo informado. Conforme discutido acima, um pouco diferente da
sada interativa (interactive output).

-oX <especificaodearquivo> (Sada em XML)


Solicita que a sada em XML (XML output) seja direcionada para o arquivo
informado. O Nmap inclui uma definio do tipo de documento (document
type definition, DTD) que permite que os analisadores (parsers) XML
validem a saida em XML do Nmap. Embora seja primeiramente voltada para
ser usada por programas tambm pode ajudar os humanos a interpretar a
sada em XML do Nmap. A DTD define os elementos vlidos do formato e
geralmente enumera os atributos e valores que eles podem receber. A
ltima verso est sempre disponvel em
http://www.insecure.org/nmap/data/nmap.dtd.

O XML oferece um formato estvel que facilmente interpretado por


software. Interpretadores (parsers) XML gratuitos esto disponvel para
as principais linguagens de computador, incluindo C/C++, Perl, Python e
Java. As pessoas at j escreveram extenses para a maioria dessas
linguagens para manipular a sada e a execuo especificamente do Nmap.
Exemplos so o Nmap::Scanner[6] e o Nmap::Parser[7] em Perl CPAN. Em
quase todos os casos em que uma aplicao no-trivial faz interface com
o
Nmap, o XML o formato preferido.

A sada XML faz referncia a uma folha de estilo que pode ser usada para
formatar os resultados em HTML. A forma mais fcil de se utilizar isso
simplesmente carregar a sada XML em um navegador web como o Firefox ou
o
IE. Por default, isso s ir funcionar na mquina onde rodou o Nmap (ou
em uma mquina similarmente configurada) devido ao caminho (path) do
sistema de arquivos (filesystem) gravado de forma inaltervel do
nmap.xsl. Veja a opo --stylesheet para ver uma forma de criar um
arquivo XML portvel que possa ser interpretado como um HTML em qualquer
mquina conectada web.

-oS <especificaodearquivo> (S4d4 ScRipT KIdd|3)


A sada script kiddie como a sada interativa, com a diferena de ser
ps-processada para atender melhor ao "hacker de elite" ('l33t HaXXorZ')
que antigamente rejeitava o Nmap devido ao uso consistente de maisculas
e minsculas e a grafia correta. Pessoas sem senso de humor devem
observar que esta opo serve para se fazer graa dos script kiddies
antes de me lixar por estar, supostamente, ajudando-os.

-oG <especificaodearquivo> (Sada para o grep)


Este formato de sada mencionado por ltimo porque est deprecado. O
formato de sada XML muito mais poderoso e bastante adequado para
usurio avanados. O XML um padro para o qual existem dezenas de
excelentes interpretadores (parsers) disponveis, enquanto que a sada
para o grep um quebra-galho feito por mim. O XML estensvel para
suportar novas caractersticas do Nmap conforme elas forem lanadas, por
outro lado, sempre tenho que omitir essas novas caractersticas da sada
para o grep por falta de onde coloc-las.

Apesar disso a sada para o grep bastante popular. um formato


simples
que lista cada anfitrio(host) em uma linha e pode ser pesquisado de
forma trivial e interpretado por qualquer ferramenta padro do Unix como
o grep, awk, cut, sed, diff e Perl. Eu mesmo uso-a para testes rpidos
feitos na linha de comando. Descobrir todos os anfitries(hosts) com a
porta ssh aberta ou que esto com o SO Solaris requer apenas um simples
grep para identific-los, concatenado via pipe a um comando awk ou cut
para mostrar os campos desejados.

A sada para o grep consiste de comentrios (linhas comeadas com o


smbolo #) e linhas-alvo. Uma linha-alvo inclui uma combinao de 16
campos rotulados, separados por tab e seguidos por dois-pontos. Os
campos
so Host, Portas (Ports),Protocolos (Protocols), Estado Ignorado
(Ignored
State), SO (OS), ndice de Seqncia (Seq Index), IPID e Estado
(Status).

O campo mais importante normalmente Portas (Ports), que fornece


detalhes de cada porta interessante. uma lista com a relao de portas
separada por vrgula. Cada porta representa uma porta interessante e tem
o formato de sete sub-campos separados por barra (/). Esses sub-campos
so: Nmero da Porta (Port number), Estado (State), Protocolo
(Protocol),
Proprietrio (Owner), Servio (Service), informao sobre o SunRPC
(SunRPC info) e informao sobre a Verso (Version info).

Assim como na sada XML, esta pgina man no permite que se documente o
formato todo. Uma viso mais detalhada sobre o formato de sada para o
grep do Nmap est disponvel em http://www.unspecific.com/nmap-oG-
output.

-oA <nome-base> (Sada para todos os formatos)


Para facilitar pode especificar -oA nome-base para armazenar os
resultados de rastreio(scan) nos formatos normal, XML e para o grep de
uma s vez. Eles so armazenados nos arquivos nome-base.nmap,
nome-base.xml e nome-base.gnmap, respectivamente. Como na maioria dos
programas pode colocar como prefixo nos nomes de arquivos o caminho de
um
diretrio como ~/nmaplogs/foocorp/ no UNIX ou c:\hacking\sco no Windows.

Opes de Verbosidade e depurao (debugging)

-v (Aumenta o nvel de verbosidade)


Aumenta o nvel de verbosidade fazendo com que o Nmap mostre mais
informaes sobre o progresso do rastreio(scan). Portas abertas so
mostradas conforme so encontradas e estimativas de tempo para o trmino
so fornecidas quando o Nmap acha que um rastreio(scan) ir demorar mais
do que alguns minutos. Use duas vzes para uma verbosidade ainda maior.
Usar mais do que duas vzes no surte nenhum efeito.

A maioria das alteraes afectam apenas a sada interactiva e algumas


tambm afectam a sada normal e script kiddie. Os outros tipos de sada
foram feitos para serem processados por mquinas, ento o Nmap pode dar
informaes bastante detalhadas por default nesse formatos sem cansarem
o
usurio humano. Entretanto, existem algumas mudanas nos outros modos
onde o tamanho da sada pode ser reduzido substancialmente pela omisso
de alguns detalhes. Por exemplo, uma linha de comentrio na sada para o
grep que fornece uma lista de todas as portas rastreadas s mostrada
no
modo verboso porque ela pode ser bem longa.

-d [nvel] (Aumenta ou estabelece o nvel de depurao)


Se mesmo o modo verboso no fornece dados suficientes para si, o modo de
depurao est disponvel para inund-lo com muito mais! Assim como na
opo de verbosidade (-v), a depurao habilitada com uma flag na
linha
de comando (-d) e o nvel de depurao pode ser aumentado especificando-
a
mltiplas vzes. Alternativamente pode estabelecer o nvel de depurao
fornecendo um argumento para o -d. Por exemplo, -d9 estabelece o nvel
nove. Esse efectivamente o nvel mais alto e ir produzir milhares de
linhas a menos que execute um rastreio(scan) muito simples com poucas
portas e alvos.

A sada da depurao til quando h a suspeita de um bug no Nmap ou se


est simplesmente confuso com o que o Nmap est fazendo e porqu. Como
esta opo na maioria das vzes destinada a programadores, as linhas
de
depurao nem sempre so auto-explicativas. Pode obter algo como:
Timeout
vals: srtt: -1 rttvar: -1 to: 1000000 delta 14987 ==> srtt: 14987
rttvar:
14987 to: 100000. Se no entender alguma linha suas nicas opes sero
ignor-la, procurar no cdigo-fonte ou pedir ajuda na lista de discusso
de desenvolvimento (nmap-dev). Algumas linhas so auto-explicativas mas
as mensagens ficam cada vez mais obscuras conforme o nvel de depurao

aumentado.

--packet-trace (Rastreia pacotes e dados enviados e recebidos)


Faz com que o Nmap moste um sumrio de todos os pacotes enviados ou
recebidos. Isto bastante usado para depurao mas tambm uma forma
valiosa para novos usurio entenderem exatamente o que o Nmap est
fazendo por debaixo dos panos. Para evitar mostrar milhares de linhas,
pode querer especificar um nmero limitado de portas a rastrear(scan)
como -p20-30. Se tudo o que lhe interessa for saber o que se passa no
subsistema de deteco de verso, use o --version-trace.

--iflist (Lista as interfaces e rotas)


Mostra a lista de interfaces e rotas do sistema conforme detectados pelo
Nmap. Isto til para depurar problemas de roteamento ou erro de
configurao de dispositivo (como, por exemplo, no caso do Nmap tratar
uma conexo PPP como se fosse uma Ethernet).

Opes diversas (miscellaneous) de sada

--append-output (Acrescenta no arquivo de sada ao invs de sobrepor)


Quando especifica um nome de arquivo na flag de formato de sada, como
-oX ou -oN, esse arquivo sobreposto por default. Se preferir manter o
contedo existente no arquivo e acrescentar os novos resultados,
especifique a opo --append-output. Todos os arquivos de sada
especificados na execuo do Nmap tero os resultados acrescidos ao
invs
de sobrepostos. Isso no funciona bem com os dados de rastreio(scan)
para
XML (-oX) pois o arquivo resultante no ser adequadamente interpretado
at que consserte manualmente.

--resume <nomedoarquivo> (Retoma um rastreio(scan) abortado)


Algumas execues extensas do Nmap podem levar muito tempo, na ordem de
dias. Tais rastreios(scans) nem sempre rodam at o fim. Podem haver
restries que impeam que o Nmap seja executado durante o horrio de
expediente, a rede pode cair, a mquina onde o Nmap est a ser executado
pode sofrer um reboot planeado ou no, ou o Nmap pode simplesmente
travar. O administrador que est executando o Nmap poderia cancel-lo
por
qualquer outra razo bastando teclar ctrl-C. Reiniciar um rastreio(scan)
inteiro do comeo pode ser indesejvel. Felizmente se forem mantidos
logs
normais (-oN) ou para o grep (-oG), o usurio pode pedir que o Nmap
continue o rastreio(scan) do alvo que estava verificando quando a
execuo foi interrompida. Simplesmente especifique a opo --resume e
informe o arquivo da sada normal/para o grep como argumento. Nenhum
outro argumento permitido, pois o Nmap analisa o arquivo de sada e
usa
os mesmos argumentos especificados anteriormente. Basta chamar o Nmap
com
nmap --resume nomedoarquivodelog. O Nmap ir acrescentar os novos
resultados ao arquivo de dados especificado na execuo anterior. Essa
retomada de execuo no suporta o formato de sada XML porque combinar
as duas execues em um arquivo XML vlido seria difcil.

--stylesheet <caminho ou URL> (Informa a folha de estilo XSL usada para


transformar a sada XML)
O Nmap vem com uma folha de estilo (stylesheet) chamada nmap.xsl para
visualizar ou traduzir a sada XML em HTML. A sada XML inclui uma
diretiva xml-stylesheet que mostra para o nmap.xml onde ele foi
inicialmente instalado pelo Nmap (ou para o diretrio corrente no
Windows). Simplesmente carregue a sada XML do Nmap em um navegador
moderno e ele deve conseguir achar o nmap.xsl no sistema de arquivos e
utiliz-lo para interpretar os resultados. Se desejar utilizar uma folha
de estilo diferente, especifique-a como um argumento para --stylesheet.
Deve informar o caminho completo ou a URL. Uma chamada comum
--stylesheet http://www.insecure.org/nmap/data/nmap.xsl . Isso diz ao
navegador para carregar a verso mais actual da folha de estilo da
Insecure.Org. Isso torna mais fcil ver os resultados em uma mquina que
no tenha o Nmap instalado (e consequentemente o nmap.xsl). A URL
normalmente mais til mas a localizao nmap.xsl num sistema de
ficheiros(filesystem) local usada por default por questes de
privacidade.

--no_stylesheet (Omite do XML a declarao da folha de estilo XSL)


Especifique esta opo para evitar que o Nmap associe qualquer folha de
estilo XSL sada XML. A directiva xml-stylesheet omitida.

OPES DIVERSAS (MISCELLANEOUS)


Esta seo descreve algumas opes importantes (e no-to-importantes) que
realmente no couberam em nenhum outro lugar.

-6 (Habilita o rastreio(scan) IPv6)


Desde 2002 que o Nmap oferece suporte a IPv6 na maioria de suas opes
mais populares. Em particular o rastreio(scan) com ping (apenas TCP), o
rastreio(scan) com connect() e a deteco de verso, todas suportam
IPv6.
A sintaxe de comando a mesma de sempre excepto que ir tambm
adicionar
a opo -6. claro que deve usar a sintaxe IPv6 se especificar um
endereo no lugar de um nome de anfitrio(host). Um endereo pode se
parecer com 3ffe:7501:4819:2000:210:f3ff:fe03:14d0, portanto os nomes de
anfitrio(host) so recomendados. A sada a mesma de sempre com o
endereo IPv6 na linha portas interessantes sendo a nica dica visvel
de que se tratar realmente de IPv6.

Muito embora o IPv6 no tenha exactamente se alastrado pelo mundo, seu


uso se torna mais significativo em alguns pases (normalmente asiticos)
e a maioria dos sistemas operativos modernos passaram a suport-lo. Para
usar o Nmap com o IPv6, tanto a origem quanto o alvo de seu
rastreio(scan), devem estar configurados para IPv6. Se o seu provedor
(ISP) (como a maioria) no aloca endereos IPv6 para si, alguns
intermedirios que fazem o tnel gratuitamente esto amplamente
disponveis e funcionam bem com o Nmap. Um dos melhores
disponibilizado
pela BT Exact. Tambm tenho utilizado um fornecido pela Hurricane
Electric em http://ipv6tb.he.net/. Tneis 6para4 so outra abordagem
gratuita e popular.

-A (Opes agressivas de rastreio(scan))


Esta opo habilita opes adicionais avanadas e agressivas. Ainda no
decidi exactamente qual das duas a certa. Actualmente ela habilita a
Deteco de SO (-O) e o rastreio(scan) de verso (-sV). Mais
caractersticas podero ser adicionadas no futuro. A questo habilitar
um conjunto completo de opes de rastreio(scan) sem que as pessoas
tenham que se lembrar de um grupo grande de flags. Esta opo apenas
habilita as funes e no as opes de temporizao (como a -T4) ou
opes de verbosidade (-v) que pode tambm querer.

--datadir <nomedodiretrio> (Especifica a localizao dos arquivos de dados


do rastreio(scan))
O Nmap obtm alguns dados especiais em tempo de execuo em arquivos
chamados nmap-service-probes, nmap-services, nmap-protocols, nmap-rpc,
nmap-mac-prefixes e nmap-os-fingerprints. O Nmap primeiramente procura
esses arquivos num diretrio especificado na opo --datadir (se
houver).
Qualquer arquivo que no seja encontrado l procurado no diretrio
especificado pela varivel de ambiente NMAPDIR. A seguir vem o ~/.nmap
para se achar os UIDs reais e efectivos (apenas em sistemas POSIX) ou a
localizao do executvel do Nmap (apenas Win32) e ento, a localizao
definida na compilao que pode ser /usr/local/share/nmap ou
/usr/share/nmap . Como ltimo recurso, o Nmap ir procurar no diretrio
corrente.

--send-eth (Usa a transmisso pela ethernet em estado bruto(raw))


Solicita ao Nmap para que envie pacotes na ethernet (data link) em
estado
bruto (raw) ao invs de usar a camada de nvel mais alto IP (rede). Por
default, o Nmap escolhe o que for melhor para a plataforma onde est
rodando. Soquetes (sockets) em estado bruto (camada IP) so normalmente
mais eficientes em mquinas UNIX enquanto que os frames ethernet so
necessrios nas operaes do Windows, uma vez que a Microsoft
desabilitou
o suporte a sockets em estado bruto. O Nmap ainda usa pacotes IP em
estado bruto no UNIX, independentemente desta opo, quando no h outra
alternativa (como no caso de conexes no-ethernet).

--send-ip (Envia no nvel do IP em estado bruto(raw))


Pede ao Nmap que envie os pacotes pelos sockets IP em estado bruto(raw)
ao invs de enviar pelo nvel mais baixo dos frames ethernet. o
complemento da opo --send-eth discutida anteriormente.

--privileged (Assume que o usurio altamente privilegiado)


Informa ao Nmap para simplesmente assumir que ele tem privilgios
suficientes para executar transmisses de sockets em estado bruto(raw),
farejar (sniff) pacotes e operaes similares que normalmente requerem
privilgio de root em sistemas UNIX. Por default, o Nmap encerra se tal
operao solicitada mas o geteuid() no zero --privileged. til
com
as possibilidades oferecidas pelo kernel do Linux e sistemas similares
que pode ser configurado para permitir que usurios no-privilegiados
executem rastreios(scans) de pacotes em estado bruto. Assegure-se de
informar esta flag de opo antes de outras flags de opo que requeiram
privilgios (rastreio(scan) SYN, deteco de OS, etc.). A varivel
NMAP_PRIVILEGED pode ser configurada como uma alternativa equivalente de
--privileged.

--interactive (Inicia em modo interactivo)


Inicia o Nmap em modo interactivo oferecendo um prompt interactivo do
Nmap, permitindo o incio de mltiplos rastreios(scans) (tanto sncronos
quanto em background). Isto til para pessoas que fzem o
rastreio(scan)
a partir de sistemas multi-usurios e que normalmente querem testar a
segurana sem deixar todos os utilizadores saberem exactamente quais
sistemas eles esto rastreando. Use --interactive para ativar este modo
e
ento tecle h para uma ajuda (help). Esta opo raramente utilizada
porque um shell adequado mais familiar e tem mais opes. Esta opo
inclui um operador exclamao (!) para a execuo de comandos de shell,
o
que uma das muitas razes de no se instalar o Nmap com setuid root.

-V; --version (Mostra o nmero da verso)


Mostra o nmero da verso do Nmap e sai.

-h; --help (Mostra a pgina do sumrio de ajuda)


Mostra uma pequena tela com as flags de comandos mais comuns. Executar o
nmap sem nenhum argumento faz a mesma coisa.

INTERAO EM TEMPO DE EXECUO


Durante a execuo do Nmap todas as teclas pressionadas so capturadas. Isso
permite que interaja com o programa sem abort-lo ou reinici-lo. Algumas
teclas especiais iro mudar as opes enquanto outras iro mostrar uma
mensagem de estado dando informaes sobre o rastreio(scan). A conveno
que letras minsculas aumentam a quantidade de informao e letras
maisculas
diminuem.

v / V
Aumenta / Diminui a quantidade de informaes (Verbosity)

d / D
Aumenta / Diminui o Nvel de Depurao (Debugging Level)

p / P
Habilita / Desabilita o Rastreamento de Pacotes (Packet Tracing)

Qualquer outra letra


Mostra uma mensagem de estado como esta:

Stats: 0:00:08 elapsed; 111 anfitries(hosts) completed (5 up), 5


undergoing Service Scan

Service rastreio(scan) Timing: About 28.00% done; ETC: 16:18 (0:00:15


remaining)

EXEMPLOS
Aqui esto alguns exemplos de utilizao do Nmap desde o simples e
rotineiro,
at ao mais complexo e esotrico. Alguns endereos IP reais e nomes de
domnio foram utilizados para tornar as coisas mais concretas. Nesses
lugares
deve substituir os endereos/nomes pelos da sua prpria rede. Embora eu no
ache que o rastreio(scan) de portas de outras redes seja ou deva ser
considerado ilegal, alguns administradores de rede no apreciam o
rastreio(scan) no-solicitado de suas redes e podem reclamar. Obter a
permisso antecipadamente a melhor opo.

Para fins de teste tem permisso para rastrear(scan) o anfitrio(host)


scanme.nmap.org. Esta permisso inclui apenas o rastreio(scan) via Nmap e
no
tentativas de explorar vulnerabilidades ou ataques de negao de servio
(denial of service). Para preservar a banda, por favor no inicie mais do
que
uma dzia de rastreios(scans) contra o anfitrio(host) por dia. Se esse
servio de alvo livre para rastreio(scan) for abusado, ser derrubado e o
Nmap ir reportar Failed to resolve given hostname/IP: scanme.nmap.org.
Essas
permisses tambm se aplicam aos anfitries(hosts) scanme2.nmap.org,
scanme3.nmap.org e assim por diante, embora esses anfitries(hosts) ainda
no
existam.

nmap -v scanme.nmap.org

Esta opo rastreia(scan) todas as portas TCP reservadas na mquina


scanme.nmap.org. A opo -v habilita o modo verboso (verbose).

nmap -sS -O scanme.nmap.org/24

Inicia um rastreio(scan) SYN camuflado contra cada mquina que estiver


activa
das 255 possveis da rede classe C onde o Scanme reside. Ele tambm tenta
determinar qual o sistema operativo que est sendo executado em cada
anfitrio(host) activo. Isto requer privilgio de root por causa do
rastreio(scan) SYN e da deteco de SO.

nmap -sV -p 22,53,110,143,4564 198.116.0-255.1-127

Inicia uma enumerao de anfitries(hosts) e um rastreio(scan) TCP na


primeira metade de cada uma das 255 sub-redes de 8 bits possveis na classe
B
do espao de endereamento 198.116. Tambm testa se os sistemas esto
executando sshd, DNS, pop3d, imapd ou a porta 4564. Para cada uma destas
portas encontradas abertas a deteco de verso usada para determinar qual
aplicao est em execuo.

nmap -v -iR 100000 -P0 -p 80

Pede ao Nmap para escolher 100.000 anfitries(hosts) de forma aleatria e


rastreia-os procurando por servidores web (porta 80). A enumerao de
anfitries(hosts) desabilitada com -P0 uma vez que enviar primeiramente um
par de sondagens para determinar se um anfitries(hosts) est activo um
desperdcio quando se est sondando uma porta em cada anfitrio(host) alvo.

nmap -P0 -p80 -oX logs/pb-port80scan.xml -oG logs/pb-port80scan.gnmap


216.163.128.20/20
Este exemplo rastreia(scan) 4096 endereos IP buscando por servidores web
(sem usar o ping) e grava a sada nos formatos XML e compatvel com o
programa grep.

anfitrio(host) -l company.com | cut -d -f 4 | nmap -v -iL -

Faz uma transferncia de zona DNS para descobrir os anfitries(hosts) em


company.com e ento alimenta o Nmap com os endereos IP. Os comandos acima
so para a minha mquina GNU/Linux -- outros sistemas tm comandos
diferentes
para executar a transferncia de zona.

BUGS
Como o seu autor, o Nmap no perfeito. Mas pode ajudar a torn-lo melhor
enviando relatrios de erros (bug reports) ou mesmo escrevendo correes. Se
o Nmap no se comporta da forma que espera, primeiro actualize para a verso
mais atual disponvel em http://www.insecure.org/nmap/. Se o problema
persistir, pesquise um pouco para determinar se o problema j foi descoberto
e encaminhado. Tente procurar no Google pela mensagem de erro ou navegar nos
arquivos da Nmap-dev em http://seclists.org/. Se no encontrar nada envie
uma
mensagem com um relatrio do erro para dev@nmap.org. Por favor inclua tudo o
que souber sobre o problema bem como a verso do Nmap que est executando e
em qual verso e sistema operativo que est a usar.

Correes codificadas para concertar os erros so ainda melhores que os


relatrios de erro. Instrues bsicas para a criao de arquivos de
correes com as suas alteraes esto disponveis em
http://www.insecure.org/nmap/data/HACKING.

AUTOR
Fyodor fyodor@nmap.org (http://www.insecure.org)

Centenas de pessoas fizeram contribuies valiosas para o Nmap ao longo dos


anos. Isso est detalhado no arquivo CHANGELOG que distribudo com o Nmap
e
tambm est disponvel em http://www.insecure.org/nmap/changelog.html.

TRADUO
Portugus (Portugal) : Jos Domingos jd_pt@yahoo.com Portugus (Portugal) :
Andreia Gaita shana.ufie@gmail.com

Translation Disclaimer: The translation attempts to achieve the highest


possible accuracy. The official text is the English version available at
[url]. Any discrepancies or differences created in translations are not
binding and have no legal effect or compliance or enforcement purposes. If
any questions arise in regard to the accuracy of information contained in
any
translated portion of text, please refer to the official English version.
Slangs and language structures in English are not easily translated into
another language. Source text that includes jargon common to an industry,
may
not be translated accurately. Insecure.Com LLC is not responsible for
translation errors. We apologize for any translation that is not correct.

Desobrigao da Traduo: A traduo tenta alcanar a maior preciso


possvel. O texto oficial a verso em ingls disponvel em [url].
Quaisquer
discrepncias ou diferenas criadas pelas tradues no so obrigaes e no
tem efeito legal, conformidade ou propsitos impositivos. Se qualquer dvida
surgir em relao preciso da informao contida em qualquer parte
traduzida do texto, por favor verifique a verso oficial em ingls. Grias e
estruturas de linguagem em ingls no so facilmente traduzidas em outra
lngua. Texto original que inclui jargo comum a uma atividade pode no ser
traduzido com preciso. A Insecure.Com LLC no responsvel por erros de
traduo. Ns pedimos desculpas se alguma parte da traduo no estiver
correcta.

AVISOS LEGAIS
Copyright e Licenciamento
O Nmap Security Scanner (C) 1996-2005 Insecure.Com LLC. O Nmap tambm
uma
marca registada de Insecure.Com LLC. Este programa um software livre; pode
redistribu-lo e/ou modific-lo sob os termos da Licena Pblica Geral GNU
(GNU General Public License) conforme publicado pela Free Software
Foundation; Verso 2. Isso garante o seu direito de usar, modificar e
redistribuir este software sob certas condies. Se desejar embutir a
tecnologia do Nmap em um software proprietrio poderemos querer vender
licenas alternativas (contate sales@insecure.com). Muitos vendedores de
scanner de segurana j licenciam a tecnologia do Nmap, tal como a
descoberta
de anfitries(hosts), rastreio(scan) de portas, deteco de SO e deteco de
servios/verses.

Observe que a GPL impe restries importantes em trabalhos derivados


embora ela no fornea uma definio detalhada desse termo. Para evitar
ms-interpretaes consideramos que uma aplicao constitui um trabalho
derivado para o propsito desta licena, se ela se enquadra em um dos
seguintes tens:

Contm cdigo fonte do Nmap

L ou inclui arquivos de dados do Nmap que so protegidos por copyright,


tal como o nmap-os-fingerprints ou nmap-service-probes.

Executa o Nmap e decompe (parse) os resultados (diferentemente de uma


execuo tpica de um shell ou aplicaes de menu de execuo que
simplesmente mostram a sada em estado bruto do Nmap e portanto no
constituem um trabalho derivado).

Integra/inclui/agrega o Nmap em um instalador executvel proprietrio


tal
como os produzidos pelo InstallShield.

Estabelece uma ligao (link) com uma biblioteca ou executa um programa


que faz qualquer um dos dois tens em cima.

O termo Nmap deve ser considerado como contendo parte ou sendo trabalho
derivado do Nmap. Esta lista no definitiva mas deve ser entendida como
uma
forma de esclareer nossa interpretao de trabalho derivado com alguns
exemplos comuns. Estas restries apenas se aplicam quando realmente
redistribui o Nmap. Por exemplo, nada impede que escreva e venda um front-
end
proprietrio para o Nmap. Apenas redistribua o seu produto isoladamente e
mostre s pessoas onde elas podem descarregar(download) o Nmap.

Ns no consideramos isso como restries adicionais GPL mas apenas uma


elucidao de como ns interpretamos trabalhos derivados pois elas se
aplicam ao nosso produto Nmap licenciado no formato GPL. Isso idntico
forma como Linus Torvalds anunciou sua interpretao de como os trabalhos
derivados se aplicam aos mdulos do kernel do Linux. A nossa interpretao
refere-se apenas ao Nmap - no respondemos por qualquer outro produto GPL.

Se tiver qualquer dvida quanto s restries do licenciamento GPL na


utilizao do Nmap em produtos no-GPL, ficaramos felizes em ajudar. Como
mencionado acima, tambm oferecemos licenas alternativas para a integrao
do Nmap em aplicaes e dispositivos proprietrios. Esses contratos foram
vendidos para muitas empresas de segurana e geralmente incluem uma licena
perptua, disponibiliza um suporte para actualizaes prioritrios, e tambm
nos ajuda financeiramente o desenvolvimento contnuo da tecnologia do Nmap.
Por favor, envie um e-mail para sales@insecure.com se desejar mais
informaes.

Como uma exceo especial aos termos da GPL, a Insecure.Com LLC permite que
uma ligao (link) do cdigo deste program seja feito com qualquer verso da
biblioteca do OpenSSL que seja distribuda sob uma licena idntica quela
listada no arquivo Copying.OpenSSL incluido e distribuir combinaes de
ligao incluindo os dois. Deve obedecer GPL GNU em todos os aspectos para
todo o cdigo utilizado que no seja OpenSSL. Se modificar este aquivo pode
estender esta excepo para a sua verso do arquivo mas no obrigado a
fazer isso.

Se recebeu estes arquivos com um acordo de licenciamento por escrito ou um


contrato ditando termos que no sejam diferentes dos em cima ento essa
licena alternativa tem precedncia sobre estes comentrios.

Disponibilidade de cdigo fonte e contribuies da comunidade


O cdigo fonte fornecido com este software porque acreditamos que os
usurios tem o direito de saber exactamente o que um programa ir fazer
antes
de execut-lo. Isso tambm permite que vaudite o software procurando por
falhas na segurana (nenhuma foi encontrada at agora).

O cdigo fonte tambm permite que porte o Nmap para novas plataformas
consserte problemas e adicione novas caractersticas. E altamente encorajado
a enviar suas alteraes para fyodor@nmap.org para uma possvel incorporao
na distribuio principal. Enviar essas alteraes para Fyodor ou para
algum
da lista de mensagens de desenvolvimento da Insecure.Org, pressupe que est
oferecendo a Fyodor e Insecure.Com LLC o direito ilimitado e no-exclusivo
para reutilizar, modificar e relicenciar o cdigo. O Nmap sempre estar
disponvel como um Open Source mas isto importante porque a
impossibilidade
de relicenciar o cdigo causou problemas devastadores para outros projetos
de
Software Livre (tal como o KDE e o NASM). Ns tambm relicenciamos
ocasionalmente o cdigo para terceiros conforme discutido anteriormente. Se
deseja especificar condies de licenciamento especiais das suas
contribuies deixe isso claro quando envi-las.

Nenhuma Garantia
Este programa distribudo na esperana de que ser til mas SEM QUALQUER
GARANTIA; sem sequer a garantia implcita de COMERCIALIZAO ou ADEQUAO A
QUALQUER PROPSITO PARTICULAR. Veja a Licena Pblica Geral GNU para mais
detalhes em http://www.gnu.org/copyleft/gpl.html ou no arquivo COPYING
includo com o Nmap.
Tambm deve ser observado que o Nmap reconhecidamente trava certas
aplicaes
mal-escritas, a pilha TCP/IP e mesmo alguns sistemas operativos. O Nmap
nunca deve ser executado contra sistemas de misso-crtica a menos que
esteja
preparado para lidar com o servio fora do ar (downtime). Ns reconhecemos
aqui que o Nmap pode travar os seus sistemas ou redes e ns renunciamos toda
e qualquer responsabilidade por qualquer dano ou problema que o Nmap possa
causar.

Uso inapropriado
Pelo facto de haver o menor risco de travamento e porque existem pessoas
mal-intencionadas (black hats) que gostam de usar o Nmap para reconhecimento
antes atacar um sistema, existem administradores que ficam chateados e podem
reclamar quando o sistema deles rastreado. Portanto normalmente
aconselhvel que solicite a permisso antes de fazer um rastreio(scan) de
uma
rede por mais leve que seja.

O Nmap nunca deveria ser instalado com privilgios especiais (p.ex.: suid
root) por questes de segurana.

Software de Terceiros
Este produto inclui software desenvolvido pela Apache Software
Foundation[8].
Uma verso modificada da biblioteca porttil de captura de pacotes
Libpcap[9]
distribuda junto com o Nmap. A verso para o Windows do Nmap por outro
lado utiliza biblioteca WinPcap[10], derivada da libpcap. O suporte a
expresses regulares fornecido pela biblioteca PCRE[11] que um software
de cdigo aberto escrito por by Philip Hazel. Algumas funes de rede em
estado bruto utilizam a biblioteca de rede Libdnet[12] que foi escrita por
Dug Song. Uma verso modificada distribuda com o Nmap. O Nmap pode
opcionalmente ser ligado ao conjunto de ferramentas de criptografia do
OpenSSL[13] para o suporte deteco de verso do SSL. Todos os softwares
de
terceiros descritos neste pargrafo so distribudos gratuitamente sob o
licenciamento de software no estilo BSD.

Classificao do Controle de Exportao dos EUA


Controle de Exportao dos EUA: A Insecure.Com LLC acredita que o Nmap se
enquadra no US ECCN (nmero de classificao para controle de exportao)
5D992. Essa categoria chamada de software de Segurana da Informao
no-controlado pela 5D002. A nica restrio a essa classificao o AT
(anti-terrorismo) que se aplica a quase todos os produtos e nega a
exportao
a um punhado de naes no-confiveis tais como o Iro e a Coreia do Norte.
Portanto, exportar o Nmap no requer nenhuma licena ou permisso especial
ou
qualquer outro tipo de autorizao governamental.

NOTES
1. RFC 1122
http://www.rfc-editor.org/rfc/rfc1122.txt

2. RFC 792
http://www.rfc-editor.org/rfc/rfc792.txt
3. UDP
http://www.rfc-editor.org/rfc/rfc768.txt

4. RFC do TCP
http://www.rfc-editor.org/rfc/rfc793.txt

5. RFC 959
http://www.rfc-editor.org/rfc/rfc959.txt

6. Nmap::Scanner
http://sourceforge.net/projects/nmap-scanner/

7. Nmap::Parser
http://www.nmapparser.com

8. Apache Software Foundation


http://www.apache.org

9. biblioteca porttil de captura de pacotes Libpcap


http://www.tcpdump.org

10. biblioteca WinPcap


http://www.winpcap.org

11. biblioteca PCRE


http://www.pcre.org

12. Libdnet
http://libdnet.sourceforge.net

13. conjunto de ferramentas de criptografia do OpenSSL


http://www.openssl.org

[FIXME: source] 12/09/2012


NMAP(1)

Você também pode gostar