
Utilità leggera per ingannare i port scanner
Questo script è pensato per aprire tutti i socket che desideri (tra 1024 e 65535).
Anche valori inferiori a 1024 funzionano, ma devi essere utente root.
Può essere utile quando non vuoi che le persone mappino il tuo dispositivo
per vedere cosa stai eseguendo e cosa no, quindi è un piccolo passo per ostacolare la ricognizione.
Portforge.cr utilizza una tecnica integrata nel compilatore Crystal chiamata Fibers.
Sono molto simili ai thread di sistema, ma Fibers è molto più leggero
e l'esecuzione è gestita attraverso il processo 1.
Più ampio è l'intervallo scelto, più tempo ci vorrà per caricare ogni socket,
ma ho cercato di ottimizzare lo script il più possibile,
quindi dovrebbe richiedere solo un paio di minuti (dipende ovviamente dal sistema).
Lo script funziona in 2 fasi.
Prima esegue una propria scansione del sistema per vedere quali porte sono già aperte.
Le porte aperte vengono messe in una lista e le porte chiuse in un'altra lista.
Il passo successivo è aprire le porte chiuse, quindi lo script prende la lista con tutte le porte chiuse
e apre un socket su ciascuna di esse.
Mentre la fibra principale apre un socket su ogni porta,
un'altra fibra viene chiamata sotto quella principale, che ascolta le connessioni in entrata e le chiude direttamente.
Questo processo viene ripetuto indefinitamente, finché non interrompi lo script.
crystal build portforge.cr
./portforge IP startport endport
La prima immagine mostra portforge.cr in esecuzione, la seconda il risultato di una scansione Nmap.
Come puoi vedere, Nmap pensa che stia eseguendo tutti questi servizi, quando in realtà è solo portforge.cr in esecuzione.
