Mi piacerebbe sapere come gli scanner di vulnerabilità identificano la versione dei servizi in esecuzione sulla destinazione dopo aver identificato il servizio tramite il numero di porta.
Per ogni servizio di fingerprinting si farebbe diversamente, generalmente, trovando le differenze tra le implementazioni e usandole per rilevare la versione del software, ho incluso alcuni semplici esempi:
Se si esegue il seguente comando:
nc HOST 22
Puoi vedere che la prima cosa che un server invia è una stringa che identifica la sua versione, come ad esempio:
SSH-2.0-OpenSSH_7.2p2 Ubuntu-4ubuntu2.4
Da questo puoi ottenere la versione
Se si esegue il seguente comando:
curl -v URL > /dev/null
Puoi vedere che il server invia molte intestazioni, una delle quali è probabile che assomigli a questa:
< Server: cloudflare
Questo può mostrarti il server se non è stato modificato, e probabilmente anche i plugin in esecuzione
Guardando il feed disponibile a /feed/
viene fornito un file xml con il seguente tag:
<generator>https://wordpress.org/?v=4.9.2</generator>
Se è disabilitato, è possibile utilizzare le differenze nel readme per rilevare la versione
Leggi altre domande sui tag vulnerability penetration-test network-scanners vulnerability-scanners