Una vulnerabilidad es un código que permite a un atacante aprovecharse de un servicio del sistema operativo, para poder comprometer un sistema informático para, por ejemplo, tomar posesión y control de este o bien hacer caer el sistema, saturando sus recursos (DoS – Denial Of Service).

Una vulnerabilidad puede componerse de dos partes:

La primera es un código malicioso, que será el que explote dicha vulnerabilidad y también se le conoce por la palabra exploit (‘aprovecharse de’ en inglés).

La segunda parte recibe el nombre de payload. Un payload es el que ejecuta en ciertos tipos de vulnerabilidades, funciones que desea el atacante: conexiones remotas a una máquina, ejecución de procesos del sistema y aplicaciones maliciosas, tirar la propia máquina, etcétera.

<aside> 💡 EXPLOIT + PAYLOAD

</aside>

Un ejemplo es el Memory Bleed, el cual hace que la memoria vaya agotándose al crear rutinas relacionadas al proceso vulnerable hasta dejar a la máquina sin recursos, lo que provoca un ataque de Denegación de Servicios.

La gravedad de una vulnerabilidad se ve reflejada por:

Se hará una media de esos tres valores para poder indicar en nuestro informe el valor real de la incidencia.

<aside> 💡 Para ello podemos usar como base numérica la que podemos obtener desde el sitio Web de nist.gov.

**https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator?calculator&adv&version=2 **

</aside>

En esta web del NIST podremos calcular dicho número evaluando las características de la vulnerabilidad dada:

Untitled

Dependiendo del vector de ataque, la complejidad, si necesitamos autenticarnos o no y las métricas sobre las cuales se ha comprometido el sistema (confidencialidad, integridad y disponibilidad), tendremos un dato numérico para catalogar la vulnerabilidad.