Monitoramento de MSN com imsniff
Neste artigo explicarei de forma simples e direta a instalação do imsniff, um sniffer de conversas de MSN Messenger.
Instalação e execução
Apesar do imsniff não ser atualizado desde setembro de 2005, funciona muito bem. Ressalto que este procedimento foi testado em Debian (Sarge e Etch), Fedora Core (2, 3 e 5) e Red Hat 9, sempre com duas interfaces de rede (uma para a Internet e outra para a rede interna).
O imsniff depende da instalação da libpcap:
# cd /usr/src
# wget http://www.tcpdump.org/release/libpcap-0.9.8.tar.gz
# tar xvzpf libpcap-0.9.8.tar.gz
# cd /usr/src/libpcap-0.9.8
# ./configure
# make
# make install
# ln -s /usr/local/lib/libpcap.a /usr/lib/libpcap.so.0.7
A instalação do imsniff é muito simples:
# mkdir /usr/src/imsniff
# cd /usr/src/imsniff
# wget http://ufpr.dl.sourceforge.net/sourceforge/im-snif/imsniff_0.04.tgz
# tar xvzpf imsniff_0.04.tgz
# cd /usr/src/imsniff/linux
# ./build
# mv imsniff /usr/local/bin
# mkdir -p /var/log/imsniff/conversation
# mkdir /var/www/msn
Para a inicialização e monitoramento do processo do imsniff utilizaremos o daemontools. Isto porque, em algumas instalações, o processo do imsniff "cai" sem explicação. Caso isto aconteça, será reiniciado automaticamente.
Para instalar o daemontools faça o seguinte:
# cd /usr/src
# wget http://cr.yp.to/daemontools/daemontools-0.76.tar.gz
# mkdir -p /package
# chmod 1755 /package
# cd /package
# tar xvzpf /usr/src/daemontools-0.76.tar.gz
# cd /package/admin/daemontools-0.76
# ./package/install
* NOTA: Caso retorne um erro do tipo "cannot stat `compile/svscan", antes de prosseguir com a instalação, edite o arquivo "/package/admin/daemontools-0.76/src/error.h" e altere a seguinte linha (provavelmente linha 6):
De:
extern int errno;
Para:
Repita a compilação:
# cd /package/admin/daemontools-0.76
# ./package/install
Criando os diretórios do supervise para o imsniff:
# mkdir -p /var/imsniff/supervise
# cd /var/imsniff/supervise
# mkdir imsniff
# chmod +t imsniff
Crie o arquivo "/var/imsniff/supervise/imsniff/run" com o seguinte conteúdo, adaptando ao seu servidor:
Acerte as permissões:
# chmod 751 /var/imsniff/supervise/imsniff/run
# ln -s /var/imsniff/supervise/imsniff /service
Com isto o imsniff já deverá estar rodando. Verifique com o comando "ps". Deverá retornar algo como abaixo:
# ps aux | grep imsniff
root 6649 0.0 0.0 1428 300 ? S 11:56 0:00 supervise imsniff
root 6657 0.0 0.2 2864 1100 ? S 11:56 0:00 /usr/local/bin/imsniff -cd /var/log/imsniff/conversation -dd /var/log/imsniff -vvv eth1
root 6727 0.0 0.1 2872 760 pts/1 S+ 12:04 0:00 grep imsniff
Como visto no script acima, todas as conversas estarão armazenadas no diretório "/var/log/imsniff/conversation". Dentro deste diretório serão criados sub-diretórios com os endereços de MSN capturados da rede. Dentro destes sub-diretórios estarão as conversas em arquivos texto com o nome de usuários remotos, como no exemplo abaixo:
# ls -la /var/log/imsniff/conversation/fulano\@hotmail.com/
total 20
drwx------ 2 root root 4096 2007-10-30 13:30 .
drwxr-xr-x 8 root root 4096 2007-10-30 13:38 ..
-rw-r--r-- 1 root root 1395 2007-10-30 13:39 amigo1@hotmail.com.log
-rw-r--r-- 1 root root 728 2007-10-30 13:38 events.log
-rw-r--r-- 1 root root 197 2007-10-30 13:31 amigo2@hotmail.com.log
Para verificar o conteúdo de uma conversa, um simples "cat" resolve. Ex.:
# cat /var/log/imsniff/conversation/fulano\@hotmail.com/amigo1@hotmail.com.log
O resultado deverá ser algo parecido com isto:
********************* CHAT START *************************
Tue Oct 30 13:40:55 2007 | amigo1@hotmail.com: ola! você esta monitorando nossa conversa?
Tue Oct 30 13:41:28 2007 | fulano@hotmail.com: sim... :-D
Tue Oct 30 13:42:21 2007 | amigo1@hotmail.com: ai... caiu a casa!
Naturalmente o formato visual para análise das conversas não é muito agradável. Neste caso pode-se criar algum script que transforme estas conversas em páginas HTML.
* NOTA: Caso deseje utilizar o monitoramento em ambiente empresarial, é altamente recomendável consultar o departamento jurídico para certificar-se da legalidade.
O imsniff depende da instalação da libpcap:
# cd /usr/src
# wget http://www.tcpdump.org/release/libpcap-0.9.8.tar.gz
# tar xvzpf libpcap-0.9.8.tar.gz
# cd /usr/src/libpcap-0.9.8
# ./configure
# make
# make install
# ln -s /usr/local/lib/libpcap.a /usr/lib/libpcap.so.0.7
A instalação do imsniff é muito simples:
# mkdir /usr/src/imsniff
# cd /usr/src/imsniff
# wget http://ufpr.dl.sourceforge.net/sourceforge/im-snif/imsniff_0.04.tgz
# tar xvzpf imsniff_0.04.tgz
# cd /usr/src/imsniff/linux
# ./build
# mv imsniff /usr/local/bin
# mkdir -p /var/log/imsniff/conversation
# mkdir /var/www/msn
Para a inicialização e monitoramento do processo do imsniff utilizaremos o daemontools. Isto porque, em algumas instalações, o processo do imsniff "cai" sem explicação. Caso isto aconteça, será reiniciado automaticamente.
Para instalar o daemontools faça o seguinte:
# cd /usr/src
# wget http://cr.yp.to/daemontools/daemontools-0.76.tar.gz
# mkdir -p /package
# chmod 1755 /package
# cd /package
# tar xvzpf /usr/src/daemontools-0.76.tar.gz
# cd /package/admin/daemontools-0.76
# ./package/install
* NOTA: Caso retorne um erro do tipo "cannot stat `compile/svscan", antes de prosseguir com a instalação, edite o arquivo "/package/admin/daemontools-0.76/src/error.h" e altere a seguinte linha (provavelmente linha 6):
De:
extern int errno;
Para:
#include <errno.h>
Repita a compilação:
# cd /package/admin/daemontools-0.76
# ./package/install
Criando os diretórios do supervise para o imsniff:
# mkdir -p /var/imsniff/supervise
# cd /var/imsniff/supervise
# mkdir imsniff
# chmod +t imsniff
Crie o arquivo "/var/imsniff/supervise/imsniff/run" com o seguinte conteúdo, adaptando ao seu servidor:
#!/bin/sh
# imsniff: sniffer de MSN Messenger
# Interface em que o imsniff irá "escutar"
INTERFACE='eth1' # Sempre a interface da rede interna (LAN)
# Diretório onde as conversas serão armazenadas
CONVERSAS='/var/log/imsniff/conversation'
# Diretório de logs
LOGS='/var/log/imsniff'
# Caminho para o executável
IMSNIFF='/usr/local/bin/imsniff'
# Comando para carga do imsniff
exec $IMSNIFF -cd $CONVERSAS -dd $LOGS -vvv $INTERFACE
# imsniff: sniffer de MSN Messenger
# Interface em que o imsniff irá "escutar"
INTERFACE='eth1' # Sempre a interface da rede interna (LAN)
# Diretório onde as conversas serão armazenadas
CONVERSAS='/var/log/imsniff/conversation'
# Diretório de logs
LOGS='/var/log/imsniff'
# Caminho para o executável
IMSNIFF='/usr/local/bin/imsniff'
# Comando para carga do imsniff
exec $IMSNIFF -cd $CONVERSAS -dd $LOGS -vvv $INTERFACE
Acerte as permissões:
# chmod 751 /var/imsniff/supervise/imsniff/run
# ln -s /var/imsniff/supervise/imsniff /service
Com isto o imsniff já deverá estar rodando. Verifique com o comando "ps". Deverá retornar algo como abaixo:
# ps aux | grep imsniff
root 6649 0.0 0.0 1428 300 ? S 11:56 0:00 supervise imsniff
root 6657 0.0 0.2 2864 1100 ? S 11:56 0:00 /usr/local/bin/imsniff -cd /var/log/imsniff/conversation -dd /var/log/imsniff -vvv eth1
root 6727 0.0 0.1 2872 760 pts/1 S+ 12:04 0:00 grep imsniff
Como visto no script acima, todas as conversas estarão armazenadas no diretório "/var/log/imsniff/conversation". Dentro deste diretório serão criados sub-diretórios com os endereços de MSN capturados da rede. Dentro destes sub-diretórios estarão as conversas em arquivos texto com o nome de usuários remotos, como no exemplo abaixo:
# ls -la /var/log/imsniff/conversation/fulano\@hotmail.com/
total 20
drwx------ 2 root root 4096 2007-10-30 13:30 .
drwxr-xr-x 8 root root 4096 2007-10-30 13:38 ..
-rw-r--r-- 1 root root 1395 2007-10-30 13:39 amigo1@hotmail.com.log
-rw-r--r-- 1 root root 728 2007-10-30 13:38 events.log
-rw-r--r-- 1 root root 197 2007-10-30 13:31 amigo2@hotmail.com.log
Para verificar o conteúdo de uma conversa, um simples "cat" resolve. Ex.:
# cat /var/log/imsniff/conversation/fulano\@hotmail.com/amigo1@hotmail.com.log
O resultado deverá ser algo parecido com isto:
********************* CHAT START *************************
Tue Oct 30 13:40:55 2007 | amigo1@hotmail.com: ola! você esta monitorando nossa conversa?
Tue Oct 30 13:41:28 2007 | fulano@hotmail.com: sim... :-D
Tue Oct 30 13:42:21 2007 | amigo1@hotmail.com: ai... caiu a casa!
Naturalmente o formato visual para análise das conversas não é muito agradável. Neste caso pode-se criar algum script que transforme estas conversas em páginas HTML.
* NOTA: Caso deseje utilizar o monitoramento em ambiente empresarial, é altamente recomendável consultar o departamento jurídico para certificar-se da legalidade.
Como fazer pra parar?