
Impronte digitali HASSH per identificare server OpenSSH potenzialmente vulnerabili a CVE-2024-6387 (regreSSHion).
Impronte digitali HASSH per identificare server OpenSSH potenzialmente vulnerabili a CVE-2024-6387 (regreSSHion).
L'obiettivo principale di questo repository è condividere il database di impronte digitali HASSH generato. Gli script utilizzano l'API di Shodan per compilare un elenco di impronte HASSH per versioni vulnerabili di OpenSSH. Il database generato può essere utilizzato per interrogare Shodan o Censys al fine di identificare server OpenSSH potenzialmente vulnerabili. Il database hasshdb.txt può anche essere utilizzato con il mio script Nmap NSE disponibile su hassh-utils.
La stringa di identificazione del server SSH (nota anche come stringa di versione) non è un metodo affidabile per identificare implementazioni e versioni del server SSH, poiché può essere facilmente falsificata, come si vede in honeypot come Cowrie. HASSH, sviluppato da Ben Reardon (con contributi miei e di John Althouse), è una tecnica di fingerprinting che combina gli algoritmi KEX, Encryption, MAC e Compression dal messaggio SSH_MSG_KEXINIT per creare un'impronta digitale per implementazioni SSH specifiche. Per ulteriori informazioni su HASSH, fare riferimento al post del blog engineering di Salesforce e al repository HASSH.
Considerando la recente vulnerabilità RCE in OpenSSH (post del blog di Qualys), ho pensato che valesse la pena generare un database di impronte digitali, poiché HASSH è supportato sia da Shodan che da Censys e fornisce un metodo più affidabile per identificare implementazioni e versioni specifiche del server SSH.
L'impronta digitale HASSH può essere cercata in Shodan utilizzando la query ssh.hassh e in Censys utilizzando la query services.ssh.hassh_fingerprint.
Gli script di Shodan producono i seguenti file di dati:
hasshdb.txt: Un file di testo contenente impronte digitali HASSH formattate e le relative versioni OpenSSH associate, inclusi i percentuali di confidenza.hasshdb.json: Un file JSON con il database HASSH, che mappa ogni impronta HASSH alle relative versioni OpenSSH e conteggi.potentially-vulnerable.json: Un file JSON contenente impronte HASSH di server potenzialmente vulnerabili, conteggi totali e le prime 100 stringhe di versione/identificazione.Nota: Gli script utilizzano le facet di Shodan e il metodo count(), che non restituisce risultati dettagliati e non richiede un piano API a pagamento. Questo metodo è anche molto più veloce del metodo search().