Você está na página 1de 26

Ol! Sejam bem-vindos ao nosso treinamento intensivo de farejamento de pacotes.

Este treinamento est dividido em oito lies com suas respectivas tarefas. Teremos quatro lies hoje e quatro lies amanh, publicadas com aproximadamente trs horas de diferena entre a lio atual e a prxima.

Por causa deste formato, oito lies, uma a cada trs horas, chamamos o treinamento de Desafio 24 Horas. claro que tambm aproveitamos o homnimo com a srie de sucesso na televiso. Por que no? Para quem est em seu primeiro Desafio 24 Horas tenho a dizer o seguinte. Em resumo um treinamento intensivo realizado em dois dias: sbado e domingo. Comea hoje, termina amanh a noite. Voc pode entrar na sala virtual vrias vezes ao dia ou pode entrar uma vez hoje e outra amanh. H quem prefira entrar na segunda-feira, com todas as lies publicadas. Fica a seu critrio. Qualquer que seja a forma da sua participao, no importa. O importante que voc participe, tire suas dvidas nos fruns e aproveite esta oportunidade, pois os Desafios 24 Horas no se repetem. O Desafio 24 Horas difere dos outros cursos nossos de vrias maneiras. A principal que eu estarei de planto hoje e amanh, tirando as dvidas nos fruns pouco tempo aps serem postadas. Outra informao importante que voc tambm precisa considerar que a sala do Desafio s permanece aberta por uma semana. Abriu hoje e sbado que vem j estar indisponvel no sistema. Mesmo quem decida estudar de segunda em diante deve ficar atento sobre a disponibilidade da sala. Sugiro que salvem ou imprimam em PDF as mensagens dos fruns, pois no haver como recuper-las aps 15 de maio (sbado da semana que vem). Nosso treinamento sobre farejamento de pacotes. Farejamento tambm pode ser descrito como sniffer, captura de pacotes, anlise de trfego, interceptao de dados. Este conhecimento importante de diversas formas. Para o hacker uma forma de capturar informaes em uma rede, incluindo senhas de acesso e mensagens sigilosas. Para o profissional de segurana e admnistrador de redes, saber sobre farejamento de pacotes ajuda a detectar e corrigir problemas na rede, fazer testes de performance, detectar invasores. Saber farejar pacotes na rede um daqueles conhecimentos imprescindveis na formao do profissional. Neste treinamento intensivo vamos comear falando sobre o que so os pacotes, como montar um laboratrio para a parte prtica, finalizando com exemplos e exerccios prticos sobre as diversas formas de captura. Apesar do nosso cuidado para tornar a linguagem do curso adequada at para o

iniciante, melhores resultados sero obtidos por quem conhecer um pouco de redes e TCP/IP. Este conhecimento faz parte da Escola de Hackers logo no primeiro Nvel e vale a pena revisar o material, quem j tiver acesso a ele.

Episdio 1: 00h00 s 03h00 Laboratrio de Captura de Pacotes


Este primeiro episdio do Desafio tem dois propsitos. Primeiro esclarecer melhor o que o pacote no contexto das redes de computadores. E o segundo propsito, to ou mais importante, a criao do ambiente para os exerccios prticos do Desafio. Comearemos pela definio de pacote. PACOTES EM REDES DE DADOS Em uma rede de computadores ou telecomunicaes, pacote uma sequncia de dados transmitida por uma rede ou linha de comunicao que utilize a comutao de pacotes. Sendo assim, para entender melhor os pacotes, precisamos saber tambm o que comutao de pacotes. Vale a pena recordar que j estudamos este assunto nos cursos de iniciao a redes e tambm no de TCP/IP, ambos cursos do Nvel 1 da Escola de Hackers. Aqui faremos uma pequena reviso, para quem j no lembra e no quer revisar o curso todo e para quem no fez os treinamentos de base, para no ficar perdido. Comutar o mesmo que substituir uma coisa por outra. Comutar o vermelho com azul fazer o vermelho ficar azul e o azul ficar vermelho. Comutao de pacotes levar o pacote daqui e pegar o pacote de l, trocar um pelo outro. Se no fosse a comutao de pacotes no receberamos mensagens de erro quando algo desse errado. Um site com pgina inexistente retorna erro 404, se o acesso pgina no autorizado o erro 403. Estas mensagens ajudam a descobrir problemas e tranquilizam o usurio. Sem algum sinal de retorno o computador no saberia nem se j est conectado Internet. Agora que voc entendeu comutao vamos entender a transmisso de dados. Os sistemas de transmisso de dados foram popularizados pelas redes. E no de agora, esta busca por sistemas de transmisso existe desde o incio da civilizao. A Grande Muralha da China por exemplo, alm da proteo do muro era tambm um sistema de transmisso de dados. A sinalizao era feita por tochas, fumaa, movimentao de bandeiras. Com a descoberta da eletricidade, do eletromagnestismo e suas aplicaes prticas, nada mais natural do que esta tecnologia ser usada para criar melhores sistemas de trasmisso de dados, comeando com o telgrafo com fio at os dias de hoje com a Internet, cabos ticos submarinos e comunicao por satlite. A transmisso de dados tem um custo. Voc sabe bem disso porque paga - e paga caro quando fala ao celular. E paga mais caro ainda se usar o servio de transferncia de dados da operadora. A transmisso de dados mais cara atualmente a que usa satlites. Uma comunicao entre estados e pases mais cara porque, alm dos impostos, h o custo da transmisso por cabo submarino intercontinental e/ou satlites. Buscando formas de minimizar os altos custos da transmisso de dados, a indstria e seus engenheiros buscou formas de reduzir os custos. A frmula enocntrada so

basicamente duas: - a comutao por circuitos - a comutao por pacotes De forma simplificada a comutao por circuitos cria uma conexo fixa, podendo ser virtual (exemplo VPN, tunelamento). Mesmo que no ocorra transmisso de dados a conexo se mantm. A comutao por circuitos torna-se invivel para acesso as redes e a Internet, por que nos obrigaria a manter dezenas de conexes permanentes com dezenas de outros pontos na rede, acabando com a capacidade de transmisso de qualquer sistema atual. Na comutao por pacotes a mensagem (um e-Mail por exemplo) dividida em partes menores (os pacotes) e enviadas ao destinatrio. Aqui temos duas informaes importante para entender a comutao por pacotes: - primeiro que os pacotes geralmente seguem por destinos (rotas) diferentes - segundo que os pacotes so sinalizados e mesmo seguindo por rotas diferentes eles chegam ao destino certo e l so remontados. Se faltar algum pacote o prprio sistema solicita o reenvio. Ao seguirem por rotas diferentes, o sistema procura distribuir os pacotes de forma a no saturar uma rota. Se uma rota est lenta o pacote (pedao da mensagem) segue por outra rota menos congestionada. Na figura abaixo o diagrama ajuda a entender este processo:

E este o grande mrito da Internet. Na poca que isto foi criado a idia era conseguir transmitir mensagens mesmo que algum n (computador) da rede sasse do ar. Existia a preocupao com ataques nucleares vindos da extinta URSS. A proposta da comutao de pacotes era garantir que, caso uma cidade inteira fosse destruda, os pacotes procurariam alguma rota livre e ainda assim alcanariam seus destinos. Como o sistema sabe para onde mandar os pacotes (que formam a mensagem)? Como a mensagem (que foi dividida em pacotes) consegue ser remontada no destino? Isto possvel por que o pacote formado por vrias partes alm do pedao da mensagem que est levando. Uma destas partes o endereo do destino. Outra destas

partes diz quantos pacotes formam a mensagem dividida e em qual sequncia devem ser montados para recuperar a mensagem original. Estas marcaes nos pacotes so chamadas de bandeiras, sendo mais usada a palavra flag (bandeira em ingls). Na figura abaixo voc v a representao de um pacote e suas marcaes (no a nica possvel):

O propsito deste treinamento aprender como interceptar pacotes na rede. Lembre-se que os pacotes levam pedaos das mensagens, pedaos da comunicao entre as mquinas da redes, entre os programas, entre as redes e a Internet. Interceptar estas mensagens o mesmo que olhar por cima dos ombros do usurio, descobrindo senhas, conversas, documentos. E no s isto. Ao analisar o fluxo de dados podemos detectar anomalias na rede. Sistemas mal configurados, gargalos, invasores ou usurios consumindo recursos da rede. O treinamento em anlise de pacotes serve para bisbilhotar e saber se est sendo bisbilhotado. Serve para diagnosticar a rede, observando em tempo real qual mquina, segmento, usurio, programa est consumindo mais recursos do que deveria. O LABORATRIO DE TESTE Para a parte prtica deste treinamento precisaremos de uma rede com pelo menos dois micros. Precisaremos gerar trfego para que possamos intercept-lo. A forma mais simples de fazer isto com o sistema de mquina virtual, conforme ensinamos no Curso 3 do Nvel 1. Sendo assim, nossa primeira TAREFA do Desafio criar pelo menos uma mquina virtual, rodando qualquer sistema operacional e coloc-la em rede com a mquina real. Quem ainda no est no Curso 3 do Nvel 1 e no sabe nada sobre mquinas virtuais, poder baixar nosso material sobre o assunto e estudar a respeito: http://www.escoladehackers.com/maqvir.zip E quem j possui mquina virtual no computador de uso j est pronto para o Desafio, devendo aguardar apenas nosso prximo episdio para darmos prosseguimento.

Assistam tambm esta animao demonstrando como os pacotes se movimentam nas redes. Dvidas sobre esta aula? Use o frum para perguntar.

Se preferir fazer download clique aqui: http://ftp.sunet.se/pub/tv+movies/warriors/warriors-700-br-VBR.mpg

Frum do Episdio 1

Episdio 2: 03h00 s 06h00 Testando a comunicao entre mquinas


Estou supondo que voc completou a tarefa anterior e possui pelo menos duas mquinas em rede. Pode ser duas mquinas ligadas fisicamente, como por exemplo um computador de mesa (desktop) e um notebook ou netbook. Pode ser tambm a mquina virtual em rede (virtual) com sua mquina real. O prximo passo saber localizar estas mquinas e ter certeza que elas esto se comunicando entre si. Vamos fazer alguns testes em linha de comando. Se em linha de comando precisamos abrir uma janela de prompt. No Windows 7 basta digitar cmd na caixa pesquisar do boto Iniciar. No Windows XP v em Iniciar -> Executar -> digite cmd -> clique em OK Na janela do prompt que vai abrir digite: ping 127.0.0.1 Isto para termos certeza de que a placa de rede est respondendo. Repita a operao nas duas mquinas, incluindo a virtual. O prximo passo descobrir o IP que est atribudo a placa de rede. Ainda na janela do prompt digite: ipconfig Poder aparecer vrias linhas com IPs e isto pode confundir um pouco. Anote o IPs que comea com 192.168 que quase certo ser o IP da placa de rede. Aproveite que est na janela do prompt e digite: control netconnections

Isto vai abrir o gerenciador de redes e vai mostrar suas conexes, que poder ter a seguinte aparncia:

uma conexo dial up ou de banda larga uma conexo local

Tambm poder aparecer na lista acima:


uma conexo sem fio duas conexes locais da vmware (da mquina virtual)

Todas estas conexes podero ser farejadas e voc neste momento dever anotar o IP de cada uma delas. Para saber o IP da conexo d dois cliques sobre ela e na janela que aparece, clique em Detalhes. A ltima etapa deste teste preliminar certificar-se de que as mquinas se comunicam. Agora voc j sabe o IP de cada conexo, use o comando ping de uma mquina para a outra. Exemplo: Computador real IP 192.168.0.100 Computador virtual IP 192.168.0.200 No computador real usar ping 192.168.0.200 No computador virtual usar ping 192.168.0.100 um teste simples, porm importante. As mquinas precisam se comunicar entre si. Se tiver dvidas nesta segunda parte use o frum para resolver.

Frum do Episdio 2

Episdio 3: 06h00 s 09h00 Gerando pacotes


Observando os fruns percebi que alguns de vocs tiveram dificuldade para realizar o ping entre as mquinas, real e virtual. Uma informao importante que est no Curso de Iniciao a Redes, o curso 8 do Nvel 1, diz respeito ao servio de compartilhamento de arquivos e impressoras, necessrio para a comunicao entre as mquinas. Este servio pode ser instalado manualmente ou automaticamente quando compartilhamos pastas e impressoras. Talvez voc pense que no ser possvel analisar pacotes se as outras mquinas no tiverem compartilhamento. No bem assim. Para o Desafio precisamos que a mquina se comunique, pois ser s a que temos. Como estamos na fase de aprendizado, para o bem da didtica precisamos da mquina acessvel.

Nas redes, mesmo as protegidas, as mquinas no estaro dentro uma das outras, como est sendo o caso da mquina virtual usada no Desafio. Nas redes as mquinas estaro ligadas a hubs, swtchs, roteadores, gerando trfego independente de compartilhamento e sendo passveis de terem o trfego capturado e analisado. Nosso prximo passo dominar um pouco mais a gerao de pacotes, aumentar nossa familiaridade com o firewall, gerenciador de eventos e finalmente ter a primeira experincia com captura de pacotes. Gerao de Pacotes Ao usar o comando ping na prtica o que voc fez foi gerar um pacote destinado ao IP especificado. O oing j teve seus dias de glria, mas atualmente um comando ultrapassado, quebra um galho, mas no consegue atender as necessidades do profissional de segurana, hacker ou administrador da rede. Neste episdio vamos gerar pacotes melhor contraldos e verificar como o sistema alvo se comporta, sendo tambm uma oportunidade para ver e testar firewall e logs do sistema. Primeiro baixe este programa: http://www.colasoft.com/download/products/files/cping11_build265.exe

Informe o IP e acompanhe o progresso. Ateno especial aos pacotes enviados (Packets sent) e recebidos (Packets received). Veja se tem algum pacote perdido (Packet Lost). Experimente digitar domnios, compare o ping em www.microsoft.com e www.microsoft.com.br. Quem for mais experiente pode baixar este outro: http://www.colasoft.com/download/products/files/pktbuilder10_build153.exe

Esta segunda ferramenta um gerador de pacotes personalizados. Se voc no entender como ela funciona, ou seja, como gerar o pacote personalizado, tem duas opes: rever os cursos de rede e TCP/IP (se j os fez), buscar informaes sobre os tipos de pacotes na prpria Internet (ICMP por exemplo) ou por enquanto se contentar com a primeira ferramenta que o gerador de ping. Agora que voc tem seu prprio gerador de pacotes, vamos v-los chegando na mquina alvo. Temos vrias formas para fazer isto. O importante que o gerador de pacotes se mantenha ativo, enviando pings (ou algum outro pacote mais sofisticado) para a mquina alvo. Visualizando os pacotes na chegada 1 - Usando o comando netstat na janela do prompt 2 - Visualizando o log do firewall 3 - Visualizando o gerenciador de eventos 4 - Usando um analisador de pacotes (sniffer) No frum continuamos com este assunto e passamos as tarefas do Episdio.

Frum do Episdio 3

Episdio 4: 09h00 s 12h00 WinPCap e a captura de MSN


Quem se prope a estudar sobre farejadores de pacotes precisa saber o que o WinPCap. WinPCap uma API do Windows e desmembrando o nome teremos

Windows Packet Capture (no Linux a biblioteca LibPCap). API, segundo a Wikipdia, de Application Programming Interface (ou Interface de Programao de Aplicativos) um conjunto de rotinas e padres estabelecidos por um software para a utilizao das suas funcionalidades por programas aplicativos que no querem envolver-se em detalhes da implementao do software, mas apenas usar seus servios. Na prtica quer dizer que programadores experientes podem criar ferramentas de captura de pacotes sem precisar comear do zero, pois as rotinas de captura j esto prontas e disponveis atravs da WinPCap no Windows e LibPCap no Linux. Algumas caractersticas do WinPCap incluem: - instalar, iniciar e encerrar o servio de captura - receber pacotes - enviar pacotes - detectar e gerar a lista dos adaptadores de rede disponveis - recuperar informaes sobre os adaptadores e configuraes da rede, como por exemplo, IP, gateway padro, MAC, mscara de sub-rede At voc, se futuramente quiser, poder criar seu prprio programa de captura de pacotes, juntando o que aprender sobre alguma linguagem de programao (Delphi, VB, C, C++, C#, Java, etc) com as orientaes aos desenvolvedores disponibilizadas pelo site do projeto em www.winpcap.org. O que o programador faz verificar quais opes a API WinPCap disponibiliza e decidir quais vai usar e como pretende exibir o resultado. No Episdio anterior vimos um programa de captura especfico para a captura de senhas trafegando na rede. Quem decidiu restringir o programa a este tipo de captura e organizaou quela aparncia para a exibio do programa, foi o programador. Este Episdio serviu para apresentar o WinPCap, voc vo perceber que muitos programas (os melhores) usam WinPCap que instalado junto com o prprio programa de captura. Alguns programas fazem diferente e avisam que voc precisa ter o WinPCap instalado para que possam continuar com suas prprias instalaes. E aproveito para dar uma dica. Por se tratar de uma API em constante desenvolvimento, pode acontecer de voc instalar o WinPCap em verso mais antigajunto com o programa de captura. Vale a pena verificar a verso do WinPCap e procurar manter a mais atual e menos problemtica possvel. Isto pode ser feito verificando se a istalao disponibilizou um link para atualizao do WinPCap ou procurando no sistema o arquivo packet.dll, clicar com o boto direito sobre ele e comparar a verso instalada com a disponvel no site do projeto. Dando prosseguimento a prtica de captura segmentada, vamos experimentar o programa MSN Sniffer, que promete capturar na rede especificamente o trfego gerado por servios de mensagens.

Baixe em: http://www.effetech.com/msn-sniffer/

Frum do Episdio 4

Episdio 5: 12h00 s 15h00 Seleo de Sniffers


Neste quinto episdio veremos uma srie de analisadores de pacotes (sniffers). Dentro do possvel teste quantos puder e procure perceber as diferenas entre eles, porque os meus comentrios no substituem a realidade da experincia pessoal no uso do programa. . Cain & Abel (http://www.oxid.it/index.html) Mais conhecido como Cain este um dos programas hacker mais antigos da Internet. Por ser antigo comum pensarem se tratar de uma ferramenta ultrapassada. Isto no representa a verdade, pois os desenvolvedores esto sempre trabalhando em melhorias no Cain. Atualmente h suporte para captura de senha do Windows Live Mail (se que algum usa isso) do Windows 7, terminal server do Windows 2008 entre outros recursos atuais e interessantes. O Cain uma multiferramenta. Captura senhas em cache, faz cracking de senhas

e tambm um sniffer. No vdeo abaixo voc acompanha o uso do Cain como sniffer. Repare os procedimentos padro para este tipo de programa: - selecionar interface (placa de rede) - selecionar captura (filtros) - iniciar captura - encerrar captura http://www.youtube.com/watch?v=Iz1ztJYHqrM . DSniff (http://www.monkey.org/~dugsong/dsniff/) O DSniff uma ferramenta de captura diferenciada, pois permite diversos tipos de ataques hacker e pen test, deixando a funo exclusiva de captura de pacotes quase como um detalhe. Este Desafio no vai detalhar as formas de ataque do DSNiff que no nosso objetivo. Deixaremos para faz-lo ou na sala dos Grupos de Estudo (GE), ou na sala do Grupo de Estudo de Tcnicas Hacker (GETH) e tambm no Top 100 Security Tools. Estes dois projetos (GETH e Top 100) esto meio parados por falta de doadores e colaboradores, mas no vamos desistir deles. Para experimentar o DSNiff recomendo inicialmente a leitura deste tutorial: http://tinyurl.com/2wh98xc * O DSniff uma ferramenta Linux. . EtherApe (http://sourceforge.net/projects/etherape/files/) O EtherApe outra ferramenta Linux com o diferencial de exibir o trfego da rede graficamente. Sua maior utilidade mostrar para o administrador da rede de uma forma bastante direta, qual ou quais mquinas esto consumindo banda. Isto pode ajudar a detectar mau uso, ataques, downloads ilegais, gargalos, vrus.

. Microsoft Network Monitor (http://tinyurl.com/cozr3b) Talvez vocs no saibam mas a Microsoft tambm tem um analisado de redes. S para no confundir, lembrem-se que os termos sniffer, analisador de redes, analisador de pacotes, farejador, capturador de pacotes, packet analyzer, packet sniffer, so nomes diferentes para o mesmo tipo de programa. O diferencial do sniffer da Microsoft que... ele da Microsoft, oras. Na prtica esperamos uma integrao maior com o sistema operacional e uma profundidade de captura maior que os softwares concorrentes. Afinal, os desenvolvedors da Microsoft tem acesso a informaes sobre o sistema operacional e as redes Windows que certamente no so passados para a concorrncia.

Tutorial feito pela Microsoft (em portugus): http://support.microsoft.com/kb/148942 . NGrep (http://ngrep.sourceforge.net/download.html) Este um sniffer similar ao tradicional Grep do Unix, com verso tambm para o Windows. Para quem pretende trabalhar profissionalmente com Linux vale a pena conhec-lo. Neste link tem um vdeo fcil de entender sobre como usar o NGrep: http://www.security-freak.net/tools/ngrep/ngrep.html Vale a pena reforar o fato de ser um sniffer em linha de comandos. Se voc iniciante fique longe do NGrep por enquanto. Exemplo de uso para capturar senhas de FTP: ngrep -wi -d any user|pass port 21 . NTop (http://www.ntop.org/)

Outro sniffer tradicional e bastante poderoso. Veja a descrio da Wikipdia: "O Ntop uma ferramenta para monitorar e gerenciar redes de computadores, alm de ter muitos recursos que demonstram tudo atravs de grficos e informaes detalhadas que permitem com que haja interao entre usurios tem suporte para rodar em vrios SO e monitora e gera relatrios sobre o trfego e suporte dos hosts por estes protocolos:TCP/UDP/ICMP, (R)ARP, IPX, DLC, DECnet, AppleTalk, Netbios, TCP/UDP. Ntop uma ferramenta de monitoramento e gerncia de rede para sistemas UNIX/Linux e Win32, e teve seu desenvolvimento e estudo na "University of Pisa", na Itlia. O NTop monitora e gera relatrios sobre o trfego e suporte dos hosts por estes protocolos: * TCP/UDP/ICMP; * (R)ARP; * IPX; * DLC; * Decnet; * AppleTalk; * Netbios; * TCP/UDP." Um tutorial completo e em portugus sobre como us-lo voc encontra aqui: http://tinyurl.com/2ejs7qg . Natas (http://tinyurl.com/33euych) O Natas um sniffer freeware para Windows. Ele foi includo porque voc pode ter acesso ao cdigo fonte em C++ e quem saber usar como inspirao para o seu prprio sniffer. . TCPDump Segundo o site www.vivaolinux.com.br, o tcpdump um dos mais, se no o mais "famoso" sniffer para sistemas GNU/Linux. Com ele podemos realizar anlises de redes e solucionar problemas. Sua utilizao simples e sem mistrios, bastando apenas ter os conhecimentos bsicos de redes TCP/IP. Esta dica apenas uma introduo deste sniffer, maiores informaes e documentao seu respeito podem ser encontradas em seu site oficial: http://www.tcpdump.org A instalao do tcpdump em sistemas Debian super simples, bastando executar o comando abaixo como super usurio (root): # apt-get install tcpdump Para iniciarmos a utilizao do tcpdump precisamos especificar a interface de

rede que queremos analisar com o parmetro -i seguido da interface desejada, por exemplo, se quisermos analisar todo o trfego que passa pela interface eth0, executaramos a seguinte linha de comando: # tcpdump -i eth0 Conexes de origem podem ser monitoradas utilizando o parmetro src host, um exemplo simples seria monitorarmos o trfego que vem de 192.168.0.9 para nosso computador, com o ip 192.168.0.2. A linha de comando ficaria da seguinte forma: # tcpdump -i eth0 src host 192.168.0.9 Se quisermos monitorar as conexes especificando um host de destino, poderamos faz-lo com o parmetro dst host, o exemplo abaixo mostra todo o trfego do host 192.168.0.2 com 192.168.0.1, no caso, 192.168.0.1 nosso gateway. # tcpdump -i eth0 dst host 192.168.0.1 Com tcpdump tambm podemos especificar excees com o parmetro not host, por exemplo, em nosso servidor queremos ver todo o trfego que se passa em sua interface, exceto o de 192.168.0.8, faramos da seguinte forma: # tcpdump -i eth0 not host 192.168.0.9 No tcpdump podemos tambm especificar portas de origem e destino com os comandos src port e dst port, um exemplo seria monitorarmos o trfego destinado porta 80 (http), para isso utilizaramos a linha de comandos abaixo e navegaramos em um site qualquer: # tcpdump -i eth0 dst port 80 Para verificarmos o trfego da porta de origem 32881 por exemplo, faramos da seguinte forma: # tcpdump -i eth0 src port 32881 Muitas opes avanadas podem ser obtidas com o tcpdump, essas so algumas opes bsicas, porm fundamentais para quem quer aprender sobre sniffers. Voc no precisa testar todos estes sniffers se no puder ou quiser. Nosso objetivo dar-lhe diferentes opes, com exibio do resultado na forma de grficos ou no e trabalhando em linha de comando ou com interface grfica. Experimentando e vendo os diferentes resultados voc vai formando a sua opinio e decidindo qual ou quais vai adotar como ferramentas hacker e de segurana para seu uso pessoal.

No frum abaixo conte-nos suas experincias e dificuldades com o uso destas ferramentas.

Frum do Episdio 5

Episdio 6: 15h00 s 18h00 CAPSA


Neste sexto episdio vamos experimentar o CAPSA, um software comercial (pago) ideal para anlise de grandes redes, como por exemplo de grandes empres ou laboratrios de faculdades.

Apesar da interface cheia de recursos, o uso idntico ao de outros sniffers: 1 - selecionar placa de rede 2 - selecionar as opes de captura (filtro) 3 - dar incio a captura 4 - fazer a anlise da captura (em tempo real ou anlise do arquivo) 5 - abrir ou salvar a captura 6 - encerrar a captura

Estes vdeos feitos pelo fabricante so suficientes para comear a usar o programa. Siga nossa orientao acima e mais o que ver no vdeo (mesmo que no entenda de ingls): MONITORANDO O TRFEGO http://www.colasoft.com/download/monitor_network_traffic_monitor.php MONITORAR E-MAIL http://www.colasoft.com/download/monitor_email_content.php AS 10 MQUINAS QUE MAIS CONSOMEM TRFEGO DA REDE http://www.colasoft.com/download/top_10_network_traffic_hosts.php PROTEO CONTRA O ATAQUE ARP POISONING http://www.colasoft.com/download/arp_flood_arp_spoofing_arp_poisoning_atta ck_solution_with_capsa.php

Use o frum para tirar suas dvidas sobre o CAPSA.

Frum do Episdio 6

Episdio 7: 18h00 s 21h00 Ethereal & Wireshark


O Wireshark a mais recente verso do Ethereal que mudou de nome. Este outro tradicional farejador de pacotes, fcil de usar e conta tambm com uma verso portable. Portable so programas que no precisam instalar para funcionar. Isto que dizer que o Wireshark portable pode ser levado a uma lan house, cybercaf, computadores de cursos, colgios e faculdades e l mesmo fazer a captura de pacotes. Para baixar o Wireshark acesse: http://www.superdownloads.com.br/download/188/ethereal/ Neste link uma srie de vdeos sobre como usar o Wireshark: http://www.superdownloads.com.br/download/86/ethereallinux/videos.html * Quem comprou o livro Curso de Hacker para Iniciantes tambm tem uma vdeoaula ensinando a usar o Wireshark. No link abaixo a verso portable (roda sem instalar):

http://www.baixaki.com.br/download/wireshark-portable.htm

Use o frum para tirar suas dvidas sobre o Wireshark.

Frum do Episdio 7

Episdio 8: 21h00 s 23h59 - FINAL Detectando e Protegendo a rede contra sniffers


Finalizando nosso treinamento sobre sniffer chegou o momento de respondermos duas perguntas: 1) Como proteger a rede contra ataque por sniffer? 2) Como saber se tem sniffer na rede? Comearemos respondendo a primeira questo: Para proteger a rede de ataques com sniffer primeiro preciso ter conhecimentos equivalentes ao de um administrador de redes, mesmo que voc no seja um. Proteger uma rede contra ataque por sniffer est fora do alcande do leigo ou do usurio iniciante. Se este no o seu caso, as orientaes abaixo sobre como proteger as redes de ataque sniffer, sero facilmente comprrendidas: - Limitao da Visibilidade do Trfego Limitar a visibilidade do trfego evitando que dados no pertinentes a determinada mquina estejam visveis a outras uma maneira simples e eficaz para diminuir a eficincia de um sniffer. O modo mais comum de implementar tal tcnica atravs da utilizao de hardware especializado (como switches), configuraes de redes onde haja separao entre as partes no relacionadas e utilizao de rotas bem implementadas. - Utilizao de Interfaces que no suportem Modo Promscuo A utilizao de interfaces em modo promscuo aumenta em muito o potencial de captao de um sniffer. Frente a isso, a utilizao de interfaces que no operem nesse modo consiste numa boa maneira de limitar a utilidade de potenciais sniffers na rede, a no ser que sejam utilizados em roteadores, por exemplo, onde a utilizao do modo promscuo no necessria. - Tunelamento e criptografia A soluo mais eficiente para o problema de acesso indevido a dados torn-los ilegveis ou invlidos para o atacante que os consiga capturar. Tal objetivo pode ser alcanado atravs da utilizao de protocolos e canais criptografados - como tunelamento e VPNs - e outras tcnicas de criptografia. importante lembrar que embora seja um meio eficiente de garantir o sigilo das informaes trafegadas, mesmo protocolos considerados seguros, se no bem implementados, podem ser quebrados com pouco ou nenhum esforo.

Protocolos como SSL (Secure Socket Layer) e SSH (Secure SHell) permitem o tunelamento de canais de comunicaes de modo que todo o trfego seja criptografado, e consistem em boas solues para a implementao de redes seguras. 2) Como saber se tem sniffer na rede? A utilizao de protocolos no criptografados ainda prtica comum. Embora existam alternativas e solues j h muito tempo disponveis, o custo de implementao e manuteno adicional que estes acarretam os tornam proibitivos para aplicaes em redes simples ou que tenham grande demanda de trfego. Mesmo em redes nas quais protocolos criptografados sejam utilizados e o trfego seja bem delimitado, ainda grande a quantidade de informaes que um atacante munido de um sniffer consegue capturar. A topologia da rede, a verso dos softwares em execuo, a carga e o nmero de usurios, alm de diversos outros dados tm um valor substancial na formulao de ataques sofisticados. A simples existncia de um sniffer no autorizado em qualquer ponto da rede um forte indcio de que esta est sob a mira de atacantes ou usurios mal intencionados, independentemente da qualidade e quantidade dos dados que estes possam capturar. Sendo assim, v-se a necessidade da utilizao de mtodos que detectem a presena de sniffers e a ocorrncia de incidentes em geral que sejam suspeitos. Sniffers so em geral agentes passivos. Em outras palavras, eles raramente interferem no funcionamento da rede. Um sniffer ideal (no sentido de ser invisvel aos usurios da rede) no injeta pacotes na rede, no responde a qualquer tipo de requisio e no precisa sequer ter um endereo da rede. Um exemplo de tal sniffer seria um dispositivo eletrnico qualquer capaz de capturar o trfego diretamente do meio de transmisso sem a necessidade de pertencer formalmente rede, trabalhando de maneira totalmente passiva. Detectar tal dispositivo seria uma tarefa de extrema dificuldade. Felizmente, sniffers ideais como o citado acima so muito raros e, na prtica, a principal caracterstica visvel de um sniffer uma interface em modo promscuo sem o aval do administrador da rede. essa a caracterstica geralmente procurada por um detector de sniffers. Entre as diversas tcnicas e ferramentas existentes para o cumprimento de tal tarefa, podemos destacar as relacionadas abaixo. Detectores de Intruso Os detectores de intruso (Intrusion Detection Systems - IDS), tanto os destinados redes (Network Intrusion Detection Systems - NIDS) como os destinados a uma nica mquina (Host Based Intrusion Detection Systems) so caracterizados pela anlise de trfego e informaes que evidenciem tentativas ou ocorrncias de ataques, atuando como espcies de alarmes. IDSs so itens indispensveis a redes nas quais haja um srio comprometimento com a questo da segurana.

Um detector de sniffers pode ser considerado uma espcie de NIDS (ou uma extenso destes), embora seu funcionamento e implementao, de um modo geral, sejam bastante diferentes. Deteco Local Na deteco local, o administrador do sistema precisa procurar por caractersticas de sniffers diretamente em cada mquina conectada rede, sendo a principal delas a configurao da interface em modo promscuo e certos processos em execuo. Uma alternativa verificao manual um servio que fique em execuo[*] em cada mquina disparando um alarme quando alguma interface entrar em modo promscuo ou trfego de rede no endereado mquina em questo for recebido pelas camadas superiores da pilha de rede. Apesar de ser um mtodo determinstico, a deteco local tem srias desvantagens: * Difcil implantao: necessria a interveno pessoal do administrador, ou de um software. A utilizao de mtodos de deteco local torna-se difcil em redes de grande extenso ou heterogneas. Alm disso, mquinas que no faam oficialmente parte da rede no seriam verificadas. * No confiabilidade: o principal fator que reduz a confiabilidade de testes locais o possvel comprometimento da segurana da mquina invadida. Uma vez que tenha obtido privilgios de administrador na mquina, o atacante pode utilizar-se de vrios artifcios para camuflar as respostas do sistema. Exemplos de tais artifcios so a substituio de utilitrios do sistema, mdulos e drivers do sistema operacional. Deteco Remota A deteco remota consiste na anlise do trfego da rede procura de "assinaturas" tpicas de sniffers ou de interfaces em modo promscuo. Tais assinaturas possuem caractersticas decorrentes de peculiaridades do sistema operacional, do software em execuo ou mesmo do hardware. Cabe a um detector o papel de explorar essas peculiaridades, muitas vezes enviando trfego que dispare um determinado comportamento na mquina remota. Dentre essas caractersticas, uma possvel classificao dos testes remotos a de ativos e passivos, no sentido de alterarem ou no o estado da rede atravs da injeo de pacotes. Dado que sniffers so geralmente programas executados a partir de mquinas de uso geral e assumindo que tais mquinas tm uma implementao de uma pilha TCP/IP e outros protocolos e servios disponveis rede, pode-se desenvolver testes remotos que explorem suas caractersticas. Como a definio do comportamento de uma pilha TCP/IP bastante flexvel e no aborda todas as combinaes possveis de pacotes e opes (flags), ela implementada de inmeras maneiras diferentes. possvel, por exemplo, a deteco da verso do sistema operacional e diversas outras caractersticas de uma mquina atravs de uma tcnica conhecida como "TCP/IP Fingerprinting", atravs da qual so analisadas respostas a determinados tipos de requisies e reaes a comportamentos inesperados.

A maioria dos testes remotos baseiam-se na explorao de caractersticas de determinadas implementaes da pilha TCP/IP e do prprio driver de rede, especialmente as mais comuns em sistemas operacionais atuais. Algumas formas de detectar sniffer na rede: - Requisio ICMP com Falso Endereo Fsico Um dos testes de deteco remota mais conhecidos consiste no envio de um pacote do tipo ICMP ECHO REQUEST utilizando um endereo destino de hardware adulterado de modo a no ser normalmente aceito pela mquina suspeita, a no ser que esta se encontre em modo promscuo. Uma resposta a esse tipo de requisio indica que a mquina testada est recebendo trfego atravs de uma interface de rede em modo promscuo. Excluindo-se o endereo de broadcast e os endereos de multicast configurados para serem aceitos, uma interface de rede trabalhando em modo normal s deveria aceitar quadros enviados com seu prprio endereo de hardware no campo de destino. Uma interface trabalhando em modo promscuo passa todo quadro recebido s camadas superiores da pilha de rede. Por questes de modularidade e eficincia, tais camadas fazem poucas verificaes nos endereos de hardware dos quadros repassados. enviando pacotes com endereos de hardware vlidos dentro destas verificaes, porm fora do conjunto de endereos normalmente aceitos pela interface (broadcast, multicast e o prprio endereo da interface) que se faz possvel a realizao deste teste. Este teste tambm pode funcionar em algumas redes comutadas, uma vez que existem switches que ao receberem pela primeira vez um pacote com endereo desconhecido o repassam a todos os segmentos da rede. Embora comumente se utilizem pacotes do protocolo ICMP para a realizao deste teste, este tambm pode ser implementado utilizando-se outros protocolos, como HTTP ou FTP. No restante deste trabalho referimo-nos ao teste de requisies de ICMP com falso endereo fsico simplesmente como teste ICMP. - Requisio ARP com Falso Endereo Fsico De forma similar ao teste visto anteriormente, este teste utiliza-se de requisies do protocolo ARP (Address Resolution Protocol), que o protocolo utilizado para converter endereos IP para endereos fsicos em redes Ethernet. Neste teste, feita uma requisio com endereo fsico de destino invlido e aguardase uma resposta por parte da mquina suspeita. Explorando a pouca variao nas implementaes do sistema de resoluo de endereos de determinados sistemas operacionais - at mesmo devida simplicidade deste protocolo -, este teste mostra-se com um escopo bastante amplo, funcionando, por exemplo, na deteco de mquinas com ambientes Windows, Linux e BSD. Mquinas geralmente possuem cache de ARP, tornando possvel usar uma

variao deste teste enviando anncios ARP com endereo de hardware invlido no intuito de que mquinas com interfaces em modo promscuo guardem no cache a tupla <IP, endereo fsico> recebida atravs desses anncios invlidos. Nesse cenrio feita uma requisio qualquer em modo broadcast na rede (como uma requisio de ECHO ICMP) e aguarda-se que alguma mquina (ou mquinas) responda a tal requisio sem fazer uma consulta ARP, o que indicaria a presena de uma interface atuando em modo promscuo. Um cuidado deve ser tomado com a ocorrncia de falsos positivos, uma vez que se houver trfego legtimo entre as duas mquinas, estas eventualmente precisaro trocar requisies e respostas ARP. Como no possvel identificar a partir de qual requisio veio uma determinada resposta, o teste pode erroneamente reportar que a mquina est em modo promscuo. - DNS Reverso Para um atacante ou at mesmo um administrador, muito mais fcil verificar os dados coletados por um sniffer analisando nomes de host ao invs de confusos endereos IP. principalmente por causa desta razo que muitos sniffers optam por trocar os endereos IP coletados por nomes de host utilizando a funcionalidade de resoluo reversa de nomes do DNS. Tendo acesso fsico ao caminho de rede entre uma mquina suspeita e o servidor de nomes utilizado por ela, possvel arquitetar um teste de deteco remota que descubra um sniffer atravs da verificao da utilizao desta funcionalidade (resoluo reversa) por parte do sniffer. Para isso, simulada uma conexo entre uma mquina interna e outra externa rede testada, com o detalhe de que o endereo IP da mquina externa escolhido de forma absurda, ou seja, ou ele simplesmente no existe alocado a algum domnio ou um endereo cuja probabilidade de utilizao pelas mquinas da rede testada seja quase nula. A partir disto, espera-se que alguma mquina pertencente ao segmento de rede em que a conexo foi simulada tente acessar o servidor DNS em busca de informaes sobre este endereo falso. O endereo IP utilizado deve ser escolhido com cautela. Este no deve ser comum rede testada, uma vez que requisies de resoluo legtimas geradas pelas mquinas testadas poderiam criar falsos positivos. Alm disso, o trfego simulado deve utilizar um protocolo que seja interessante ao sniffer procurado, evitando ser descartado por um filtro. Um detalhe a ser considerado nesse teste que ele pode deixar de detectar sniffers aps um determinado nmero de execues. Isso se d devido ao fato de que o sniffer pode "desistir" de tentar resolver o endereo IP aps um determinado nmero de tentativas[*]. Uma vez que o sniffer pode ficar em execuo por um longo perodo de tempo, recomenda-se que o teste seja feito com endereos IPs diferentes entre execues consecutivas. No restante deste trabalho referimo-nos ao teste de requisies de DNS reverso simplesmente como teste DNS. - Latncia Um sniffer pode consumir recursos computacionais considerveis de uma mquina para fazer coleta e anlise de trfego. Se a interface estiver em modo

promscuo e a quantidade de trfego for substancialmente grande, a responsividade da mquina pode diminuir de forma perceptvel. Uma maneira no determinstica mas eficiente de detectar-se a presena de sniffers atravs da medida de variao de tal responsividade. O objetivo do teste de latncia gerar uma condio de negao de servio (Denial of Service - DoS) na mquina alvo atravs da utilizao de algum tipo de trfego que sobrecarregue apenas mquinas que estejam com um sniffer em execuo. A escolha de tal trfego deve levar em conta inmeras variveis do sistema operacional, do equipamento utilizado e do sniffer em execuo. Esse teste pode ser feito atravs da medida do tempo de resposta e do nmero de requisies respondidas com a utilizao de requisies ECHO do protocolo ICMP ou atravs da mensurao da responsividade de qualquer servio em execuo na mquina suspeita. Como insere uma grande quantidade de trfego na rede, ele deve ser utilizado com muito cuidado, pois pode interferir no desempenho e funcionamento de servios daquela. Essa caracterstica faz com que sua utilizao seja mais adequada quando j existe a suspeita da execuo de um sniffer em alguma mquina. Esse teste deve ser ajustado para a rede em questo e seus resultados analisados com cautela, uma vez que so subjetivos e no determinsticos. A implementao do servio usado para medio, a situao da rede no momento e vrios outros fatores podem afetar o tempo de resposta mensurado. importante levar em conta a capacidade de processamento tanto da mquina alvo como da mquina geradora da inundao. Enquanto que a tarefa de gerao de pacotes pode consumir uma substancial quantidade de recursos da mquina, se o alvo tiver grande capaciade de processamento a inundao pode no ter o efeito esperado para este teste. Alm disso, a capacidade da rede deve ser levada em considerao, pois se esta no for capaz de suportar a quantidade de trfego necessria, a inundao no ter o efeito desejado. - Armadilha (Honey Pot) O uso de armadilhas uma tcnica amplamente usada na deteco e estudo de ataques de diversos tipos. Uma armadilha, comumente chamada de "Honey Pot", consiste na utilizao de ``iscas'' - geralmente mquinas em ambientes bem controlados - para serem invadidas e exploradas por atacantes. A partir das informaes coletadas em tais ambientes possvel conhecer melhor o atacante, suas tcnicas e em muitos casos chegar sua identificao. No caso da deteco de sniffers, pode-se fornecer falsas senhas e informaes atravs de conexes forjadas e ento monitorar seu uso na rede, podendo ser utilizados quaisquer protocolos que venham causar interesse a um atacante. O exemplo mais comum o uso de contas de e-mail (POP/IMAP) cuja autenticao seja feita em texto claro. Uma possvel implementao pode agir como um sniffer procurando pelo uso dos dados falsos ou expandir a armadilha a outros nveis, criando falsos ambientes tambm para os servios cujas informaes falsas foram disponibilizadas.

A utilizao deste tipo de tcnica bastante eficiente pois pode conseguir detectar at mesmo um sniffer totalmente passivo, alm de se mostrar muito til no estudo de hbitos do atacante. Seu grande problema que a resposta para o teste pode demorar consideravelmente e sua implantao pode exigir alteraes nos servios da rede. Alguns exemplos destas alteraes podem ser a implantao de servios de rede que sejam passivos atuao dos atacantes e a simulao de ambientes corporativos que atraiam a ateno e previnam a desconfiana por parte dos atacantes. - Deteco de Inundao de Respostas ARP Sniffers em redes comutadas geralmente se fazem passar por outra mquina para receber o trfego e fazer seu roteamento. Para isso, uma das tcnicas freqentemente empregadas consiste no envio de anncios ARP em excesso para enganar outras mquinas da rede. Tal excesso, comumente chamado de inundao (flooding), constitui uma evidncia de um sniffer ou atacante em atuao. Para a implementao de tal teste de maneira confivel, necessria a definio de um limiar a partir do qual o nmero de anncios considerado excessivo. Este deve ser ajustado conforme as caractersticas da rede e dos sniffers em questo. Fonte: http://www.ademar.org

Você também pode gostar