28Aug
Você sabia que você pode descobrir qual sistema operacional um dispositivo em rede está executando apenas olhando a maneira como ele se comunica na rede? Vamos dar uma olhada em como podemos descobrir o sistema operacional que nossos dispositivos estão executando.
Por que você faria isso?
Determinar o funcionamento do sistema operacional ou do dispositivo pode ser útil por vários motivos. Primeiro, dê uma olhada em uma perspectiva cotidiana, imagine que deseja mudar para um novo ISP que ofereça internet sem rede por US $ 50 por mês para que você faça um teste de seu serviço. Ao usar a impressão digital do sistema operacional, você descobrirá que eles têm routers de lixo e oferecem um serviço PPPoE oferecido em um monte de máquinas Windows Server 2003.Não soa como um bom negócio, hein?
Outro uso para isso, embora não tão ético, é o fato de que os buracos de segurança são específicos 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 do Bind, você tem uma chance ÚNICA de explorar o buraco de segurança uma vez que uma tentativa falhada estragaria o daemon.
Como funciona a impressão digital do sistema operacional?
Ao fazer análises passivas do tráfego atual ou até mesmo procurar capturas de pacotes antigos, uma das formas mais fáceis e efetivas de fazer o uso do Fingerprinting é simplesmente olhando o tamanho da janela TCP e Time To Live( TTL) no cabeçalho IP doprimeiro pacote em uma sessão TCP.
Aqui estão os valores para os sistemas operacionais mais populares:
Sistema Operacional | Tempo para viver | TCP Tamanho da janela |
Linux( Kernel 2.4 e 2.6) | 64 | 5840 |
Google Linux | 64 | 5720 |
FreeBSD | 64 | 65535 |
Windows XP | 128 | 65535 |
Windows Vista e 7( Servidor 2008) | 128 | 8192 |
iOS12.4( Cisco Routers) | 255 | 4128 |
O principal motivo pelo qual os sistemas operacionais têm valores diferentes deve-se ao fato de que os RFC's para TCP / IP não estipulam valores padrão. Outra coisa importante a lembrar é que o valor TTL nem sempre corresponde a um na tabela, mesmo que o seu dispositivo esteja executando um dos sistemas operacionais listados, você verá quando você envia um pacote IP pela rede o sistema operacional do dispositivo que enviadefine o TTL para o TTL padrão para esse sistema operacional, mas como o pacote atravessa os roteadores, o TTL é diminuído em 1. Portanto, se você vir um TTL de 117, este pode ser um pacote que foi enviado com um TTL de 128 epercorreu 11 roteadores antes de serem capturados.
Usando tshark.exe é a maneira mais fácil de ver os valores assim que você tiver uma captura de pacotes, certifique-se de ter o Wireshark instalado, então navegue até:
C: \ Arquivos de Programas \
Agora segure o botão Shift e clique com o botão direito do mousena pasta wireshark e selecione abrir janela de comando aqui a partir do menu de contexto
Agora digite:
tshark -r "C: \ Users \ Taylor Gibb \ Desktop \ blah.pcap" "tcp.flags.syn eq 1" -T campos -e ip.src -e ip.ttl -e tcp.window_size
Certifique-se de substituir "C: \ Users \ Taylor Gibb \ Desktop \ blah.pcap" com o caminho absoluto para a sua captura de pacotes. Uma vez que você insira Enter, você mostrará todos os pacotes SYN da sua captura e um formato de tabela mais fácil de ler
Agora, esta é uma captura aleatória de pacotes que eu fiz da minha conexão com o site How-To Geek, entre todas as outras conversas que o Windows está fazendoPosso lhe dizer duas coisas com certeza:
- Minha rede local é 192.168.0.0/24
- Estou em uma caixa do Windows 7
Se você olhar para a primeira linha da tabela, você verá que não estou mentindo, meu endereço IP é192.168.0.84 meu TTL é 128 e meu tamanho da janela TCP é 8192, que corresponde aos valores para o 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 a minha mesa não há sistema operacional com um TTL de 44, no entanto, ele diz que o Linux que os servidores do Google executam tem um tamanho de janela TCP 5720. Depois de fazer uma rápida pesquisa na web do endereço IP, você verá que éde fato, um Servidor do Google.
O que mais você usa tshark.exe para, conte-nos nos comentários.