Me gustaría saber cómo los escáneres de vulnerabilidades identifican la versión de los servicios que se ejecutan en el destino después de identificar el servicio por el número de puerto.
Para cada servicio, la toma de huellas dactilares se haría de manera diferente, generalmente, funciona encontrando diferencias entre las implementaciones y usándolas para detectar la versión del software. He incluido algunos ejemplos simples:
Si ejecuta el siguiente comando:
nc HOST 22
Puede ver que lo primero que envía un servidor es una cadena que identifica su versión, como:
SSH-2.0-OpenSSH_7.2p2 Ubuntu-4ubuntu2.4
De esto puedes obtener la versión
Si ejecuta el siguiente comando:
curl -v URL > /dev/null
Puede ver que el servidor envía muchos encabezados, uno de los cuales probablemente se verá así:
< Server: cloudflare
Esto puede mostrarle el servidor si no se ha cambiado, y posiblemente los complementos que se ejecutan también
Viendo el feed disponible en /feed/
da un archivo xml con la siguiente etiqueta:
<generator>https://wordpress.org/?v=4.9.2</generator>
Si esto está desactivado, las diferencias en el archivo Léame se pueden usar para detectar la versión en su lugar
Lea otras preguntas en las etiquetas vulnerability penetration-test network-scanners vulnerability-scanners