Home page logo
/
Intro Reference Guide Book Install Guide
Download Changelog Zenmap GUI Docs
Bug Reports OS Detection Propaganda Related Projects
In the Movies In the News

Sponsors


Nmap Network Scanning

Detecção de Serviço e Versão

Aponte o Nmap para uma máquina remota e ele poderá lhe dizer que as portas 25/tcp, 80/tcp e 53/udp estão abertas. Utilizar o banco de dados nmap-services com cerca de 2.200 serviços bastante conhecidos do Nmap iria relatar que aquelas portas provavelmente correspondem a um servidor de correio eletrônico (SMTP), a um servidor de páginas 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 eletrónico. Entretanto não deveria apostar a sua segurança nesta informação! As pessoas podem e executam serviços em portas estranhas.

Mesmo que o Nmap esteja certo e o servidor hipotético acima esteja executando os serviços SMTP, HTTP e DNS, isso não é informação o bastante. Quando fizer uma avaliação de vulnerabilidades (ou mesmo um simples inventário da rede) de sua empresa ou clientes, realmente deseja saber qual o programa-servidor de correio eletrónico ou de nomes e as versões que estão rodando. Ter um número de versão exacto ajuda substancialmente na determinação de quais explorações (exploits) o servidor está vulnerável. A detecção de versão ajuda a obter esta informação.

Depois que as portas TCP e/ou UDP forem descobertas usando qualquer um dos outros métodos de rastreio(scan), a detecção de versão interroga essas portas para determinar mais informações sobre o que realmente sendo executado nessas portas. O banco de dados nmap-service-probes do Nmap contém sondagens para pesquisar diversos serviços e expressões de acerto (match expressions) para reconhecer e destrinchar as respostas. O Nmap tenta determinar os protocolos de serviços (p.ex.: ftp, ssh, telnet, http), o nome da aplicação (p.ex.: ISC Bind, Apache httpd, Solaris telnetd), o número da versão, o nome do anfitrião(host), tipo de dispositivo (p.ex.: impressora, router), a família do SO (p.ex.: Windows, Linux) e às vezes detalhes diversos do tipo, se um servidor X está aberto para conexões, a versão do protocolo SSH ou o nome do usuário do KaZaA. É claro que a maioria dos serviços não fornece todas essas informações. Se o Nmap foi compilado com o suporte ao OpenSSL ele irá se conectar aos servidores SSL para deduzir qual o serviço que está escutando por trás da camada criptografada. Quando os serviços RPC são descobertos, o "amolador" de RPC (RPC grinder) do Nmap (-sR) é automaticamente utilizado para determinar o nome do programa RPC e o número da versão. Algumas portas UDP são deixadas no estado aberta|filtrada depois que rastreio(scan) de porta UDP não consegue determinar se a porta está aberta ou filtrada. A detecção de versão 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 são tratadas da mesma forma. Note que a opção -A do Nmap habilita a detecção de versão entre outras coisas. Um trabalho documentando o funcionamento, uso e customização da detecção de versão está disponível em http://www.insecure.org/nmap/versionscan.html.

Quando o Nmap recebe uma resposta de um serviço mas não consegue encontrá-la em seu banco de dados, ele mostra uma identificação (fingerprint) especial e uma URL para que envie informações se souber com certeza o que está rodando nessa porta. Por favor considere dispor de alguns minutos para mandar essa informação de forma que sua descoberta possa beneficiar a todos. Graças a esses envios o Nmap tem cerca de 3.000 padrões de acerto para mais de 350 protocolos, tais como o smtp, ftp, http, etc.

A detecção de versão é habilitada e controlada com as seguintes opções:

-sV (detecção de versão)

Habilita a detecção de versão, conforme discutido acima. Alternativamente pode usar a opção -A para habilitar tanto a detecção de SO como a detecção de versão.

--allports (Não exclui nenhuma porta da detecção de versão)

Por default a detecção de versão 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 páginas com requisições HTTP, requisições de sessões SSL binárias, 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 versão)

Quando está executando um rastreio(scan) de versão (-sV) o nmap envia uma série de sondagens, cada qual com um valor atribuído de raridade, entre 1 e 9. As sondagens com números baixos são efectivas contra uma ampla variedade de serviços comuns, enquanto as com números altos são raramente úteis. O nível de intensidade especifica quais sondagens devem ser utilizadas. Quando mais alto o número, maiores as chances de o serviço 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 através da directiva nmap-service-probes ports, essa sondagem é tentada independentemente do nível de intensidade. Isso assegura que as sondagens DNS sempre serão 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 versão muito mais rápido, mas é ligeiramente menos provável que identifique os serviços.

--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 versão)

Isto faz com que o Nmap mostre informações de depuração extensivas sobre o que o rastreio(scan) de versão está fazendo. É um sub-conjunto do que obteria com --packet-trace.

-sR (Scan RPC)

Este método trabalha em conjunto com os vários métodos 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 são portas RPC e se forem, quais programas e números de versão elas mostram. Dessa forma pode obter efectivamente a mesma informação que o rpcinfo -p mesmo se o portmapper do alvo estiver atrás de um firewall (ou protegido por TCP wrappers). Chamarizes não funcionam ainda com o rastreio(scan) RPC. Isso é habilitado automaticamente como parte do rastreio(scan) de versão (-sV) se o solicitar. Como a detecção de versão inclui isso e é muito mais abrangente, o -sR raramente é necessário.

[ Nmap | Sec Tools | Mailing Lists | Site News | About/Contact | Advertising | Privacy ]