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
opensshenum — Enumeratore utenti OpenSSH basato su CVE-2018-15473 con scansione delle porte, fingerprinting ed esecuzione parallela per verificare la presenza di utenti su server SSH remoti. | Kitploit
Strumenti/GitHubGitHub/gbonacini/opensshenum
Scansione PorteAnalisi delle VulnerabilitàExploitRaccolta InformazioniSicurezza di RetePenetration Testing
GitHubgbonacini/opensshenum

opensshenum

Enumeratore utenti OpenSSH basato su CVE-2018-15473 con scansione delle porte, fingerprinting ed esecuzione parallela per verificare la presenza di utenti su server SSH remoti.

Vedi Repository
3477 anni faNon ancora revisionato

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

Descrizione:

Opensshenum è un enumeratore di utenti OpenSsh che consente di verificare un elenco arbitrario di nomi utente contro un server OpenSsh, per sapere quali sono effettivamente presenti su quella macchina remota. Questo programma sfrutta un bug (corretto a luglio 2018) che si è dimostrato efficace almeno a partire da OpenSSH 2.3.0 (rilasciato a novembre 2000).

Ho scritto l'exploit partendo da Tssh, un client SSH 2 che ho scritto in C++11 da zero partendo dalle RFC.

Per maggiori informazioni leggi qui:

http://seclists.org/oss-sec/2018/q3/124

Questo problema ha ricevuto CVE-2018-15473.

DICHIARAZIONE DI NON RESPONSABILITÀ:

Questo codice è stato pubblicato a scopo informativo ed educativo. L'intrusione in sistemi e servizi senza l'autorizzazione del proprietario è illegale. L'uso improprio delle informazioni e del software in questo repository può comportare l'avvio di procedimenti penali nei confronti dell'autore del reato. Qualsiasi azione e/o attività legata al materiale contenuto in questo repository Git è esclusivamente di tua responsabilità. L'autore non sarà ritenuto responsabile nel caso in cui vengano mosse accuse penali contro individui che utilizzano impropriamente le informazioni o il software di questo sito per infrangere la legge.

Prerequisiti:

Il programma è pensato per essere usato in un ambiente *nix ed è stato testato su diverse distribuzioni Linux e OS X:

  • Ubuntu 17.10;
  • OS X 10.11.6;

usando, come compilatore, uno di quelli in questa lista:

  • gcc version7.2.0 (Ubuntu 7.2.0-8ubuntu3.2);
  • Apple LLVM version 8.0.0 (clang-800.0.42.1)

e, come server ssh, uno dei seguenti:

  • OpenSSH_7.5p1

L'unica dipendenza esterna è la libreria OpenSSL, usata per le funzioni crittografiche. Potrei introdurre alternative a OpenSSL nelle prossime versioni. Questo programma è pensato per essere usato con una versione di OpenSSL uguale o superiore a:

  • OpenSSL 1.0.2h;

(Questo significa che con OS X è obbligatorio un aggiornamento).

Per compilare il programma sono necessari questi strumenti/librerie:

  • un compilatore c++ (con supporto a c++11);
  • automake/autoconf;
  • libtool;
  • OpenSSL 1.0.2h o superiore (pacchetti "dev");

Installazione:

  • esegui lo script configure: ./configure
  • Compila il programma: make
  • Installa il programma e la pagina man: sudo make install

Istruzioni:

Elabora la lista di utenti passata tramite pipe, esempio:

cat user.txt | ./opensshenum -i dummy_cert target_addr
xxx:NOK
gabriel:OK

dove user.txt è un file contenente una lista di utenti, uno per riga e dummy_cert è una chiave generata con il comando ssh-keygen di OpenSsh (la directory delle chiavi è ~/.shh come predefinita).

Il programma può essere usato per generare la lista:

printf "xxx\ngabriel" | ./src/opensshenum -i dummy_rsa localhost
xxx:NOK
gabriel:OK

Vedi la pagina man inclusa in questa release.

Nuove funzionalità:

Port Scanner:

Aggiunta la funzionalità di port scanner SSH: ora opensshenum può scansionare tutte le porte associate a un indirizzo per individuare istanze di SSH in ascolto su porte diverse dalla 22, per eseguire l'exploit solo su quelle porte verificate. Questa funzionalità può essere usata in modalità standalone, consentendo di ottenere solo un elenco delle porte associate a SSH, senza eseguire alcun attacco.

Esempio:

opensshenum -s -n -t2 -m22221 -M22225 -r'.*OpenSSH' -idummy_rsa my_imaginary_website.com

scansionerà le porte (-s) tra 22221 e 22225 (entrambe incluse), eseguendo solo la scansione (-n), con timeout di 2 secondi (-t), aspettandosi una stringa hello contenente la stringa OpenSSH, usando una chiave pubblica chiamata idummy_rsa (consiglio di generare una chiave solo per questo tipo di operazioni) e usando come target my_imaginary_website.com. Maggiori informazioni nella pagina man.

Esecuzione parallela:

È incluso uno script alpha che usa GNU Parallel (parallenum.sh), come prova di concetto della riduzione dei tempi di scansione ottenibile suddividendo l'intervallo delle porte da scansionare in sotto-intervalli, ciascuno di pertinenza di uno specifico processo. Questo ovviamente produce molto rumore. Per ridurre il rumore si può usare il parametro -t a tale scopo.

Fingerprinting:

Funzione di fingerprint, utile per identificare automaticamente il tipo di OS (cioè se la stringa "hello" è omessa) e i servizi con un db di utenti/combinazioni di utenti. Il db è creato da file *.lst raccolti in una directory. Ogni file *.lst ha nome <os_name_or_service>.lst, esempi:

ubuntu_17_10.lst aix.lst proprietary_ftp.lst

Il db, un file csv, ha il formato:

user_1;os_or_service_1; ... ;os_or_service_n ... user_m;os_or_service_1; ... ;os_or_service_n

Il db può essere creato dai file *.lst usando l'utility createdb, presente nella directory ./utils, specificando la directory dei *.lst, esempio:

cd utils make ./createdb ../lists/

Per richiedere il fingerprinting, usa l'opzione -F con il file del db, esempio:

cat test/scan.sample | opensshenum -p22 -idummy_rsa -Futils/opensshenum.db localhost

Scarica lo strumento