Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
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.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
wolfssh — Piccola libreria client e server SSHv2 incorporabile e portatile in C con SCP, SFTP, port forwarding e scambio di chiavi post-quantistico per sistemi embedded e IoT. | Kitploit
Strumenti/GitHubGitHub/wolfssl/wolfssh
Strumenti DifensiviSicurezza Sistemi EmbeddedStrumenti di Crittografia/DecrittografiaSicurezza IoTSicurezza di ReteCrittografiaUtilità e FrameworkSicurezza Hardware e IoTAutenticazioneStrumento di Accesso Remoto
GitHub
49912261 giorno 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 →
wolfssl/wolfssh

wolfssh

Piccola libreria client e server SSHv2 incorporabile e portatile in C con SCP, SFTP, port forwarding e scambio di chiavi post-quantistico per sistemi embedded e IoT.

Vedi RepositorySito web
Condividi

WOLFSSH

Server SSH incorporabile di wolfSSL Manuale wolfSSH

dipendenze

wolfSSH dipende da wolfCrypt, presente come parte di wolfSSL. Quella che segue è la configurazione più semplice di wolfSSL per abilitare wolfSSH.

$ cd wolfssl
$ ./configure [OPTIONS] --enable-ssh
$ make check
$ sudo make install

Su alcuni sistemi è necessario il comando opzionale ldconfig dopo l'installazione.

Per utilizzare la funzione di generazione delle chiavi in wolfSSH, wolfSSL dovrà essere configurato con keygen: --enable-keygen.

Quando si utilizzano certificati X.509 per l'autenticazione utente, wolfSSL deve essere compilato con TLS abilitato. wolfSSH utilizza il sistema di gestione dei certificati di wolfSSL per X.509, incluse le ricerche OCSP. Per consentire OCSP, aggiungere --enable-ocsp alla configurazione di wolfSSL.

Se la maggior parte del codice di wolfSSL non è desiderata, wolfSSL può essere configurato con l'opzione solo crittografia: --enable-cryptonly.

Ulteriori opzioni di compilazione per wolfSSL sono disponibili nel capitolo due del manuale wolfSSH.

compilazione

Dalla directory sorgente di wolfSSH eseguire:

$ ./autogen.sh (se clonato da GitHub)
$ ./configure --with-wolfssl=[/usr/local]
$ make
$ make check

Lo script autogen.sh deve essere eseguito solo la prima volta dopo aver clonato il repository. Se è già stato eseguito o si utilizza codice da un archivio sorgente, è possibile saltarlo.

Per la compilazione su Windows con Visual Studio, vedere il file "ide/winvs/README.md".

NOTA: su dispositivi con risorse limitate potrebbe essere necessario impostare DEFAULT_WINDOW_SZ a un valore inferiore. Può anche essere aumentato nei casi d'uso desktop per facilitare i trasferimenti di file di grandi dimensioni. Per impostazione predefinita i canali sono impostati per ricevere fino a 128kB di dati prima di inviare un messaggio di regolazione della finestra del canale. Un esempio di impostazione di una dimensione della finestra per nuovi canali sarebbe il seguente ./configure CPPFLAGS="-DDEFAULT_WINDOW_SZ=16384"

Per piattaforme Linux a 32 bit è possibile aggiungere il supporto per file > 2GB compilando con CFLAGS=-D_FILE_OFFSET_BITS=64.

esempi

La directory examples contiene un echoserver a cui qualsiasi client dovrebbe essere in grado di connettersi. Dal terminale eseguire:

$ ./examples/echoserver/echoserver -f

L'opzione -f abilita la modalità solo echo. Da un altro terminale eseguire:

$ ssh jill@localhost -p 22222

Quando viene richiesta una password, inserire "upthehill". Il server invierà un banner predefinito al client:

wolfSSH Example Echo Server

I caratteri digitati nel client verranno ripetuti sullo schermo dal server. Se i caratteri vengono ripetuti due volte, il client ha l'echo locale abilitato. L'echoserver non è un terminale vero e proprio, quindi la traduzione CR/LF non funzionerà come previsto.

I seguenti caratteri di controllo attiveranno azioni speciali nell' echoserver:

  • CTRL-C: Termina la connessione.
  • CTRL-E: Stampa alcune statistiche di sessione.
  • CTRL-F: Attiva un nuovo scambio di chiavi.

note sui test

Dopo aver clonato il repository, assicurarsi di rendere le chiavi private di test di sola lettura per l'utente, altrimenti ssh vi dirà di farlo.

$ chmod 0600 ./keys/gretel-key-rsa.pem ./keys/hansel-key-rsa.pem \
             ./keys/gretel-key-ecc.pem ./keys/hansel-key-ecc.pem

L'autenticazione verso l'echoserver di esempio può essere effettuata con una password o una chiave pubblica. Per utilizzare una password, la riga di comando:

$ ssh -p 22222 USER@localhost

Dove le coppie USER e password sono:

jill:upthehill
jack:fetchapail

Per utilizzare l'autenticazione con chiave pubblica usare la riga di comando:

$ ssh -i ./keys/USER-key-TYPE.pem -p 22222 USER@localhost

Dove USER può essere gretel o hansel, e TYPE è rsa o ecc.

Tenere presente che l'echoserver ha diversi account fittizi nella sua funzione di callback wsUserAuth(). (jack, jill, hansel e gretel) Quando il supporto shell è abilitato, quegli account fittizi non funzioneranno. Non esistono nel file passwd del sistema. Gli utenti si autenticheranno, ma il server genererà un errore perché non esistono nel sistema. È possibile aggiungere il proprio nome utente alla lista delle password o delle chiavi pubbliche nell' echoserver. Quell'account verrà connesso a una shell avviata dall' echoserver con i privilegi dell'utente che esegue echoserver.

STRUMENTI DI ESEMPIO

wolfSSH viene fornito con alcuni strumenti di esempio a scopo di test e per dimostrare l'interoperabilità con altre implementazioni SSH.

echoserver

L'echoserver è il cavallo di battaglia di wolfSSH. Originariamente permetteva solo di autenticare uno degli account predefiniti e ripeteva i caratteri digitati. Quando si abilita il supporto shell, può avviare una shell utente. Avrà bisogno di un nome utente reale sulla macchina e di una funzione di callback di autenticazione utente aggiornata per validare le credenziali. L'echoserver può anche gestire connessioni SCP e SFTP.

Lo strumento echoserver accetta le seguenti opzioni da riga di comando:

-1             esce dopo una singola (una) connessione
-e             si aspetta una chiave pubblica ECC dal client
-E             usa la chiave privata ECC
-f             echo dell'input
-p <num>       porta su cui accettare, predefinita 22222
-N             usa socket non bloccanti
-d <string>    imposta la directory home per le connessioni SFTP
-j <file>      carica una chiave pubblica da accettare dal peer

client

Il client stabilisce una connessione a un server SSH. Nella sua modalità più semplice, invia la stringa "Hello, wolfSSH!" al server, stampa la risposta, e poi esce. Con l'opzione pseudo terminale, il client sarà un vero client.

Lo strumento client accetta le seguenti opzioni da riga di comando:

-h <host>      host a cui connettersi, predefinito 127.0.0.1
-p <num>       porta su cui connettersi, predefinita 22222
-u <username>  nome utente con cui autenticarsi (OBBLIGATORIO)
-P <password>  password per il nome utente, richiesta se omessa
-e             usa una chiave ecc di esempio per l'utente
-i <filename>  nome file per la chiave privata dell'utente
-j <filename>  nome file per la chiave pubblica dell'utente
-x             esce dopo una connessione riuscita senza eseguire
               lettura/scrittura
-N             usa socket non bloccanti
-t             usa pseudo terminale
-c <command>   esegue un comando remoto e reindirizza stdin/stdout
-a             Tenta di usare SSH-AGENT

portfwd

Lo strumento portfwd stabilisce una connessione a un server SSH e imposta un listener per il port forwarding locale o richiede un listener per il port forwarding remoto. Dopo una connessione, lo strumento termina.

Lo strumento portfwd accetta le seguenti opzioni da riga di comando:

-h <host>      host a cui connettersi, predefinito 127.0.0.1
-p <num>       porta su cui connettersi, predefinita 22222
-u <username>  nome utente con cui autenticarsi (OBBLIGATORIO)
-P <password>  password per il nome utente, richiesta se omessa
-F <host>      host da cui inoltrare, predefinito 0.0.0.0
-f <num>       porta host da cui inoltrare (OBBLIGATORIO)
-T <host>      host a cui inoltrare, predefinito l'host
-t <num>       porta a cui inoltrare (OBBLIGATORIO)

scpclient

Lo scpclient, wolfscp, stabilisce una connessione a un server SSH e copia i file specificati da o verso la macchina locale.

Scarica lo strumento