Segurança no Linux e no Windows atualizado.pdf

Embed Size (px)

Citation preview

  • 7/23/2019 Segurana no Linux e no Windows atualizado.pdf

    1/16

    1

    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 esimulando invases para detectar vulnerabilidades. Uma caracterstica importante que oNessus procura por servidores ativos no apenas nas portas padro, mas em todas as portasTCP. Ele capaz de detectar uma vulnerabilidade em um servidor Apache escondido na porta46580, por exemplo.

    At a verso 2.2.8, o Nessus era um aplicativo open-source. Os desenvolvedores trabalham narea de segurana, prestando consultoria e vendendo verses personalizadas do Nessus, complugins e recursos adicionais. O problema que outras empresas de segurana passaram a seaproveitar disso para incorporar recursos do Nessus em seus produtos proprietrios e adesenvolver verses modificadas, que competiam diretamente com as solues oferecidas por

    eles.

    Isso criou um clima crescente de tenso at que os desenvolvedores decidiram mudar alicena, mudana que entrou em vigor a partir da verso 3.0. O Nessus continua sendo de usogratuito, mas o cdigo fonte passou a ser fechado, para evitar a concorrncia predatria deoutras empresas.

    Voc pode baixar a verso mais recente na seo de downloads dohttp://www.nessus.org.Para baixar, voc precisa fornecer um endereo de e-mail vlido, para onde enviado umcdigo de ativao.

    Existem verses do Nessus para diversos sistemas, incluindo o Linux, Windows, FreeBSD eMacOS X. Ao usar a verso Windows, recomendvel que voc utilize o Windows 2003 ououtra verso server do sistema. O Windows XP no adequado para rodar o Nessus, pois apartir do SP2 o sistema inclui polticas de segurana que limitam o nmero de conexes TCPsimultneas e outros recursos utilizados por ele. As protees foram includas como uma formade 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 seconectar a uma mquina Linux da rede rodando o componente servidor. Nesse caso, amquina 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 elesum pacote .deb para as distribuies derivadas do Debian e pacotes .rpm para o Fedora, RedHat e SuSE. Voc precisa baixar tanto o Nessus propriamente dito, quanto o "NessusClient",disponvel na mesma pgina:

    http://www.hardware.com.br/guias/seguranca-linux-windows/http://www.hardware.com.br/guias/seguranca-linux-windows/usando-nessus.htmlhttp://www.nessus.org/http://www.nessus.org/http://www.hardware.com.br/guias/seguranca-linux-windows/usando-nessus.htmlhttp://www.hardware.com.br/guias/seguranca-linux-windows/
  • 7/23/2019 Segurana no Linux e no Windows atualizado.pdf

    2/16

    2

    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 estejainstalado. O Nmap faz a primeira rodada de testes, detectando as portas abertas e o Nessususa as informaes fornecidas por ele como ponto de partida para executar uma rodadaadicional de testes, que permitem devolver um relatrio bastante detalhado dasvulnerabilidades 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 otrabalho pesado) e um cliente, que funciona como uma interface segura para ele. Isso permiteque voc instale o servidor em uma mquina que faa parte da rede que vai ser escaneada euse 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 testesadicionais ou pesquise sobre as vulnerabilidades na web enquanto o teste realizado.Naturalmente, voc pode rodar ambos os componentes na mesma mquina, o nico pr-requisito usar uma mquina relativamente rpida, com pelo menos 256 MB de RAM livres (ouseja, 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 pediruma ltima confirmao, basta responder "y":

  • 7/23/2019 Segurana no Linux e no Windows atualizado.pdf

    3/16

    3

    # /opt/nessus/sbin/nessus-add-first-user

    Using /var/tmp as a temporary file holderAdd a new nessusd user----------------------

    Login : tuxAuthentication (pass/cert) [pass] : passLogin password : ********Login password (again) : ********

    User rules----------

    nessusd has a rules system which allows you to restrict the hoststhat tux has the right to test. For instance, you may wanthim to be able to scan his own host only.

    Please see the nessus-adduser(8) man page for the rules syntaxEnter the rules for this user, and hit ctrl-D once you are done:(the user can have an empty rules set)^D

    LoginPasswordDNRulesIs 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 ocomando "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 emque escrevi este tpico, ainda no estava disponvel uma verso do cliente para o Debian, deforma que precisei baixar o pacote para o Fedora, convert-lo usando o alien e criar dois linkssimblicos 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 dosite:

    # apt-get install alien

    # alien NessusClient-1.0.0.RC5-fc5.i386.rpm

  • 7/23/2019 Segurana no Linux e no Windows atualizado.pdf

    4/16

    4

    O alien gera um pacote .deb com o mesmo nome do pacote original, que pode ser instaladousando 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 suaconta 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, ambasestavam disponveis, porm com nomes diferentes. Acessando o diretrio "/usr/lib" vi queexistiam os " libssl.so.0.9.8" e " libcrypto.so.0.9.8", de forma que precisei apenas criar doislinks, 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 abrira conexo com o servidor. Se estiver rodando-o na mesma mquina, use "localhost" comoendereo, caso contrrio, fornea o IP correto da mquina onde o servidor est ativo:

  • 7/23/2019 Segurana no Linux e no Windows atualizado.pdf

    5/16

    5

    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 paramelhorar 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.9904You will have to copy them by hand

  • 7/23/2019 Segurana no Linux e no Windows atualizado.pdf

    6/16

    6

    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 servidorNessus 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 resultaem testes relativamente rpidos, mas que deixam passar servios escondidos em portasaltas. Para que ele escaneie todas as portas, mude para "1-65535". Note que isso torna oteste 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 hostsque sero verificados simultaneamente durante o teste. O default para esta opo so 20hosts, o que adequado para situaes onde voc use um micro de configuraomodesta para executar o teste dentro da rede local. Aumentar o nmero faz com que oNessus consuma mais recursos do servidor e mais banda da rede, o que no muitointeressante caso o teste seja realizado durante o expediente.

    Number of checks to perform at the same time: Esta opo determina o nmero detestes simultneos em cada um dos micros escaneados. Muitos dos testes realizadospelo Nessus so demorados, porm, geram pouco trfego de rede. Aumentar o nmerode testes simultneos uma boa forma de acelerar o teste caso sua rede tenha poucosmicros.

    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 servidorem uma mquina de configurao modesta, ou est usando sua mquina de trabalho eno 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 eminformaes de testes anteriores, o scanner evita usar testes demorados, que tenhambaixa probabilidade de revelar novas vulnerabilidades. Ativar esta opo, torna o testemuito mais rpido, se executado repetidamente, mas abre uma pequena possibilidade dealgumas vulnerabilidades mais incomuns no serem descobertas.

    Safe checks: Alguns sistemas antigos possuem brechas de segurana que podemcausar travamentos. Mquinas com o Windows 95 sem atualizaes de segurana, porexemplo, so vulnerveis ao famoso "ping da morte", um pacote ICMP defeituoso, quetrava o sistema. Ativando esta opo, o Nessus deixa de realizar os testes que podemlevar a travamentos das mquinas, ou de outros dispositivos da rede, como roteadores e

    modems ADSL.

  • 7/23/2019 Segurana no Linux e no Windows atualizado.pdf

    7/16

    7

    Designate hosts by their MAC address: Ativando esta opo, os hosts so identificadospelo endereo MAC no relatrio do teste, ao invs de pelo endereo IP. Isso pode ser tilem 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" estaberta, o Nessus primeiro tenta identificar qual servidor est ativo, executando um conjunto detestes. Se for detectado um servidor Apache, por exemplo, sero usados os plugins quedetectam 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 potencialmenteperigosos, 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 desativara atualizao automtica, edite o arquivo "/opt/nessus/etc/nessus/nessusd.conf", substituindo alinha "auto_update = yes" por "auto_update = no".

    Os plugins so os componentes mais importantes do Nessus. So eles que o diferenciam deum portscan genrico, como o Nmap. O portscan detecta que uma determinada porta estaberta 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.

  • 7/23/2019 Segurana no Linux e no Windows atualizado.pdf

    8/16

    8

    As atualizaes gratuitas so fornecidas com um delay de 7 dias, o que dificulta seu usoprofissional (7 dias dentro do ramo de segurana um tempo muito longo, durante o qualbrechas so corrigidas e novas surgem). Para ter acesso s atualizaes em tempo real, vocprecisa assinar o plano comercial.

    Depois de ajustar as opes gerais, clique na opo "File > Scan Assistant" para definir a faixade endereos que ser escaneada. A primeira tarefa definir nomes de identificao do testenas abas "Task" e "Scope".

    Depois vem o que interessa, a definio dos alvos na aba "Targets". Voc pode tanto lanar oteste contra um IP isolado quanto contra uma faixa inteira de endereos. Neste caso, indique oendereo da rede seguido pela mscara, como em "192.168.1.0/24" (o 24 indica a mscara desub-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, teruma configurao para o teste contra hosts da rede local e outra j engatilhada para testarperiodicamente o servidor que hospeda seu site, por exemplo. Cada uma permite definir faixasde portas e configuraes diferentes. Para lanar um teste j pr-configurado, selecione-o nalista da esquerda e clique no "Scope > Executar".

  • 7/23/2019 Segurana no Linux e no Windows atualizado.pdf

    9/16

    9

    Como comentei, o teste do Nessus feito em duas partes. A primeira o portscan, onde eleutiliza o Nmap, combinado com alguns testes adicionais para descobrir quais portas estoabertas em cada host. A partir da, entram em ao os plugins, que testam cada porta embusca 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 eindica uma brecha de segurana em um servidor ativo na mquina. No screenshot, porexemplo, temos uma instalao bastante desatualizada do Windows XP, com diversas brechasde segurana, entre elas uma vulnerabilidade no protocolo SMB (responsvel pelocompartilhamento de arquivos), que permite travar a mquina remotamente e duasvulnerabilidades graves, que permitem executar cdigo e obter acesso mquina:

    Veja que, alm de apontar o problema, o Nessus oferece uma descrio detalhada davulnerabilidade e aponta uma soluo. Na maioria dos casos, o problema corrigidosimplesmente instalando as atualizaes de segurana ou atualizando para a verso maisrecente. Em casos em que o problema gerado por erros de configurao, ele quase semprefornece dicas de como corrigi-lo.

    O teste do Nessus permite tambm identificar servios indesejados, que podem serdesativados ou ter suas portas bloqueadas no firewall, alm de avisar sobre qualquer backdoorque tenha sido instalado sem seu conhecimento.

  • 7/23/2019 Segurana no Linux e no Windows atualizado.pdf

    10/16

    10

    Continuando, o segundo nvel um alerta de que um servio potencialmente inseguro estativo em uma determinada porta do sistema, como, por exemplo, um servidor Telnet ouXDMCP. Neste caso, no foi encontrada nenhuma vulnerabilidade especfica, mas o fato de oservio ser fundamentalmente inseguro j representa uma brecha de segurana. Tanto o Telnetquanto 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 dosusurios). 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 existeum servidor ativo na porta indicada, mas sem que fosse detectada qualquer brecha desegurana.

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

  • 7/23/2019 Segurana no Linux e no Windows atualizado.pdf

    11/16

    11

    Todo servidor web trabalha em conjunto com um servidor DNS, que responde pelos domniosdos sites hospedados. Embora no seja por si s uma brecha de segurana, esta configuraofaz com que o DNS se transforme em um servidor "pblico", que faz a resoluo de qualquerdomnio solicitado, assim como os servidores DNS dos provedores de acesso. Isso abre brechapara 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 IPsincorretos, alm de abrir uma pequena possibilidade de que o servidor seja usado como auxiliarem ataques DoS contra outros servidores.

    O prprio Nessus d a dica de como corrigir o problema. Pesquisando no Google sobre aopo "allow-recursion" que ele sugere, voc chega facilmente artigos que sugerem aincluso 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 temautoridade (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, masno 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 osresultados 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 terinstalado o pacote "htmldoc", disponvel via apt-get:

    # apt-get install htmldoc

  • 7/23/2019 Segurana no Linux e no Windows atualizado.pdf

    12/16

    12

    Naturalmente, assim como voc pode utilizar o Nessus para detectar e tapar brechas desegurana, outras pessoas podem utiliz-lo para detectar vulnerabilidades na sua rede e lanarataques. Hoje em dia, a variedade de scripts e ferramentas grficas prontas que exploramvulnerabilidades to grande que voc pode encontrar algum exploit fcil de usar parapraticamente 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 ouhabilidade para serem usados. Basta indicar o IP a ser atacado e pronto. Ou seja, aquelegaroto com quem voc brigou no chat pode muito bem fazer um estrago na sua rede casoalgum servio ativo no seu servidor possua alguma vulnerabilidade grave. importanteresolver 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 ohttp://lwn.net e ohttp://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 muitofreqentes, voc s precisa se preocupar com os servidores que voc mantm ativos na suamquina. Se voc mantm apenas o SSH e o FreeNX, por exemplo, no precisa se preocuparcom 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. Estesprogramas clientes no podem ser atacados diretamente, ou seja, ningum poder explorar umbuffer overflow no Firefox (por exemplo) apenas por ele estar instalado; seria necessrio quevoc acessasse alguma pgina contendo o script malicioso. a que entram os ataques deengenharia social, como no caso dos e-mails com textos que tentam lev-lo a clicar em um linkou 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 naInternet.

    O Nmap um pacote muito utilizado e por isso est disponvel em todas as principaisdistribuies. Voc pode instal-lo usando o yast (SuSE), yum (Fedora), urpmi (Mandriva), ououtro gerenciador de pacotes disponvel. Nas distribuies derivadas do Debian, voc podeinstal-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:

    http://lwn.net/http://www.linuxsecurity.com/http://www.hardware.com.br/guias/seguranca-linux-windows/usando-nmap.htmlhttp://www.hardware.com.br/guias/seguranca-linux-windows/usando-nmap.htmlhttp://www.hardware.com.br/guias/seguranca-linux-windows/usando-nmap.htmlhttp://www.linuxsecurity.com/http://lwn.net/
  • 7/23/2019 Segurana no Linux e no Windows atualizado.pdf

    13/16

    13

    # 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 SERVICE68/tcp open dhcpclient631/tcp open ippMAC 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 instalaopersonalizada do Debian Sarge. As duas portas abertas so o cliente DHCP ( normal que aporta 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 paraimprimir, tanto em compartilhamentos da rede, quanto em impressoras locais). Por padro, elepermite apenas que o localhost imprima e acesse a interface de administrao, mas possvelconfigur-lo para compartilhar as impressoras com a rede de forma bem simples atravs doarquivo "/etc/cups/cupsd.conf".

    Nem o cliente DHCP nem o Cups permitem acesso via shell, por isso, salvo eventuais gravesbrechas de segurana, os ataques mais graves que poderiam ser lanados neste caso seriamtentar modificar a configurao de rede, tentando responder ao cliente DHCP no lugar doservidor DHCP da rede, ou tentar usar impressoras compartilhadas no Cups.

    O simples fato de uma determinada porta estar aberta, no significa que a mquina estvulnervel, mas apenas que existem servios ativos e as portas no esto sendo bloqueadaspor nenhum firewall.

    Voc pode obter mais informaes sobre as portas abertas, incluindo a verso de cada servioativo 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 osistema operacional usado em cada mquina. Esta identificao permite diferenciar mquinasrodando diferentes verses do Windows de mquinas rodando Linux ou MacOS, por exemplo,mas no muito eficiente em identificar diferentes distribuies Linux, nem em identificar averso do Windows usada. Veja um exemplo:

    # nmap -O 192.168.0.4

  • 7/23/2019 Segurana no Linux e no Windows atualizado.pdf

    14/16

    14

    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 msrpc139/tcp open netbios-ssn445/tcp open microsoft-ds1025/tcp open NFS-or-IIS5000/tcp open UPnP

    MAC Address: 02:0F:B0:55:EE:16 (Unknown)Device type: general purposeRunning: Microsoft Windows 95/98/ME|NT/2K/XPOS 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 aidentificao do sistema no exata, o Nmap indicou corretamente que uma mquinaWindows, mas no soube identificar precisamente a verso.

    Continuando, os scans do Nmap podem ser facilmente detectados caso alguma das mquinas-alvo esteja com o Snort, ou outro detector de intruses ativo, o que vai lhe render no mnimoum puxo de orelha do administrador da rede. Para dificultar isso, o Nmap oferece a opo defazer 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 esperapara ver se recebe um pacote ACK de confirmao sem, entretanto, responder com o segundopacote ACK, que abriria a conexo. Isso permite burlar muitos programas de deteco deintruso, 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, muitosas 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 serviosabertos 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) eat mesmo (raras) brechas de segurana em servios do Linux ou outros sistemas Unix, comouma brecha em certas verses do rpcbind do Solaris, que podia ser explorada atravs de umaporta 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 absurdamentelentos se feitos contra mquinas Linux ou BSD, onde o sistema limita o nmero de erros deICMP (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:

  • 7/23/2019 Segurana no Linux e no Windows atualizado.pdf

    15/16

    15

    # nmap -sU 192.168.0.4

    Por padro, o Nmap escaneia apenas um conjunto de 1661 portas, que incluem as usadaspelos servios mais comuns. Uma media de segurana comum esconder servios como oSSH 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 0-65535", 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 deportas em que esteja interessado. Se executado via rede local, o scan sempre relativamenterpido (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 localizarvulnerabilidades em uma determinada faixa de endereos IP, voc comearia lanando o testerpido 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 portasaltas, 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 VERSION22543/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 DebianSarge), 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 configuradopara descartar (DROP) todos os pacotes recebidos, faz com que o scan torne-seextremamente lento.

    Verses antigas do Nmap no chegavam sequer a concluir o teste quando o alvo estavaconfigurado 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

  • 7/23/2019 Segurana no Linux e no Windows atualizado.pdf

    16/16

    16

    Nestes casos, voc pode forar o Nmap a concluir o teste, a fim de detectar serviosescondidos 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 receberrespostas, 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, podeliteralmente demorar dias. Apesar de no responder, o micro remoto pode ser configurado paralogar suas tentativas, permitindo que o administrador tome conhecimento e aja de acordo,bloqueando seu endereo IP ou contatando seu provedor de acesso. Um firewall bemconfigurado realmente uma grande vantagem de segurana para qualquer servidor.