Análise Passiva: Analisando seu tráfego de maneira segura

Neste artigo vamos falar sobre análise passiva. Veremos alguns cases simples de utilização dessa técnica, que pode ser extremamente extensível e também, demonstrar como é "inseguro" usar serviços que não utilizam criptografia, como o telnet e o FTP por exemplo.

[ Hits: 60.973 ]

Por: Anderson L Tamborim em 18/05/2004 | Blog: http://y2h4ck.wordpress.com


Uma análise simples



Primeiro Case: Analisando tráfego anormal em sua rede.

Bom, vamos levar em consideração um modus operadis de um atacante mediano. Ele ganhou acesso a nossa máquina e está utilizando nossa máquina como plataforma para outros ataques.

Um belo dia você está logado na sua máquina e listando as conexões com um "netstat -na". Você vê uma conexão saindo de sua máquina na porta 23 (telnet), porém nenhum usuário seu utiliza essa porta.

Como sabemos, o telnet não usa criptografia, por isso devemos utilizar SSH, a falta de criptografia faz do telnet um alvo fácil à uma análise simples.

Vamos nesse case utilizar o asctcpdump e o tcpdump. Digo os dois porque o asctcpdump é um front-end para o tcpdump. Como o nome sugere, ele transforma saídas do tcpdump em ASCII para que nós, pobres mortais, possamos entender o que se passa no meio daqueles números matriciais ;)

O asctcpdump é muito fácil de usar e você encontrará rapidamente a melhor forma utilizá-lo. Vou mostrar uma bem simples que resolverá nosso caso.

Em nosso tty de análise, rodaremos o asctcpdump dessa maneira:

$ asctcpdump -x -v -i ppp0 -s 1500

Isso seria suficiente para ele capturar todo o tráfego que chega na interface ppp0, o parâmetro "-s 1500" é o tamanho em bytes do que ele irá analisar, esse número é bom para pegarmos arquivos que entram e saem da nossa rede também.

Suponhamos que queremos apenas analisar o tráfego FTP que entra ou sai do nosso servidor. Para tanto, vamos setar a porta que desejamos analisar com o parâmetro <PORT>, então nosso esquema ficará assim:

$ asctcpdump -x -v -i ppp0 -s 1500 port 21
tcpdump: listening on ppp0

Agora, em outro terminal vamos acessar uma sessão ftp normalmente:

$ ftp rootsec.com
Connected to rootsec.com.
220 FTP Server ready.
Name (rootsec.com:root): admin
331 Password required for admin.
Password: ******
230 User admin logged in.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> bye
221 Goodbye.

Agora vamos ver no nosso terminal que o ASCtcpdump estava rodando o que ele analisou:

986:3945129986(0) win 5808 <mss 1452,sackOK,timestamp 645581 0,nop,wscale 1> (DF) (ttl 64, id 12751, len 60)
        4500 003c 31cf 4000 4006 b6f3 c900 0a77      E..<1.@.@......w
        c891 b5f0 8077 0015 eb25 e802 0000 0000      .....w...%......
        a002 16b0 b1d8 0000 0204 05ac 0402 080a      ................
        0009 d9cd 0000 0000 0103 0301                ............
ack 1 win 5792 <nop,nop,timestamp 15795897 645597> (DF) (ttl 53, id 49721, len 75)
        4500 004b c239 4000 3506 317a c891 b5f0      E..K.9@.5.1z....
        c900 0a77 0015 8077 c236 c480 eb25 e803      ...w...w.6...%..
        8018 16a0 0b97 0000 0101 080a 00f1 06b9      ................
        0009 d9dd 3232 3020 4654 5020 5365 7276      ....220 FTP Serv
        6572 2072 6561 6479 2e0d 0a                  er ready...
ack 24 win 2904 <nop,nop,timestamp 645839 15795897> (DF) [tos 0x10]  (ttl 64, id 12754, len 64)
        4510 0040 31d2 4000 4006 b6dc c900 0a77      E..@1.@.@......w
        c891 b5f0 8077 0015 eb25 e803 c236 c497      .....w...%...6..
        8018 0b58 c663 0000 0101 080a 0009 dacf      ...X.c..........
        00f1 06b9 5553 4552 2061 646d 696e 0d0a      ....USER admin..
ack 13 win 5792 <nop,nop,timestamp 15796140 645839> (DF) (ttl 53, id 49723, len 86)
        4500 0056 c23b 4000 3506 316d c891 b5f0      E..V.;@.5.1m....
        c900 0a77 0015 8077 c236 c497 eb25 e80f      ...w...w.6...%..
        8018 16a0 498e 0000 0101 080a 00f1 07ac      ....I...........
        0009 dacf 3333 3120 5061 7373 776f 7264      ....331 Password
        2072 6571 7569 7265 6420 666f 7220 6164       required for ad
        6d69 6e2e 0d0a                               min...
ack 58 win 2904 <nop,nop,timestamp 646093 15796140> (DF) [tos 0x10]  (ttl 64, id 12756, len 69)
        4510 0045 31d4 4000 4006 b6d5 c900 0a77      E..E1.@.@......w
        c891 b5f0 8077 0015 eb25 e80f c236 c4b9      .....w...%...6..
        8018 0b58 635e 0000 0101 080a 0009 dbcd      ...Xc^..........
        00f1 07ac 5041 5353 206f 776e 616c 6c72      ....PASS Sad123r
        6f6f 740d 0a                                 oot..
ack 30 win 5792 <nop,nop,timestamp 15796396 646093> (DF) (ttl 53, id 49724, len 79)
        4500 004f c23c 4000 3506 3173 c891 b5f0      E..O.<@.5.1s....
        c900 0a77 0015 8077 c236 c4b9 eb25 e820      ...w...w.6...%.
        8018 16a0 457e 0000 0101 080a 00f1 08ac      ....E~..........
        0009 dbcd 3233 3020 5573 6572 2061 646d      ....230 User adm
        696e 206c 6f67 6765 6420 696e 2e0d 0a        in logged in...
...

Viu na saída ASCII que ele retornou? Pegamos a conexão completa do cliente ftp, com usuário: admin e senha: Sad123root.

Conseguimos pegar facilmente porque como sabemos, o tráfego FTP não é criptografado, o mesmo acontece com o telnet.

Da mesma maneira poderíamos ter deixado o tcpdump normal rodando. Iríamos pegar o tráfego do mesmo jeito, porém não iríamos entender a saída, por isso o asctcpdump é nosso amigo :-)

Existem meios de você logar tudo com o tcpdump normal e depois traduzir os logs com asctcpdump.

Vamos ver agora uma análise com o Ethereal.

Página anterior     Próxima página

Páginas do artigo
   1. O que vem a ser análise passiva?
   2. Uma análise simples
   3. Análise usando Ethereal
   4. Considerações
Outros artigos deste autor

Snort avançado: Projetando um perímetro seguro

PortSentry: Melhorando a segurança do seu Linux

Jails em SSH: Montando sistema de Shell Seguro

Segurança extrema com LIDS: novos recursos

SECtool - Análise Local para Linux

Leitura recomendada

Reaver - Testes de segurança em redes sem fio

Filtro de conteúdo e vírus: Slackware 10.2 + Squid + Dansguardian + Clamav

Sudoers 1.8.12 - Parte II - Manual

SSH Blindado - Protegendo o seu sistema de ataques SSH

Técnicas forenses para identificação da invasão e do invasor em sistemas Unix/Linux através do SSH (parte 2)

  
Comentários
[1] Comentário enviado por naoexistemais em 18/05/2004 - 04:00h

Posso falar uma coisa, esse é o melhor artigo que já vi na história da Comunidade Linux....(risos)

Parabens mesmo.

[2] Comentário enviado por jeffestanislau em 18/05/2004 - 09:52h

Ficou muito bom... simples e objetivo!!!
Parabéns!!!

[3] Comentário enviado por agk em 18/05/2004 - 15:26h

Parabéns ótimo artigo, realmente essas tcpdump e ethereal são muito úteis para descobrir o que está acontecendo na nossa rede, com alguns filtros e configurações você consegue pegar certinho o que quiser.

[4] Comentário enviado por viniciusr em 18/05/2004 - 17:24h

hmm
vc ta ajudando bastante a galera hein? de onde vc é?

[5] Comentário enviado por y2h4ck em 21/05/2004 - 10:27h

Obrigado a todos que leram meu artigo, espero que possa ter adicionado um poco ao conhecimento de cada um.

Continuem Lendo e comentando.

Abraços a todos.

Spawn Locoust

[6] Comentário enviado por ryu em 07/06/2004 - 22:56h

isso ai... mais uma aula de rede do y2h4ck

[7] Comentário enviado por thiagoabb em 24/01/2005 - 19:03h

pra variar.... y2h4ck dando um show aki pra gente...

Abraço cara...

[8] Comentário enviado por removido em 16/05/2008 - 15:41h

excelente artigo cara!!! Ta de parabens... sou meio iniciante e estou com uma duvida... uso o kubuntu 7.10 aqui no meu notebook... tenho o tcpdump instalado... roda normalz... quando eu ponho o asctcpdump ele não acha o comando... naum sei como instalar essa ferramenta... se puder me ajudar cara... agradeço de mais!!! obrigado!!!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts