
Utilitário leve para enganar scanners de portas
Este script foi criado para abrir quantos sockets você desejar (entre 1024 - 65535).
Abaixo de 1024 também funciona, mas você precisa ser root para isso.
Isso pode ser útil quando você não quer que pessoas mapeiem seu dispositivo
para ver o que você está executando ou não, sendo assim um pequeno passo para dificultar o reconhecimento.
Portforge.cr usa uma técnica embutida no compilador Crystal chamada Fibers.
Elas são muito parecidas com threads do sistema, mas Fibers é muito mais leve
e a execução é gerenciada através do processo 1.
Quanto maior o intervalo que você escolher, mais tempo o script leva para
carregar cada socket, mas eu tentei o máximo para otimizar o script
para que leve apenas alguns minutos (dependendo do sistema, claro).
O script funciona em 2 etapas.
Primeiro, ele realiza sua própria varredura no sistema para ver qual porta já está aberta.
As portas abertas são colocadas em uma lista e as portas fechadas em outra lista.
O próximo passo é abrir as portas fechadas, então o script pega a lista com todas as portas
fechadas e abre um socket em cada uma delas.
Enquanto a fiber principal está abrindo um socket em cada porta,
outra fiber é chamada sob a principal que escuta por conexões recebidas e as fecha diretamente.
Esse processo se repete indefinidamente, ou até você interromper o script.
crystal build portforge.cr
./portforge IP portainicial portafinal
A primeira imagem mostra o portforge.cr em execução e a segunda é o resultado de uma varredura Nmap.
Como você pode ver, o Nmap pensa que estou executando todos esses serviços quando, na realidade, é apenas o portforge.cr em execução.
