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:
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
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.