# Escaneando Vulnerabilidades con Nessus

## Nessus

![](https://2063214920-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MNC3KGY9k0nvrU_5PW6%2F-MO3XHmxwimR1qKClJiv%2F-MO3XccMqNYHQWeofg6W%2Fnessus.png?alt=media\&token=fb700705-b0ba-4af5-8cf1-d1068bbe4060)

{% hint style="success" %}
**Wikipedia:** :point\_right: [Link](https://es.wikipedia.org/wiki/Nessus).\
**Nessus** es un programa de **escaneo de vulnerabilidades** en **diversos sistemas operativos**. Consiste en un demonio o diablo(`daemon`), **`nessusd`**, que realiza el escaneo en el sistema objetivo, y **`nessus`**, el cliente (basado en `consola o gráfico`) que muestra el avance e informa sobre el estado de los escaneos.
{% endhint %}

### Instalando Nessus (Essentials)

![](https://2063214920-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MNC3KGY9k0nvrU_5PW6%2F-MO3XuW0yH95LFou93Zd%2F-MO3ddBhkDBq_1kMPsP4%2Fnessus-essentials-logo%5B1%5D.svg?alt=media\&token=573f3c14-312d-4892-b8fa-71b4ea51006e)

Para poder instalar **`Nessus`** debemos crearnos una cuenta sin costo que nos dará acceso a **`Nessus Essentials,`** una versión limitada pero aún muy poderosa de **`Nessus`** que incluye suficientes escaneos para poder realizar esta práctica.

{% hint style="success" %}
**Web para registrarnos en el siguiente**  :point\_right: [**Li**](https://www.tenable.com/products/nessus/nessus-essentials)**nk**. \
La creación de la cuenta es un proceso trivial como en cualquier web y no lo cubriremos como parte de la práctica.
{% endhint %}

Una vez estamos registrados y tenemos nuestra cuenta de `Nessus Essentials` recibiremos por mail nuestra `clave de activación` para poder descargar e instalar `Nessus`.

{% hint style="danger" %}
**Nessus** es un software que **consume su buena cuota de recursos**, de ser posible es recomendable tener una **VM dedicada para su uso**. De esta manera podemos dejar el scanning corriendo en la **VM de Nessus** y continuar cualquier otra tarea en nuestra **VM regular de trabajo** sin que afecte su fluidez y sin correr el riesgo de que otras tareas afecten los procesos de scanning de Nessus.
{% endhint %}

La página de descarga de Nessus ofrece diversas versiones según nuestro sistema operativo. Para esta práctica usaremos una **`VM con Kali Linux 2020.4`**.&#x20;

{% hint style="success" %}
**Página de descarga de Nessus:** :point\_right: [**Link**](https://www.tenable.com/downloads/nessus?loginAttempted=true).
{% endhint %}

En este caso descargaré la versión indicada para distribuciones basadas en **`Debian 64 bits`**.

![](https://2063214920-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MNC3KGY9k0nvrU_5PW6%2F-MO3gLFlK2ZBs9LtBLUG%2F-MO3iVBtP1sFtiFRTk5h%2Fimage.png?alt=media\&token=bdde085f-3fae-4ef8-91d8-cf054494eed9)

La web nos pide aceptar la Licencia y comienza la descarga. Veamos como instalamos el paquete **`.deb`** descargado usando el comando **`dpkg -i {NombreDelArchivo.deb}`**.

En nuestra terminal nos dirigimos a la carpeta de descargas (o el directorio donde hayas descargado **Nessus**) y ejecutamos el comando:

![](https://2063214920-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MNC3KGY9k0nvrU_5PW6%2F-MO3gLFlK2ZBs9LtBLUG%2F-MO3kBDj5ZvKfpUXVBHI%2Fimage.png?alt=media\&token=9ac1e07f-6ff6-4d0a-9ed9-a7187c16fbae)

Una vez instalado necesitamos inicializar el servicio que ejecutará el **`daemon`** llamado **`nessusd`**. Para iniciar el servicio usamos el comando **`/bin/systemctl start nessusd.service`**.

![](https://2063214920-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MNC3KGY9k0nvrU_5PW6%2F-MO3gLFlK2ZBs9LtBLUG%2F-MO3lFYOYCHig4xbLCWr%2Fimage.png?alt=media\&token=adfac0fb-7934-402f-8d7b-bd4f9b9e753a)

{% hint style="warning" %}
Es necesario ejecutar el comando con privilegios usando **`sudo`**.
{% endhint %}

Con esto ya tenemos Nessus listo para ser iniciado, no obstante el primer inicio involucra configuraciones adicionales antes de poder usar Nessus.&#x20;

### Iniciando Nessus

Para Iniciar Nessus, abrimos la siguiente URL [`https://kali:8834/`](https://kali:8834/) como menciona el mensaje que recibimos luego de instalar Nessus.&#x20;

![](https://2063214920-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MNC3KGY9k0nvrU_5PW6%2F-MO3lHn7YmhzX9VCpTVg%2F-MO3ne7tJgyEAllc_O4b%2Fimage.png?alt=media\&token=3a31d72e-a4b2-4ff7-8379-43ad8ac05032)

Al hacerlo, recibiremos una advertencia sobre el certificado inválido. Hacemos `click` en el botón **`advanced`** y en el `link` del final **`Procced to kali (unsafe)`**.  Deberíamos ahora ver esta pantalla:

![](https://2063214920-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MNC3KGY9k0nvrU_5PW6%2F-MO3lHn7YmhzX9VCpTVg%2F-MO3oR2Op9od7SvH6khG%2Fimage.png?alt=media\&token=61305b68-a38f-440e-966d-68a637638163)

Con la opción Nessus Essentials seleccionada hacemos `click` en **`Continue`**. En el siguiente paso nos pedirá registrarnos, dado que ya tenemos nuestra cuenta y clave de activación, hacemos `click` en **`skip`**. En el siguiente paso ingresaremos nuestro código de activación y daremos `click` en **`continue`**.

![](https://2063214920-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MNC3KGY9k0nvrU_5PW6%2F-MO3lHn7YmhzX9VCpTVg%2F-MO3pH3Us4NefhmHF5c5%2Fimage.png?alt=media\&token=971dd4c5-13d1-44d9-9427-d035dadbb935)

Nessus nos pedirá crear una cuenta de `administrador` para usar la herramienta, ingresamos el `user y password` que deseemos y hacemos `click` en **`Submit`**.

A continuación Nessus comenzara a descargar e inicializar sus plugins.&#x20;

{% hint style="danger" %}
*Si en este punto recibes un error de que la descarga de plugins falló, visita esta* :point\_right: [***sección***](#troubleshooting-nessus-descarga-fallida) *al final de este escrito llamada* [***Troubleshooting Nessus***](#troubleshooting-nessus-descarga-fallida)*. En caso contrario* sigue leyendo.
{% endhint %}

![](https://2063214920-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MNC3KGY9k0nvrU_5PW6%2F-MO3sQ5roCrvLpeumU_A%2F-MO3w8mEja1hDgfrcgHp%2Fimage.png?alt=media\&token=3913f229-c576-4244-b716-5158caa63048)

Si todo ha salido bien, veremos la siguiente pantalla donde nos pedirá que ingresemos el usuario y contraseña que especificamos antes para la cuenta administrador.

![](https://2063214920-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MNC3KGY9k0nvrU_5PW6%2F-MO3sQ5roCrvLpeumU_A%2F-MO3xULHml-0e4Cw2ZUu%2Fimage.png?alt=media\&token=26dead1d-f47d-4eac-960f-96906e954581)

Una vez iniciada la sesión en **`nessus`**, veremos la siguiente pantalla y tendremos todo listo para comenzar nuestra práctica.

![](https://2063214920-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MNC3KGY9k0nvrU_5PW6%2F-MO3sQ5roCrvLpeumU_A%2F-MO3xpUcaXVH8qrGcvX3%2Fimage.png?alt=media\&token=8b920373-1b8c-4114-92bd-18c07e0af261)

### Nuestro primer scan con Nessus (`Discovery & Vulnerability Scans`)

Ahora que tenemos **Nessus** instalado y listo, veremos a continuación como podemos **`realizar un scan de vulnerabilidades`**, que **`información obtenemos`** del mismo y como **`nessus`** presenta los resultados.

Para está práctica voy usar como objetivo las **`VMs`** de mi [Laboratorio local para prácticas de **`Active Directory`**](https://tzero86.gitbook.io/tzero86/master/scanning/running-scans-with-nmap#intro-distintos-tipos-de-scans-con-nmap) y veremos las vulnerabilidades que logra detectar **`Nessus`**.

**Objetivos a escanear:**

| Equipo                                   | IP                           |
| ---------------------------------------- | ---------------------------- |
| <p></p><p>DC: Controlador de Dominio</p> | <p></p><p>192.168.31.131</p> |
| Client1: Windows 10 Enterprise           | 192.168.31.132               |
| Client2: Windows 10 Pro                  | 192.168.31.133               |

Ingresamos las direcciones **`IP`** en el campo **`targets`** de la ventana de bienvenida a Nessus y hacemos **`click`** en el botón **`submit`**.

![](https://2063214920-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MNC3KGY9k0nvrU_5PW6%2F-MO8SMISeGKYYVcSB57P%2F-MO8U8kJNiP1sGIjmxQC%2Fimage.png?alt=media\&token=6e048a6f-9d27-438f-b357-cb7627506eae)

Al darle **`submit`** Nessus comenzara a realizar un proceso de **`host discovery`** para ubicar hosts adicionales que puedan existir dentro de los targets especificados. Al completarse, seleccionamos los que en efecto vayamos a escanear.

{% hint style="warning" %}
Tengamos presente que **`Nessus Essentials`** nos limita en la cantidad de **`hosts`** que podemos escanear. Actualmente ese limite es de **`16 hosts.`**
{% endhint %}

![](https://2063214920-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MNC3KGY9k0nvrU_5PW6%2F-MO8SMISeGKYYVcSB57P%2F-MO8VM5Hs8AvMgHh1TR2%2Fimage.png?alt=media\&token=2bf05145-de20-44d5-96c0-53771ac89f21)

En este punto basta con dar **`click`** en **`Run Scan`** y **`Nessus`** automáticamente realizará un escaneo básico de cada objetivo para comenzar a conocer un poco más sobre ellos.

Para ver nuestro **`scan`** en marcha podemos ir a la **`tab`** llamada **`History`**:

![](https://2063214920-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MNC3KGY9k0nvrU_5PW6%2F-MO8SMISeGKYYVcSB57P%2F-MO8WX8RbMnXza-TIsed%2Fimage.png?alt=media\&token=3d394ed4-03fa-486b-a31a-e1b2f6e9169a)

Luego de un momento veremos que las **`tabs`** llamadas **`Hosts`** y **`Vulnerabilities`** comenzarán a registrar resultados:

![](https://2063214920-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MNC3KGY9k0nvrU_5PW6%2F-MO8SMISeGKYYVcSB57P%2F-MO8WwcMt4v_uTiveuPw%2Fimage.png?alt=media\&token=68bacf1b-ea46-4e19-b8b4-18edee690026)

Dejaremos correr el scan hasta que se complete del todo, sin embargo es bueno saber que podemos ir revisando en tiempo real las detecciones registradas en las correspondientes **`tabs`** de la pantalla **`My Basic Network Scan`**.

Luego de unos minutos obtenemos el resultado del **`scan básico`**:

![](https://2063214920-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MNC3KGY9k0nvrU_5PW6%2F-MO8XQ9rh7XXayb8-6zK%2F-MO8ZJYBoDAaNBRiehdw%2Fimage.png?alt=media\&token=4617d6ad-0f2c-49b8-8732-dc8b78035e34)

Como podemos ver Nessus clasifica las vulnerabilidades encontradas en base a distintos niveles de severidad y su puntaje **`CVSS (Common Vulnerability Scoring System)`** especificado por la **`National Vunlerability Database en su versión CVSSv2`** (anteriormente estaba más alineado a **`CVSSv1`**).&#x20;

{% hint style="success" %}
Para conocer más sobre como se clasifican las severidades en **CVSSv2** y sus respectivos **valores**, visita el siguiente :point\_right: [**link**.](https://nvd.nist.gov/vuln-metrics/cvss)
{% endhint %}

| CVSS Score      | Severidad en Nessus |
| --------------- | ------------------- |
| Entre 1.0 y 3.9 | Low/Info            |
| Entre 4.0 y 6.0 | Medium              |
| Entre 7.0 a 9.9 | High                |
| 10.0            | Critical            |

Veamos en este caso en detalle la vulnerabilidad de severidad **`Medium`** detectada: **`SBM Signing not required`**.&#x20;

![](https://2063214920-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MNC3KGY9k0nvrU_5PW6%2F-MO8ae8wc6Mnh9yPjTFF%2F-MO8ds2RC8_wIJWljeE4%2Fimage.png?alt=media\&token=4927dd08-b2a3-4061-b89e-546d3772d287)

Para ver el detalle de cualquier resultado, basta con hacerle **`click`** y Nessus nos mostrará la siguiente pantalla con todo el detalle disponible:

![](https://2063214920-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MNC3KGY9k0nvrU_5PW6%2F-MO8ae8wc6Mnh9yPjTFF%2F-MO8f39aOQLf6lLxqMS1%2Fimage.png?alt=media\&token=b32e86f4-efb0-4702-9615-ef992192ae0e)

De cada vulnerabilidad obtendremos un detalle similar, en este caso la siguiente información es provista:

* **Detalle de la Vulnerabilidad:** <br>
  * **Severidad de la vulnerabilidad**: **`MEDIUM`**. <br>
  * **Descripción:** Obtenemos una descripción del posible impacto de la vulnerabilidad. En este caso nos indica que la **firma de comunicaciones con el servidor** **SMB**, **no es requerida**. Lo cual puede permitir a un eventual atacante llevar a cabo ataques del tipo **`MIM (Man in the Middle)`**.<br>
  * **Solución:** Parte del detalle ofrecido por Nessus para cada vulnerabilidad incluye posibles soluciones para mitigar el riesgo de cada vulnerabilidad detectada. En este caso la solución es activar el requisito de que toda comunicación deba estar firmada **`(Digitally Sign Communications)`**. <br>
  * **Artículos relacionados:** Como parte del informe de detalle Nessus también suele incluir links a diversos artículos donde se explica la tecnología afectada (por ejemplo SMB) y recursos adicionales que puede incluir otros artículos donde se vea en detalle la vulnerabilidad.<br>
  * **Listado de Puertos y Hosts Afectados:** Incluye el detalle de los puertos afectados y la lista de hosts donde se detectó la misma vulnerabilidad (esta cantidad se corresponde al valor indicado en la columna **`Count`** en la lista de vulnerabilidades de la pantalla anterior). En este caso vemos que solo dos de los tres equipos del lab están afectados por esta vulnerabilidad.<br>
  * **Detalles del plugin (Plugin Details)**: Información básica y de referencia sobre cual plugin fue utilizado para realizar la detección.<br>
  * **Información de Riesgo (Risk Information):** Detalle del los factores de riesgo y los diferentes puntajes CVSS que aplican para esta vulnerabilidad.<br>
  * **Información de la Vulnerabilidad:** Esta sección nos muestra un detalle adicional sobre la vulnerabilidad y la fecha en que fue publicada originalmente.

No es parte de esta práctica el proceso de como solucionar la vulnerabilidad, nos centraremos únicamente en el escaneo de las mismas y como son reportadas por Nessus.

{% hint style="info" %}
El laboratorio tiene varias vulnerabilidades y no es la intención remediarlas, dado que la idea es usarlo para practicar los distintos vectores de ataque. Sin embargo si te interesa leer como solucionar esta vulnerabilidad en particular, te recomiendo el siguiente post en español del blog de **0xsecure** en el siguiente :point\_right: [**link**](https://0xsecure.blogspot.com/2019/10/smb-signing-not-required-firma-smb-no.html?m=1).
{% endhint %}

Hasta acá vimos como podemos realizar un scan básico en una instalación limpia de Nessus y como ver el detalle de las vulnerabilidades detectadas. No obstante no es la única forma de hacer escaneos dado que normalmente luego del primer scan realizado, Nessus no vuelve a mostrar la pantalla de Bienvenida para iniciar un scan automático rápido como vimos en este ejemplo. Por este motivo en la siguiente sección veremos como podemos iniciar un scan a demanda en Nessus Essentials y los pasos necesarios para hacerlo.

### Realizando `Scans On Demand` con Nessus (`Zerologon Vuln Detection`)

Una vez tenemos al menos un escaneo realizado en Nessus, al abrir el programa veremos que ya no aparece la pantalla de bienvenida para dejarnos ingresar los **`targets`** y realizar un **`scan básico`** automático. Para iniciar un nuevo escaneo debemos hacer `click` en el botón **`New Scan`**.

![](https://2063214920-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MNC3KGY9k0nvrU_5PW6%2F-MO8kymIKtV7K5rFL8OK%2F-MO8mmCYXRyRCpS7PyY1%2Fimage.png?alt=media\&token=a476afcd-de9b-42ff-b459-624ef6dae639)

Luego de hacer **`click`** en **`New Scan`** Nessus nos muestra la siguiente pantalla donde aparecen listados los tipos de escaneos disponibles, incluyendo algunos a los cuales no vamos a tener acceso con Nessus Essentials.

![](https://2063214920-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MNC3KGY9k0nvrU_5PW6%2F-MO8kymIKtV7K5rFL8OK%2F-MO8nZXpBpOLEMGxNaNA%2Fimage.png?alt=media\&token=c4311e02-8bd6-468c-a79c-0c0fb22e1a5a)

Los primeros dos escaneos que aparecen listados (**`Host Discovery`** y **`Basic Network Scan`**) son los que fueron ejecutados por Nessus cuando cargamos nuestros objetivos en la pantalla de bienvenida.  Entre los escaneos disponibles se encuentra uno para detectar si nuestro objetivo es vulnerable a **`Zerologon`**, una vulnerabilidad que sigue impactado a equipos que no cuentan con los parches necesarios. Veamos si alguna de nuestras **`VMs`** del lab es vulnerable, incluso en caso de no ser vulnerables veremos como es el proceso para iniciar un escaneo manualmente en Nessus (proceso que aplica a cualquier scan con mayor o menor configuraciones requeridas según el tipo de escaneo).&#x20;

![](https://2063214920-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MNC3KGY9k0nvrU_5PW6%2F-MO8okEBwSAmwGTRSqC9%2F-MO8q3oKZ_FIO3k9RPvS%2Fimage.png?alt=media\&token=b92743f7-099e-4556-8ea0-69824feaf706)

Para Iniciar un scan primero debemos configurarlo, comenzamos por hacer **`click`** en el scan llamado **`Zerologon Remote Scan`** y veremos la siguiente pantalla.

![](https://2063214920-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MNC3KGY9k0nvrU_5PW6%2F-MO8okEBwSAmwGTRSqC9%2F-MO8qBaqrnCoyd7YXD49%2Fimage.png?alt=media\&token=1cc5bd9b-6deb-4504-bbbc-b947fc9e03cf)

En esta pantalla debemos indicar un Nombre para el scan, Objetivos a escanear. Nessus es una herramienta ENORME y no es posible cubrir en esta práctica todas las posibles configuraciones para este o cualquier otro scan.  Pero es importante saber que nos ofrece opciones para configurar el scan a nuestro gusto y necesidad. Entre estas opciones adicionales se encuentran ajustes como configuraciones de Ping y tipos de Ping a realizar, rango de puertos, enumeradores de puertos a usar e incluso opciones avanzadas como detener las operaciones si el host deja de responder durante el scan.

Una parte importante que debemos comprender sobre Nessus, es que todas sus funcionalidades son provistas por plugins y familias de plugins. Estos plugins son usados en los diferentes escaneos y aportan pruebas específicas que Nessus llevará a cabo. Podemos ver la lista de plugins que se usarán durante un scan en la **`tab`** llamada **`Plugins`**. En Este caso podemos ver que el scan actual solamente hace uso de un plugin para testear **`Zerologon`**.

![](https://2063214920-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MNC3KGY9k0nvrU_5PW6%2F-MO8okEBwSAmwGTRSqC9%2F-MO8sOznCA7YdwgLL0jC%2Fimage.png?alt=media\&token=cee466e6-9eb2-4c1c-90a3-fa7527cfccbc)

Si hacemos **`click`** sobre el nombre del plugin (columna **`Plugin Name`**) podemos ver un detalle o resumen sobre el plugin y la vulnerabilidad que testea.

![](https://2063214920-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MNC3KGY9k0nvrU_5PW6%2F-MO8okEBwSAmwGTRSqC9%2F-MO8siTTJ51BirRiqRmT%2Fimage.png?alt=media\&token=32307b30-4e95-43db-8d15-3fc948ab42d2)

El detalle es similar al que vimos durante el primer scan e incluye todo el detalle disponible sobre la vulnerabilidad. Una vez que estemos listos con los ajustes para nuestro scan, Indicamos el nombre para el mismo y los IP objetivos:

![](https://2063214920-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MNC3KGY9k0nvrU_5PW6%2F-MO8okEBwSAmwGTRSqC9%2F-MO8tUNRprSe4leYLH__%2Fimage.png?alt=media\&token=a9e96c10-4665-4b0c-87b4-075a5b7b2f8c)

En este punto podemos guardar nuestro scan para ejecutarlo en otro momento o bien haciendo **`click`** en el botón de la flecha abajo que tiene el botón llamado **`Save`**, podemos elegir ejecutarlo ahora mismo haciendo **`click`** en **`Launch`**:

![](https://2063214920-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MNC3KGY9k0nvrU_5PW6%2F-MO8okEBwSAmwGTRSqC9%2F-MO8tq3BXrazKwH-C5wT%2Fimage.png?alt=media\&token=63d4488f-c19a-4561-86a7-70c80f4daae5)

{% hint style="info" %}
Los **`scans`** guardados aparecerán listados en debajo de **`My Scans`** junto con los otros escaneos que hayamos realizado o guardado anteriormente.
{% endhint %}

Si no guardaste el scan podes ejecutarlo haciendo **`click`** en el botón de **`play`** que se muestra para este scan en la lista de escaneos (**`My Scans`**) como se muestra en la siguiente imagen.

![](https://2063214920-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MNC3KGY9k0nvrU_5PW6%2F-MO8okEBwSAmwGTRSqC9%2F-MO8ut76EDqqoIpCfaaf%2Fimage.png?alt=media\&token=2bc6f109-f449-4660-b34e-0479c0fa2e8b)

De acá en adelante ocurre lo mismo que vimos durante el primer escaneo básico, Nessus realizara los testeos necesarios usando el **`Plugin`** configurado para el **`scan`** y nos devolverá los resultados de las vulnerabilidades encontradas en caso de estar presentes en los objetivos escaneados. Veamos que resultados nos ofrece:

![](https://2063214920-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MNC3KGY9k0nvrU_5PW6%2F-MO8uvWiXTHfdDGEKyf9%2F-MO8yCYcHaPZKWDp_V__%2Fimage.png?alt=media\&token=f7ea3096-d2c7-4339-bc28-2b68b2f4b35b)

![](https://2063214920-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MNC3KGY9k0nvrU_5PW6%2F-MO8uvWiXTHfdDGEKyf9%2F-MO8yh1l0Q5IH_Mtbolw%2Fimage.png?alt=media\&token=4afeb72b-0053-4840-8a17-4200a79299e4)

Como podemos observar el Nessus determinó en **`5 minutos`** que el **`Controlador de Dominio (DC)`** de nuestro lab es vulnerable al ataque **`Zerologon`**. Si hacemos **`click`** en la vulnerabilidad podemos darnos una idea de la potencia de **`Nessus`**.

![](https://2063214920-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MNC3KGY9k0nvrU_5PW6%2F-MO8uvWiXTHfdDGEKyf9%2F-MO9-eo-DvLLcjKDk7aB%2Fimage.png?alt=media\&token=1e2d51a4-5bb5-4d33-af4c-b39b17dbe7c2)

Con tan solo **`23`** intentos pudo comprometer la seguridad del **`DC`**&#x79; verificar que en efecto es vulnerable al exploit **`Zerologon`**. Incluso vemos el detalle de la **`request`** y **`response`** enviadas por **`Nessus`**.&#x20;

Hasta acá llegamos con esta práctica de scanning de vulnerabilidades con **Nessus**. Vimos como Instalar Nessus y realizar su configuración inicial, hasta su uso básico para realizar un scan inicial automático (**`Discovery`** y **`Network Basic Scan`**). Finalmente realizamos un scan manual a demanda para comprobar si nuestro laboratorio era vulnerable al exploit **`Zerologon`** que afecta a los **`Controladores de Dominio`**. Con dicho scan comprobamos que en efecto nuestro **`DC`** es vulnerable.&#x20;

Adjunto a está práctica el reporte generado por Nessus para el scan de ZeroLogon.

{% file src="<https://2063214920-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MNC3KGY9k0nvrU_5PW6%2F-MO96-CRYnplwj_2nAkv%2F-MO98p1lcXJ-9Ga5jd-7%2FZerologon-Practica-UTN_ntyv40.pdf?alt=media&token=ed15bee0-eef5-4a9b-b7b1-cdbf19ce8a73>" %}
Reporte Generado por Nessus(PDF).
{% endfile %}

{% hint style="info" %}
**Nessus** cuenta con muchas opciones que no podemos llegar a cubrir en esta práctica, no obstante es bueno conocer que dispone de herramientas para crear nuestras propios **`templates`** de **`Policies`** para determinar las acciones que se llevan a cabo en cada tipo de **`scan`**. También incluye funcionalidades para generación de reportes, y reglas(**`rules`**) customizadas para el funcionamiento de los **`plugins`**. Todo esto sin tener en cuenta las demás funcionalidades y **`scans`** que se habilitan con la versión paga.&#x20;

Ciertamente es una herramienta muy interesante y que me interesa comprender en mayor profundidad. Quizás dedique un escrito en particular profundizando en su uso en algún momento. Por ahora quizá realice alguna que otra actualización a esta misma práctica.
{% endhint %}

### Troubleshooting Nessus

&#x20;Si durante el proceso de instalación y primer inicio recibís un error de descarga o algún otro error que impide que Nessus termine de configurarse, podes probar las siguientes soluciones que pueden puede serte útiles para remediar el problema.&#x20;

En mi caso, fue necesaria la solución numero dos para solucionarlo, los problemas que tuve al instalar **Nessus**.

#### Solución Número 1:

Si durante la configuración inicial de Nessus recibís el error **`Download Failed (Descarga Fallida)`**  Intenta con la siguiente solución.

{% hint style="danger" %}
**NOTA:** Encaso de recibir un error de que la descarga a fallado. Podemos ejecutar el siguiente comando para solucionarlo **`sudo /opt/nessus/sbin/nessuscli update`**.&#x20;

<img src="https://2063214920-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MNC3KGY9k0nvrU_5PW6%2F-MO3pfDee6dB0tPhofOK%2F-MO3r5E6_Ead_MT67w4p%2Fimage.png?alt=media&#x26;token=49c056c7-e8a2-41a7-a72d-868957e4d25d" alt="" data-size="original">&#x20;
{% endhint %}

Una vez que ejecutamos ese comando, veremos el siguiente resultado en consola.

![](https://2063214920-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MNC3KGY9k0nvrU_5PW6%2F-MO3pfDee6dB0tPhofOK%2F-MO3rq1FN2LreKpDWq-l%2Fimage.png?alt=media\&token=83f9c48b-0c90-420a-afc1-9fbb879cb6d4)

En algunos casos con esto ya podremos retomar la configuración de Nessus.

#### Solución Número 2:

En caso de que el error persista luego de intentar la solución 1 o recibamos algún error diferente que igualmente impide la correcta inicialización de Nessus. Podemos probar los siguientes comandos que resetearan por completo Nessus:

{% hint style="danger" %}
**Si el error persiste:** Podemos usar los siguientes comandos en orden para resetear Nessus por completo. Más información en el siguiente :point\_right: [**link**](https://tenable.force.com/s/article/Nessus-feed-reset-to-fix-plugin-issues-or-error?r=7\&ui-knowledge-aloha-components-aura-components-knowledgeone.ArticleActions.handleEditPublished=1\&ui-force-components-controllers-recordGlobalValueProvider.RecordGvp.getRecord=1).

1. **# service nessusd stop**
2. **# /opt/nessus/sbin/nessuscli fix --reset**
3. **# /opt/nessus/sbin/nessuscli fetch --register ACTIVATIONCODE**
4. **# /opt/nessus/sbin/nessusd -R**
5. **# service nessusd start**
   {% endhint %}

Espero que te sea de ayuda.

{% hint style="info" %}
Estas prácticas están sujetas a modificaciones y correcciones, la versión más actualizada disponible se encuentra online en [el siguiente link](https://tzero86.gitbook.io/tzero86/).
{% endhint %}
