Hacker Geek: Fingerprinting do sistema operacional com tamanhos de janela TTL e TCP

Índice:

Hacker Geek: Fingerprinting do sistema operacional com tamanhos de janela TTL e TCP
Hacker Geek: Fingerprinting do sistema operacional com tamanhos de janela TTL e TCP

Vídeo: Hacker Geek: Fingerprinting do sistema operacional com tamanhos de janela TTL e TCP

Vídeo: Hacker Geek: Fingerprinting do sistema operacional com tamanhos de janela TTL e TCP
Vídeo: Tutorial 03 | Como criar máquina virtual no Hyper-V [SIMPLES e FÁCIL] - YouTube 2024, Abril
Anonim
Você sabia que pode descobrir qual sistema operacional está executando um dispositivo em rede apenas observando a maneira como ele se comunica na rede? Vamos dar uma olhada em como podemos descobrir qual sistema operacional nossos dispositivos estão executando.
Você sabia que pode descobrir qual sistema operacional está executando um dispositivo em rede apenas observando a maneira como ele se comunica na rede? Vamos dar uma olhada em como podemos descobrir qual sistema operacional nossos dispositivos estão executando.

Por que você faria isso?

Determinar qual SO uma máquina ou dispositivo está executando pode ser útil por vários motivos. Primeiro vamos dar uma olhada em uma perspectiva cotidiana, imagine que você queira mudar para um novo ISP que ofereça acesso ilimitado à internet por US $ 50 por mês, para que você faça uma avaliação do serviço deles. Ao usar a impressão digital do sistema operacional, você logo descobrirá que eles têm roteadores de lixo e oferecem um serviço PPPoE oferecido em várias máquinas do Windows Server 2003. Não parece mais um bom negócio, hein?

Outro uso para isso, embora não tão ético, é o fato de que as falhas de segurança são específicas do sistema operacional. Por exemplo, você faz uma varredura de porta e encontra a porta 53 aberta e a máquina está executando uma versão desatualizada e vulnerável de Bind, você tem uma ÚNICA chance de explorar a brecha de segurança desde que uma tentativa falhada iria travar o daemon.

Como funciona a impressão digital do sistema operacional?

Ao fazer uma análise passiva do tráfego atual ou até mesmo observar as antigas capturas de pacotes, uma das maneiras mais fáceis e eficazes de executar o Fingerprinting é simplesmente observar o tamanho da janela TCP e o tempo de vida (TTL) no cabeçalho IP do primeiro. pacote em uma sessão TCP.

Aqui estão os valores para os sistemas operacionais mais populares:

Sistema operacional Tempo de Viver Tamanho da Janela TCP
Linux (Kernel 2.4 e 2.6) 64 5840
Google Linux 64 5720
FreeBSD 64 65535
Windows XP 128 65535
Windows Vista e 7 (Server 2008) 128 8192
iOS 12.4 (roteadores Cisco) 255 4128

A principal razão pela qual os sistemas operacionais têm valores diferentes se deve ao fato de que os RFCs para TCP / IP não estipulam valores padrão. Outra coisa importante a lembrar é que o valor TTL nem sempre corresponderá a um na tabela, mesmo se o dispositivo estiver executando um dos sistemas operacionais listados, você verá quando enviar um pacote IP através da rede o sistema operacional do dispositivo remetente configura o TTL para o TTL padrão para aquele SO, mas como o pacote atravessa os roteadores, o TTL é reduzido em 1. Portanto, se você vir um TTL de 117, pode ser esperado que seja um pacote enviado com um TTL de 128 e já percorreu 11 roteadores antes de ser capturado.

Usar tshark.exe é a maneira mais fácil de ver os valores, assim que você tiver uma captura de pacote, verifique se o Wireshark está instalado e navegue até:

C:Program Files

Agora segure o botão shift e clique com o botão direito do mouse na pasta wireshark e selecione a janela de comando aberta aqui no menu de contexto

Agora digite:
Agora digite:

tshark -r 'C:UsersTaylor GibbDesktoplah.pcap' 'tcp.flags.syn eq 1' -T fields -e ip.src -e ip.ttl -e tcp.window_size

Certifique-se de substituir "C: Usuários Taylor Gibb Desktop blah.pcap" com o caminho absoluto para a sua captura de pacotes. Uma vez que você aperta enter, você verá todos os pacotes SYN da sua captura e um formato de tabela mais fácil de ler.

Agora, esta é uma captura de pacote aleatória que fiz de mim conectando-me ao How-To Geek Website, entre todas as outras conversas que o Windows está fazendo, posso dizer duas coisas com certeza:
Agora, esta é uma captura de pacote aleatória que fiz de mim conectando-me ao How-To Geek Website, entre todas as outras conversas que o Windows está fazendo, posso dizer duas coisas com certeza:
  • Minha rede local é 192.168.0.0/24
  • Eu estou em uma caixa do Windows 7

Se você olhar para a primeira linha da tabela, verá que não estou mentindo, meu endereço IP é 192.168.0.84, meu TTL é 128 e meu tamanho de janela TCP é 8192, que corresponde aos valores do Windows 7.

A próxima coisa que vejo é um endereço 74.125.233.24 com um TTL de 44 e um tamanho de janela TCP de 5720, se eu olhar para minha tabela não há nenhum sistema operacional com um TTL de 44, no entanto, ele diz que o Linux que os servidores do Google executar tem um tamanho de janela TCP 5720. Depois de fazer uma pesquisa na web rápida do endereço IP, você verá que é de fato um servidor do Google.

Recomendado: