Visite também: Viva o Linux · Dicas-L · NoticiasLinux · SoftwareLivre.org



» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha


[Artigo] Dsniff - Penetration Testing Tool

Linux user
andrezc
04/04/2010
Neste artigo conheceremos o Dsniff, que é como um canivete suíço quando o assunto é pentesting. Ele oferece uma coleção de ferramentas que é útil para testes de penetração e auditoria de rede.
[ Hits: 31665 ] Por: André

Introdução

O Dsniff é um canivete suíço do administrador de redes. Oferece uma coleção de ferramentas que é útil para testes de penetração e auditoria de rede.

No Dsniff podemos encontrar as seguintes ferramentas:
  • dsniff
  • filesnarf
  • mailsnarf
  • msgsnarf
  • urlsnarf
  • WebSpy

O Dsniff pode monitorar de forma rápida uma rede de dados, e-mail, senhas, arquivos etc. Podemos falar também sobre arpspoof, dnsspoof e macof para facilitar a interceptação de tráfego de rede normalmente indisponível para um atacante, isso devido à camada de comutação-2, por exemplo. sshmitm e webmitm para implementar monkey-in-the-middle contra SSH e sessões HTTPS redirecionadas, explorando fracas ligações ad-hoc em PKI, por exemplo.

Porque usar estas ferramentas

Protocolos de rede inseguros e suas implementações frequentemente não são corrigidos, o que deixa grande parte da Internet vulnerável a ataques e, obviamente, a ter seus dados e senhas roubadas. Várias entidades vem nos alertando sobre estes assuntos. Interceptação de conexões SSH, chaves PGP privadas e arquivos. Xauthority via NFS, sniffing em um ambiente comutado, explorando as relações de confiança baseado em DNS, monkey-in-the-middle contra SSH e HTTPS etc).

Pela frequência deste tipo de ataque devemos nos equipar com estas ferramentas, como por exemplo, o Dsniff. Desta forma o computador estará melhor equipado com as ferramentas para auditar suas próprias redes, antecipando-se ao atacante.

Plataformas suportadas

  • OpenBSD
  • FreeBSD
  • Linux
  • Solaris
  • AIX
  • HP-UX

Requisições


Como obter

Para usuários de distribuições Debian ou derivadas, a instalação pode ser feita por meio do comando apt-get:

# apt-get install dsniff

Linux: Dsniff - Penetration Testing Tool
Para quem usa outra distribuição ou prefere compilar diretamente a partir do código fonte, baixe o código de:
Após finalizado o download, abra o arquivo com o comando:

$ tar -vzxf dsniff-2.3.tar.gz

Será criado um diretório chamado dsniff-2.3, contendo os arquivos necessários para a instalação do Dsniff:

$ cd dsniff-2.3

Para instalar:

$ ./configure
$ make
# make install


Próxima página >>


Páginas do artigo
   1. Introdução
   2. O que nós temos em mãos
   3. Utilizando o Dsniff e o Urlsnarf

Outros artigos deste autor

Leitura recomendada

Comentários
[1] Comentário enviado por andrezc em 04/04/2010 - 21:09h:

P/ quem se interessar, no Viva o Linux tem um artigo falando sobre o MailSnaf, que esta incluído no pacote Dsniff.

http://www.vivaolinux.com.br/artigo/Capturando-emails-da-rede-com-Mailsnarf/

[2] Comentário enviado por pardalz em 05/04/2010 - 16:46h:

Legal, é claro que vale a pena testar
Belo artigo!

[3] Comentário enviado por franco em 05/04/2010 - 18:20h:

opa, amigo no meu fedora 9 está dano erro. segue abaixo.....


[root@fw dsniff-2.3]# ./configure
loading cache ./config.cache
checking for gcc... (cached) gcc
checking whether the C compiler (gcc ) works... yes
checking whether the C compiler (gcc ) is a cross-compiler... no
checking whether we are using GNU C... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for a BSD compatible install... (cached) /usr/bin/install -c
checking for ranlib... (cached) ranlib
checking how to run the C preprocessor... (cached) gcc -E
checking for X... (cached) libraries , headers
checking for dnet_ntoa in -ldnet... (cached) no
checking for dnet_ntoa in -ldnet_stub... (cached) no
checking for gethostbyname... (cached) yes
checking for connect... (cached) yes
checking for remove... (cached) yes
checking for shmat... (cached) yes
checking for IceConnectionNumber in -lICE... (cached) yes
checking for ANSI C header files... (cached) yes
checking for err.h... (cached) yes
checking for fcntl.h... (cached) yes
checking for sys/ioctl.h... (cached) yes
checking for sys/queue.h... (cached) yes
checking for unistd.h... (cached) yes
checking for libgen.h... (cached) yes
checking for net/if_tun.h... (cached) no
checking for MIN and MAX in sys/param.h... yes
checking for working const... (cached) yes
checking for size_t... (cached) yes
checking whether struct tm is in sys/time.h or time.h... (cached) time.h
checking for u_int32_t... (cached) yes
checking for u_int64_t... (cached) yes
checking for in_addr_t... (cached) no
checking whether gcc needs -traditional... (cached) no
checking for 8-bit clean memcmp... (cached) yes
checking return type of signal handlers... (cached) void
checking for strftime... (cached) yes
checking for gethostname... (cached) yes
checking for socket... (cached) yes
checking for strdup... (cached) yes
checking for strstr... (cached) yes
checking for xdr_fhstatus in -lrpcsvc... (cached) yes
checking for socket in -lsocket... (cached) no
checking for gethostbyname in -lnsl... (cached) yes
checking for dn_expand in -lresolv... (cached) yes
checking for dirname... (cached) yes
checking for strlcpy... (cached) no
checking for strlcat... (cached) no
checking for strsep... (cached) yes
checking for MD5Update... (cached) no
checking for warnx... (cached) yes
checking for ether_ntoa... (cached) yes
checking for Berkeley DB with 1.85 compatibility... yes
checking for libpcap... yes
checking for libnet... yes
checking for libnids... yes
checking whether libnids version is good... yes
checking for OpenSSL... yes
creating ./config.status
creating Makefile
creating config.h
[root@fw dsniff-2.3]# clear
[root@fw dsniff-2.3]# make
gcc -g -O2 -D_BSD_SOURCE -D_BSD_SOURCE -D__BSD_SOURCE -D__FAVOR_BSD -DHAVE_NET_ETHERNET_H -DDSNIFF_LIBDIR=\"/usr/local/lib/\" -I. -I/usr/local/include -I./missing -c ./arpspoof.c
./arpspoof.c: In function âarp_sendâ:
./arpspoof.c:49: warning: passing argument 1 of âlibnet_get_hwaddrâ from incompatible pointer type
./arpspoof.c:49: error: too many arguments to function âlibnet_get_hwaddrâ
./arpspoof.c:60: warning: passing argument 6 of âlibnet_build_ethernetâ from incompatible pointer type
./arpspoof.c:60: error: too few arguments to function âlibnet_build_ethernetâ
./arpspoof.c:64: error: âETH_Hâ undeclared (first use in this function)
./arpspoof.c:64: error: (Each undeclared identifier is reported only once
./arpspoof.c:64: error: for each function it appears in.)
./arpspoof.c:64: error: too few arguments to function âlibnet_build_arpâ
./arpspoof.c: In function âmainâ:
./arpspoof.c:181: warning: assignment makes pointer from integer without a cast
make: ** [arpspoof.o] Erro 1
[root@fw dsniff-2.3]#


[4] Comentário enviado por giulioxd em 05/04/2010 - 18:43h:

Legal

[5] Comentário enviado por andrezc em 05/04/2010 - 18:54h:

Meu caro amigo franco,

experimente usar :

# yum install dsniff

aos demais, obrigado pelos comentários, fico feliz que tenham gostado, meus amigos. Até o próximo.

[6] Comentário enviado por BlackMarik em 05/04/2010 - 19:51h:

Parabéns pelo artigo, muito informativo!

Parabens para a comunidade pelo novo site também

[]'s

[7] Comentário enviado por andrezc em 05/04/2010 - 20:24h:

Opa Cristiano, jóia ? Fico feliz que tenha gostado da leitura, até a próxima. Abraços.

[8] Comentário enviado por franco em 06/04/2010 - 09:45h:

Bom dia, está dando esse erro na instalação.....


[root@fw ~]# yum install dsniff
Plugins carregados: refresh-packagekit
Repository fedora is listed more than once in the configuration
Repository fedora-debuginfo is listed more than once in the configuration
Repository fedora-source is listed more than once in the configuration
epel | 2.1 kB 00:00
primary.sqlite.bz2 | 2.4 MB 00:07
Configurando o Processo de Instalação
Analisando argumentos da instalação de pacotes
Resolvendo Dependências
--> Executando verificação da transação
---> Pacote dsniff.i386 0:2.4-0.3.b1.el5 definido para ser atualizado
--> Processando Dependência: libpcap.so.0.9.4 para o pacote: dsniff
--> Processando Dependência: libdb-4.3.so para o pacote: dsniff
--> Processando Dependência: libssl.so.6 para o pacote: dsniff
--> Processando Dependência: libnids.so.1.23 para o pacote: dsniff
--> Processando Dependência: libcrypto.so.6 para o pacote: dsniff
--> Executando verificação da transação
---> Pacote compat-db.i386 0:4.5.20-5.fc9 definido para ser atualizado
---> Pacote dsniff.i386 0:2.4-0.3.b1.el5 definido para ser atualizado
--> Processando Dependência: libpcap.so.0.9.4 para o pacote: dsniff
--> Processando Dependência: libssl.so.6 para o pacote: dsniff
--> Processando Dependência: libnids.so.1.23 para o pacote: dsniff
--> Processando Dependência: libcrypto.so.6 para o pacote: dsniff
--> Resolução de Dependências Finalizada
dsniff-2.4-0.3.b1.el5.i386 a partir de epel tem problemas de resolução de dependências
--> Dependência Faltando: libcrypto.so.6 é requerido pelo pacote dsniff-2.4-0.3.b1.el5.i386 (epel)
dsniff-2.4-0.3.b1.el5.i386 a partir de epel tem problemas de resolução de dependências
--> Dependência Faltando: libssl.so.6 é requerido pelo pacote dsniff-2.4-0.3.b1.el5.i386 (epel)
dsniff-2.4-0.3.b1.el5.i386 a partir de epel tem problemas de resolução de dependências
--> Dependência Faltando: libnids.so.1.23 é requerido pelo pacote dsniff-2.4-0.3.b1.el5.i386 (epel)
dsniff-2.4-0.3.b1.el5.i386 a partir de epel tem problemas de resolução de dependências
--> Dependência Faltando: libpcap.so.0.9.4 é requerido pelo pacote dsniff-2.4-0.3.b1.el5.i386 (epel)
Error: Dependência Faltando: libpcap.so.0.9.4 é requerido pelo pacote dsniff-2.4-0.3.b1.el5.i386 (epel)
Error: Dependência Faltando: libnids.so.1.23 é requerido pelo pacote dsniff-2.4-0.3.b1.el5.i386 (epel)
Error: Dependência Faltando: libssl.so.6 é requerido pelo pacote dsniff-2.4-0.3.b1.el5.i386 (epel)
Error: Dependência Faltando: libcrypto.so.6 é requerido pelo pacote dsniff-2.4-0.3.b1.el5.i386 (epel)


[9] Comentário enviado por #essence. em 06/04/2010 - 12:44h:

Muito bom artigo!

Mais uma funcionalidade para os pentesters e futuros profissionais de segurança!

O grande problema são os elementos que usam isso para corromper as coisas

[10] Comentário enviado por roberto_espreto em 06/04/2010 - 13:05h:

Artigo legal.

Não sei se sabe, ao instalar o dsniff, também é instalada uma ferramenta interessante chamada tcpkill, que serve para derrubar conexões:
Exemplo:

# tcpkill -i eth0 port 80 <---- Este comando irá interromper todas as conexões da porta 80.
Apenas cuidado com o comando:

# tcpkill -i eth0
Pq? Heheheh, façam os testes! :P

@franco
Experimente instalar os pacotes libnet e libnids, antes do dsniff.

# yum install libnet libnids

Pode ser que resolva as dependências. Não uso muito fedora!
Abraços...

espreto
®

[11] Comentário enviado por roberto_espreto em 06/04/2010 - 13:07h:

Ops, peço desculpas! Nem vou editar o comentário acima, mais vi que você citou o tcpkill, me passou despercebido!
Desculpas!!

®

[12] Comentário enviado por zhushazang em 06/04/2010 - 13:12h:

Acho que, como tem muitos iniciantes por aqui, vale lembrar que em redes privadas é crime este tipo de ação. Ainda, supondo que faça isso em desktop, a captura se limitará aos dados trafegados somente na máquina local. Fica óbvio então, que você DEVE ser o administrador da rede, tendo acesso ao gateway da mesma. Entenda que por ele passa todo o tráfego, além do da sua máquina.

Tomem cuidado com este conhecimento.

P.S.: Detecção de sniffer de rede ainda é tema de pesquisa científica.

[13] Comentário enviado por roberto_espreto em 06/04/2010 - 13:27h:

A grande maioria dos artigos/dicas/etc... que estão e serão apresentados aqui no site, os usuários do mesmo terão praticamente 2 caminhos a seguir: dos "mocinhos" e dos "malvadinhos", ao meu ver, cabe a cada usuário ter a ética e saber usar o que aqui é mostrado/ensinado. Se optar pelo lado black, com certeza uma hora a casa cai! Hehehe!!!
Mais bem observado zhushazang. :-)
Seria interessante você ter acesso ao gtw da rede para os testes e também ser o admin, claro!. Se em uma rede estiver sendo usado um switch, a captura do trafego se "limitaria" a interface do micro e a interface do switch, mas, como pra tudo existe um porém, com um ataque MITM, isso é facilmente contornado, claro, não pra um simples user. :P

®

[14] Comentário enviado por davirodrigues em 06/04/2010 - 17:07h:

Show de bola Junior... ficou muito bom seu artigo...

Fiz uns teste ontem na minha rede e detectei algumas vulnerabilidades que tenho que corrigir...

A falha comum foi essa:
MS08-067: VULNERABLE

Conseguindo obter acesso ao shell do windows com exploit, foi corrigido com a atualização para o SP3, em 2 de nossas máquinas...

T+

[15] Comentário enviado por andrezc em 06/04/2010 - 22:56h:

É verdade Roberto, cada um escolhe seu caminho. Eu particularmente prefiro o lado que rende dinheiro e não seja ilegal ;)

Abraços.

[16] Comentário enviado por luizvieira em 07/04/2010 - 13:33h:

Artigo interessante, junior!
[ ]'s


[17] Comentário enviado por redmanbr em 09/04/2010 - 14:23h:

Muito bom o artigo, parabéns!

[18] Comentário enviado por adsonrenato em 10/04/2010 - 18:26h:

voçê faz os melhor artigos daqui Parabéns.

[19] Comentário enviado por FlavioAnello em 11/04/2010 - 13:11h:

Junior,

muito legal.
Não conhecia essa ferramenta. Realmente ela pode ser muito poderosa.

Parabéns !!!

Abs !!!

Flavio Anello.

[20] Comentário enviado por fernandoamador em 12/04/2010 - 08:27h:

muito bom.

[21] Comentário enviado por meinhardt_jgbr em 12/04/2010 - 12:21h:

Junior,

Como de costume, muito bom o material apresentado. Parabéns!

[22] Comentário enviado por agk em 13/04/2010 - 11:28h:

Muito bom, parabéns.

[23] Comentário enviado por fndiaz em 19/04/2010 - 09:57h:

Eu instalei o dsniff, no CentOS, com o comando yum...
mas na hora de executar qlquer ferramenta dele como (dsniff, dnsspoff) o terminal não reconhce o comando, e reponde por command not found

[24] Comentário enviado por andrezc em 19/04/2010 - 10:43h:

Fernando,

você está executando o Dsniff como root ? Mas mesmo assim, quando ele é executado sem privilégios root, ele exibe :

dsniff: nids_init: no suitable device found


Você tem certeza de que ele foi instalado de forma correta ?

[25] Comentário enviado por douglasmsi em 21/04/2010 - 20:14h:

Muito interessante o DSniff xD~~.



Contribuir com comentário
  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Contribuir com: [ Artigo | Conf | Dica | Notícia ]
Responsáveis pelo site: Fábio Berbert de Paula / OYS Academy
Site hospedado por:

Segurança Linux

Site especializado em conteúdo de segurança para Linux.