http://olinux.uol.com.br/artigos/350/print_preview.html




         Sniffers - Parte II
         Por: Giovanni Nunes ( 10/07/2001 )




            Introdução

         No artigo passado, foi feita uma breve introdução sobre o que vem a ser sniffing , mostrando a teoria que há
         por trás e as potencialidades desta ferramenta (tanto para a administração de redes como para causar o caos
         nelas). Desta vez serei um pouco mais prático e falar sobre alguns programas de sniffing para GNU/Linux,
         aproveitar para simular um ataque e, claro, dar algumas dicas de proteção.

            Programas

         Como disse no artigo passado uma pesquisa rápida pela palavra "sniffer" mostra a abundância destas
         ferramentas tanto para GNU/Linux como também para outros sistemas. A tarefa de captura de pacotes, no
         mundo UNIX, é função da BPF (BSD Packet Filter), implementada principalmente nos BSD UNIX e da libpcap
         , nos demais. Esta biblioteca além de independente do sistema (leia: independente da forma com a qual o
         sistema operacional se relaciona com o dispositivo da rede) é compatível com a BPF.

         Tanto ela quanto o tcpdump (um dos programas mais conhecidos para sniffing em GNU/Linux) são mantidos
         pelo "The Tcpdump Group" . Oa tcpdump é basicamente um programa que, como próprio nome diz, exibe
         na tela (ou direciona para um arquivo) o resultado daquilo que trafega em uma determinada interface. Sua
         saída é algo como isto (só por curiosidade isto acima é uma sessão de SSH, porta TCP 22):

         22:38:48.827070 10.0.0.3.1023 > 10.0.0.1.22: F 3502340068:3502340068(0) ack 8033 57267
         win 16060 <nop,nop,(452954 2426575 > (DF) [tos 0x10]
         22:38:48.827203 10.0.0.1.22 > 10.0.0.3.1023: . ack 1 win 16060 >nop,nop,(2427891 452954
         > (DF) [tos 0x10]
         22:38:48.828988 10.0.0.1.22 > 10.0.0.3.1023: F 1:1(0) ack 1 win 16060 >nop,nop,(2427891
         452954 > (DF) [tos 0x10]
         22:38:48.829524 10.0.0.3.1023 > 10.0.0.1.22: . ack 2 win 16060 >nop,nop,(452954 2427891
         > (DF) [tos 0x10]
         22:38:51.253614 10.0.0.3.1022 > 10.0.0.1.22: S 3517906445:3517906445(0) win 16060 >mss
         1460,sackOK,(453196[|tcp] > (DF)
         22:38:51.254060 10.0.0.1.22 > 10.0.0.3.1022: S 928947415:928947415(0) ack351790 6446
         win 16060 >mss 1460,sackOK,(2428133[|tcp] > (DF)

         Para apenas ver o que está acontecendo na rede é ótimo mas muitas vezes apenas ver o que está
         trafegando na rede não é suficiente e a saída de um programa como o tcpdump pode parecer um pouco
         tediosa e chata após de um tempo de observação. Além de que tentar decodificar o que é um pedaço de
         arquivo, um trecho de uma mensagem fica bastante complicado.

         Por esta razão que quando se procura por algo é melhor usar um analisador de pacotes. Estes programas
         (muitas vezes com função de sniffing embutidada) que interpretam aquilo que foi, ou está sendo, capturado e
         coloca da mais compreensível para humanos. Um analisador que eu gosto de usar é o ethereal , mas
         existem outros (alguns comerciais) basta procurar.

         Apenas estes três programas já são mais do que suficientes para começar a fazer algumas experiências na
         sua rede. Sendo assim...




            Ataque

         Os protocolos mais vulneráveis a um ataque de sniffing são aqueles que transportam dados sem qualquer tipo




1 de 3                                                                                                         06-12-2009 12:42
http://olinux.uol.com.br/artigos/350/print_preview.html


         de codificação, isto é, você digita "pato" e as letras "p", "a", "t" e "o" vão trafegar pela rede até seu destino
         final. Incluem-se nesta categoria Telnet, rlogin, HTTP, SNMP, SMTP, NNTP, POP, FTP, IMAP e além de serviços
         como talk, finger, whois, etc...

         Sabendo disso pode-se, facilmente, simular um ataque de sniffing para exemplificar a vulnerabilidade de
         certas informações passando por eles. Assim montei uma rede de duas estações, ligadas por um cabo
         "cross-over" (um cabo de rede onde o Tx e o Rx de cada lado ligam-se, respectivamente, com o Rx e Tx do
         outro) para simplificar e para evitar a "poluição" gerada pelo tráfego de outros equipamentos.

         Deixei o ethereal capturando os pacotes da rede na estação 10.0.0.1 . Enquanto que na 10.0.0.3 me
         comportei como um tranquilo usuário que, desconhecendo o que está acontecendo em sua rede, fez algo
         simples: baixar um arquivo via FTP de sua conta. Após ter baixado o arquivo, voltei até a máquina que deixei
         a estação com o sniffer e fui conferir os resultados.

         A senha ("minhasenha") que usei para me conectar no FTP foi devidamente interpretada pelo programa. E
         usando a opção "Follow TCP Stream" do Ethereal pude recompor os pacotes TCP remontando a sessão:

         220 artemis FTP server (Version wu-2.6.0(1) Fri Oct 22 00:38:20 CDT 1999) ready.
         USER giovanni
         331 Password required for giovanni.
         PASS minhasenha
         230 User giovanni logged in.
         SYST
         215 UNIX Type: L8
         (...)
         221-You have transferred 5556 bytes in 1 files.
         221-Total traffic for this session was 12566 bytes in 2 transfers.
         221-Thank you for using the FTP service on artemis
         221 Goodbye.

         O resultado é que não só consegui obter a senha do usuário como pude recriar a sessão de FTP e saber de
         tudo o que ele fez, inclusive existem programas que fazem isto na rede! E a mesma coisa é válida para
         Telnet, HTTP, IRC, etc...

            Proteção

         Hardware

         Evitar que uma rede local seja atacada assim é querer mexer naquilo que a faz funcionar, então o máximo
         que podemos fazer é complicar e dificultar um pouco. A primeira idéia que vem em mente é tentar usar
         adaptadores de rede que não entram em modo promíscuo . Alguns fabricantes até afirmam que possuem
         produtos assim mas a verdade é que de acordo com as recomendações do PC99 da Intel/Microsoft o modo
         promíscuo é uma característica obrigatória.

         Assim, uma alternativa seria trocar a configuração da rede, substituíndo os hubs por switches . Mas porque?
         Ao contrário do hub , que é apenas uma emenda de barramento, o switch faz o papel de uma bridge , ou
         seja, ela faz uma ligação entre dois barramentos distintos, dividindo o tráfego da rede e deixando passar
         apenas o que realmente é para o outro lado.

         Um frame que é enviado da máquina A para a máquina B será bloqueado, mas um frame de A (ou de B )
         para C irá "atravessar a ponte" e chegar ao outro lado. Isto não impede o sniffing mas restringe o tráfego da
         rede para as partes onde ele é necessário. Com isto a quantidade de informação que pode ser adquiria pelo
         sniffing cai bastante.




         Software




2 de 3                                                                                                              06-12-2009 12:42
http://olinux.uol.com.br/artigos/350/print_preview.html



         Mas também podem ser usadas soluções em software, duas que podem ser facilmente implementadas na
         rede são:

                Secure Shell (SSH): Foi inicialmente desenvolvido pela empresa finlandesa SSH e acabou se
                transformando na ferramenta padrão para administração remota em máquinas UNIX, substituíndo
                completamente o Telnet . Hoje já existem versões open-source e freeware tando do cliente quanto
                no servidor. No SSH todo o tráfego é encriptado significando que mesmo alguém capture os pacotes
                não conseguirá ver nada.
                Virtual Private Network (VPN): É uma solução para fugir dos curiosos. Uma VPN é implementanda com
                uma rede ponto-a-ponto virtual (túnel) ligando dois pontos através de uma rede pública (geralmente
                a Internet). A vantagem da VPN é possuir encriptação nas pontas, isto é, tudo o que passa pela rede
                pública é devidamente encriptado.

         Além destas soluções outras podem ser implementadas (algumas não tão fáceis) como:

                Kerberos
                Secure Sockets Layer (SSL)
                PGP
                S/MIME
                SMB/CIFS
                Smart Cards
                Stanford SRP (Secure Remote Password)

            Conclusão:

         Com isto encerramos este artigo ficando para a última parte algo que, em teoria, é impossível: detecção de
         sniffing. Até a próxima semana e para os que querem se divertir um pouco:

                Appwatch , procurem por sniffing
                libpcap / tcpdump
                Ethereal




                                              Copyright (C) 1999-2000 Linux Solutions




3 de 3                                                                                                        06-12-2009 12:42

Mais conteúdo relacionado

PDF
(ACH2044) Sistemas Operacionais - Aula 01
PPS
Sniffers
DOCX
PPTX
XMPP - Extensible messaging and presence protocol
PDF
(ACH2044) Sistemas Operacionais - Aula 10
PDF
(ACH2044) Sistemas Operacionais - Aula 07
PDF
(ACH2044) Sistemas Operacionais - Aula 11
PDF
Sniffers Parte 3
(ACH2044) Sistemas Operacionais - Aula 01
Sniffers
XMPP - Extensible messaging and presence protocol
(ACH2044) Sistemas Operacionais - Aula 10
(ACH2044) Sistemas Operacionais - Aula 07
(ACH2044) Sistemas Operacionais - Aula 11
Sniffers Parte 3

Mais procurados (20)

ODP
Redes de computadores II - 2.Servicos de Camada de Rede IP
PDF
(ACH2044) Sistemas Operacionais - Aula 22
PDF
(ACH2044) Sistemas Operacionais - Aula 02
PDF
(ACH2044) Sistemas Operacionais - Aula 03
PDF
Interceptar palavras passes de páginas web em uma rede sem fios
ODP
Redes Avançadas - 1.Aspectos de Interconexão
PDF
DOCX
Impressoes apos 2 dias utilizando o ubuntu io t com raspberry pi
PDF
(ACH2044) Sistemas Operacionais - Aula 08
PDF
(ACH2044) Sistemas Operacionais - Aula 05
PDF
(ACH2044) Sistemas Operacionais - Aula 04
PDF
(ACH2044) Sistemas Operacionais - Aula 21
PDF
Compartilhando Internet Via Rádio entre m servidor linux e clientes windows
PDF
Redes prática - Inetd
PDF
(ACH2044) Sistemas Operacionais - Aula 12
DOCX
Firewall baseado em_pacotes
PDF
Instalando latex guia_rapido
PPT
I Workshop de Redes do Iespes
DOC
Apostila sobre montagem de redes
Redes de computadores II - 2.Servicos de Camada de Rede IP
(ACH2044) Sistemas Operacionais - Aula 22
(ACH2044) Sistemas Operacionais - Aula 02
(ACH2044) Sistemas Operacionais - Aula 03
Interceptar palavras passes de páginas web em uma rede sem fios
Redes Avançadas - 1.Aspectos de Interconexão
Impressoes apos 2 dias utilizando o ubuntu io t com raspberry pi
(ACH2044) Sistemas Operacionais - Aula 08
(ACH2044) Sistemas Operacionais - Aula 05
(ACH2044) Sistemas Operacionais - Aula 04
(ACH2044) Sistemas Operacionais - Aula 21
Compartilhando Internet Via Rádio entre m servidor linux e clientes windows
Redes prática - Inetd
(ACH2044) Sistemas Operacionais - Aula 12
Firewall baseado em_pacotes
Instalando latex guia_rapido
I Workshop de Redes do Iespes
Apostila sobre montagem de redes
Anúncio

Semelhante a Sniffers Parte 2 (20)

PDF
Sniffers Parte 1
PDF
Artigo Wireshark
PDF
Manual hacker
PDF
Artigo Rodolfho
PDF
Artigo Rodolfho
PDF
Artigo Rodolfho
PDF
Artigo Rodolfho
PDF
Ferramentas GPL para a segurança de Redes de Computadores - Vanderlei Pollon
PDF
Cynthia Artigo
PDF
Cynthia Artigo2
PDF
Analisando O Caminho Dos Pacotes No Wireshark Stalin
PDF
Ferramentas GPL para segurança de redes - Vanderlei Pollon
PDF
Artigo Wireshark
PDF
Artigo Atividade 1 Gredes
PDF
1º Artigo De GerêNcia De Redes
PDF
Software para redes
PDF
Artigo Analise De Redes Pelo Wireshark Igor
PDF
Análise de Tráfego da Rede Utilizando o Wireshark
PDF
Segurança e Forense em Redes de Computadores
PPTX
a Introdução a redes de computadores.pptx
Sniffers Parte 1
Artigo Wireshark
Manual hacker
Artigo Rodolfho
Artigo Rodolfho
Artigo Rodolfho
Artigo Rodolfho
Ferramentas GPL para a segurança de Redes de Computadores - Vanderlei Pollon
Cynthia Artigo
Cynthia Artigo2
Analisando O Caminho Dos Pacotes No Wireshark Stalin
Ferramentas GPL para segurança de redes - Vanderlei Pollon
Artigo Wireshark
Artigo Atividade 1 Gredes
1º Artigo De GerêNcia De Redes
Software para redes
Artigo Analise De Redes Pelo Wireshark Igor
Análise de Tráfego da Rede Utilizando o Wireshark
Segurança e Forense em Redes de Computadores
a Introdução a redes de computadores.pptx
Anúncio

Mais de Felipe Santos (20)

PDF
ConheçA O Apache 2.0 Parte 2
PDF
SegurançA BáSica Do Apache
PDF
Quero Slack! (Parte 3)
PDF
Quero Slack! (Parte 1)
PDF
Quero Arch! (Parte 2)
PDF
Quero Arch! (Parte 1)
PDF
Conceitos BáSicos Sobre SegurançA Parte 6
PDF
Conceitos BáSicos Sobre SegurançA Parte 4
PDF
Conceitos BáSicos Sobre SegurançA Parte 3
PDF
Conceitos BáSicos Sobre SegurançA Parte 2
PDF
Curso De Shell Aula 6
PDF
Curso De Shell Aula 5
PDF
Curso De Shell Aula 3
PDF
Curso De Shell Aula 1
PDF
Introdução ao Ssh
PDF
Block Hosts: Bloqueando Ataques De ForçA Bruta (Brute Force) Em Ftp, Ssh E Ou...
PDF
Acesso Remoto Para Principiantes
PDF
Curso De Algoritmo Aula 10
PDF
Curso De Algoritmo Aula 9
PDF
Curso De Algoritmo Aula 8
ConheçA O Apache 2.0 Parte 2
SegurançA BáSica Do Apache
Quero Slack! (Parte 3)
Quero Slack! (Parte 1)
Quero Arch! (Parte 2)
Quero Arch! (Parte 1)
Conceitos BáSicos Sobre SegurançA Parte 6
Conceitos BáSicos Sobre SegurançA Parte 4
Conceitos BáSicos Sobre SegurançA Parte 3
Conceitos BáSicos Sobre SegurançA Parte 2
Curso De Shell Aula 6
Curso De Shell Aula 5
Curso De Shell Aula 3
Curso De Shell Aula 1
Introdução ao Ssh
Block Hosts: Bloqueando Ataques De ForçA Bruta (Brute Force) Em Ftp, Ssh E Ou...
Acesso Remoto Para Principiantes
Curso De Algoritmo Aula 10
Curso De Algoritmo Aula 9
Curso De Algoritmo Aula 8

Sniffers Parte 2

  • 1. http://olinux.uol.com.br/artigos/350/print_preview.html Sniffers - Parte II Por: Giovanni Nunes ( 10/07/2001 ) Introdução No artigo passado, foi feita uma breve introdução sobre o que vem a ser sniffing , mostrando a teoria que há por trás e as potencialidades desta ferramenta (tanto para a administração de redes como para causar o caos nelas). Desta vez serei um pouco mais prático e falar sobre alguns programas de sniffing para GNU/Linux, aproveitar para simular um ataque e, claro, dar algumas dicas de proteção. Programas Como disse no artigo passado uma pesquisa rápida pela palavra "sniffer" mostra a abundância destas ferramentas tanto para GNU/Linux como também para outros sistemas. A tarefa de captura de pacotes, no mundo UNIX, é função da BPF (BSD Packet Filter), implementada principalmente nos BSD UNIX e da libpcap , nos demais. Esta biblioteca além de independente do sistema (leia: independente da forma com a qual o sistema operacional se relaciona com o dispositivo da rede) é compatível com a BPF. Tanto ela quanto o tcpdump (um dos programas mais conhecidos para sniffing em GNU/Linux) são mantidos pelo "The Tcpdump Group" . Oa tcpdump é basicamente um programa que, como próprio nome diz, exibe na tela (ou direciona para um arquivo) o resultado daquilo que trafega em uma determinada interface. Sua saída é algo como isto (só por curiosidade isto acima é uma sessão de SSH, porta TCP 22): 22:38:48.827070 10.0.0.3.1023 > 10.0.0.1.22: F 3502340068:3502340068(0) ack 8033 57267 win 16060 <nop,nop,(452954 2426575 > (DF) [tos 0x10] 22:38:48.827203 10.0.0.1.22 > 10.0.0.3.1023: . ack 1 win 16060 >nop,nop,(2427891 452954 > (DF) [tos 0x10] 22:38:48.828988 10.0.0.1.22 > 10.0.0.3.1023: F 1:1(0) ack 1 win 16060 >nop,nop,(2427891 452954 > (DF) [tos 0x10] 22:38:48.829524 10.0.0.3.1023 > 10.0.0.1.22: . ack 2 win 16060 >nop,nop,(452954 2427891 > (DF) [tos 0x10] 22:38:51.253614 10.0.0.3.1022 > 10.0.0.1.22: S 3517906445:3517906445(0) win 16060 >mss 1460,sackOK,(453196[|tcp] > (DF) 22:38:51.254060 10.0.0.1.22 > 10.0.0.3.1022: S 928947415:928947415(0) ack351790 6446 win 16060 >mss 1460,sackOK,(2428133[|tcp] > (DF) Para apenas ver o que está acontecendo na rede é ótimo mas muitas vezes apenas ver o que está trafegando na rede não é suficiente e a saída de um programa como o tcpdump pode parecer um pouco tediosa e chata após de um tempo de observação. Além de que tentar decodificar o que é um pedaço de arquivo, um trecho de uma mensagem fica bastante complicado. Por esta razão que quando se procura por algo é melhor usar um analisador de pacotes. Estes programas (muitas vezes com função de sniffing embutidada) que interpretam aquilo que foi, ou está sendo, capturado e coloca da mais compreensível para humanos. Um analisador que eu gosto de usar é o ethereal , mas existem outros (alguns comerciais) basta procurar. Apenas estes três programas já são mais do que suficientes para começar a fazer algumas experiências na sua rede. Sendo assim... Ataque Os protocolos mais vulneráveis a um ataque de sniffing são aqueles que transportam dados sem qualquer tipo 1 de 3 06-12-2009 12:42
  • 2. http://olinux.uol.com.br/artigos/350/print_preview.html de codificação, isto é, você digita "pato" e as letras "p", "a", "t" e "o" vão trafegar pela rede até seu destino final. Incluem-se nesta categoria Telnet, rlogin, HTTP, SNMP, SMTP, NNTP, POP, FTP, IMAP e além de serviços como talk, finger, whois, etc... Sabendo disso pode-se, facilmente, simular um ataque de sniffing para exemplificar a vulnerabilidade de certas informações passando por eles. Assim montei uma rede de duas estações, ligadas por um cabo "cross-over" (um cabo de rede onde o Tx e o Rx de cada lado ligam-se, respectivamente, com o Rx e Tx do outro) para simplificar e para evitar a "poluição" gerada pelo tráfego de outros equipamentos. Deixei o ethereal capturando os pacotes da rede na estação 10.0.0.1 . Enquanto que na 10.0.0.3 me comportei como um tranquilo usuário que, desconhecendo o que está acontecendo em sua rede, fez algo simples: baixar um arquivo via FTP de sua conta. Após ter baixado o arquivo, voltei até a máquina que deixei a estação com o sniffer e fui conferir os resultados. A senha ("minhasenha") que usei para me conectar no FTP foi devidamente interpretada pelo programa. E usando a opção "Follow TCP Stream" do Ethereal pude recompor os pacotes TCP remontando a sessão: 220 artemis FTP server (Version wu-2.6.0(1) Fri Oct 22 00:38:20 CDT 1999) ready. USER giovanni 331 Password required for giovanni. PASS minhasenha 230 User giovanni logged in. SYST 215 UNIX Type: L8 (...) 221-You have transferred 5556 bytes in 1 files. 221-Total traffic for this session was 12566 bytes in 2 transfers. 221-Thank you for using the FTP service on artemis 221 Goodbye. O resultado é que não só consegui obter a senha do usuário como pude recriar a sessão de FTP e saber de tudo o que ele fez, inclusive existem programas que fazem isto na rede! E a mesma coisa é válida para Telnet, HTTP, IRC, etc... Proteção Hardware Evitar que uma rede local seja atacada assim é querer mexer naquilo que a faz funcionar, então o máximo que podemos fazer é complicar e dificultar um pouco. A primeira idéia que vem em mente é tentar usar adaptadores de rede que não entram em modo promíscuo . Alguns fabricantes até afirmam que possuem produtos assim mas a verdade é que de acordo com as recomendações do PC99 da Intel/Microsoft o modo promíscuo é uma característica obrigatória. Assim, uma alternativa seria trocar a configuração da rede, substituíndo os hubs por switches . Mas porque? Ao contrário do hub , que é apenas uma emenda de barramento, o switch faz o papel de uma bridge , ou seja, ela faz uma ligação entre dois barramentos distintos, dividindo o tráfego da rede e deixando passar apenas o que realmente é para o outro lado. Um frame que é enviado da máquina A para a máquina B será bloqueado, mas um frame de A (ou de B ) para C irá "atravessar a ponte" e chegar ao outro lado. Isto não impede o sniffing mas restringe o tráfego da rede para as partes onde ele é necessário. Com isto a quantidade de informação que pode ser adquiria pelo sniffing cai bastante. Software 2 de 3 06-12-2009 12:42
  • 3. http://olinux.uol.com.br/artigos/350/print_preview.html Mas também podem ser usadas soluções em software, duas que podem ser facilmente implementadas na rede são: Secure Shell (SSH): Foi inicialmente desenvolvido pela empresa finlandesa SSH e acabou se transformando na ferramenta padrão para administração remota em máquinas UNIX, substituíndo completamente o Telnet . Hoje já existem versões open-source e freeware tando do cliente quanto no servidor. No SSH todo o tráfego é encriptado significando que mesmo alguém capture os pacotes não conseguirá ver nada. Virtual Private Network (VPN): É uma solução para fugir dos curiosos. Uma VPN é implementanda com uma rede ponto-a-ponto virtual (túnel) ligando dois pontos através de uma rede pública (geralmente a Internet). A vantagem da VPN é possuir encriptação nas pontas, isto é, tudo o que passa pela rede pública é devidamente encriptado. Além destas soluções outras podem ser implementadas (algumas não tão fáceis) como: Kerberos Secure Sockets Layer (SSL) PGP S/MIME SMB/CIFS Smart Cards Stanford SRP (Secure Remote Password) Conclusão: Com isto encerramos este artigo ficando para a última parte algo que, em teoria, é impossível: detecção de sniffing. Até a próxima semana e para os que querem se divertir um pouco: Appwatch , procurem por sniffing libpcap / tcpdump Ethereal Copyright (C) 1999-2000 Linux Solutions 3 de 3 06-12-2009 12:42