
Utilitaire léger pour tromper les scanners de ports
Ce script est destiné à ouvrir autant de sockets que vous le souhaitez (entre 1024 et 65535).
Les ports inférieurs à 1024 fonctionnent aussi mais vous devez être root pour cela.
Cela peut être utile lorsque vous ne voulez pas que des gens cartographient votre appareil
pour voir ce que vous exécutez et quoi d'autre, donc c'est une petite étape pour contrer la reconnaissance.
Portforge.cr utilise une technique intégrée au compilateur Crystal appelée Fibers.
Elles ressemblent beaucoup aux threads système mais les Fibers sont beaucoup plus légères
et l'exécution est gérée par le processus 1.
Plus la plage que vous choisissez est grande, plus le script met du temps à
charger chaque socket mais j'ai fait de mon mieux pour optimiser le script
donc cela ne devrait prendre que quelques minutes (selon le système bien sûr).
Le script fonctionne en 2 étapes.
Il effectue d'abord son propre scan du système pour voir quel port est déjà ouvert.
Les ports ouverts sont ensuite mis sur une liste et les ports fermés sur une autre liste.
L'étape suivante consiste à ouvrir les ports fermés, donc le script prend la liste de tous les ports fermés
et ouvre un socket sur chacun d'eux.
Pendant que la fibre principale ouvre un socket sur chaque port,
une autre fibre est appelée sous la principale qui écoute les connexions entrantes et les ferme directement.
Ce processus est répété indéfiniment, ou jusqu'à ce que vous interrompiez le script.
crystal build portforge.cr
./portforge IP startport endport
La première image montre portforge.cr en cours d'exécution et la seconde est le résultat d'un scan Nmap.
Comme vous pouvez le voir, Nmap pense que j'exécute tous ces services alors qu'en réalité, c'est juste portforge.cr qui tourne.
