polarbearscan : il y a encore du fun dans le scan de ports

A t-on fait depuis longtemps le tour des techniques de scan de port ?

Vincent Berg de IOActive s’est dit qu’on pouvait encore apporter quelques améliorations et contribuer à sauver les ours polaires.

En effet les scanners comme Nmap qui n’envoient qu’un SYN pour déterminer si un port est ouvert vont ensuite établir une connexion complète (via connect()) pour récupérer la version du serveur, bannière et compagnie, ce qui fait que l’on renvoi à nouveau un SYN alors que le serveur répondait par un SYN-ACK (pour ceux qui suivent).

Ce serait tellement bien de récupérer au vol ce dernier paquet et de rattacher une socket dessus pour obtenir la bannière mais c’est sans compter d’un côté sur la difficulté de réalisation et de l’autre sur le kernel…

Mais finalement l’auteur est tombé sur libuinet qui est une implémentation userland de la stack TCP-IP de FreeBSD et a réussi à écrire un scanneur qui économise des paquets et sauve les ours polaires !

Preuve qu’il y a encore du fun dans le scan de port 🙂