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:
Publicar un comentario