domingo, 26 de julio de 2020

Vulnerability Scanning con Nessus y Nmap


Las tareas de escaneo de vulnerabilidades están por regla general asociadas a la fase de un pentest llamada «Scanning y Enumeración», tal y cómo se muestra en el gráfico a continuación:
Si bien en algunos frameworks técnicos de seguridad, algunos de los nombres de estas fases puede cambiar, en nuestro caso nos gusta ponerlo y contextualizarlo de esta manera ya que la «actividad» en sí de correr un escaneo de vulnerabilidades es la parte técnica en cuestión, al igual que cuando corremos un port scanning.
Luego si, de acuerdo a cómo se ve en el gráfico, vendría la fase del «análisis» en dónde se aplica más una capa de análisis e inteligencia en entender el/los tipos de vulnerabilidades encontradas y recolectadas en la actividad técnica de escaneo, y el impacto y severidad de las mismas.
Cuando estamos trabajando en la fase de «Análisis de vulnerabilidades» tenemos que analizar y contextualizar ciertas características cómo las siguientes:
  • Resúmen de la vulnerabilidad.
  • CVSS Score: Scoring de severidad (0 a 10)
  • CWE: Catalogación (ejemplo: «Injección de código debido a manejo indebido de parámetros ingresados)
  • Tipo: Ejecución de código, denegación de servicio, acceso a información sensible, etc.
  • Impacto: (Confidencialidad, Integridad y Disponibilidad)
  • Complejidad: Dificultad técnica para explotarla, circunstancia necesarias y requeridas para su explotación.
  • Autenticación: ¿Es necesario contar con credenciales para explotar la vulnerabilidad?
Recomendamos como lectura obligatoria y complementaria a este post el documento de especificación de «First» y el esquema de categorización de las vulnerabilidades (CVSS por Common Vulnerability Scoring System), que además se puede bajar en PDF para leer off line, desde el siguiente sitio:
Entonces, cuando corremos un escaneo de vulnerabilidades lo que estamos buscando como pentesters es identificar si un sistema es débil o susceptible de ser afectado o atacado de alguna manera (Hardware, Software, sistemas operativos, etc.) para entonces si, ir identificando los diferentes vectores de ataque, dados por:
  • Identificación de vulnerabilidades en versiones de aplicaciones y sistemas operativos.
  • Gestión de parches (Patch Manager)
  • Configuraciones por defecto.
  • Vulnerabilidades técnicas y funcionales.
  • Identificar vulnerabilidades tecnológicas y humanas.
Cuando realizamos las tareas técnicas de escaneo de vulnerabilidades es cuando nos topamos también con la disyuntiva de que herramienta utilizar. Es muy amplio el mercado y además cambian de acuerdo al foco y contexto en el que se las usa.
Porqué decimos contexto y foco?, porque no es lo mismo un escaneo de vulnerabilidades a nivel de infraestructura (SO Windows, *Nix, Routers, Switches, IIS, Nginx, Apache, Tomcat, etc. etc.) que un escaneo de vulnerabilidades a nivel de aplicaciones web.
En esta entrada o post nos vamos a concentrar más bien en infraestructura, con lo cual vamos a estar mostrando Nessus y Nmap cómo dos herramientas con las que podemos contar y trabajar.

NESSUS

Nessus es una solución de vulnerability scanning que existe ya hace «muchos» años y es de la empresa Tenable (https://www.tenable.com/).
Originalmente y hasta no hace mucho, Nessus venía en dos sabores, la versión Pro que era la versión paga del producto y la versión gratuita que era la versión «home».
El producto evolucionó muchísimos con los años y hoy lo ofrecen en diferentes versiónes y características como por ejemplo «virtual appliance», en la nube como SaaS, etc. Además hoy, además de la versión Pro, existe una versión llamada «Tenable.IO» la cual además del motor de vulnerability scanning del Pro incorpora otras bondades.

.....

NMAP

Vamos a ir terminando la nota con otra opción «free» para hacer tareas de Vulnerability scannning. En este caso con la herramienta de NMAP. Seguramente que más de un lector a esta altura pueda estar preguntándose Nmap?? Nmap para hacer escaneos de vulnerabilidades?
Bueno si, les digo que NMAP puede hacer escaneo de vulnerabilidades. A ver una aclaración más que obvia. NMAP no suplanta a Nessus o incluso no suplanta ni mejora a un Nessus Pro o a un Qualys, por sólo citar a algunos.
Pero NMAP es una herramienta que con los años evolucionó muchísimo y que dejó hace rato de ser un simple port scanner. Por algo se suele decir que es la navaja suiza de los pentesters.
La forma de hacerlo es a través de NSE o NMAP Scripting Engine que son una serie de scripts que vienen por default con la herramienta o inclusive uno puede crear sus propios scripts.
NSE es una poderosa herramienta que permite extender fácilmente los tipos de escaneos que se pueden realizar e incluso realizar tareas de vulnerability assessment.
Los scripts de NMAP son desarrollados en el lenguaje LUA (www.lua.org).
En Kali Linux y en general en muchas de las distribuciones basadas en «Debian» la ruta de directorio en el cual se hallan es /usr/share/nmap/script, cómo se ve a continuación:
En el caso del mundo Windows los scripts se encuentran por default en la ruta C:\Program Files (x86)\Nmap\scripts

Estos scripts están ordenados por categorías de la siguiente manera:
La sintaxis para correr un script determinado o incluso una determinada categoría es la siguiente:
# nmap –script (nombre del script) {target}
# nmap –script (categoría) {target}
Entonces por ejemplo si quisierámos correr todos los scripts de la categoría «vul» sólo debería ejecutar «nmap –script vuln {IP target}», cómo se ve a continuación:



Fuente: www.blackmantisecurity.com


No hay comentarios: