• Nenhum resultado encontrado

A. Sniffer de redes Wireshark

N/A
N/A
Protected

Academic year: 2021

Share "A. Sniffer de redes Wireshark"

Copied!
7
0
0

Texto

(1)

EN3611 – Segurança de Redes Prof. João Henrique Kleinschmidt

Prática – Wireshark e nmap – Sniffer de rede e Scanner de portas

Entregar um relatório contendo introdução, desenvolvimento e conclusão. A seção desenvolvimento pode conter várias subseções e deve ter as principais observações, análises e resultados obtidos durante a prática de laboratório nos experimentos do Wireshark (A – 1 a 5) e Nmap (B – 1 a 3).

A. Sniffer de redes – Wireshark

Capturando pacotes

Abra o Wireshark e ative a captura de pacotes (Menu CaptureInterfaces). 1. Na opção “interface”, escolha a interface Ethernet.

2. Identifique a interface Ethernet; em opções (Options) seleciona a opção “enable network name resolution”.

3. Inicie a captura (pressionando em Start).

4. Acesse a rede por alguns segundos (exemplo: acesse o site www.uol.com.br). Não é necessário muito tempo (basta acessar uma única página).

5. Pare a captura de pacotes clicando no botão Stop da janela de captura. 6. A interface do Wireshark é dividida em três partes.

 A primeira contém uma relação dos pacotes capturados, um por linha. Selecione um dos pacotes

 A segunda contém informações sobre o pacote que está selecionado, onde cada linha contém um protocolo, na ordem em que eles são empilhados. Dentro de cada protocolo, são mostrados os campos do seu cabeçalho.

 A terceira parte contém os dados, ou seja, a carga útil (payload) do pacote, que será utilizada pela aplicação. A carga útil é apresentada no formato hexadecimal e o seu correspondente para ASCII.

Filtros de visualização

Estabeleça alguns filtros de visualização (display filter). Atenção: alguns filtros podem não mostrar nenhum pacote, em função da atividade da rede naquele momento.

1. Na parte inferior esquerda da janela do Wireshark, você pode ver um botão “Filter” com um espaço em branco ao lado dele.

2. Digite o filtro no espaço em branco (exemplo: ip.addr==10.0.4.1 and http) 3. Para ativar o filtro pressione ENTER.

4. Para desativar o filtro (antes de digitar outro), pressione no botão “Clear”. Os filtros devem ser digitados em letras minúsculas.

(2)

Vamos capturar uma sessão FTP (o FTP é uma aplicação que usa o protocolo de comunicação TCP para transferência de arquivos).

1. Desabilite o filtro de visualização (se houver), clicando no botão “Clear” (parte inferior da janela do Wireshark).

2. Ative a captura de pacotes (Menu CaptureStart). Escolha a interface Ethernet. 3. Pressione OK. Observe que agora existe uma janela de captura ativada.

4. Abra uma janela de comandos MS-DOS.

5. Conecte-se via FTP com algum site. Exemplo: ftp download.intel.com

Atenção: Se o servidor FTP indicado no exemplo acima estiver fora do ar (não responde), tente um dos seguintes: ftp3.usa.openbsd.org, ftp-linux.cc.gatech.edu.

6. Quando for solicitado o login, digite anonymous

7. Na senha, digite: eu@provedor.com.br (o seu endereço de email, ou qualquer outro)

8. Observe que a senha não aparece na tela.

9. Agora você pode digitar comandos do FTP. Por exemplo, para ver os arquivos na máquina remota, digite do comando ls

10. Para sair digite quit

11. Pare a captura de pacotes (na janela de captura).

12. No Wireshark, filtre a visualização de pacotes usando o seguinte critério: apenas pacotes FTP do host IP, onde IP é o número IP do seu host. Ou seja, supondo que seu IP é 10.0.4.132, deve digitar o seguinte filtro: ftp and ip.addr==10.0.4.132

2. Visualizando a senha da sessão FTP

Quando digitamos a senha (ex.: eu@provedor.com.br) para a sessão FTP do exercício anterior, ela foi enviada em um pacote TCP para o servidor FTP. Como estávamos capturando pacotes durante a sessão, ela vai poder ser observada.

1. Abra o arquivo de pacotes salvo no exercício anterior.

2. Caso já haja algum filtro ativado, clique antes no botão “Clear”.

3. Faça um filtro para mostrar apenas os pacotes FTP do seu host (exemplo: ftp and ip.addr==10.0.4.132).

4. Clique duas vezes no primeiro pacote mostrado, para que ele fique marcado. 5. No menu, escolha a opção ToolsFollow TCP Stream.

6. Aparece uma janela mostrando todos os dados (em modo ASCII) que foram trafegados entre seu computador (cliente) e o servidor durante a sessão FTP. Dados mostrados em azul foram enviados pelo seu host e em vermelho foram recebidos. Não se preocupe em entender o formato dos dados, pois eles são entendidos pela aplicação FTP.

7. Procure dentro do texto mostrado as linhas contendo as palavras “USER anonymous” e “PASS eu@provedor.com.br”.

Suponha que você estivesse acessando o site FTP da sua empresa e tivesse sido autenticado (feito o login) com seu nome e senha reais. Você acredita que seria difícil alguém capturar sua senha usando um “sniffer” do tipo Wireshark na sua rede local?

(3)

3. Capturando pacotes HTTP 1. Ative a captura de pacotes

2. No campo “filter”, digite: ip.addr==SEU_IP, onde SEU_IP é o número IP do seu computador. Exemplo: host 10.0.4.132

3. Pressione OK. Observe que agora existe uma “janela de captura” ativada. 4. Acesse o seguinte URL: http://www.ufabc.edu.br/

5. Pare a captura de pacotes clicando no botão Stop da janela de captura. 8. Faça um filtro de visualização para mostrar apenas os pacotes TCP.

9. Clique duas vezes no primeiro pacote TCP mostrado, para que ele fique marcado.

10. No menu, escolha a opção ToolsFollow TCP Stream.

11. Aparece uma janela mostrando todos os dados (em modo ASCII) que foram trafegados entre seu computador (cliente) e o servidor durante a sessão HTTP. Ó que é possível visualizar?

4. Capturando pacotes HTTPS (HTTP com criptografia - TLS)

Este exercício requer que haja um servidor HTTP capaz de suportar o serviço HTTPS (utiliza TLS – Transport Layer Security)

1. Faça a mesma coisa do exercício anterior, trocando a URL acessada para: https://webmail.ufabc.edu.br (observe que agora é “https”)

2. Você consegue ver os dados que trafegaram? Explique.

3. Identifique o processo de handshake do TLS. Quais são os pacotes trocados entre cliente e servidor? Observe os detalhes do todos os pacotes trocados no handshake. Descreva todo o processo e o que é possível observar (negociação de algoritmos de criptografia, certificados, etc).

5. Capturando senhas de email

Observação: a realização dessa atividade pode não ser possível no momento da realização dessa prática, porque os provedores estão cada vez mais usando criptografia para a transferência do nome do usuário e senha. No passado, provedores não usavam criptografia. Faça este exercício com diferentes provedores (www.ig.com.br, www.gmail.com, etc. ).

1. Inicie uma captura e depois acesse o provedor mail.com (www.mail.com). Entre com um usuário qualquer (ex., “maria”) e uma senha qualquer (ex., “muitofacil”). Espere uns segundos e então interrompa a captura.

2. O mail.com transmite o nome do usuário e da senha sem criptografia, em um string, ex:

email=maria&password=muitofacil

3. Vá no menu, Edit/Find packet…. Na janela, selecione o botão “string”, digite “password” (sem as aspas) e então clique no botão “Find”. Localize o pacote onde está a senha e observe a área de dados do Wireshark, para localizar a senha.

4. Reconstitua o fluxo TCP (botão da direita do mouse e “Follow TCP Stream) para ter uma visão mais clara.

(4)

Preparação: Este exercício usará a versão do nmap para o sistema operacional Linux (embora exista também nmap para Windows). Para realizar o exercício será necessário a utilização de 2 máquinas, digamos A e B. Em uma máquina será usado o nmap e na outra o Wireshark (para Linux ou Windows). Verifique o número IP das máquinas A e B.

Visão geral do nmap

O nmap localiza e identifica todas as portas TCP e UDP disponíveis em um host. Também conhecido com um “port scanner”, ele tenta determinar qual o serviço que está “escutando” cada porta e é capaz de identificar o tipo de sistema operacional rodando.

O nmap é visto como uma ferramenta de segurança, usada para descobrir “brechas” em sistemas, ajudando na tarefa de monitoração da rede e identificação de serviços rodando em servidores. Entretanto, o nmap é também uma das ferramentas preferidas de atacantes para fazer reconhecimento na sua rede.

Existem várias maneiras de obter ajuda com a utilização do nmap, listadas a seguir:  Listagem de opções: digitando o comando nmap (sem parâmetros) aparece uma

listagem das opções disponíveis

 Manual do Unix/Linux: digitando o comando man nmap aparece o manual do nmap em formato do Unix

 Página do nmap: na página do nmap (nmap.org) existem muitas informações úteis, inclusive uma página com documentação (http://nmap.org/docs.html) que possui inclusive um guia de referência em português (http://nmap.org/man/pt-br).

1. Explorando o nmap

Execute os seguintes de comandos nmap e verifique o resultado:

Comando Descrição

nmap –sT 127.0.0.1 Mostra as portas TCP abertas no host 127.0.0.1 (sua própria máquina). Scan TCP é o default. nmap –sT 10.0.1.123 10.0.1.114 Mostra as portas TCP abertas nos hosts indicados nmap –sV 127.0.0.1 Mostra portas abertas e tenta determinar a

informação sobre o serviço/versão

nmap –sA 127.0.0.1 Mostra o sistema operacional e informações sobre os serviços que estão rodando nas portas abertas nmap –sU 10.0.1.123 10.0.1.114 Mostra as portas UDP abertas nos hosts indicados nmap –p 80 10.0.1.109-144 Vasculha portas 80 (HTTP) nos hosts de

(5)

10.206.83.109 a 10.206.83.144

nmap –p 21-23,80 10.0.1.109 Vasculha portas 21,22,23 e 80 no host 10.206.83.109

nmap –p 161 –sU 10.0.1.109-144 Vasculha portas 161 (SNMP) nos hosts de 10.206.83.109 a 10.206.83.144. Opção–sU indica para fazer scan com UDP (SNMP usa UDP) nmap –O 10.0.1.200 Procura identificar o sistema operacional do host

indicado (a opção é a letra ‘O’ maiúscula e não o número ‘0’)

Observação: os endereços IP estão representados na faixa 10.0.1.x. Modifique esses endereços para representar a realidade da sua rede ou de outros hosts.

Faça um scan na rede para procurar hosts com servidor web ativado (porta 80), SSH (porta 22), TELNET (porta 23) e FTP (porta 21).

2. Capturando pacotes

A. Na máquina A execute o Wireshark e capture apenas o tráfego direcionado a ela. Na máquina B execute o nmap para tentar identificar quais portas estão escutando na máquina A. Execute o comando abaixo e aguarde o fim da operação.

nmap -sT IP_HOST_A

Explicação da opção usada (do manual do nmap): -sT TCP connect() scan: This is the

most basic form of TCP scanning. The connect() system call provided by your operating system is used to open a connection to every interesting port on the machine. If the port is listening, connect() will succeed, otherwise the port isn't reachable.

Pare a captura do Wireshark e analise o tráfego capturado pela máquina A, salve o resultado como tentativaMapeamentoA. Olhando os pacotes capturados, tente identificar o padrão utilizado pelo Nmap.

B. Na máquina A ative a captura do tráfego direcionado apenas para ela. Na máquina B execute o Nmap com o comando abaixo e aguarde o fim da operação.

nmap -sS IP_HOST_A

Explicação da opção usada (do manual do nmap): TCP SYN scan: This technique

is often referred to as "half-open" scanning, because you don't open a full TCP connection. You send a SYN packet, as if you are going to open a real connection

(6)

indicative of a non-listener. If a SYN|ACK is received, a RST is immediately sent to tear down the connection (actually our OS kernel does this for us). The primary advantage to this scanning technique is that fewer sites will log it.

Pare a captura do Wireshark e analise o tráfego capturado pela máquina A. Salve o resultado como tentativaMapeamentoB. Olhando os pacotes capturados, tente identificar o padrão utilizado pelo Nmap.

C. Na máquina A ative a captura do tráfego direcionado apenas para ela. Na máquina B execute o Nmap com o comando abaixo e aguarde o fim da operação:

nmap -sF IP_HOST_A

Explicação da opção usada (do manual do nmap): -sN; -sF; -sX (TCP NULL, FIN,

and Xmas scans): These three scan types (even more are possible with the --scanflags option described in the next section) exploit a subtle loophole in the TCP RFC to differentiate between open and closed ports. Page 65 of RFC 793 says that “if the [destination] port state is CLOSED an incoming segment not containing a RST causes a RST to be sent in response.” Then the next page discusses packets sent to open ports without the SYN, RST, or ACK bits set, stating that: “you are unlikely to get here, but if you do, drop the segment, and return.”

Pare a captura do Wireshark e analise o tráfego capturado pela máquina A. Salve o resultado como tentativaMapeamentoC. Olhando os pacotes capturados, tente identificar o padrão utilizado pelo Nmap.

D. Na máquina B execute o Nmap com o comando abaixo e aguarde o fim da operação:

nmap -sX IP_HOST_A

Explicação da opção usada (do manual do nmap): -sX faz uma Xmas Tree

(“árvore de natal”) – ou seja, liga todos os flags (FIN, URG, and PSH)

Pare a captura do Wireshark e analise o tráfego capturado pela máquina A. Salve o resultado como tentativaMapeamentoD. Olhando os pacotes capturados, tente identificar o padrão utilizado pelo Nmap.

E. Na máquina A ative a captura do tráfego direcionado apenas para ela. Na máquina B execute o Nmap com o comando abaixo e aguarde o fim da operação.

nmap -sN IP_HOST_A

Explicação da opção usada (do manual do nmap): -sN faz um Null Scan – ou seja,

(7)

pois cada um se comporta de maneira diferente quando recebem pacotes inesperados. Por exemplo, máquinas Windows95/NT ignoram (não respondem) null scan, enquanto que outros devolvem um pacote com RST ligado.

Pare a captura do Wireshark e analise o tráfego capturado pela máquina A. Salve o resultado como tentativaMapeamentoE. Olhando os pacotes capturados, tente identificar o padrão utilizado pelo Nmap.

F. Na máquina A ative a captura do tráfego direcionado apenas para ela. Na máquina B execute o Nmap com o comando abaixo e aguarde o fim da operação:

nmap -sU IP_HOST_A

Explicação da opção usada (do manual do nmap): UDP scans: This method is

used to determine which UDP (User Datagram Protocol, RFC 768) ports are open on a host. The technique is to send 0 byte udp packets to each port on the target machine. If we receive an ICMP port unreachable message, then the port is closed. Otherwise we assume it is open.

Pare a captura do Wireshark e analise o tráfego capturado pela máquina A. Salve o resultado como tentativaMapeamentoF. Olhando os pacotes capturados, tente identificar o padrão utilizado pelo Nmap.

3. Exploração avançada

Referências

Documentos relacionados

Sendo os resultados experimentais (verde) obtidos nas amostras sem desvolatilizacão da Figura 37, fizeram-se a descrição feita acima onde a media final serviu

MATRÍCULA nº 4.540 do 1º CRI de Piracicaba/SP: 01 (UMA) GLEBA DE TERRAS, situada no imóvel denominado “Algodoal”, contendo a área de 53.982,00m², desta cidade, que assim

• Quando o navegador não tem suporte ao Javascript, para que conteúdo não seja exibido na forma textual, o script deve vir entre as tags de comentário do HTML. <script Language

As IMagens e o texto da Comunicação (com as legendas incluídas) devem ser enviadas por correio eletrônico. Comitê

No entanto, maiores lucros com publicidade e um crescimento no uso da plataforma em smartphones e tablets não serão suficientes para o mercado se a maior rede social do mundo

esta espécie foi encontrada em borda de mata ciliar, savana graminosa, savana parque e área de transição mata ciliar e savana.. Observações: Esta espécie ocorre

O valor da reputação dos pseudônimos é igual a 0,8 devido aos fal- sos positivos do mecanismo auxiliar, que acabam por fazer com que a reputação mesmo dos usuários que enviam

O Eg. sentença que não acolheu o pedido de indenização por dano moral decorrente da exigência pelo empregador de apresentação de certidão de antecedentes criminais para