Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
sidedoor — Demone di connessione SSH per Debian/Raspbian/Ubuntu/etc | Kitploit
Strumenti/GitHubGitHub/daradib/sidedoor
Sicurezza di ReteUtilità e FrameworkStrumento di Accesso Remoto
GitHubdaradib/sidedoor

sidedoor

Demone di connessione SSH per Debian/Raspbian/Ubuntu/etc

Vedi RepositorySito web
129196 anni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

sidedoor

sidedoor mantiene una connessione SSH o un tunnel con un demone di script shell.

sidedoor tunneling

Il caso d'uso principale è mantenere un forward di porta remoto verso il server SSH locale (o un'altra porta). In questo modo, il dispositivo locale può essere raggiunto senza utilizzare connessioni in entrata che potrebbero essere bloccate da un NAT o firewall, o comunque poco pratiche con dispositivi mobili.

I client SSH possono connettersi al dispositivo tramite il proxy SSH inverso a cui sidedoor crea il tunnel. Questo server proxy può essere non fidato e gestito da terze parti o da un servizio cloud.

sidedoor abilita i keepalive SSH e riprova la connessione SSH con backoff esponenziale. Per riconnettersi il prima possibile, azzera il backoff quando un'interfaccia di rete viene attivata (o modificata).

Altri casi d'uso:

  • Accedere a un'applicazione web dietro un NAT tramite forward remoto del server web locale (es., porta 80). Un server remoto può ospitare un proxy inverso per l'applicazione web e gestire la terminazione SSL/TLS.
  • Rimanere connessi ai servizi di rete dell'ufficio dietro un SSH host bastione tramite forward locale.
  • Fondere i backup su nastro di Evil Corp controllando a distanza un Raspberry Pi (sconsigliato!).

Stai usando sidedoor? Segnalazioni di bug, richieste di funzionalità - per favore apri una issue! Le pull request sono benvenute.

Installazione

sidedoor è pacchettizzato per Debian e sistemi basati su Debian come Raspbian, Ubuntu e VyOS/EdgeOS, ma dovrebbe funzionare in qualsiasi ambiente POSIX con un client SSH (OpenSSH).

Se sidedoor è nei repository della tua distribuzione (Debian 9+, Ubuntu 17.04+), installalo semplicemente con il tuo gestore pacchetti.

root@kitploit:~
sudo apt install sidedoor

Altrimenti, puoi scaricare manualmente i deb dalla pagina delle release.

Per concedere all'utente sidedoor accesso root completo, installa il pacchetto sidedoor-sudo.

Configurazione

Il server remoto e i forward di porta sono configurati in /etc/default/sidedoor. I file di configurazione SSH si trovano nella directory /etc/sidedoor.

  1. Configura REMOTE_SERVER e OPTIONS in /etc/default/sidedoor. Per alcuni argomenti da passare in OPTIONS, vedi il post del blog Forward di porta locale e remoto spiegati con esempi e la pagina man di ssh.

  2. Modifica i file di configurazione SSH in /etc/sidedoor.

    • id_rsa: chiave privata SSH per accedere al server remoto. Puoi usare ssh-keygen per creare questa chiave (premi y quando richiesto per sovrascrivere il file esistente):

      root@kitploit:~
      sudo ssh-keygen -t rsa -N '' -f /etc/sidedoor/id_rsa
      

      La corrispondente chiave pubblica id_rsa.pub dovrà essere inclusa nel file ~/.ssh/authorized_keys dell'utente remoto.

Raccomandazioni

  • Blocca il server SSH locale modificando /etc/ssh/sshd_config.
    • Disabilita l'autenticazione tramite password (ChallengeResponseAuthentication no e PasswordAuthentication no).
    • Limita il demone ad ascoltare solo su localhost (ListenAddress ::1 e ListenAddress 127.0.0.1).
    • Per applicare le modifiche, riavvia o ricarica sshd, es., sudo service ssh reload.
  • Modifica il file ssh_client_config_example e includilo nel file ~/.ssh/config di un client per accedere facilmente al server SSH in tunnel con ssh, scp, rsync, ecc.

Alternative

sidedoor è pensato come una soluzione leggera per il tunneling di porte con dipendenze minime, ma esistono alcune alternative con più funzionalità.

Servizio nascosto Tor

Tor fornisce anonimato ai server gestiti come servizi nascosti, ma gestisce anche il traversal NAT.

Vantaggi:

  • I metadati, inclusi l'indirizzo IP del dispositivo locale e il suo stato di connessione (acceso/spento), sono meno esposti a un intermediario come il proxy SSH inverso.

Svantaggi:

  • Tor deve essere installato e in esecuzione sia sul dispositivo locale che sui client.
  • Tor ha una latenza più alta, quindi il feedback del terminale (eco dell'input) è lento.

Sia sul dispositivo che sui client, installa Tor.

root@kitploit:~
sudo apt install tor

Sul dispositivo che viene esposto, modifica /etc/tor/torrc per creare un servizio nascosto sulla porta 22.

root@kitploit:~
HiddenServiceDir /var/lib/tor/sshd/
HiddenServicePort 22 127.0.0.1:22
HiddenServiceAuthorizeClient stealth client

Sostituisci "client" con un elenco separato da virgole di nomi client per generare più segreti di autorizzazione.

Quindi ricarica Tor e ottieni il nome host onion e i dati di autorizzazione.

root@kitploit:~
sudo service tor reload
sudo cat /var/lib/tor/sshd/hostname

Sui client, modifica /etc/tor/torrc per aggiungere il nome host onion e i dati di autorizzazione visti nel file hostname.

root@kitploit:~
HidServAuth <hostname>.onion <secret>

Quindi ricarica Tor ed esegui torsocks ssh <hostname>.onion o imposta ProxyCommand nel file ~/.ssh/config.

root@kitploit:~
ProxyCommand torsocks nc <hostname>.onion 22

autossh

autossh, come sidedoor, avvia ssh e lo riavvia secondo necessità.

Alcune differenze includono:

  • sidedoor è un demone di script shell minimalista. autossh è un programma C più esteso e configurabile.

  • sidedoor abilita i keepalive SSH (ServerAliveInterval e ServerAliveCountMax), disponibili nelle versioni moderne di OpenSSH. autossh monitora ssh inviando dati attraverso un ciclo di forward di porta (questa funzionalità è precedente ai keepalive SSH), sebbene possa essere disabilitata con l'opzione -M 0.

  • sidedoor è pensato per essere eseguito automaticamente come servizio, quindi il pacchetto include script init/systemd e file di configurazione. autossh non include uno script init/systemd (bug Debian #698390).

  • sidedoor disabilita i comandi remoti e l'allocazione di pseudo-tty. Per uso interattivo, considera autossh con keepalive SSH o Mosh.

  • sidedoor riprova sempre se ssh termina con uno stato di uscita diverso da zero. autossh non riprova se ssh termina troppo rapidamente al primo tentativo, cosa che può accadere quando la connettività di rete o la risoluzione DNS sono interrotte, specialmente su dispositivi mobili. Sia sidedoor che autossh hanno una logica di backoff per i tentativi.

  • sidedoor azzera il backoff dei tentativi quando un'interfaccia di rete viene attivata, per tentare di riconnettersi il prima possibile, ricevendo SIGUSR1 da uno script if-up.d. autossh non ha hook sullo stato della rete.

Altre alternative

  • OpenVPN
  • PageKite
  • ssh_tunnel

Licenza

Copyright 2015-2017 Dara Adib.

Questo programma è software libero: puoi ridistribuirlo e/o modificarlo secondo i termini della GNU General Public License come pubblicata dalla Free Software Foundation, sia la versione 3 della Licenza, o (a tua scelta) qualsiasi versione successiva.

Questo programma è distribuito nella speranza che sia utile, ma SENZA ALCUNA GARANZIA; senza nemmeno la garanzia implicita di COMMERCIABILITÀ o IDONEITÀ PER UN PARTICOLARE SCOPO. Vedi la GNU General Public License per maggiori dettagli.

Dovresti aver ricevuto una copia della GNU General Public License insieme a questo programma. In caso contrario, vedi https://www.gnu.org/licenses/.

Scarica lo strumento
  • known_hosts: chiave host SSH del server remoto.

  • Opzionalmente, concedi accesso remoto all'utente locale sidedoor aggiungendo una o più chiavi pubbliche SSH al file /etc/sidedoor/authorized_keys. /etc/sidedoor/authorized_keys è un link simbolico a ~sidedoor/.ssh/authorized_keys. Il pacchetto sidedoor-sudo, se installato, fornisce accesso root completo a questo utente.

  • Riavvia il servizio sidedoor per applicare le modifiche.

    root@kitploit:~
    sudo service sidedoor restart