
Banner grabbing é uma táctica usada para identificar um serviço em execução ligado a uma porta aberta, identificar um sistema operacional ou versão de um serviço. O método mais simples é usar uma ferramenta tal como o telnet que está presente em muitos sistemas operativos. Como a porta default (padrão) do telnet é a 23, é necessário mudar a porta como argumento, ficando da seguinte forma:
telnet www.exemplo.com.br 80
O Banner grabbing pode ser activo ou passivo. Banner grabbing activo consiste em enviar pacotes e ler a resposta. O passivo consistem em analisar o tráfego de rede e procurar páginas, extensões e mensagens de erro que identifique alguma informação do alvo.
Um método simples de Banner grabbing para identificação do sistema operativo seria utilização do ICMP, no caso o nosso famoso ping.

No exemplo acima temos o retorno do ttl com 64 indicando que o sistema operacional é um Linux.
Segue tabela onde podemos verificar o ttl (time to live) e identificar o sistema operativo:
| Sistema Operacional | Time-to-Live(TTL) |
|---|---|
| Linux(Kernel 2.4 and 2.6) | 64 |
| FreeBSD | 64 |
| OpenBSD | 64 |
| Google customized Linux | 64 |
| Windows XP | 128 |
| Windows 7, Vista and Server 2008 | 128 |
| Cisco Router IOS 12.4 | 255 |
Essa técnica verificando o ttl também pode ser chamada de OS fingerprinting.
obs.: A verificação do ttl pode não ser 100% de confiança, tendo em vista que o administrador pode mudar a numeração de resposta para dificultar a identificação do sistema. Porem é muito dificil encontrar um administrador que faça tal alteração, mas cabe a observação.
Temos um artigo de como desenvolver um banner grabber simples com python da uma conferida: Como desenvolver um banner grabber com python.
Obrigado pela leitura e até a próxima.