[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [OFF-TOPIC] Projeto Sniffer de email



2009/8/24 Ygor da Rocha Parreira <ygor@securitylabs.com.br>:
>
> Ola,
>
> Sem querer jogar um balde de agua fria no teu projeto, vou tentar passar o esquema de como eu faria isto hoje com ferramentas convencionais.
>
> # tcpdump -s 1514 -i ethX host IP.DO.MAIL.SERVER and port 110 -w out.pcap
>
> Todo software decente de análise de pacotes entende o formato pcap, logo, a análise disto a partir do arquivo gerado ficaria bem fácil.
>
> Depois analisaria a saida com o chaosreader.
>
> # ./chaosreader out.pcap
>
> - http://chaosreader.sourceforge.net/

Bom, essa é uma maneira manual de se fazer isso. Uma coisa é você ter
esse trabalho quando é necessário, outra é você ter algo que te provê
uma funcionalidade dessa vinte e quatro horas por dia, no caso em que
há algum interesse nisso.

Além disso, eu penso que salvar as mensagens em um banco de dados,
separar os campos mais pertinentes, fazer algum pré-processamento,
etc, é diferente de ter os dados simplesmente crus em arquivo. É
claro, você pode muito bem adicionar mais uma etapa nesse processo que
citou, fazendo um script que faça esse trabalho, mas daí já estamos
falando de um esforço quase correspondente ao meu, com o agravante de
necessitar de um processo manual de várias etapas sempre.

> Ele gera as saídas em HTML (Tai uma dica pra teu analisador web).

Meu problema não é remontar o fluxo TCP. Isso a bliblioteca Libnids
faz. A interface web terá disponível os dados prontos e organizados. O
nó é "renderizar" os emails, por assim dizer, porque afinal eles são
puro texto ASCII de 7 bits.

> De toda forma seria mais legal se vc fizesse um analisador de pacotes a partir de arquivos pcap (que qualquer sniffer hoje em dia gera arquivos pcap), dai vc grava as análises no banco, vc pode começar com e-mails e posteriormente extender isto pra outros protocolos. Já que você programa bem em C você vai ter facilidade de trabalhar com a libpcap.

Eu até gostaria de ter uma modularidade no programa, o que é sempre
ideal, o que não tenho hoje. Isso possibilitaria estender os
protocolos entendidos pelo programa, talvez sem muito re-trabalho ou
reescrita de código. Mas, considerando protocolo de email, só falta
IMAP, então o molho sairia mais caro que o peixe.

Além do mais, remontar o fluxo TCP de um dump bruto de pacotes não é
trivial, como pode parecer, nem muito entusiasmante. Prefiro continuar
usando a libnids. =)

É claro que algumas pessoas acharão a idéia do programa inútil, e
talvez realmente seja. Até há um tempo atrás, antes de surgir o
MSN-Proxy, via muita gente usando IMSniff para monitorar MSN dentro da
empresa. E o que ele faz também é tranquilamente substituível por esse
processo citado. Daí depende mais de uma questão de um sentimento
pessoal do que convém ou não usar para determinada tarefa. De qualquer
forma, acho que uma coisa não anula a outra.

Se, naturalmente surgir algum interesse nisso que justifque, gostaria
de levar adiante, mas não tenho nenhum compromisso.


Reply to: