Usando o Wireshark para examinar o tráfego FTP

Usando o Wireshark para examinar o tráfego FTP
O artigo anterior forneceu uma compreensão aprofundada dos filtros Wireshark, camadas OSI, ICMP e análise de pacotes HTTP. Neste artigo, aprenderemos como o FTP funciona e examinaremos as capturas FTP Wireshark. Antes de nos aprofundarmos na análise de pacotes capturados, começaremos com um breve entendimento do protocolo.

Ftp

FTP é um protocolo usado pelos computadores para compartilhar informações sobre a rede. Simplificando, é uma maneira de compartilhar arquivos entre computadores conectados. Como o HTTP é construído para sites, o FTP é otimizado para grandes transferências de arquivos entre computadores.

O cliente FTP primeiro constrói um Conexão de controle Solicitação para a porta do servidor 21. Uma conexão de controle requer um login para estabelecer uma conexão. Mas alguns servidores disponibilizam todo o seu conteúdo sem credenciais. Esses servidores são conhecidos como servidores FTP anônimos. Mais tarde um separado conexão de dados está estabelecido para transferir arquivos e pastas.

Análise de tráfego FTP

O cliente FTP e o servidor se comunicam enquanto não sabem que o TCP gerencia todas as sessões. O TCP é geralmente usado em todas as sessões para controlar a entrega do datagrama, a chegada e o gerenciamento de tamanho de janela. Para cada troca de datagrama, o TCP inicia uma nova sessão entre o cliente FTP e o servidor FTP. Portanto, iniciaremos nossa análise com as informações de pacote TCP disponíveis para a iniciação e rescisão da sessão FTP no painel do meio.

Inicie a captura de pacotes da sua interface selecionada e use o ftp comando no terminal para acessar o site ftp.McAfee.com.

ubuntu $ ubuntu: ~ $ ftp ftp.McAfee.com

Faça login com suas credenciais, conforme mostrado na captura de tela abaixo.

Usar Ctrl+c Para parar a captura e procurar a iniciação da sessão FTP, seguida pelo TCP [Syn], [Syn-acack], e [ACK] pacotes ilustrando um aperto de mão de três vias para uma sessão confiável. Aplique filtro TCP para ver os três primeiros pacotes no painel da lista de pacotes.

O Wireshark exibe informações detalhadas do TCP que correspondem ao segmento de pacotes TCP. Destacamos o pacote TCP do computador host para o servidor FTP McAfee para estudar a camada de protocolo de controle de transferência no painel de detalhes do pacote. Você pode notar que o primeiro datagrama do TCP para a iniciação da sessão FTP apenas define Syn um pouco para 1.

A explicação para cada campo na camada de protocolo de controle de transporte no Wireshark é dada abaixo:

  • Porta de origem: 43854, é o host TCP que iniciou uma conexão. É um número que está em qualquer lugar acima de 1023.
  • Porto de destino: 21, é um número de porta associado ao serviço FTP. Isso significa que o servidor FTP escuta na porta 21 para solicitações de conexão do cliente.
  • Número sequencial: É um campo de 32 bits que mantém um número para o primeiro byte enviado em um segmento específico. Este número ajuda na identificação das mensagens recebidas em ordem.
  • Número de reconhecimento: Um campo de 32 bits especifica um receptor de reconhecimento espera receber após a transmissão bem-sucedida de bytes anteriores.
  • Sinalizadores de controle: Cada formulário de bit de código tem um significado especial no gerenciamento de sessões TCP que contribui para o tratamento de cada segmento de pacotes.

ACK: valida o número de reconhecimento de um segmento de recebimento.

Syn: Sincronize o número da sequência, que é definido no início de uma nova sessão TCP

Fin: Solicitação de rescisão de sessão

Urg: pedidos do remetente para enviar dados urgentes

RST: Solicitação para redefinir a sessão

PSH: Solicitação de push

  • Tamanho da janela: É o valor da janela deslizante que informa o tamanho dos bytes tcp enviados.
  • Soma de verificação: Campo que mantém a soma de verificação para controle de erros. Este campo é obrigatório no TCP em contraste com o UDP.

Movendo -se em direção ao segundo datagrama de TCP capturado no filtro Wireshark. O servidor mcAfee reconhece o Syn solicitar. Você pode notar os valores de Syn e ACK bits definidos como 1.

No último pacote, você pode notar que o host envia um reconhecimento ao servidor para iniciar a iniciação da sessão FTP. Você pode notar que o Número sequencial e a ACK bits estão configurados para 1.

Depois de estabelecer uma sessão TCP, o cliente FTP e o servidor trocam algum tráfego, o cliente FTP reconhece o servidor FTP Resposta 220 Pacote enviado por sessão TCP por meio de uma sessão TCP. Portanto, toda a troca de informações é realizada via sessão TCP no FTP Client e FTP Server.

Após a conclusão da sessão FTP, o cliente FTP envia a mensagem de rescisão para o servidor. Após o reconhecimento da solicitação, a sessão do TCP no servidor envia um anúncio de rescisão para a sessão TCP do cliente. Em resposta, a sessão do TCP no cliente reconhece o datagrama de terminação e envia sua própria sessão de rescisão. Após o recebimento da sessão de rescisão, o servidor FTP envia um reconhecimento da rescisão e a sessão é fechada.

Aviso

O FTP não usa criptografia e as credenciais de login e senha são visíveis em plena luz do dia. Portanto, desde que ninguém esteja escutando e você esteja transferindo arquivos sensíveis em sua rede, é seguro. Mas não use este protocolo para acessar o conteúdo da Internet. Usar Sftp que usa shell ssh seguro para transferência de arquivo.

Captura de senha do FTP

Agora mostraremos por que é importante não usar o FTP pela Internet. Vamos procurar as frases específicas no tráfego capturado que contém Usuário, nome de usuário, senha, etc., conforme instruído abaixo.

Vá para Editar-> “Encontre o pacote” e escolha string para o Exibir filtro, e depois selecione Bytes de pacotes Para mostrar dados pesquisados ​​no ClearText.

Digite a string passar no filtro e clique Encontrar. Você encontrará o pacote com a string “Especifique a senha ” no Bytes de pacotes painel. Você também pode notar o pacote destacado no Lista de pacotes painel.

Abra este pacote em uma janela de Wireshark separada clicando com o botão direito do mouse no pacote e selecione Siga-> TCP Stream.

Agora pesquise novamente e você encontrará a senha em texto simples no painel de bytes de pacote. Abra o pacote destacado em uma janela separada como acima. Você encontrará as credenciais do usuário em texto simples.

Conclusão

Este artigo aprendeu como o FTP funciona, analisou como o TCP controla e gerencia operações em uma sessão de FTP e entendeu por que é importante usar protocolos de shell seguros para transferência de arquivos pela Internet. Chegando em artigos futuros, abordaremos algumas das interfaces da linha de comando para Wireshark.