Sie sind auf Seite 1von 16

Segurana no Linux e no Windows atualizado - Terceira Parte

Usando o Nessus
O Nessus uma ferramenta de auditoria muito usada para detectar e corrigir vulnerabilidades
nos PCs da rede local. Ele realiza uma varredura de portas, detectando servidores ativos e
simulando invases para detectar vulnerabilidades. Uma caracterstica importante que o
Nessus procura por servidores ativos no apenas nas portas padro, mas em todas as portas
TCP. Ele capaz de detectar uma vulnerabilidade em um servidor Apache escondido na porta
46580, por exemplo.
At a verso 2.2.8, o Nessus era um aplicativo open-source. Os desenvolvedores trabalham na
rea de segurana, prestando consultoria e vendendo verses personalizadas do Nessus, com
plugins e recursos adicionais. O problema que outras empresas de segurana passaram a se
aproveitar disso para incorporar recursos do Nessus em seus produtos proprietrios e a
desenvolver verses modificadas, que competiam diretamente com as solues oferecidas por
eles.
Isso criou um clima crescente de tenso at que os desenvolvedores decidiram mudar a
licena, mudana que entrou em vigor a partir da verso 3.0. O Nessus continua sendo de uso
gratuito, mas o cdigo fonte passou a ser fechado, para evitar a concorrncia predatria de
outras empresas.
Voc pode baixar a verso mais recente na seo de downloads do http://www.nessus.org.
Para baixar, voc precisa fornecer um endereo de e-mail vlido, para onde enviado um
cdigo de ativao.
Existem verses do Nessus para diversos sistemas, incluindo o Linux, Windows, FreeBSD e
MacOS X. Ao usar a verso Windows, recomendvel que voc utilize o Windows 2003 ou
outra verso server do sistema. O Windows XP no adequado para rodar o Nessus, pois a
partir do SP2 o sistema inclui polticas de segurana que limitam o nmero de conexes TCP
simultneas e outros recursos utilizados por ele. As protees foram includas como uma forma
de reduzir o potencial nocivo de malwares, mas acabaram dificultando o trabalho do Nessus.
Ao usar o Windows XP, o ideal que voc baixe apenas o cliente Nessus e o utilize para se
conectar a uma mquina Linux da rede rodando o componente servidor. Nesse caso, a
mquina Linux faz o trabalho pesado e o Windows XP roda apenas a interface do programa.
Com relao verso Linux, esto disponveis pacotes para diversas distribuies, entre eles
um pacote .deb para as distribuies derivadas do Debian e pacotes .rpm para o Fedora, Red
Hat e SuSE. Voc precisa baixar tanto o Nessus propriamente dito, quanto o "NessusClient",
disponvel na mesma pgina:

Instale o pacote baixado usando o comando "dpkg -i" (no caso do pacote .deb), ou "rpm -Uvh"
(para os pacotes .rpm), como em:
# dpkg -i Nessus-3.0.3-debian3_i386.deb
O Nessus utiliza o Nmap como portscan, por isso necessrio que ele tambm esteja
instalado. O Nmap faz a primeira rodada de testes, detectando as portas abertas e o Nessus
usa as informaes fornecidas por ele como ponto de partida para executar uma rodada
adicional de testes, que permitem devolver um relatrio bastante detalhado das
vulnerabilidades encontradas.
Depois de instalar, voc precisa criar um login de usurio para utilizar o Nessus. Isso
necessrio pois ele dividido em dois componentes: um servidor (que quem faz todo o
trabalho pesado) e um cliente, que funciona como uma interface segura para ele. Isso permite
que voc instale o servidor em uma mquina que faa parte da rede que vai ser escaneada e
use seu notebook para apenas rodar o cliente, o que pode ser feito at mesmo remotamente.
Com isso, seu notebook fica livre durante o teste, permitindo que voc execute testes
adicionais ou pesquise sobre as vulnerabilidades na web enquanto o teste realizado.
Naturalmente, voc pode rodar ambos os componentes na mesma mquina, o nico prrequisito usar uma mquina relativamente rpida, com pelo menos 256 MB de RAM livres (ou
seja, descontando a memria usada pelo sistema e outros programas).
Este login no uma conta de usurio vlida no sistema. Ele vlido apenas para o Nessus,
onde usado para fazer a autenticao no mdulo servidor. Para cri-lo, use o comando
"/opt/nessus/sbin/nessus-add-first-user". Ele pedir o login e senha, o tipo de autenticao
(escolha "pass") e permitir que voc adicione regras para o usurio (User Rules). Se voc
quiser apenas criar o usurio usando as regras default, basta pressionar "Ctrl+D". Ele pedir
uma ltima confirmao, basta responder "y":
2

# /opt/nessus/sbin/nessus-add-first-user
Using /var/tmp as a temporary file holder
Add a new nessusd user
---------------------Login : tux
Authentication (pass/cert) [pass] : pass
Login password : ********
Login password (again) : ********
User rules
---------nessusd has a rules system which allows you to restrict the hosts
that tux has the right to test. For instance, you may want
him to be able to scan his own host only.
Please see the nessus-adduser(8) man page for the rules syntax
Enter the rules for this user, and hit ctrl-D once you are done:
(the user can have an empty rules set)
^D
Login
Password
DN
Rules
Is that ok?

: tux
: ***********
:
:
(y/n) [y] y

Uma vez instalado, voc pode iniciar o servidor Nessus usando o comando:
# /etc/init.d/nessusd start ou:
# /opt/nessus/sbin/nessusd -D
Em ambos os casos ele roda em background, sem obstruir o terminal. Para fech-lo, use o
comando "killall nessusd".
Isto conclui a instalao do servidor. O prximo passo instalar o pacote do cliente. No site
voc pode baixar tanto o cliente Linux, quanto o NessusWx, que roda em mquinas Windows.
No meu caso, tive um pouquinho de trabalho para instalar o cliente Linux, pois, no momento em
que escrevi este tpico, ainda no estava disponvel uma verso do cliente para o Debian, de
forma que precisei baixar o pacote para o Fedora, convert-lo usando o alien e criar dois links
simblicos para bibliotecas com nomes diferentes nos dois sistemas.
O primeiro passo foi instalar o alien via apt-get e us-lo para converter o pacote baixado do
site:
# apt-get install alien
# alien NessusClient-1.0.0.RC5-fc5.i386.rpm

O alien gera um pacote .deb com o mesmo nome do pacote original, que pode ser instalado
usando o dpkg, como em:
# dpkg -i nessusclient_1.0.0.RC5-1_i386.deb
O NessusClient aberto usando o comando "NessusClient" (que voc executa usando sua
conta de usurio e no como root). Entretanto, por instalar uma verso para outra distribuio,
ele reclamou da falta das bibliotecas "libssl.so.6" e "libcrypto.so.6". Na verdade, ambas
estavam disponveis, porm com nomes diferentes. Acessando o diretrio "/usr/lib" vi que
existiam os " libssl.so.0.9.8" e " libcrypto.so.0.9.8", de forma que precisei apenas criar dois
links, apontando para eles:
# cd /usr/lib
# ln -s libcrypto.so.0.9.8 libcrypto.so.6
# ln -s libssl.so.0.9.8 libssl.so.6
A partir da, o NessusClient passou a abrir corretamente:
$ NessusClient

A interface desta verso bem diferente da usada no cliente que acompanhava o Nessus 2.x,
mas o funcionamento basicamente o mesmo. Comece clicando no boto "Connect" para abrir
a conexo com o servidor. Se estiver rodando-o na mesma mquina, use "localhost" como
endereo, caso contrrio, fornea o IP correto da mquina onde o servidor est ativo:

Da primeira vez que se conectar, ele perguntar sobre o certificado do servidor. Ele
(certificado) permite que voc verifique a autenticidade do servidor onde est se conectando,
evitando a possibilidade de que algum o tenha substitudo por outra mquina.

Ao usar servidores Nessus remotos, voc pode usar certificados de autenticidade para
melhorar a segurana. Nesse caso, use o comando nessus-mkcert-client (no servidor):
# /opt/nessus/bin/nessus-mkcert-client
Ao terminar o processo, ele salva o certificado gerado em uma pasta temporria, como em:
Your client certificates are in /tmp/nessus-mkcert.9904
You will have to copy them by hand

Dentro da pasta, voc encontra um arquivo ".pem" com o nome do usurio criado, como em
"cert_nessuswx_joao.pem". Para usar este certificado, voc deve copi-lo para a pasta
"/opt/nessus/com/nessus/CA/" (do cliente). Na hora de se conectar usando o NessusClient,
marque a opo "Autentication by certificate" e indique a localizao do arquivo.
Note que o uso do certificado apenas melhora a segurana da comunicao entre o servidor
Nessus e o cliente. uma medida saudvel para os paranicos de planto. :)
Uma vez conectado ao servidor Nessus, voc pode definir diversas opes dentro da aba
"Global Settings". Dentro dela, algumas opes interessantes (disponveis dentro da aba
"General") so:
Port range: O default do Nessus escanear apenas as portas de 1 a 1024, o que resulta
em testes relativamente rpidos, mas que deixam passar servios escondidos em portas
altas. Para que ele escaneie todas as portas, mude para "1-65535". Note que isso torna o
teste muito mais demorado, pois ele precisa enviar um pacote TCP e outro UDP para
cada uma das portas, para s ento executar os testes adicionais nas portas abertas.
Number of hosts to test at the same time: Esta opo determina o nmero de hosts
que sero verificados simultaneamente durante o teste. O default para esta opo so 20
hosts, o que adequado para situaes onde voc use um micro de configurao
modesta para executar o teste dentro da rede local. Aumentar o nmero faz com que o
Nessus consuma mais recursos do servidor e mais banda da rede, o que no muito
interessante caso o teste seja realizado durante o expediente.
Number of checks to perform at the same time: Esta opo determina o nmero de
testes simultneos em cada um dos micros escaneados. Muitos dos testes realizados
pelo Nessus so demorados, porm, geram pouco trfego de rede. Aumentar o nmero
de testes simultneos uma boa forma de acelerar o teste caso sua rede tenha poucos
micros.
Note que aberta uma instncia do scanner para cada host e para cada teste. Ou seja,
com 100 hosts e 4 testes simultneos em cada um, podem ser abertas at 400 instncias,
o que consumir quase 500 MB de memria do servidor. Se voc est rodando o servidor
em uma mquina de configurao modesta, ou est usando sua mquina de trabalho e
no deseja que ela fique muito lenta durante o teste, reduza os nmeros.
Optimize the test: Esta opo torna o teste do Nessus mais "inteligente". Baseado em
informaes de testes anteriores, o scanner evita usar testes demorados, que tenham
baixa probabilidade de revelar novas vulnerabilidades. Ativar esta opo, torna o teste
muito mais rpido, se executado repetidamente, mas abre uma pequena possibilidade de
algumas vulnerabilidades mais incomuns no serem descobertas.
Safe checks: Alguns sistemas antigos possuem brechas de segurana que podem
causar travamentos. Mquinas com o Windows 95 sem atualizaes de segurana, por
exemplo, so vulnerveis ao famoso "ping da morte", um pacote ICMP defeituoso, que
trava o sistema. Ativando esta opo, o Nessus deixa de realizar os testes que podem
levar a travamentos das mquinas, ou de outros dispositivos da rede, como roteadores e
modems ADSL.

Designate hosts by their MAC address: Ativando esta opo, os hosts so identificados
pelo endereo MAC no relatrio do teste, ao invs de pelo endereo IP. Isso pode ser til
em redes onde os clientes so configurados via DHCP.
Na aba "Plugins" voc tem acesso configurao dos plugins, que so scripts responsveis
por detectar vulnerabilidades especficas. Por exemplo, ao detectar que a porta "45234" est
aberta, o Nessus primeiro tenta identificar qual servidor est ativo, executando um conjunto de
testes. Se for detectado um servidor Apache, por exemplo, sero usados os plugins que
detectam vulnerabilidades em servidores web.
O Nessus inclui um nmero assustador de plugins, divididos em categorias. Ao marcar a opo
"Safe checks" (na aba general), so automaticamente desativados os plugins potencialmente
perigosos, mas voc pode reativar todos clicando no "Enable all".

Naturalmente, novas brechas de segurana so descobertas todos os dias, por isso


necessrio atualizar os plugins periodicamente. Para isso, use o comando
"/opt/nessus/bin/nessus-fetch", informando o cdigo fornecido no e-mail de confirmao do
registro, como em:
# /opt/nessus/bin/nessus-fetch --register FFBB-382E-3990-D3DA-2BFC
A partir da, os plugins so atualizados automaticamente, uma vez por dia. Se preferir desativar
a atualizao automtica, edite o arquivo "/opt/nessus/etc/nessus/nessusd.conf", substituindo a
linha "auto_update = yes" por "auto_update = no".
Os plugins so os componentes mais importantes do Nessus. So eles que o diferenciam de
um portscan genrico, como o Nmap. O portscan detecta que uma determinada porta est
aberta e qual servidor est sendo usado, mas so os plugins que informam que est sendo
usada uma verso com a vulnerabilidade X, que pode ser corrigida com a atualizao Y.

As atualizaes gratuitas so fornecidas com um delay de 7 dias, o que dificulta seu uso
profissional (7 dias dentro do ramo de segurana um tempo muito longo, durante o qual
brechas so corrigidas e novas surgem). Para ter acesso s atualizaes em tempo real, voc
precisa assinar o plano comercial.
Depois de ajustar as opes gerais, clique na opo "File > Scan Assistant" para definir a faixa
de endereos que ser escaneada. A primeira tarefa definir nomes de identificao do teste
nas abas "Task" e "Scope".
Depois vem o que interessa, a definio dos alvos na aba "Targets". Voc pode tanto lanar o
teste contra um IP isolado quanto contra uma faixa inteira de endereos. Neste caso, indique o
endereo da rede seguido pela mscara, como em "192.168.1.0/24" (o 24 indica a mscara de
sub-rede, no padro CIDR), ou um intervalo de endereos, como em "192.168.1.2-253".
Clicando no "Executar" o teste finalmente lanado:

Uma novidade em relao s verses anteriores que agora voc pode definir vrias faixas
diferentes e criar uma configurao independente para cada uma. Voc pode, por exemplo, ter
uma configurao para o teste contra hosts da rede local e outra j engatilhada para testar
periodicamente o servidor que hospeda seu site, por exemplo. Cada uma permite definir faixas
de portas e configuraes diferentes. Para lanar um teste j pr-configurado, selecione-o na
lista da esquerda e clique no "Scope > Executar".

Como comentei, o teste do Nessus feito em duas partes. A primeira o portscan, onde ele
utiliza o Nmap, combinado com alguns testes adicionais para descobrir quais portas esto
abertas em cada host. A partir da, entram em ao os plugins, que testam cada porta em
busca de vulnerabilidades conhecidas.
Concludo o teste, ele exibe uma lista com as vulnerabilidades encontradas em cada PC.
Existem trs nveis de alerta; o primeiro e mais grave tem o smbolo de uma luz vermelha e
indica uma brecha de segurana em um servidor ativo na mquina. No screenshot, por
exemplo, temos uma instalao bastante desatualizada do Windows XP, com diversas brechas
de segurana, entre elas uma vulnerabilidade no protocolo SMB (responsvel pelo
compartilhamento de arquivos), que permite travar a mquina remotamente e duas
vulnerabilidades graves, que permitem executar cdigo e obter acesso mquina:

Veja que, alm de apontar o problema, o Nessus oferece uma descrio detalhada da
vulnerabilidade e aponta uma soluo. Na maioria dos casos, o problema corrigido
simplesmente instalando as atualizaes de segurana ou atualizando para a verso mais
recente. Em casos em que o problema gerado por erros de configurao, ele quase sempre
fornece dicas de como corrigi-lo.
O teste do Nessus permite tambm identificar servios indesejados, que podem ser
desativados ou ter suas portas bloqueadas no firewall, alm de avisar sobre qualquer backdoor
que tenha sido instalado sem seu conhecimento.

Continuando, o segundo nvel um alerta de que um servio potencialmente inseguro est


ativo em uma determinada porta do sistema, como, por exemplo, um servidor Telnet ou
XDMCP. Neste caso, no foi encontrada nenhuma vulnerabilidade especfica, mas o fato de o
servio ser fundamentalmente inseguro j representa uma brecha de segurana. Tanto o Telnet
quanto o XDMCP transmitem dados de forma no encriptada, o que permite que algum mal
intencionado possa sniffar a rede, capturando os dados transmitidos (incluindo as senhas dos
usurios). Ambos devem ser usados apenas dentro da rede local.

O terceiro nvel de alerta tem o smbolo de uma luz. Estes so apenas lembretes de que existe
um servidor ativo na porta indicada, mas sem que fosse detectada qualquer brecha de
segurana.

Como disse, em muitos casos o Nessus ajuda tambm a detectar erros de configurao, que
podem ser perigosos. Por exemplo, este um aviso de segurana, que mostra um servidor
dedicado com o servidor DNS aberto para consultas a outros domnios:

10

Todo servidor web trabalha em conjunto com um servidor DNS, que responde pelos domnios
dos sites hospedados. Embora no seja por si s uma brecha de segurana, esta configurao
faz com que o DNS se transforme em um servidor "pblico", que faz a resoluo de qualquer
domnio solicitado, assim como os servidores DNS dos provedores de acesso. Isso abre brecha
para ataques de "DNS poisoning", onde um cliente externo insere uma entrada invlida no
cache do DNS, fazendo com que ele responda a algumas das consultas com endereos IPs
incorretos, alm de abrir uma pequena possibilidade de que o servidor seja usado como auxiliar
em ataques DoS contra outros servidores.
O prprio Nessus d a dica de como corrigir o problema. Pesquisando no Google sobre a
opo "allow-recursion" que ele sugere, voc chega facilmente artigos que sugerem a
incluso das quatro linhas abaixo no final do arquivo "/etc/bind/named.conf":
options {
directory "/var/named";
recursion no;
};
Elas fazem com que o servidor DNS responda apenas pelos domnios sobre os quais tem
autoridade (ou seja, os domnios dos sites hospedados no servidor), corrigindo o problema.
Executando o teste novamente, o Nessus continua detectando que a porta 53 est aberta, mas
no acusa mais a falha.
Concluindo, os relatrios gerados pelo Nessus podem ser salvos em diversos formatos,
incluindo html, latex e PDF, um recurso extremamente interessante na hora de apresentar os
resultados e explicar os problemas para outras pessoas.
Para isso, selecione o relatrio que ser exportado no menu da esquerda e use a opo
"Report > Export". Para que o suporte gerao de arquivos PDF funcione, voc deve ter
instalado o pacote "htmldoc", disponvel via apt-get:
# apt-get install htmldoc

11

Naturalmente, assim como voc pode utilizar o Nessus para detectar e tapar brechas de
segurana, outras pessoas podem utiliz-lo para detectar vulnerabilidades na sua rede e lanar
ataques. Hoje em dia, a variedade de scripts e ferramentas grficas prontas que exploram
vulnerabilidades to grande que voc pode encontrar algum exploit fcil de usar para
praticamente qualquer vulnerabilidade que voc possa encontrar. Basta saber fazer pesquisas
no Google.
Estes exploits prontos so o grande perigo, pois no requerem nenhum tipo de prtica ou
habilidade para serem usados. Basta indicar o IP a ser atacado e pronto. Ou seja, aquele
garoto com quem voc brigou no chat pode muito bem fazer um estrago na sua rede caso
algum servio ativo no seu servidor possua alguma vulnerabilidade grave. importante
resolver o problema antes que algum o faa por voc.
Gerar o relatrio do Nessus s o primeiro passo. Se voc administra um servidor,
importante acompanhar sites especializados em notcias relacionadas segurana, como o
http://lwn.net e o http://www.linuxsecurity.com. A maioria das distribuies oferecem boletins
por e-mail que avisam quando novas atualizaes de segurana esto disponveis.
Lembre-se de que, apesar das notcias de brechas e atualizaes serem sempre muito
freqentes, voc s precisa se preocupar com os servidores que voc mantm ativos na sua
mquina. Se voc mantm apenas o SSH e o FreeNX, por exemplo, no precisa se preocupar
com as atualizaes do Apache e do Sendmail.
Alm dos servidores, clientes de e-mail e navegadores (entre outras categorias de programas)
tambm costumam receber atualizaes de segurana com uma certa freqncia. Estes
programas clientes no podem ser atacados diretamente, ou seja, ningum poder explorar um
buffer overflow no Firefox (por exemplo) apenas por ele estar instalado; seria necessrio que
voc acessasse alguma pgina contendo o script malicioso. a que entram os ataques de
engenharia social, como no caso dos e-mails com textos que tentam lev-lo a clicar em um link
ou ao executar um arquivo anexado.

Usando o Nmap
O Nmap um portscan de uso geral. Ele um dos componentes-base usados pelo Nessus
(que veremos a seguir), mas pode tambm ser usado diretamente, sempre que voc precisar
verificar rapidamente as portas abertas em determinado host, seja na sua rede local, seja na
Internet.
O Nmap um pacote muito utilizado e por isso est disponvel em todas as principais
distribuies. Voc pode instal-lo usando o yast (SuSE), yum (Fedora), urpmi (Mandriva), ou
outro gerenciador de pacotes disponvel. Nas distribuies derivadas do Debian, voc pode
instal-lo via apt-get:
# apt-get install nmap
Para usar todos os recursos do Nmap, voc deve execut-lo como root. O uso mais simples
escanear diretamente uma mquina da rede, como em:

12

# nmap 192.168.0.3
Starting nmap 3.81 ( http://www.insecure.org/nmap/ )
Interesting ports on 192.168.0.3:
(The 1661 ports scanned but not shown below are in state: closed)
PORT STATE SERVICE
68/tcp open dhcpclient
631/tcp open ipp
MAC Address: 00:0F:B0:55:EE:16 (Compal Electronics)
Nmap finished: 1 IP address (1 host up) scanned in 0.339 seconds
Neste exemplo, o teste foi disparado contra uma mquina Linux, rodando uma instalao
personalizada do Debian Sarge. As duas portas abertas so o cliente DHCP ( normal que a
porta 68 fique aberta em clientes configurados via DHCP) e o servidor Cups, que escuta na
porta 631. O Cups mantm esta porta aberta sempre que ativado (voc precisa dele para
imprimir, tanto em compartilhamentos da rede, quanto em impressoras locais). Por padro, ele
permite apenas que o localhost imprima e acesse a interface de administrao, mas possvel
configur-lo para compartilhar as impressoras com a rede de forma bem simples atravs do
arquivo "/etc/cups/cupsd.conf".
Nem o cliente DHCP nem o Cups permitem acesso via shell, por isso, salvo eventuais graves
brechas de segurana, os ataques mais graves que poderiam ser lanados neste caso seriam
tentar modificar a configurao de rede, tentando responder ao cliente DHCP no lugar do
servidor DHCP da rede, ou tentar usar impressoras compartilhadas no Cups.
O simples fato de uma determinada porta estar aberta, no significa que a mquina est
vulnervel, mas apenas que existem servios ativos e as portas no esto sendo bloqueadas
por nenhum firewall.
Voc pode obter mais informaes sobre as portas abertas, incluindo a verso de cada servio
ativo usando a opo "-sV", como em:
# nmap -sV 192.168.0.3
Esta opo muito mais demorada, no lugar dela voc pode preferir fazer logo um scan
completo usando o Nessus.
possvel tambm escanear de uma vez toda uma faixa de endereos, como em:
# nmap 192.168.0.1-254
Outro parmetro interessante a opo "-O", que faz com que o Nmap tente identificar qual o
sistema operacional usado em cada mquina. Esta identificao permite diferenciar mquinas
rodando diferentes verses do Windows de mquinas rodando Linux ou MacOS, por exemplo,
mas no muito eficiente em identificar diferentes distribuies Linux, nem em identificar a
verso do Windows usada. Veja um exemplo:
# nmap -O 192.168.0.4
13

Starting nmap 3.81 ( http://www.insecure.org/nmap/ )


Interesting ports on 192.168.1.35:
(The 1658 ports scanned but not shown below are in state: closed)
PORT STATE SERVICE
135/tcp open msrpc
139/tcp open netbios-ssn
445/tcp open microsoft-ds
1025/tcp open NFS-or-IIS
5000/tcp open UPnP
MAC Address: 02:0F:B0:55:EE:16 (Unknown)
Device type: general purpose
Running: Microsoft Windows 95/98/ME|NT/2K/XP
OS details: Microsoft Windows Millennium Edition (Me),
Windows 2000 Pro or Advanced Server, or Windows XP
Nmap finished: 1 IP address (1 host up) scanned in 1.145 seconds
Neste caso temos uma instalao limpa do Windows XP, sem o firewall ativo. Note que a
identificao do sistema no exata, o Nmap indicou corretamente que uma mquina
Windows, mas no soube identificar precisamente a verso.
Continuando, os scans do Nmap podem ser facilmente detectados caso alguma das mquinasalvo esteja com o Snort, ou outro detector de intruses ativo, o que vai lhe render no mnimo
um puxo de orelha do administrador da rede. Para dificultar isso, o Nmap oferece a opo de
fazer um half-open scan, especificando a opo "-sS", como em:
# nmap -sS 192.168.0.1-254
Operando neste modo, o Nmap apenas envia um pacote SYN para cada porta alvo e espera
para ver se recebe um pacote ACK de confirmao sem, entretanto, responder com o segundo
pacote ACK, que abriria a conexo. Isso permite burlar muitos programas de deteco de
intruso, que monitoram e logam apenas conexes efetivamente estabelecidas.
Apesar de menos comum, possvel fazer tambm uma varredura de portas UDP abertas.
Embora poucos servios possam ser diretamente conectados atravs de portas UDP, muitos
as utilizam para transferir dados e, em geral, os firewalls so configurados para bloquear
apenas as portas TCP. Escanear as portas UDP uma forma alternativa de detectar servios
abertos em uma mquina, mesmo que todas as portas TCP estejam fechadas no firewall.
Existem tambm casos de backdoors acessveis via UDP, como o Back Orifice (no Windows) e
at mesmo (raras) brechas de segurana em servios do Linux ou outros sistemas Unix, como
uma brecha em certas verses do rpcbind do Solaris, que podia ser explorada atravs de uma
porta UDP alta, a partir da 32770 (variando de acordo com a verso).
Os scans de UDP so rpidos se direcionados a mquinas Windows, mas so absurdamente
lentos se feitos contra mquinas Linux ou BSD, onde o sistema limita o nmero de erros de
ICMP (dos quais o scan do Nmap depende) a uma taxa de aproximadamente 20 por segundo.
No Windows no existe limite.
Para usar o scan UDP, usamos a opo "-sU", como em:
14

# nmap -sU 192.168.0.4


Por padro, o Nmap escaneia apenas um conjunto de 1661 portas, que incluem as usadas
pelos servios mais comuns. Uma media de segurana comum esconder servios como o
SSH em portas altas, de forma que eles sejam mais difceis de detectar. Nesses casos, voc
pode fazer um scan completo, incluindo todas as portas TCP (ou UDP) usando a opo "-p 065535", como em:
# nmap -sS -p 0-65535 192.168.0.4
A opo "-p" pode ser usada para escanear apenas uma porta especfica, ou uma faixa de
portas em que esteja interessado. Se executado via rede local, o scan sempre relativamente
rpido (a menos que a mquina-alvo esteja com um firewall ativo, configurado em modo
"DROP"), mas, via Internet, as coisas tornam-se bem mais demoradas. Ao tentar localizar
vulnerabilidades em uma determinada faixa de endereos IP, voc comearia lanando o teste
rpido contra toda a faixa, reservando as opes mais demoradas para algumas mquinas
especficas.
A opo "-sS", combinada com a "-p 0-65535", permite localizar servios escondidos em portas
altas, mas no capaz de dizer muito sobre eles. Ele sempre retorna algo como:
22543/tcp open unknown
Voc pode escanear esta porta especfica usando a opo "-sV" para descobrir mais sobre ela,
como em:
# nmap -sV -p 22543 192.168.0.4
PORT STATE SERVICE VERSION
22543/tcp open ssh OpenSSH 3.8.1p1 Debian-8.sarge.4 (protocol 1.99)
Nmap finished: 1 IP address (1 host up) scanned in 0.284 seconds
Agora voc sabe que a mquina tem ativo um servidor OpenSSH (verso 3.8.1, do Debian
Sarge), escondido na porta 22543.
Tudo muito simples quando a mquina alvo no possui nenhum firewall ativo. O scan
rpido e voc pode lanar toda sorte de ataques sobre os servios ativos. Mas, com um firewall
ativo, as coisas tornam-se um pouco mais complicadas e demoradas. Um firewall configurado
para descartar (DROP) todos os pacotes recebidos, faz com que o scan torne-se
extremamente lento.
Verses antigas do Nmap no chegavam sequer a concluir o teste quando o alvo estava
configurado dessa forma, retornando uma mensagem como:
Starting nmap 3.50 ( http://www.insecure.org/nmap/ )
Host 192.168.0.33 appears to be down, skipping it.
Note: Host seems down.
Nmap run completed -- 1 IP address (0 hosts up) scanned in 12.053 seconds

15

Nestes casos, voc pode forar o Nmap a concluir o teste, a fim de detectar servios
escondidos em portas altas usando o parmetro "-P0", como em:
# nmap -sS -P0 -p 0-65535 192.168.0.4
O problema neste caso que o scan demora muito mais que o normal, j que, por no receber
respostas, ele precisa aguardar um tempo muito maior antes de passar para a porta seguinte.
Um teste executado contra um micro na Internet, atravs de uma conexo lenta, pode
literalmente demorar dias. Apesar de no responder, o micro remoto pode ser configurado para
logar suas tentativas, permitindo que o administrador tome conhecimento e aja de acordo,
bloqueando seu endereo IP ou contatando seu provedor de acesso. Um firewall bem
configurado realmente uma grande vantagem de segurana para qualquer servidor.

16

Das könnte Ihnen auch gefallen