Ver Feed RSS

Coluna de Segurança

Wireshark - Parte 1 - Análise de Tráfego e Captura de Senhas

Avaliação: 6 votos, 4,83 média.

O Wireshark é uma ferramenta muito poderosa que vai muito além de um simples sniffer. O que muitos não sabem é que existem várias formas de se aproveitar o potencial desta ferramenta, mas neste primeiro artigo iremos iniciar do básico. Vamos aprender a sniffar a rede de forma efetiva, criar filtros para buscar apenas a informação que queremos, veremos como um
black hat utilizaria esta ferramenta para roubar senhas e para finalizar, como utilizar o Wireshark para diagnosticar problemas de rede ou se um firewall está bloqueando os pacotes corretamente.

Antes de iniciarmos com a prática, é necessário entender o conceito de sniffing. Sniffing, a um grosso modo, seria você ficar com os ouvidos atentos para ouvir qualquer coisa que seja dita ao seu alcance.

Atualmente, quase todos os ambientes utilizam switchs e não mais hubs, o que torna o sniffing um POUCO mais difícil, pois os switchs não enviam os dados para todas as portas como um hub faz, ele envia diretamente para a porta onde se encontra o host de destino; então, se você tentar sniffar uma rede com switch você irá apenas ouvir o que for broadcast, ou sua própria conexão. Para conseguir ouvir tudo sem ser o gateway da rede, é necessário um ataque de arp spoof, ou estourar a tabela CAM do switch. Mas isto será tema para um próximo artigo, sendo necessário entender este conceito.


Utilização Básica

Agora vamos por a mão na massa: estou assumindo que você já tem o programa instalado, se não tiver clique aqui. Ao iniciar o Wireshark, a tela apresentada será parecida com esta:

Nome:      tela inicial.jpg
Visitas:     47269
Tamanho:  90,0 KB


Antes de poder iniciar a captura dos pacotes, temos que definir em qual interface iremos “escutar” o tráfego. Clique em Capture->Interfaces

Nome:      definir interface.jpg
Visitas:     46846
Tamanho:  88,9 KB


A partir daí, irá aparecer uma nova janela com a lista de interfaces detectadas automaticamente, bastando selecionar a interface desejada, clicando na caixa ao lado do nome da interface, como na imagem abaixo:

Nome:      start.png
Visitas:     46432
Tamanho:  9,4 KB


Se você clicar em Start, ele iniciará a captura automaticamente. Você poderá apenas selecionar a interface e somente depois iniciar a captura caso seja necessário.

Quando o processo de captura iniciar, você verá vários pacotes passando pela tela do Wireshark (variando de acordo com o tráfego de sua máquina/rede). Será algo parecido com isto:

Nome:      inicio_cap.jpg
Visitas:     46977
Tamanho:  130,3 KB


Para parar a captura, basta clicar no botão “Stop the running live capture”, (é o quarto da esquerda para a direita).

Nome:      stop.jpg
Visitas:     46738
Tamanho:  132,3 KB


Tome cuidado se sua rede for muito movimentada, o fluxo de dados pode até travar sua máquina, então não é aconselhável deixar o Wireshark capturando por muito tempo; como veremos a seguir, vamos deixar ele rodando apenas durante o processo de debug de uma conexão. Quanto maior a quantidade de pacotes, maior será o tempo para aplicar um filtro, encontrar um pacote, etc.

Com isto temos o básico do programa, podemos definir a interface de captura, iniciar a captura e parar. O próximo passo é conseguir identificar o que interessa em meio a tantos pacotes. Para isto, vamos começar a utilizar filtros.


Utilizando Filtros

Existe uma infinidade de filtros possíveis, mas neste primeiro momento veremos apenas como filtrar por endereço IP, porta e protocolo.

Os filtros podem ser construídos clicando em “Filter”, em seguida selecionando o filtro desejado (existe uma pequena lista de filtros pré definidos), ou digitando diretamente na caixa de texto. Após criar seu filtro, basta clicar em “Apply”; caso você queria ver a lista inteira de pacotes novamente basta clicar em “Clear”, isto removerá o filtro previamente aplicado.

Nome:      filtros.jpg
Visitas:     46516
Tamanho:  116,9 KB


Vamos a uma pequena lista de filtros:

FILTRO
EXPLICAÇÃO
EXEMPLO
ip.addr
endereço IPv4 de destinou ou origem
ip.addr == 10.10.10.10
ip.dst
endereço de destino IPv4
ip.addr == 10.10.10.10
ip.src
endereço de origem IPv4
ip.src == 10.10.10.10
ip.proto
Protocolo IP (decimal)
ip.proto == 1
ipv6.addr
endereço IPv6 de origem ou destino
ipv6.addr == 2001 :: 5
ipv6.src
endereço IPv6 de origem
ipv6.addr == 2001 :: 5
ipv6.dst
endereço de destino IPv6
ipv6.dst == 2001 :: 5
tcp.port
porta TCP de destino ou origem
tcp.port == 20
tcp.dstport
porta TCP de destino
tcp.dstport == 80
tcp.srcport
porta TCP de origem
tcp.srcport == 60234
udp.port
porta UDP de destino ou origem
udp.port == 513
udp.dstport
porta UDP de destino
udp.dstport == 513
udp.srcport
porta UDP de origem
udp.srcport == 40000
icmp.type
Código do tipo ICMP (decimal)
icmp.type == 8


Também é possível agrupar os filtros, por exemplo:

Código :
ip.src == 10.10.10.1 && tcp.dstport==80 OU ip.src == 10.10.10.1 and tcp.dstport==80
Endereço de origem 10.10.10.1 e porta de destino 80



Capturando senhas

Agora veremos como é possível capturar senhas facilmente, apenas escutando o tráfego. Para este exemplo vamos utilizar o protocolo pop3, que envia os dados em texto puro pela rede. Para isso, inicie a captura de pacotes normalmente e inicie uma sessão pop3 com seu servidor de e-mail. Caso você utilize um protocolo mais seguro como imaps ou pop3s e queria apenas ver o funcionamento do mecanismo, é possível fazer a conexão pop3 via telnet sem ter que adicionar/modificar sua conta, bastando executar o seguinte:

Código :
telnet servidordemail.com.br 110
user [email protected]
pass suasenha

Agora pare a captura, e no filtro coloque “pop” e clique em “Apply”. Feito isso, você verá apenas os pacotes da conexão pop3. Agora clique em qualquer uma delas com o botão direito e clique em “Follow TCP Stream”.

Nome:      pop3.jpg
Visitas:     46535
Tamanho:  125,2 KB


Com isso ele irá abrir uma nova janela com todo conteúdo ASCII da conexão. Como o protocolo pop3 envia tudo em texto puro, é possível ver todos os comandos executados, inclusive a senha.

Nome:      senha.png
Visitas:     46209
Tamanho:  13,1 KB


Isto pode ser transportado para qualquer conexão em texto puro, como ftp, telnet, http, etc. Basta que você altere o filtro e examine o conteúdo da conexão.

Importando Capturas Externas

Normalmente em servidores, não existe ambiente gráfico instalado e com isso você não consegue utilizar o Wireshark diretamente. Caso você queria analisar o tráfego deste servidor e não seja possível instalar o Wireshark, ou ainda se você não tiver como capturar este tráfego de outro lugar, o melhor que se pode fazer é gravar o tráfego localmente com o tcpdump e em seguida, copiar este dump para uma máquina com o Wireshark para que seja feita uma análise mais detalhada.

Vamos capturar tudo que vier ou for para o host 10.10.10.1 com a porta de destino 80 e salvar o conteúdo no arquivo captura.pcap da pasta local onde o comando foi executado. Execute no servidor:

Código :
tcpdump -i eth0 host 10.10.10.1 and dst port 80 -w captura.pcap

Assim que terminar de capturar, basta utilizar o CTRL+C, copiar o arquivo para a máquina do Wireshark e importar a captura clicando em File->Import. Depois de importado, você pode utilizar o programa normalmente como se a capture tivesse ocorrido localmente.

Analisando Conexões

Outra forma de utilização interessante é para detectar problemas de conexões. Quando você tenta estabelecer uma conexão com um servidor e ocorre um erro, o que foi que ocorreu? A porta estava realmente fechada? O firewall bloqueou? A porta na verdade estava aberta mas não houve tráfego? Tudo isso é possível determinar analisando o tráfego.

Exemplo 1:

Conexão bem sucedida na porta 80

Nome:      exemplo1.jpg
Visitas:     46265
Tamanho:  79,5 KB


Nas três primeiras linhas é possível ver o three way handshake (veja o artigo Nmap Parte 1 - Entendendo os tipos de Scanning para saber mais) sendo completado normalmente; depois o pacote com a flag FIN e em seguida, o ACK reconhecendo o fim da conexão.

Observação: Os pacotes depois do handshake e antes do FIN foram removidos para não poluir a tela.

Exemplo 2:

Conexão falha, tentativa de se conectar a uma porta fechada

Nome:      exempl2.jpg
Visitas:     46204
Tamanho:  68,4 KB


Neste caso houve a tentativa de conexão na porta 3000 que não estava aberta, e a resposta da máquina foi RST.

Exemplo 3:

Conexão falha, tentativa de se conectar a uma porta fechada por firewall.

Nome:      exemplo3.jpg
Visitas:     46366
Tamanho:  81,9 KB


Neste caso, o host estava com a porta bloqueada via firewall; devido ao comportamento padrão do iptables descartar o pacote silenciosamente, não vemos nenhum pacote de retorno.

Estes exemplos poderiam ser diagnosticados com o próprio tcpdump para quem já conhece a ferramenta, mas o intuito era ilustrar e exemplificar o uso do Wireshark. Sendo assim, nos próximos artigos iremos aprofundar a utilização desta poderosa ferramenta.

Conclusão

Como foi visto o Wireshark é uma ferramenta poderosa, com muitas utilidades, que podem ser utilizadas tanto para o bem quanto para o mal. Para se proteger dos “caras maus” é necessário entender o que eles fazem, parte disto é conhecer a ferramenta tão bem quanto eles.


Quer saber algo em específico? Deixe sua sugestão nos comentários.
Categorias
Não Categorizado

Comentários

Página 2 de 2 PrimeiroPrimeiro 12
  1. Avatar de peritinaicos
    Bom amigo quando clica em Fallow TCP stream em algum pacote capturado entre minha placa e a RB aparece como abaixo, está criptografado?

    ..index...............index........A....2137432034 635156 roteros.dll 5.19
    1255410873 31006 advtool.dll 5.19
    442015559 35243 dhcp.dll 5.19
    2203997926 38355 hotspot.dll 5.19
    323352593 38558 mpls.dll 5.19
    3055802193 41792 ppp.dll 5.19
    1852347433 30896 rb.dll 5.19
    3438491163 5364T.7 roting4.dll 5.19
    3399490390 44170 secure.dll 5.19
    3892880027 4847 system.dll 5.19
    ...w.^..+......o{..&..4.....w..H..? 3...X..N.o...hvq..JE.q...F.Hv{.H#..".o....m....Y.c.....M.uHa..j.j.h.......a.....V.j...6....j..Ui.S...)u...r..=..S...g..,..{[email protected][email protected]........../\..!..9.......}.....Y...<q..._K..R...~gB..XH..v/R....x.]..^.C...lo..D...,U..(<D....$.As....s..~.C......8.9.f...........


    .....4,.p..+7..9...._....T......nco......QZ.(.5...x.Lc.B>K...`.....2.0.\...+._.}..M._......E...D..,WP.#i .......h<..|5.0+^.L.o.b..{ft.2.}..i....|..T..*.6:.....g.<.;.Z.T|.28..,.J..H.&.x.A$Z...7.K.T..9\.M....2.:..Q..7.!.|.....d.Q.*I..=.e.....K...<.P..a4l.1Y.8..^...`2..3"..Q....'.*{{....\.qj.e.Ql.}.p.(HE.8n..b.0......:d....d.
    ./.'....Y.......*..~..{..F.6P-;R..a^[email protected]].
    F...........B~....W.F.5id9.d.N.'...%@[email protected]!.2.<.n..!...H...?
    $d..+t....&YZ{n:qK.wr..l xD.F....Y--.af..sM..u.6.....=..q-....kWz.a...........B0.....j........mz..4..(X....g...jD-.*...w.j..Y...{FZ..P|...].w..FWxp....U5..)G.L..9Aja..%a....E.O.L.j....qU.:...A.^R.\."..H..tM.F..:>li....`......H...p....;.=....!.y..uH..s.t.._.....M..v.....,uk ..n......m....6.5.........w..<......-...[;.]{.n.....w......!^...e.....s:@.....Z}..zI!.5c&(UD.5..>lWJ....M.~..-..:....4......o...R.#..$KQ.....j'.u.F.=9..j.z...%......v...1..e.].c.7....!....x=.]....l..-..%.V...2oV8`.`...sv!,...U.-.....>......U..T.,s.X.+"l.{..!.W1......&.........A....Qz..e.f$...3..iU+....?&4.....G...z'.O7..^..|.PJ..e....b..k\.4v........)..I......n.!(<..8h..b.3;...../. ..\.H..;g......!.s...T.F1....5..4Y....0.t.[...
    ....y......|)Nrq...%-..Q.......M:... ........? ..6.9.@6. n...x.a....G...W...M.8UA.t...+....$....S.L#...7...c....li...?..#;x.K`.]a....9.._.2.?.b.....}%...Y.-cd+.h...4."
    .[..h.%._.....y+i..4......Bw.....6....+.[QxS..M.;w?yI.....n..g.n.....V.U..S)
    ....X
  2. Avatar de 1c3m4n
    Citação Postado originalmente por peritinaicos
    Bom amigo quando clica em Fallow TCP stream em algum pacote capturado entre minha placa e a RB aparece como abaixo, está criptografado?<q..._k..r...~gb..xh..v r....x.]..^.c...lo..d...,u..(<d....$.as....s..~.c......8.9.f...........
    Não da para ter certeza apenas olhando isso, PARECE, que sim. Se quiser capture o tráfego, salve o arquivo e me envie que dou uma olhada (Comece a captura antes de se autenticar).</q..._k..r...~gb..xh..v>
  3. Avatar de AondenetInformatica
    Quem não conhece tão bem o Wireshark, assim como eu vai ter uma oportunidade sem igual. Já li a parte 3. Por isso retornei à leitura do início. Excelente.
  4. Avatar de Stive
    ola bom dia!

    estou estudando o Wireshak, e gostaria de saber se ele pega senha de sistemas online tipo um sistema em php, e se tem como eu faz com que o sistema autentique na pagina se mostrar estes dados. Eu preciso escutar o ip da maquina ou especificar o site que quero que ele monitore.



    qualquer ajuda agradeço.
  5. Avatar de 1c3m4n
    Citação Postado originalmente por Stive
    ola bom dia!

    estou estudando o Wireshak, e gostaria de saber se ele pega senha de sistemas online tipo um sistema em php, e se tem como eu faz com que o sistema autentique na pagina se mostrar estes dados. Eu preciso escutar o ip da maquina ou especificar o site que quero que ele monitore.



    qualquer ajuda agradeço.
    Da para pegar a senha sim, tanto faz o filtro, página, IP,etc. De qualquer maneira a informação estará ali.
  6. Avatar de Francis Henrique
    Estou tentando monitorar paginas https(Facebook), porem elas são criptografadas... Vi algo sobre criar um certificado falso para isso, se procede essa informação. Você sabe como fazer?
  7. Avatar de Geberson
    Olá, boa noite!
    Tenho interesse de aprender sobre segurança e estou tentando capturar e ler os dados da minha rede wifi pessoal usando o Wireshark. Gostaria de pegar as mensagens do whatsApp que passarem pelo rot e ler o conteúdo. Isso é possível? Se sim, como fazer isso?
  8. Avatar de CarlosRobertom
    Olá amigos.

    Gostaria de tirar uma dúvida com vocês, mais entendidos do assunto...
    Bom, há pouco mais de 6 meses, a pedido de um cliente, passei a instalar cameras de segurança "CFTV". De lá pra cá, fiz 3 instalações residenciais, utilizando produtos da Intelbras. Surgiram várias dificuldades, mas não tive nenhum problema e as 3 instalaçoes deram certo, funcionaram blz.

    Bom, fui chamado para instalar cameras numa loja de um Shopping Center, onde eu não tinha acesso ao modem, que ficava na administração.

    Falei com o pessoal da informática, e eles me passaram as configurações para o DVR (IP, Máscara, Gateway, dns), liberaram 2 portas "http e serviço", configurei tudo como solicitado, mas não funcionou. Só acesso localmente, remotamente, sem chance...

    Falei com eles e eles "garantem" que as portas estão abertas e não há nada de errado da parte deles...

    Embora eu esteja começando, e minha experiencia com rede, etc sejá muito pequena, eu tenho noção do que eu precisava fazer e eu tenho certeza PLENA que eu configurei td certinho.

    Quando fui falar com o cara pela segunda vez, ele não estava lá, e outro me atendeu...

    Então, este outro, achou que eu era o proprietário da loja, e ap´[os eu explicar que não estava conseguindo acesso remoto, ele prontamente disse que poderia me indicar uma pessoa (Outro funcionário), que era muito bom em CFTV e poderia resolver meu problema, só que ele iria cobrar pela visita...

    Na hora aquilo me caiu como jogada deles...
    Ou seja, o cara vai lá, não faz p... nenhuma, avisa o administrador de rede, que libera alguma coisa, porta, firewall, sei lá, e eles ganham a grana e ganham o cliente...

    Fiquei p. da vida em imaginar que pode ser isso, pois passei horas lá dentro, tentando isso e aquilo...

    Bom, desculpe pessoal, mas eu gostaria de explicar minha estória, uma vez que eu ainda não tenho conhecimento suficiente sobre rede e não tive nenhum argumento com o cara sobre o não funcionamento do sistema...

    Minha dúvida é... Existe uma forma (talvez com este Wireshark), através da rede da loja, saber se essas 2 portas realmente estão abertas lá nos equipamentos da administração?

    Acho que assim eu teria como argumentar alguma coisa...

    Parabéns pelo site! Obrigado pela oportunidade, um abraço a todos.
  9. Avatar de bellonetom
    É possível acessar a rede wireless pelo kali linux em virtualbox sem rede usb?
  10. Avatar de samuelmonteiro1995
    nao estou conseguindo interceptar os pacotes provenientes de outros pc's da rede ou da rede wireles..
    podem me ajudar a configurar?
Página 2 de 2 PrimeiroPrimeiro 12

+ Enviar Comentário