PROJETO Ronne

FACULDADE DE TECNOLOGIA INFNET

PROJETO Ronne

RONNE MOREIRA MARTINELLI

MARCOS AURELIO MUNIZ DE SOUZA

josimar

Resumo

O trabalho introduz no funcionamento dos protocolos de comunicações relacionados a redes de computadores em geral, sendo apresentado a captura e análise de pacotes, além da manipulação que envolve a alteração e o envio para estudo do caso, criamos situações diversas em laboratório para que pudesse comprovar os estudos relacionados, obtendo resultados diversos, será introduzido a muitas técnicas avançadas para estudo dos protocolos que vão levar a uma simples resolução de gargalo numa rede, até análise de malwares diversos explicando como cada um aproveita as brechas deixadas pela má implantação de um protocolo ou se beneficiando de algum erro de sua criação. Todo tráfego de rede necessita de protocolos e estes não mudam desde sua formação, por isso independente da tecnologia envolvida sempre terá necessidade utilizar os protocolos e com isso será sempre possível realizar uma análise.

Palavras-chave: Protocolos de Redes. Forense Computacional. Redes de Computadores.

Abstract

Palavras-chave: Network Protocols. Computational Forensics. Computer network.

PROTOCOLOS DE REDES

Os protocolos de redes foram criado para permitir a comunicação entre os processos pois um depende do outro para que aconteça a comunicação entre dois ou mais pontos. Para isso foram criados as RFCs – Request for Comments, são documentos técnicos desenvolvidos e mantidos pelo IETF (Internet Engineering Task Force), instituição que especifica os padrões que serão implementados e utilizados em toda a Internet, cada um deles deve detalhar o funcionamento de todos os aspectos do protocolo proposto.

Request for Comments (RFC)

Entre as diversas RFCs, analisaremos os seguintes:

  • RFC 792 – INTERNET CONTROL MESSAGE PROTOCOL (ICMP);
  • RFC 793 – TRANSMISSION CONTROL PROTOCOL (TCP);
  • RFC 791 – INTERNET PROTOCOL (IP);
  • RFC 768 – USER DATAGRAM PROTOCOL (UDP);

Porém existem diversos outros que são fundamentais e que sem eles não existiria muitos recursos das telecomunicações que existem hoje e as várias tecnologias envolvidas.

RFC 792 – INTERNET CONTROL MESSAGE PROTOCOL (ICMP)

São mensagens enviadas para diversas situações como por exemplo, quando um datagrama não pode alcançar seu destino, quando o gateway não possui a capacidade de buffer para encaminhar um datagrama e quando o gateway pode direcionar o host para enviar tráfego em um percurso mais curto.

Ele roda sobre o protocolo IP, que foi projetao para comunicação datagrama host a host, o IP (Internet Protocol), não foi projetado para ser totalmente confiável, o
objetivo dessas mensagens de controle é fornecer feedback sobre problemas no ambiente de comunicação é não para tornar o IP confiável, ainda não há garantias de que um datagrama seja entregue ou um
a mensagem de controle será retornada.

Através do cabeçalho do mesmo podemos interpreta o que acontece com os datagramas, segue abaixo estrutura e código.

ICMP
ICMPO autor (2017)

RFC 793 – TRANSMISSION CONTROL PROTOCOL (TCP)

O Protocolo de Controle de Transmissão (TCP) destina-se a ser usado como um protocolo host-to-host confiável com comutação de pacotes, redes de comunicação e em sistemas interligados de tais redes. 

 Protocolo de Controle de Transmissão, o programa que o implementa, e sua
interface para programas ou usuários que exigem seus serviços.

 O TCP é um protocolo confiável de ponta a ponta orientado a conexão projetado para
se encaixa em uma hierarquia em camadas de protocolos que suportam redes de aplicações multiplas. O TCP oferece inter-processo confiável a comunicação entre pares de processos em computadores host conectados a redes de comunicação informática distintas, mas interconectadas.

TCP
TCPO autor (2017)

RFC 791 – INTERNET PROTOCOL (IP)

O Protocolo Internet foi projetado para uso em sistemas interconectados de redes de comunicação por computador com comutação de pacotes. Tal sistema  foi chamado de “catenet”. O protocolo da Internet prevê   transmite blocos de dados chamados datagramas de fontes para   destinos, onde fontes e destinos são hosts identificados por   endereços de comprimento fixo. O protocolo da Internet também prevê fragmentação e remontagem de datagramas longos, se necessário, para transmissão através de redes de “pequenos pacotes”.

O protocolo da Internet é especificamente limitado no escopo para fornecer as funções necessárias para entregar um pacote de bits (uma internet datagrama) de uma fonte para um destino através de um sistema interconectado de redes. Não há mecanismos para aumentar os dados de ponta a ponta

Por exemplo, um módulo TCP chamaria o módulo da internet para   Segmento TCP (incluindo o cabeçalho TCP e dados do usuário) como dados   porção de um datagrama da Internet. O módulo TCP proporcionaria o   endereços e outros parâmetros no cabeçalho da internet para a internet   módulo como argumentos da chamada. O módulo da internet seria então,   crie um datagrama da Internet e ligue para a interface de rede local para transmita o datagrama da Internet.

CABEÇALHO IP
CABEÇALHO IPO autor (2017)

RFC 768 – USER DATAGRAM PROTOCOL (UDP)

Este protocolo de datagrama de usuário (UDP) é definido para disponibilizar um
modo datagrama de comunicação por computador com comutação de pacotes no ambiente de um conjunto interconectado de redes de computadores. este O protocolo pressupõe que o protocolo Internet (IP) é usado como o
 protocolo subjacente. 

Este protocolo fornece um procedimento para programas de aplicação para enviar
mensagens para outros programas com um mínimo de mecanismo de protocolo. O protocolo é orientado para a transação e a entrega e proteção duplicada. Aplicações que exigem a entrega confiável de fluxos de dados devem usar o Protocolo de Controle de Transmissão (TCP).

O módulo UDP deve poder determinar a origem e o destino endereços de internet e o campo de protocolo do cabeçalho da Internet.

A possível interface UDP/IP retornaria todo o datagrama da Internet incluindo todo o cabeçalho da internet em resposta a uma operação de recebimento.

CABEÇALHO UDP
CABEÇALHO UDPO autor (2017)

COMPARAÇÃO MODELO OSI VERSUS TCP/IP

A seguir veremos uma comparação entre o modelo OSI e o modelo TCP/IP, observando suas semelhanças e diferenças:

Semelhanças entre os modelos OSI e TCP/IP:


Ambos são divididos em camadas.

Ambos são divididos em camadas de transporte e de rede equivalentes.

A tecnologia de comutação de pacotes (e não de comutação de circuitos) é presumida por ambos.

Os profissionais de rede precisam conhecer ambos os modelos.

Diferenças entre os modelos OSI e TCP/IP:

O TCP/IP combina as camadas de apresentação e de sessão dentro da sua camada de aplicação.

O TCP/IP combina as camadas física e de acesso à rede do modelo OSI numa única camada.

O TCP/IP parece ser mais simples por ter menos camadas.

A camada de transporte do TCP/IP, que utiliza o UDP, nem sempre garante a entrega confiável dos pacotes, ao contrário da camada de transporte do modelo OSI.

A Internet desenvolve-se com o uso de padrões de protocolos TCP/IP. O modelo TCP/IP ganha credibilidade graças aos seus protocolos. Por outro lado, uma rede informática não é implementada sobre os protocolos do modelo OSI. O modelo OSI é usado como guia para o entendimento do processo de comunicação.

MODELO OSI

O Modelo OSI (acrônimo do inglês Open System Interconnection) é um modelo de rede de computador referência da ISO dividido em camadas de funções, criado em 1971 e formalizado em 1983, com objetivo de ser um padrão, para protocolos de comunicação entre os mais diversos sistemas em uma rede local (Ethernet), garantindo a comunicação entre dois sistemas computacionais (end-to-end).

Este modelo divide as redes de computadores em 7 camadas, de forma a se obter camadas de abstração. Cada protocolo implementa uma funcionalidade assinalada a uma determinada camada.

Segundo Tanenbaum o Modelo OSI não é uma arquitetura de redes, pois não especifica os serviços e protocolos exatos que devem ser usados em cada camada. Ele apenas informa o que cada camada deve fazer.

O Modelo OSI permite comunicação entre máquinas heterogêneas e define diretivas genéricas para a construção de redes de computadores (seja de curta, média ou longa distância) independente da tecnologia utilizada.

As camadas mais próximas do topo estão logicamente mais perto do usuário, enquanto aquelas mais abaixo estão logicamente mais perto da transmissão física do dado. Cada camada tem um protocolo de camada acima e um protocolo de camada abaixo (exceto as camadas da ponta, obviamente) que podem usar serviços de camadas anteriores ou fornecer um serviço, respectivamente.

Enxergar as camadas como fornecedores ou consumidores de serviço é um método de abstração para isolar protocolos de camadas acima dos pequenos detalhes de transmitir bits através, digamos, de ethernet, e a detecção de colisão enquanto as camadas abaixo evitam ter de conhecer os detalhes de todas as aplicações e seus protocolos.

Essa abstração também permite que camadas de cima forneçam serviços que as camadas de baixo não podem fornecer. Por exemplo, o IP é projetado para não ser confiável e é um protocolo best effort delivery. Isso significa que toda a camada de transporte deve indicar se irá ou não fornecer confiabilidade e em qual nível.

O TCP (Transmission Control Protocol – Protocolo de Controle de Transmissão), é um protocolo orientado a conexões confiável que permite a entrega sem erros de um fluxo de bytes.

O UDP fornece integridade de dados (via um checksum) mas não fornece entrega garantida; já o TCP fornece tanto integridade dos dados quanto garantia de entrega (retransmitindo até que o destinatário receba o pacote).

O conceito de layers (camadas de software) separa os módulos de um software em camadas, cada uma com sua contribuição para a execução do software. As camadas separam o código-fonte seguindo uma forma lógica, podendo gerar pacotes físicos, mas não implicam necessariamente em separação física, assim as camadas podem compartilhar CPU e até processos iguais.

Este modelo é dividido em sete camadas hierárquicas, ou seja, cada camada usa as funções da própria ou da camada anterior, para esconder a complexidade e transparecer de modo simples as operações ao usuário, seja ele um programa ou uma outra camada.

As camadas são empilhadas na seguinte ordem:

7. Camada de aplicação;

6. Camada de apresentação;

5. Camada de sessão;

4. Camada de transporte;

3. Camada de rede;

2. Camada de enlace de dados;

1. Camada física.

De acordo com o padrão X.200, existem sete camadas, de 1 a 7, onde cada camada é conhecida de forma genérica como “camada N”. Somente a entidade N+1 (na camada acima de N) pode solicitar serviços de uma “entidade N” (na camada N). Interagindo através da transmissão de “Unidade de Protocolo de Dados” (PDU), bloco de dados dividido em três partes: cabeçalho (header), carga útil (SDU) e rabeira (trailer).

A Unidade de Dados de Serviço (SDU) é uma unidade específica de dados que foram passados ​​de uma camada OSI para uma camada inferior, e que a camada inferior ainda não encapsulou em uma unidade de dados de protocolo (PDU). Uma SDU é um conjunto de dados que são enviados por um usuário dos serviços de uma determinada camada, e é transmitida semanticamente inalterada a um usuário do serviço peer.

A PDU é uma camada de N e o SDU camada de N-1. Com efeito, a SDU é a “carga útil” de uma dada PDU. Isto é, o processo de alteração de um SDU a uma PDU é constituído por um processo de encapsulamento, realizada pela camada inferior. Todos os dados contidos no SDU fica encapsulado dentro do PDU. A camada de N-1 adiciona cabeçalhos ou rodapés, ou ambos, para a SDU, transformando-a numa PDU de camada N-1. Os cabeçalhos ou rodapés adicionados fazem parte do processo utilizado para tornar possível a obtenção de dados de uma fonte para um destino.

Alguns aspectos ortogonais, tais como gestão e segurança, envolvem todas as camadas.

Serviços de segurança não estão relacionados com uma camada específica: eles podem ser relacionados por uma série de camadas, tal como definido pela ITU-T recomendação X.800.

Estes serviços visam melhorar a tríade CIA (confidencialidade, integridade e disponibilidade) dos dados transmitidos. Na verdade, a disponibilidade de serviço de comunicação é determinada pelo projeto de rede e/ou de gestão de rede protocolos. Escolhas adequadas para estes são necessárias para proteger contra negação de serviço.

MODELO TOP DOWN


7 – Aplicação – Funções especialistas (transferência de arquivos, envio de e-mail, terminal virtual)

6 – Apresentação – Formatação dos dados, conversão de códigos e caracteres

5 – Sessão – Negociação e conexão com outros nós

4 – Transporte – Oferece métodos para a entrega de dados ponto-a-ponto

3 – Rede – Roteamento de pacotes em uma ou várias redes

2 – Enlace – Detecção de erros

1 – Física – Transmissão e recepção dos bits brutos através do meio físico de transmissão

1 – Camada Física

A camada física define especificações elétricas e físicas dos dispositivos. Em especial, define a relação entre um dispositivo e um meio de transmissão, tal como um cabo de cobre ou um cabo de fibra óptica. Isso inclui o layout de pinos, tensões, impedância da linha, especificações do cabo, temporização, hubs, repetidores, adaptadores de rede, adaptadores de barramento de host (HBA usado em redes de área de armazenamento) e muito mais. A camada física é responsável por definir se a transmissão pode ser ou não realizada nos dois sentidos simultaneamente. Sendo a camada mais baixa do modelo OSI, diz respeito a transmissão e recepção do fluxo de bits brutos não-estruturados em um meio físico. Ela descreve as interfaces elétricas, ópticas, mecânicas e funcionais para o meio físico e transporta sinais para todas as camadas superiores.

2 – Camada de Ligação de Dados ou Enlace de Dados

A camada de ligação de dados também é conhecida como de enlace ou link de dados. Esta camada detecta e, opcionalmente, corrige erros que possam acontecer no nível físico. É responsável por controlar o fluxo (recepção, delimitação e transmissão de quadros) e também estabelece um protocolo de comunicação entre sistemas diretamente conectados.

3 – Camada de Rede

A camada de rede fornece os meios funcionais e de procedimento de transferência de comprimento variável de dados de sequências de uma fonte de acolhimento de uma rede para um host de destino numa rede diferente (em contraste com a camada de ligação de dados que liga os hosts dentro da mesma rede), enquanto se mantém a qualidade de serviço requerido pela camada de transporte. A camada de rede realiza roteamento de funções, e também pode realizar a fragmentação e remontagem e os erros de entrega de relatório. Roteadores operam nesta camada, enviando dados em toda a rede estendida e tornando a Internet possível. Este é um esquema de endereçamento lógico – os valores são escolhidos pelo engenheiro de rede. O esquema de endereçamento não é hierárquico.

A camada de rede pode ser dividida em três subcamadas:

Sub-rede de acesso – considera protocolos que lidam com a interface para redes, tais como X.25;

Sub-rede dependente de convergência – necessária para elevar o nível de uma rede de trânsito, até ao nível de redes em cada lado;

Sub-rede independente de convergência – lida com a transferência através de múltiplas redes. Controla a operação da sub rede roteamento de pacotes, controle de congestionamento, tarifação e permite que redes heterogêneas sejam interconectadas.

4 – Camada de Transporte

A camada de transporte é responsável por receber os dados enviados pela camada de sessão e segmentá-los para que sejam enviados a camada de rede, que por sua vez, transforma esses segmentos em pacotes. No receptor, a camada de Transporte realiza o processo inverso, ou seja, recebe os pacotes da camada de rede e junta os segmentos para enviar à camada de sessão.

Isso inclui controle de fluxo, ordenação dos pacotes e a correção de erros, tipicamente enviando para o transmissor uma informação de recebimento, garantindo que as mensagens sejam entregues sem erros na sequência, sem perdas e duplicações.

A camada de transporte separa as camadas de nível de aplicação (camadas 5 a 7) das camadas de nível físico (camadas de 1 a 3). A camada 4, Transporte, faz a ligação entre esses dois grupos e determina a classe de serviço necessária como orientada à conexão, com controle de erro e serviço de confirmação ou sem conexões e nem confiabilidade.

O objetivo final da camada de transporte é proporcionar serviço eficiente, confiável e de baixo custo. O hardware e/ou software dentro da camada de transporte e que faz o serviço é denominado entidade de transporte.

A entidade de transporte comunica-se com seus usuários através de primitivas de serviço trocadas em um ou mais TSAP(Transport Service Access Point), que são definidas de acordo com o tipo de serviço prestado: orientado ou não à conexão. Estas primitivas são transportadas pelas TPDU (Transport Protocol Data Unit).

Na realidade, uma entidade de transporte poderia estar simultaneamente associada a vários TSA e NSAP (Network Service Access Point black). No caso de multiplexação, associada a vários TSAP e a um NSAP e no caso de splitting, associada a um TSAP e a vários NSAP.

A ISO define o protocolo de transporte para operar em dois modos:

Orientado a conexão

Não-Orientado a conexão.

Como exemplo de protocolo orientado à conexão, temos o TCP, e de protocolo não orientado à conexão, temos o UDP. É óbvio que o protocolo de transporte não orientado à conexão é menos confiável. Ele não garante – entre outras coisas – a entrega das TPDU, nem tão pouco a ordenação das mesmas. Entretanto, onde o serviço da camada de rede e das outras camadas inferiores é bastante confiável – como em redes locais – o protocolo de transporte não orientado à conexão pode ser utilizado, sem o overhead inerente a uma operação orientada à conexão.

O serviço de transporte baseado em conexões é semelhante ao serviço de rede baseado em conexões. O endereçamento e controle de fluxo também são semelhantes em ambas as camadas. Para completar, o serviço de transporte sem conexões também é muito semelhante ao serviço de rede sem conexões. Constatado os fatos acima, surge a seguinte questão: “Por que termos duas camadas e não uma apenas?”. A resposta é sutil, mas procede: A camada de rede é parte da sub-rede de comunicações e é executada pela concessionária que fornece o serviço (pelo menos para as WAN). Quando a camada de rede não fornece um serviço confiável, a camada de transporte assume as responsabilidades, melhorando em suma importância a qualidade do serviço.

5 – Camada de Sessão

Responsável pela troca de dados e a comunicação entre hosts, a camada de Sessão permite que duas aplicações em computadores diferentes estabeleçam uma comunicação, definindo como será feita a transmissão de dados, pondo marcações nos dados que serão transmitidos. Se porventura a rede falhar, os computadores reiniciam a transmissão dos dados a partir da última marcação recebida pelo computador receptor.

6 – Camada de Apresentação

A camada de Apresentação, também chamada camada de Tradução, converte o formato do dado recebido pela camada de Aplicação em um formato comum a ser usado na transmissão desse dado, ou seja, um formato entendido pelo protocolo usado. Um exemplo comum é a conversão do padrão de caracteres (código de página) quando o dispositivo transmissor usa um padrão diferente do ASCII. Pode ter outros usos, como compressão de dados e criptografia.

Os dados recebidos da camada 6 estão descomprimidos, e a camada 6 do dispositivo receptor fica responsável por comprimir esses dados. A transmissão dos dados torna-se mais rápida, já que haverá menos dados a serem transmitidos: os dados recebidos da camada 4 foram “encolhidos” e enviados à camada 1.

Para aumentar a segurança, pode-se usar algum esquema de criptografia neste nível, sendo que os dados só serão descodificados na camada 6 do dispositivo receptor.

Ela trabalha transformando os dados em um formato no qual a camada de aplicação possa aceitar, minimizando todo tipo de interferência.

7 – Camada de Aplicação

A camada de aplicação corresponde às aplicações (programas) no topo da camada OSI que serão utilizadas para promover uma interação entre a máquina-usuário (máquina destinatária e o usuário da aplicação). Esta camada também disponibiliza os recursos (protocolo) para que tal comunicação aconteça, por exemplo, ao solicitar a recepção de e-mail através do aplicativo de e-mail, este entrará em contato com a camada de Aplicação do protocolo de rede efetuando tal solicitação (POP3 ou IMAP).

Tudo nesta camada é relacionado ao software. Alguns protocolos utilizados nesta camada são: HTTP, SMTP, FTP, Telnet, SIP, RDP, IRC, SNMP, NNTP, POP3, IMAP, BitTorrent, DNS, ICMP.

MODELO TCP/IP

Embora a Internet seja complexa, há algumas ideias básicas relacionadas com a sua operação. Nesta secção, examinaremos a arquitetura básica da Internet. A Internet é uma realidade que, quando repetida em grande escala, permite a comunicação de dados quase instantânea em todo o mundo, entre quaisquer pessoas, a qualquer momento.

As redes locais são redes menores, limitadas a uma área geográfica. Muitas redes locais conectadas entre si possibilitam o funcionamento da Internet. Mas as redes locais têm limitações de escala. Embora tenham havido avanços tecnológicos que melhoraram a velocidade das comunicações, com o Ethernet Metro Optical, Gigabit e 10 Gigabits, a distância ainda representa um problema.

A Internet usa o princípio da interconexão de camadas de rede. Usando o modelo OSI como exemplo, o objetivo é construir a funcionalidade da rede em módulos independentes. Isso permite uma diversidade de tecnologias de LAN nas camadas 1 e 2 e uma diversidade de aplicações funcionando nas camadas 5, 6 e 7. O modelo OSI oferece um mecanismo no qual os detalhes das camadas inferiores e superiores estão separados. Isso permite que os dispositivos de rede intermediários “comutem” o tráfego sem ter que se preocupar com os detalhes da LAN.

Isso leva ao conceito de internetworking, ou construção de redes compostas de redes. Uma rede de redes é chamada de internet (com “i” minúsculo). Quando falamos das redes que se desenvolveram a partir do Departamento de Defesa dos EUA, nas quais funciona a World Wide Web (www) ou rede mundial, usamos o “I” maiúsculo, Internet. As internets devem ser escalonáveis em relação à quantidade de redes e computadores conectados. A interconexão de redes deve ser capaz de lidar com o transporte de dados através de enormes distâncias. Deve ser flexível para dar conta das constantes inovações tecnológicas. Deve ser capaz de se ajustar às condições dinâmicas da rede. E as internets devem ser econômicas. Por fim, as internets devem ser projetadas para permitir comunicações de dados entre quaisquer pessoas, a qualquer momento, em qualquer lugar.

MODELO TCP/IP

Modelo TCP/IP
Modelo TCP/IP ()

TCP/IP
TCP/IPO autor (2017)

CAMADAS ATRAVÉS DE VISÃO TOP DOWN

4 – Aplicação – (5ª, 6ª e 7ª camada OSI) HTTP, HTTPS, FTP, DNS

Essa parte contém todos os protocolos para um serviço específico de comunicação de dados em um nível de processo-a-processo (por exemplo: como um web browser deve se comunicar com um servidor da web). Os protocolos de routing como BGP e RIP, que, por uma variedade de razões, são executados sobre TCP e UDP respectivamente, podem também ser considerados parte da camada de aplicação.

3 – Transporte – (4ª camada OSI) TCP, UDP, SCTP Essa parte controla a comunicação host-a-host. Os protocolos como OSPF, que é executado sobre IP, podem também ser considerados parte da camada de rede.

2 – Internet – (3ª camada OSI) Para TCP/IP o protocolo é IP, MPLS, essa parte é responsável pelas conexões entre as redes locais, estabelecendo assim a interconexão. [protocolos requeridos como ICMP e IGMP é executado sobre IP, mas podem ainda ser considerados parte da camada de rede; ARP não roda sobre IP

1 – Rede (Interface com Rede) – (1ª e 2ª camada OSI) Essa é a parte conhecida como física pois trata-se das tecnologias usadas para as conexões como: Ethernet, WI-FI, Modem, etc. No modelo OSI, essa camada também é física, porém, é dividido em duas partes: física e enlace de dados. A física é a parte do hardware e a enlace de dados é a parte lógica do hardware; mac address.

FERRAMENTAS e técnicas utilizadas

  • TÉCNICA PACKET CRAFTING;
  • NMAP;
  • WIRESHARK
  • OSTINATO;
  • HPINGV3;

packet crafting ().

Packet crafting é uma técnica que permite que os administradores de rede avaliem os conjuntos de regras do firewall e encontrem pontos de entrada em um sistema ou rede direcionados. Isso é feito gerando manualmente pacotes para testar dispositivos de rede e comportamento, em vez de usar o tráfego de rede existente.           O teste pode direcionar o firewall, o IDS , a pilha TCP / IP , o roteador ou qualquer outro componente da rede. Os pacotes geralmente são criados usando um gerador de pacotes ou um analisador de pacotes que permite que opções e sinalizadores específicos sejam definidos nos pacotes criados. O ato de elaboração de pacotes pode ser dividido em quatro etapas: conjunto de pacotes, edição de pacotes, reprodução de pacotes e decodificação de pacotes. Existem ferramentas para cada um dos estágios – algumas ferramentas são focadas apenas em um estágio, enquanto outros como Ostinato tentam abranger todos os estágios.

  • Packet Assembly – É a criação dos pacotes a serem enviados. Alguns programas populares utilizados para a montagem de pacotes são Hping , Nemesis , Ostinato , Cat Carat packet builder , Libcrafter , libtins , PcapPlusPlus , Scapy , Wirefloss e Yersinia . Os pacotes podem ser de qualquer protocolo e são projetados para testar regras ou situações específicas. Por exemplo, um pacote TCP pode ser criado com um conjunto de sinalizadores errados para garantir que a máquina de destino envie um comando RESET ou que o firewall bloqueie qualquer resposta.
  • Packet Editing – É a modificação de pacotes criados ou capturados. Isso envolve a modificação de pacotes de maneiras que são difíceis ou impossíveis de fazer no estágio de montagem de pacotes, como a modificação da carga útil de um pacote. Programas como Scapy , Ostinato , Netdude permitem que um usuário modifique facilmente os campos, os checksums e as cargas úteis dos pacotes gravados. Estes pacotes modificados podem ser salvos em fluxos de pacotes que podem ser armazenados em arquivos pcap para serem reproduzidos mais tarde.
  • Packet Play ou Packet Replay – É o ato de enviar uma série de pacotes pré-gerados ou capturados. Os pacotes podem vir de Pacote de montagem e edição ou de ataques de rede capturados. Isso permite testar um determinado uso ou cenário de ataque para a rede segmentada. O Tcpreplay é o programa mais comum para esta tarefa, uma vez que é capaz de levar um fluxo de pacotes armazenados no formato do pcap e enviar esses pacotes à taxa original ou uma taxa definida pelo usuário. O Scapy também suporta as funções de envio para reproduzir todos os pacotes / pcap salvos. Ostinato adicionou suporte para arquivos pcap na versão 0.4. Alguns analisadores de pacotes também são capazes de reproduzir pacotes.
  • Packet Decoding –  É a captura e análise do tráfego de rede gerado durante o Packet Play. Para determinar a resposta da rede direcionada ao cenário criado pelo Packet Play, a resposta deve ser capturada por um analisador de pacotes e descodificada de acordo com as especificações apropriadas. Dependendo dos pacotes enviados, uma resposta desejada pode ser que nenhum pacote foi retornado ou que uma conexão foi estabelecida com sucesso, entre outros. As ferramentas mais famosas para essa tarefa são Wireshark e Scapy .

NETWORK MAP – nmap

O Nmap (“Network Mapper”) é um utilitário gratuito e de código aberto ( licença ) para descoberta de rede e auditoria de segurança. Muitos sistemas e administradores de rede também o acham útil para tarefas como inventário de rede, gerenciamento de agendamentos de atualização de serviço e monitoramento de tempo de atividade do host ou serviço. O Nmap usa pacotes de IP semeados de maneiras inovadoras para determinar quais hosts estão disponíveis na rede, quais serviços (nome e versão do aplicativo) que esses hosts estão oferecendo, quais sistemas operacionais (e versões do sistema operacional) estão executando, que tipo de filtros de pacotes / firewalls estão em uso e dezenas de outras características. Ele foi projetado para escanear rapidamente grandes redes, mas funciona bem contra hosts únicos. O Nmap é executado em todos os principais sistemas operacionais de computadores e os pacotes binários oficiais estão disponíveis para Linux, Windows e Mac OS X. Além do clássico executável Nmap da linha de comando, o pacote Nmap inclui uma interface gráfica avançada e visualizador de resultados ( Zenmap ) uma ferramenta flexível de transferência, redirecionamento e depuração de dados ( Ncat ), um utilitário para comparação de resultados de digitalização ( Ndiff ) e uma ferramenta de análise de geração e resposta de pacotes ( Nping ).

wireshark

Wireshark é o analisador de protocolo de rede mais utilizado e usado no mundo. Ele permite que você veja o que está acontecendo em sua rede em um nível microscópico e é o padrão de facto (e muitas vezes de jure) em muitas empresas comerciais e sem fins lucrativos, agências governamentais e instituições educacionais. O desenvolvimento do Wireshark prospera graças às contribuições voluntárias de especialistas em rede em todo o mundo e é a continuação de um projeto iniciado por Gerald Combs em 1998.

ostinato

Ostinato é um organizador de pacotes, gerador de tráfego de rede e analisador com uma GUI amigável. Também é uma poderosa API Python para automação de teste de rede. Ofereça e envie pacotes de vários fluxos com protocolos diferentes a taxas diferentes. Pense nisso como “Wireshark in Reverse” ()

hpingv3

O hping é um montador / analisador de pacotes TCP / IP orientado a linha de comando. A interface é inspirada no comando ping (8) unix, mas hping não é capaz de enviar solicitações de eco ICMP. Ele suporta protocolos TCP, UDP, ICMP e RAW-IP, possui um modo traceroute, a capacidade de enviar arquivos entre um canal coberto e muitos outros recursos.

Enquanto o HIP foi usado principalmente como uma ferramenta de segurança no passado, ele pode ser usado de muitas maneiras por pessoas que não se preocupam com a segurança para testar redes e hosts. Um subconjunto das coisas que você pode fazer usando hping:

  • Teste de firewall
  • Varredura de porta avançada
  • Teste de rede, usando diferentes protocolos, TOS, fragmentação
  • Manual Path MTU discovery
  • Traceroute avançado, sob todos os protocolos suportados
  • Leitura de sistema operacional remoto
  • Adivinhação de tempo de atividade remota
  • Auditoria de pilhas TCP / IP
  • Hping também pode ser útil para estudantes que estão aprendendo TCP/ IP.

TESTES COM AS FERRAMENTAS  E TÉCNICAS APRESENTADAS ACIMA

WIRESHARK/ NMAP

Nesse exemplo, utilizaremos o NMap para gerar um scan em um servidor que estará rodando o Wireshark, e em outro servidor que estará rodando TCPDump, para fins de comparativos dos filtros empregados em ambos e também para a análise em cima da decodificação, para avaliarmos o pacote em cima das RFCs mencionadas acima.

A decodificação (Packet Decoding) do pacote, que é um dos processo citados na “Arte de manipulação de Pacotes” ou Packet Crafting e a que está sendo testada nesse exemplo, as outras seriam a montagem de pacotes (Packet Assembly), a edição (Packet Editing) e o envio ou reenvio (Packet Play ou Packet Replay).

DECODING TCP -WIRESHARK
DECODING TCP  -WIRESHARKOs autores (2017)

Na figura 7, estamos executando o comando NMAP, de dentro de um microcomputador com sistema Linux Debian 6, contra um micromputador Windows 7 Professional 64 bits, o comando executado trata-se de um scan XMAS, que será explicado com detalhes logo abaixo, porém que já vale salientar que utiliza-se três flags para esse tipo de scan, as flags como mencionado se encontram no cabeçalho TCP, são as sinalizações que já foram vista e apresentadas na RFC 793.

DECODING TCP -WIRESHARK
DECODING TCP  -WIRESHARKOs autores (2017)

Na figura 8, estamos analisando a seguinte informação das diversas existente:

No pacote escolhido que é o destacado em vermelho, diz que o host que solicitou o scan, é o do IP 10.0.0.1, que seu endereço MAC é e2:1d:96:44:8d, que a porta aberta no microcomputador de origem foi uma porta alta, ou seja acima de 1024 e que essa foi a 33144, essa porta e aleatória, que a porta que tentou saber foi a 443 ou seja é do serviço HTTPS, caso tivesse com essa porta aberta, o computador que estaria realizando o scan saberia que teríamos esse serviço, pois num scan o objetivos e saber as portas e esses são associados a serviços de redes, por isso uma medida de segurança e troca as portas padrões dos serviços afim de enganar o atacante,  também vemos em destaque a flag em valor decimal como 0x29, em destaque isso que dizer em decimal ao valor 41, que poderia ser substituído no filtro, o filtro utilizado foi tcp.flags == 0x29, onde poderiamos ter colocado tcp.flags == 41, isso por que 0x29 em hexadecimal ou 41 em decimal, equivale a três flags que seriam as seguintes:

fin, psh, urg, respectivamente 1, 8, 20 em hexadecimal que daria sua soma 0x29 e em decimal a 1, 8 e 32 que dariam 41 o valor de sua soma.

Podemos reparar em destaque que cada uma das flags em questão estãos etadas com valor 1 e em suas respectivas posições, o restante não setado é zero e a contagem funcionar na seguinte ordem começando pela fin que equivale a 1 em decimal ou hexadecimal, seguindo as posições seria 1, 2, 4, 8, 16, 32, 64 em decimal ou 1, 2, 4, 8, 10, 20, 40 que corresponde a fin, syn, rst, psh, ack, urg, a tabela com os nomes e o que faz cada flags está descrito abaixo:

URG – O pacote contem dados importantes


ACK – Certificação que recebeu o ultimo pacote ou outra resposta.


PSH – Envia imediatamente mesmo se o buffer não estiver cheio.


RST – Reseta a conexão ( ocorreu erro ou coisa parecida ).


SYN – Inicia conexão.


FIN – Termina conexão 

No caso do endereço MAC acima, ele e tratado na camada 2 do modelo OSI e não será referenciado aqui, existe RFC para o mesmo, apenas mencionado para fins que podemos decodificar todo pacote, o IP de origem e destino são também mencionados, porém o mesmo será tratado ao vermos o protocolo IP mais a frente nesse trabalho.

Explicação do scan XMAS e outros scans (Null e FIN) que seguem a mesma mecânica devido a RFC 793, permiti isso:

Parametros para uso no NMAP

-sN; -sF; -sX (scans TCP Null, FIN, e Xmas)

Esses três tipos de scan (existem outras opções, possíveis com a opção –scanflags descrita na próxima seção) exploram uma brecha sutil na RFC do TCP para diferenciarem entre portas abertas e fechadas. A página 65 diz que “se a porta [destino] estiver FECHADA …. um segmento entrante que não contenha um RST irá causar o envio de um RST como resposta.” Então a página seguinte discute os pacotes enviados à portas abertas sem os bits SYN, RST ou ACK marcados, afirmando que: “é pouco provável que você chegue aqui, mas se chegar, descarte o segmento, e volte.”

Quando se escaneia sistemas padronizados com o texto desta RFC, qualquer pacote que não contenha os bits SYN, RST, ou ACK irá resultar em um RST como resposta se a porta estiver fechada, e nenhuma resposta se a porta estiver aberta. Contanto que nenhum desses três bits estejam incluídos, qualquer combinação dos outros três (FIN, PSH e URG) é válida. O Nmap explora isso com três tipos de scan:

scan Null (-sN)

Não marca nenhum bit (o cabeçalho de flag do tcp é 0)

scan FIN (-sF)

Marca apenas o bit FIN do TCP.

scan Xmas(-sX)

Marca as flags FIN, PSH e URG, iluminando o pacote como uma árvore de Natal.

Esses três tipos de scan são exatamente os mesmos em termos de comportamento, exceto pelas flags TCP marcadas no pacotes de sondagem. Se um pacote RST for recebido, a porta é considerada fechada, e nenhuma resposta significa que está aberta|filtrada. A porta é marcada como filtrada se um erro ICMP do tipo inalcançável (tipo 3, código 1, 2, 3, 9, 10, ou 13) for recebido.

A vantagem principal desses tipos de scan é que eles podem bisbilhotar através de alguns firewalls não-orientados à conexão e de roteadores que filtram pacotes. Outra vantagem é que esses tipos de scan são um pouco mais camuflados do que o scan SYN. Mas, não conte com isso — a maioria dos produtos IDS modernos podem ser configurados para detectá-los. O maior problema é que nem todos os sistemas seguem a RFC 793 ao pé-da-letra. Diversos sistemas enviam respostas RST para as sondagens independentemente do fato da porta estar aberta ou não. Isso faz com que todas as portas sejam classificadas como fechadas. A maioria dos sistemas operacionais que fazem isso são Microsoft Windows, muitos dispositivos Cisco, BSDI, e o IBM OS/400. Esse scan realmente funciona contra a maioria dos sistemas baseados em Unix. Outro ponto negativo desses scans é que eles não conseguem diferenciar portas abertas de alguns tipos de portas filtradas, deixando você com a resposta abera|filtrada.

WIRESHARK/HPING

Nesse cenário, estaremos criando um código e tipo de mensagem ICMP que é tratado na RFC 792, para explorar as mais diversas maneiras de sabermos se um host existe ou não, é uma ferramenta muito importante para realização de bloqueio de PING (ICMP) por firewall, como todos sabemos o PING se encontra na camada 7 do modelo OSI, que é a camada de aplicação, porém ela faz uso do protocolo ICMP que se encontra na camada 3 que e a camada de rede do modelo OSI, lembrando que comandos como tracert no Windows ou traceroute nos sistemas Unixs, allém do Pathping que são usados para diagnósticos de redes igualmente ao PING, fazem uso do ICMP, permitindo o administrador de redes saber informações sobre o host para diagnósticos de redes, porém a maioria apenas bloqueiam o ICMP tipo request e replay, sem pensar que poderia através de uma ferramenta como o hping explorarmos qualquer mensagem de código e tipo especificados na RFC 792, esse exemplo servira para estudo do ICMP e da analise através do Wireshark, embora com hping podemos interagir com as flags do TCP e outros campos, ou seja serviria para manipulação de cabeçalhos também, além de uma ótima ferramenta para prática de flood, para um ataque de negação de serviço por exemplo, pois o mesmo utiliza-se do cabeçalho TCP para essa finalidade.

DECODING ICMP – WIRESHARK
DECODING ICMP - WIRESHARKOs autores (2017)

Nas mesma configurações do teste anterior de sistemas operacionais e hardware, faremos desta vez com a ferramenta hping3 um teste para explorar um dos diversos códigos e tipos especificados pela RFC 792, vamos nesse exemplo utiliza o comando no hping3 que é o seguinte  hping3 10.0.0.187 –icmp –icmp-ts -V
, esse comando estamos especificando para que seja feito na marca no tempo, timestamp do ICMP, cujo a RFC 792 diz que teria que apresentar os seguintes códigos e tipos como segue abaixo o trecho:

CABEÇALHO ICMP
CABEÇALHO ICMPOs autores (2017)

Estamos vendo no cabeçalho os campo Type ou tipo e Code ou Código, onde trará o código ICMP que solicitamos ao fazer uma consulta no tipo de código de timestamp ou marcar do tempo, lembrando que poderíamos realizar em qualquer tipo e código ICMP que a RFC 792 faz referência.

Na segunda parte ele diz que sempre será o código 0 e que se vier o tipo com valor 13 e request ou a mensagem de solicitação da hora e que 14 e o Replay, ou seja a resposta de confirmação de da hora solictada, repare que no cabeçalho os campos originate, receive e transmite estarão em nossa analise conforme imagens seguintes.

DECODING ICMP – WIRESHARK
DECODING ICMP - WIRESHARKOs autores (2017)

Nessa tela vemos a execução do comando contra o alvo 10.0.0.187 e o mesmo sendo decodificado pelo Wireshark, podemos de cara sem abrir o pacote já vermos que ele diz o IP de origem e de destino, que foram realizadas mensagens ICMP de timestamp.

DECODING ICMP – WIRESHARK
DECODING ICMP - WIRESHARKOs autores (2017)

Já abrindo o pacote vemos com mais detalhes as informações, o pacote aberto é o primeiro destacado em vermelho e diz as informações abaixo:

Que trata-se do Protocolo ICMP, que seu código 9code) é 0 (sempre será zero para timestamp), e seu tipo (type) é 13, que conforme a RFC 792 diz na tabela acima na figura 10, trata-se de um request timestamp.

DECODING ICMP – WIRESHARK
DECODING ICMP - WIRESHARKOs autores (2017)

Nessa imagem acima vemos que o código (code) é 0 e que o tipo (type) é 14 conforme a RFC 792 diz, é um replay timestamp.

Nessa mesma decodificação do pacote vemos as informações que foram passadas que constam no cabeçalho explicado na figura 10, dizendo que são exatamente 16:18.

OSTINATO/NMAP/WIRESHARK

Agora estaremos analisando a ferramenta OSTINATO para além da decodificação, permitir alterar o pacote e transmite, além de criar, dessa forma executando as quatros técnicas do packet crafiting, vamos com OSTINATO capturar pacotes, podemos utilizar o Wireshark para visualização ou o prórpio OSTINAT, para o testo novo vamos executar um scan NULL, que já foi explicado anteriormente junto aos XMAs e FIN, faremos um scan NULL contra nosso alvo 10.0.0.187 e veremos o que ele demostrará, a próxima eta será modifica e retransmite esse pacote capturado que consta um scan tipo NULL.

 

CAPTURA OSTINATO, ANÁLISE WIRESHARK, MODIFICAÇÃO E ENVIO OSTINATO
CAPTURA OSTINATO, ANÁLISE WIRESHARK, MODIFICAÇÃO E ENVIO OSTINATOOs autores (2017)

CAPTURA OSTINATO, ANÁLISE WIRESHARK, MODIFICAÇÃO E ENVIO OSTINATO
CAPTURA OSTINATO, ANÁLISE WIRESHARK, MODIFICAÇÃO E ENVIO OSTINATOOs autores (2017)

Conforme segue as duas imagens, o OSTINATO capturou os pacotes para posterior visualização no Wireshark, onde utilizamos o filtro tcp.flags == 0, pois se tratar de um scan que vão todas flags desligadas, conforme imagem 15, reparem que o valor em decimal e 0 e em hexadecimal 0x0, demostrando também as portas de origem e destino, ou seja nas mesma condições explicadas no primeiro exemplo.

Agora vamos pegar esse pacote e alterar seus dados, realizando uma transmissão e capturar posterior para ver que realmente podemos alterar os dados do pacote, lembrando que estaremos nesse momento da alteraração fazendo a leitura do pacote igualmente ao realizado pelo Wireshark, demostrando que o mesmo e capaz de realizar a decodificação.

LEITURA DO PACOTE CAPTURADO PELO OSTINATO
LEITURA DO PACOTE CAPTURADO PELO OSTINATOOs autores (2017)

Note na imagem que o pacote capturado e o de nº 649, mesmo do Wireshark na figura 15, e que constam então as mesmas informações.

Vamos alterar esses dados, após isso poderíamos retransmitir, executando a capturar ou leitura do arquivo pelo Wireshark e amostrando os novos valores, como imagens que seguem, a parte de envio (replay/play), que poderia ser para esse pacote alterado, será amostrado na parte que criaremos o pacote, lembrando que em nenhum momento ensinamos a utilização por completo da ferramenta, apenas demostramos o que ela é capaz.

MODIFICAÇÃO DO PACOTE CAPTURADO PELO OSTINATO
MODIFICAÇÃO DO PACOTE CAPTURADO PELO OSTINATOOs autores (2017)

Entre as diversas informações, vamos realizar a alteração apenas nas flags, portas de origem e destino, podem ver que o campo que faz referência a esse pacote em função das flags, estão todos desligados, pois foi um scano NULL, vamos ligar as flags fin, psh e urg, pra dizer que seria na verdade um XMAS, também vamos mudar as portas de origem e destino, gerando esse pacote novo conforme as informações da imagem 18.

MODIFICAÇÃO DO PACOTE CAPTURADO PELO OSTINATO
MODIFICAÇÃO DO PACOTE CAPTURADO PELO OSTINATOOs autores (2017)

Vejam que foram modificados apenas os campos mencionado acima.

MODIFICAÇÃO DO PACOTE CAPTURADO PELO OSTINATO
MODIFICAÇÃO DO PACOTE CAPTURADO PELO OSTINATOOs autores (2017)

OSTINATO/WIRESHARK – MONTAGEM, ENVIO E ANÁLISE

OSTINATO/WIRESHARK – MONTAGEM, ENVIO E ANÁLISE
OSTINATO/WIRESHARK - MONTAGEM, ENVIO E ANÁLISEOs autores (2017)

OSTINATO/WIRESHARK – MONTAGEM, ENVIO E ANÁLISE
OSTINATO/WIRESHARK - MONTAGEM, ENVIO E ANÁLISEOs autores (2017)

OSTINATO/WIRESHARK – MONTAGEM, ENVIO E ANÁLISE
OSTINATO/WIRESHARK - MONTAGEM, ENVIO E ANÁLISEOs autores (2017)

OSTINATO/WIRESHARK – MONTAGEM, ENVIO E ANÁLISE
OSTINATO/WIRESHARK - MONTAGEM, ENVIO E ANÁLISEOs autores (2017)

OSTINATO/WIRESHARK – MONTAGEM, ENVIO E ANÁLISE
OSTINATO/WIRESHARK - MONTAGEM, ENVIO E ANÁLISEOs autores (2017)

OSTINATO/WIRESHARK – MONTAGEM, ENVIO E ANÁLISE
OSTINATO/WIRESHARK - MONTAGEM, ENVIO E ANÁLISEOs autores (2017)

OSTINATO/WIRESHARK – MONTAGEM, ENVIO E ANÁLISE
OSTINATO/WIRESHARK - MONTAGEM, ENVIO E ANÁLISEOs autores (2017)

Nas imagens da figura 20 até a 26, seguimos com a montagem, envio e leitura do pacote, lembrando que o pacote modificado, seguiria a mesma ordem, porém seria edita e não criado, como poderíamos pegar um pacote capturando e retransmitir, até mesmo um pacote com algum tipo de ameça e reproduzir seu efeito, ou com algum scan ou qualquer coisa que ser resuma no pacote de redes.

Na figura 20, vemos que escolhemos os campo destacados em amarelo, para fazerem parte do pacote, reparem as camadas, elas seguem o modelo OSI.

Na figura 21, especificamos o MAC Adress, que foi marcado para fazer parte do pacote conforme imagem da figura 20, escolhemos o valor AA:AA:AA:AA:AA:AA para origem e AA:BB:CC:DD:EE:FF para destino. Para esclarecimento do endereço MAC segue informação abaixo:

O Endereço MAC (Media Access Control) é um endereço físico associado à interface de comunicação, que conecta um dispositivo à rede. O MAC é um endereço “único”, não havendo duas portas com a mesma numeração, é usado para controle de acesso em redes de computadores. Sua identificação é gravada em hardware, isto é, na memória ROM da placa de rede de equipamentos como desktops, notebooks, roteadores, smartphones, tablets, impressoras de rede.

O endereço MAC é formado por um conjunto de 6 bytes separados por dois pontos (“:”) ou hífen (“-”), sendo cada byte representado por dois algarismos na forma hexadecimal, como por exemplo: “00:19:B9:FB:E2:58”. Cada algarismo em hexadecimal corresponde a uma palavra binária de quatro bits, desta forma, os 12 algarismos que formam o endereço totalizam 48 bits.

MAC ADDRESS
MAC ADDRESSOs autores (2017)

Há uma padronização dos endereços MAC administrada pela IEEE (Institute of Electrical and Electronics Engineers) que define que os três primeiros bytes – imagem acima, chamados OUI (Organizationally Unique Identifier), são destinados a identificação do fabricante – eles são fornecidos pela própria IEEE. Os três últimos bytes são definidos pelo fabricante, sendo este responsável pelo controle da numeração de cada placa que produz. Apesar de ser único e gravado em hardware, o endereço MAC pode ser alterado através de técnicas específicas.

Na figura 23, definimos que será um ICMP do tipo 8 código 0, na figura 23, definimos o IP de origem 10.0.0.1 e de destino 10.0.0.187, na figura 24, vemos o pacote montado para envio com todas informações adicionada e que foram escolhidas na figura 20.

Na figura 25 vemos que enviamos o pacote criado, que está destacado em amarelo, podem ver que sent=1, e na figura 26 vemos a captura do mesmo pelo Wireshark, onde usamos o filtro ICMP, destacando-se em amarelo todas informações do pacote criado no OSTINATO e enviados.

ANÁLISE DO CABEÇALHO IP

ANÁLISE CABEÇALHO IP
ANÁLISE CABEÇALHO IPOs autores (2017)

 

ANÁLISE CABEÇALHO IP
ANÁLISE CABEÇALHO IPOs autores (2017)

ANÁLISE CABEÇALHO IP
ANÁLISE CABEÇALHO IPOs autores (2017)

ANÁLISE CABEÇALHO IP
ANÁLISE CABEÇALHO IPOs autores (2017)

Na sequência de imagens acima, trataremos a questão do cabeçalho IP, que está especificado na RFC 791, onde veremos os campos mais preciosos que temos que saber para uma identificação, alguns foram mostrado, nesse exmplo foi usado a capturar de um comando PING, pois esse usar o protocolo ICMP como explicado, porém a intenção e apenas o estudo do cabeçalho IP, mas sim aproveita o exemplo para o código (code) ICMP e o tipo (type) que eles nos trás.

Vamos começar pelo ICMP apena para mostra os codigo que podem ser consultado na RFC do ICMP que é a 792.

veja que na figura 22 trata-se de um echo request, pois diz que o código é 0 e o tipo é 8, na figura 23 já diz que é echo reply, pois vem o código 0 e o tipo 8. Com comprovamos mia suma vez que podemos ver todo pacote, ou seja todos cabeçalhos envolvendo. 

Vamos ao que nos interessa que é a leitura do cabeçalho IP, conforme as figuras 20,021 e 22, executamos um simples ping e capturamos, realizando a leitura no Wireshark com o filtro icmp. Na analise desse pacote, podemos ver que o endereço IP de origem é 10.0.0.187 e de destino o 10.0.0.1 na figura 23, é que na figura 22 inverte-se o endereço de destino é 10.0.0.187 e o de origem 10.0.0.1, isso pois foi o 10.0.0.1 que começou a comunicação. Analisando o cabeçalho ainda vemos que o protocolo foi ICMP, onde destacado em amarelo, se fosse outro protocolo o mesmo teria outro código, para cada protocolo existe um código, também vemos o TTL que através do mesmo podermos saber o sistema operacional, em caso de TTLs iguais, consultamos a janela do TCP onde permitira saber qual sistema operacional é, nesse caso sabemos que o TTL 64 e do Linux e o 128 do Windows 7, também através do TTL saberíamos se passou por algum roteado, nesse caso não. Na medida que passa os roteadores, são decrementados 1 do valor do TTL, no próprio PING ao executarmos pelo TLL informado saberíamos quantos roteadores existem no caminho, também vemos que trata-se um um IPv4 na parte do cabeçalho que diz a versão.

ANÁLISE CABEÇALHO UDP

ANÁLISE CABEÇALHO UDP
ANÁLISE CABEÇALHO UDPOs autores (2017)

ANÁLISE CABEÇALHO UDP
ANÁLISE CABEÇALHO UDPOs autores (2017)

Nas figuras 24 e 25, vemos o protoclo UDP, filtramos no Wireshark pelo nome ICMP, mas poderíamos ter filtrado apenas colocando UDP, a intenção é que além de estudar o protocolo UDP, vamos ver outro código e tipo ICMP, porém esse sobre o protocolo de transporte UDP.

Analisando esse pacotes vemos as seguintes informações, relacionadas ao ICMP que é código 3 e tipo 3, que diz que a porta é inalcançável, justamente intencional pois a porta que mandamos pingar foi a 111, no comando do hping3, que a sintaxe foi a seguinte hping3 10.0.0.187 –udp -V -p 111
onde diz que é pra ser usando o protocolo UDP, na porta 111, como porta 111 não existe no host que é o 10.0.0.187, o mesmo retornou a mensagem de porta inexistente ou inalcançável, no cabeçalho IP vemos que foi usado o protocolo UDP que o código é 17, caso fosse no TCP o código 6 e caso do ICMP 1, vemos a porta alta aberta no host do invaso e alvo que foi a 111 que não existe.

Desenvolvimento

Através de teorias e práticas com exemplos, conseguimos demostra a eficiência e facilidade de ler um pacote de redes, esse estudo ajudará a qualquer profissional envolvido em telecomunicações e redes computacionais a entender melhor as RFCs com cada protocolo que existe, levando a novas experiências e buscar por informações.

É uma verdadeira arte a manipulação de pacotes, o entendimento de uma pacote pois tudo se resumi a pacotes e estes aos protocolos, á área de segurança da informação também utiliza-se desse tipo de coleta de dados, sistemas diversos de segurança da informação, como IPS e IDS, além de firewalls, utiliza-se de tais recursos.

Conclusão

Concluímos que sem conhecermos bem os protocolos através de pelo menos sua decodificação, através de programas como Wireshark poderemos diagnosticar muito problemas de segurança da informação e que tudo se resumi a pacotes, mesmo que as tecnologias mudem, ou seja criado novos protocolos regidos pelas RFCs, sempre poderemos fazer sua análise e manipulação.

Referências

. Disponível em: <http://www.hping.org>. Acesso em: 12 Abr. 2017.

______. Disponível em: <https://jbgsm.wordpress.com/2010/05/31/camadas-tcpip/>. Acesso em: 8 Dez. 2017.

______. Disponível em: <https://nmap.org/>. Acesso em: 12 Abr. 2017.

______. Disponível em: <https://pt.wikipedia.org/wiki/Endere%C3%A7o_MAC>. Acesso em: 1 Dez. 2017.

______. Disponível em: <https://pt.wikipedia.org/wiki/TCP/IP>. Acesso em: 8 Dez. 2017.

______. Disponível em: <https://pt.wikipedia.org/wiki/TCP/IP>. Acesso em: 8 Dez. 2017.

______. OSTINATO. Disponível em: <http://ostinato.org/>. Acesso em: 12 Abr. 2017.

______. Protocol Analyses Institute. Disponível em: <http://www.packet-level.com/>. Acesso em: 12 Abr. 2017.

______. Wireshark. Disponível em: <https://www.wireshark.org/>. Acesso em: 12 Abr. 2017.

______TCP/IP and tcpdump – SANS Institute. Disponível em: <https://www.sans.org/security-resources/tcpip.pdf>. Acesso em: 12 Abr. 2017.

Análise de cabeçalhos com Wireshark (60 MIN). Disponível em: <https://www.youtube.com/watch?v=KR84vKDSAqo&t=1074s>. Acesso em: 12 Abr. 2017.

IETFCABEÇALHO IP. Disponível em: <https://tools.ietf.org/html/rfc791>. Acesso em: 25 Nov. 2017.

NMAP.ORGTécnicas de Escaneamento de Portas. Disponível em: <https://nmap.org/man/pt_BR/man-port-scanning-techniques.html>. Acesso em: 5 Dez. 2017.

Packet Crafting – Arte de manipulação de pacotes – Parte 1 (12MIN). Disponível em: <https://www.youtube.com/watch?v=mO1L7CQXmTk>. Acesso em: 12 Abr. 2017.

The Internet Engineering Task Force (IETF®). The Internet Engineering Task Force (IETF®). Disponível em: <https://www.ietf.org/>. Acesso em: 12 Abr. 2017.

feito

Use agora o Mettzer em todos
os seus trabalhos acadêmicos

Economize 40% do seu tempo de produção científica