Nessus

Nessus

Celia Catalán

 

 

L´objectiu d´aquest post és explicar tant de manera teòrica com pràctica l´eina Nessus per a la identificació de vulnerabilitats. En primer lloc, s'hi inclou una secció teòrica on es detallarà l'eina. Després, es durà a terme una prova pràctica analitzant les vulnerabilitats de la màquina Metasploitable2, per determinar si Nessus en pot detectar alguna i, en cas afirmatiu, intentar explotar-les. Per acabar, s'enumeraran algunes alternatives.

Nessus és una eina àmpliament reconeguda per realitzar escanejats de vulnerabilitats en una àmplia gamma de sistemes informàtics, que abasta diversos sistemes operatius, dispositius de xarxa, aplicacions web i mòbils, així com infraestructures al núvol. Va ser creada per Renaud Deraison el 1998 i posteriorment adquirida el 2005 per Tenable. 

A continuació, cal enumerar alguns dels aspectes més rellevants d'aquesta eina: 

1. Escaneig de Vulnerabilitats: Identificar i analitzar les vulnerabilitats que es trobin presents en els sistemes informàtics. Aquest procés suposa la identificació de fallades de seguretat als ports oberts, serveis amb males configuracions, programari desactualitzat i vulnerabilitats conegudes en sistemes operatius i aplicacions.

2. Base de Dades de Vulnerabilitats: Utilitza una àmplia base de dades de vulnerabilitats que s'actualitza constantment. Aquesta base de dades inclou detalls sobre vulnerabilitats conegudes, exploits, pegats disponibles i descripcions detallades de cada vulnerabilitat. Durant l'escaneig, aquesta informació s'utilitza per identificar vulnerabilitats i després informar-ne.

3. Escaneigs Programats i Personalitzables: Possibilitat de programar escanejats automàtics en intervals periòdics. A més, Nessus ofereix opcions d'escaneig personalitzables en funció de les necessitats dels usuaris. 

4. Informes: Generació d'informes detallats en diversos formats que resumeixen les vulnerabilitats identificades durant els escanejats de seguretat. Aquests informes inclouen informació clau com ara la descripció de la vulnerabilitat, la seva gravetat, recomanacions de mitigació i classificació segons la seva importància.

Nessus ofereix diverses versions. Nessus Essentials és una opció gratuïta adreçada a usuaris individuals o aquells que busquen protecció per a fins no comercials. D'altra banda, Nessus Professional, una versió de pagament, proporciona característiques addicionals i suport per a empreses que requereixen una solució més completa d'escaneig de vulnerabilitats. Finalment, Nessus Expert, també de pagament, ofereix les funcionalitats més avançades i està destinat a grans organitzacions que necessiten una protecció integral i escalable a les seves infraestructures de seguretat.

A continuació, s'hi inclou una taula que resumeix els punts a favor i en contra de Nessus:

Punts a favor Punts en contra
Escaneig Exhaustiu Funcionalitats avançades associades a costos
Base de dades de vulnerabilitats en constant actualització Recursos necessaris en cas de fer escanejats intensius
Interfície gràfica intuïtiva i fàcil d'usar Possibilitat de generar-se falsos positius
Programació i personalització Possibilitat de generar-se falsos positius
Programació i personalització Possibilitat de conflictes amb tallafocs i sistemes de detecció d'intrusos
Capacitat dintegració amb altres sistemes de seguretat Dependència de la qualitat de la base de dades de vulnerabilitats
Suport multiplataforma, incloent Windiows,Linux i macOS
Generació d'informes que inclouen recomanacions per mitigar i corregir errors de seguretat

Com es va esmentar en els aspectes positius daquesta eina, la seva gestió es duu a terme mitjançant una interfície gràfica dusuari. Aquesta interfície ofereix accés a totes les funcions i característiques de Nessus de manera intuïtiva i senzilla. A continuació, es descriuran els elements principals de l'eina, ja que una explicació detallada podria requerir un altre post:
1. Dashboard (Panel de Control): El tauler de control és la pàgina d'inici de Nessus i proporciona informació clau, com ara el nombre de hosts escanejats. Des d'aquí, els usuaris poden accedir ràpidament als escanejats recents, els informes i altres àrees importants de l'eina.
 
 
2. Escaneig (Scans): Aquesta secció permet als usuaris configurar i executar escanejats. Els usuaris poden programar escanejats automàtics, fer escanejats manuals sota demanda, importar i exportar escanejats, i revisar el progrés i els resultats dels escanejats en curs. També podeu veure un historial d'escaneigs anteriors i realitzar accions com pausar, aturar o reiniciar escanejats segons calgui.
 
 
 
 
3. Informes (Reports): Accedint a un escaneig, els usuaris poden revisar i generar informes detallats sobre els escaneigs. Els informes es poden personalitzar per incloure informació específica i recomanacions. Els usuaris poden exportar els informes en diversos formats, com ara PDF, CSV i HTML, per compartir-los.
 
4. Policies (Polítiques): Les polítiques són conjunts predefinits de regles i configuracions que determinen com es fan els escanejats. Es poden crear i personalitzar polítiques per adaptar-se a les necessitats específiques del context de lorganització. Aquestes polítiques poden incloure configuracions com el nivell de risc a escanejar, els tipus de vulnerabilitats a cercar i els hosts o xarxes a incloure a l'escaneig.
 
5. Configuration (Configuració): Aquí és on els usuaris poden configurar opcions i ajustaments específics de l'eina, com la configuració del servidor, la configuració d'autenticació i les opcions de notificació. També podeu administrar usuaris i rols, establir polítiques de retenció de dades i configurar integracions amb altres sistemes de seguretat.
 

Cas pràctic

 
Com que una imatge val més que mil paraules, es farà una demostració pràctica de l'ús de l'eina. L'escenari proposat és el següent:
 
 

Ús de Nessus

Des de la màquina designada com a "Escàner", s'executarà Nessus. L'objectiu de l'anàlisi serà la màquina coneguda com a "Víctima". Un cop finalitzada l'anàlisi i haver obtingut l'informe corresponent, des de la màquina identificada com a "Atacant", s'intentarà explotar alguna de les vulnerabilitats detectades a fi d'accedir de manera remota.
 
En primer lloc, des de la secció de “My Scans”, definim un nou escaneig fent clic al botó “New Scan”: 
 
Després de fer clic, s'obrirà una nova finestra el títol de la qual és "Scan Template". Aquí, s'oferirà l'opció de fer un descobriment de hosts, on mitjançant un escaneig bàsic es comprova quins hosts estan operatius i quins ports tenen oberts dins del mateix rang de xarxa que la màquina on s'executa Nessus. També es podrà optar per executar diversos scripts per detectar vulnerabilitats. 
 
En aquest cas, es durà a terme un escaneig avançat o Advanced Scan per assegurar que l'anàlisi sigui el més exhaustiva possible:
 
 
Un cop aquí, es poden establir diversos paràmetres, dels quals únicament dos són obligatoris: el nom que cal assignar a l'escaneig i els objectius. No obstant això, també es pot especificar la carpeta on es vol guardar l'escaneig, en cas de voler organitzar-los per exemple per les organitzacions auditades, oa qui notificar, programar l'escaneig, indicar credencials en cas que sigui necessari, seleccionar plugins a utilitzar , entre altres opcions. Per a aquesta prova, es realitzarà una anàlisi molt bàsica on només s'especificarà el nom de l'escaneig, que en aquest cas serà "ZeroTry", i l'adreça de l'objectiu, que és la màquina "Víctima" de l'escenari prèviament mostrat, amb l'adreça IP 192.168.138.1:
 
 
Pel que fa a la prova, s'observa que la durada de l'escaneig va ser de 10 minuts, el model de puntuació utilitzat és CVSS 3.0 i s'han identificat un total de 181 vulnerabilitats, categoritzades com a 12 crítiques, 7 altes, 24 mitges, 8 baixes i 130 informació.
 
1. Vulnerabilities: Llistat de totes les vulnerabilitats trobades, ordenades per severitat. En aquest cas, no es distingeix per host, sinó que es recopilen totes. Per a cadascuna es proporcionarà informació sobre la severitat i el CVSS associat, el Vulnerability Priority Rating (VPR) per determinar la prioritat de correcció, el nom de la vulnerabilitat, la família a què pertany i el nombre de vegades que ha estat trobada.
 
 
A més, en fer clic en alguna, es mostrarà informació més detallada, com ara la descripció, la solució proposada, la possible sortida després d'explotar la vulnerabilitat, el CVE associat i altres detalls addicionals.
 
En aquest cas, es pot veure que la màquina compta amb una vulnerabilitat de la família Backdoor el nom de la qual és UnreallRCd Backdoor Detection, és a dir, que ha explotat el servei UnreallRCd en la seva versió 3.2.8.1 corrent al port 6667. Aquest servei tracta de un programari de servidor d'Internet Relay Chat (IRC) que permet establir i gestionar sales de xat en línia per així finalitzar la comunicació en temps real. La vulnerabilitat té associat el següent CVE, CVE-2010-2075. La data de publicació d'aquesta vulnerabilitat va ser el 15/06/2010 i la seva darrera modificació el 18/06/2010 i va ser reportada per Red Hat, Inc. Podeu consultar més informació a la pròpia web de NIST (https://nvd. nist.gov/vuln/detail/CVE-2010-2075). La vulnerabilitat consistia en una porta del darrere que permet als atacants executar ordres al servidor com a usuari root. La vulnerabilitat s'introduïa a la macro DEBUG3_DOLOG_SYSTEM. Aquesta macro s'utilitza per registrar missatges de depuració al sistema de fitxers. Un atacant amb accés al codi font va modificar la macro perquè, en lloc de registrar un missatge, executarà una ordre arbitrària.
 
2. Remediations: Es presenta un llistat de les accions recomanades per abordar certes vulnerabilitats, especificant l'acció a realitzar, les vulnerabilitats que es corregirien i en quants hosts s'hauria d'aplicar cada acció.
 
En aquest cas, es recomana realitzar 3 accions per corregir vulnerabilitats als serveis UnreallRCd, Samba i ISC.
 
3. History: Llistat de vegades que s'ha executat l'escaneig. 
 
4. Report: Possibilitat d'exportar un informe detallat de les vulnerabilitats identificades, permetent l'opció de configurar diverses característiques per detallar la informació i triar el format desitjat. 
Aquest informe s'organitza en diversos apartats segons el nombre de hosts escanejats i recopila totes les vulnerabilitats, proporcionant informació semblant a la secció "Vulnerabilities"
 
 

Explotació des de KALI

 
Després de l'escaneig realitzat amb Nessus, s'han identificat nombroses vulnerabilitats. Per verificar-ne l'existència, s'intentarà explotar el servei UnreallRCd des d'una màquina Kali utilitzant l'eina Metasploit.
 
Mitjançant un escaneig amb Nmap, s'aconsegueix esbrinar que el servei es troba en execució als ports 6667 i 6697:
 
Utilitzant l'eina Metasploit. Es cerca algun mòdul que pogués explotar alguna possible vulnerabilitat d'aquest servei amb search UnrealIRCd, i es troba el següent:
 
Es pot apreciar que la versió a explotar el mòdul de Metasploit és la 3.2.8.1, coincidint amb allò que reportava Nessus. Quan se sap el mòdul a utilitzar, se selecciona amb use 0. 
 
Fet això, es consulten les opcions obligatòries que necessita el mòdul per explotar el servei mitjançant show options:
 
Com es pot apreciar, cal tant configurar el port com l'adreça IP del host remot, és a dir, de la víctima. No cal modificar el port, ja que coincideix amb el port obert a la màquina víctima. Tanmateix, si cal establir l'opció RHOST, mitjançant l'ordre set RHOSTS 192.168.138.131.
 
Tot i no semblar ser obligatori, resulta rellevant consultar els payloads disponibles en aquest mòdul i triar el més convenient, això s'aconsegueix amb show payloads:
 
S'aprecien un total de 13 payloads, sent el primer (id 0) (payload/cmd/unix/adduser), utilitzat per a la creació d'un nou usuari, i el sisè (id 5) (payload/cmd/unix/generic) dissenyat per a lexecució de comandes genèriques. Els altres permeten generar una intèrpret d'ordres reversa a partir de diversos serveis. De totes les opcions disponibles, vaig optar per seleccionar el setè (id 6) (payload/cmd/unix/reverse) ia causa d'això, va caldre indicar l'adreça IP de la màquina atacant. 
 
Un cop configurades les opcions, s'executa el payload i s'aconsegueix accés remot a la màquina víctima sota l'usuari root:
 
 
Amb això s'ha pogut apreciar el potencial i l'eficàcia de l'eina Nessus.
 

Alternatives

Hi ha diverses alternatives al mercat per realitzar escanejats de vulnerabilitats, i encara que Nessus ofereix un gran potencial, especialment en les seves versions de pagament, és prudent considerar altres opcions disponibles:
 
1. OpenVAS (Open Vulnerability Assessment System): Eina d'escaneig de vulnerabilitats de codi obert que ofereix funcionalitats similars a Nessus. Proporciona escaneig de vulnerabilitats en sistemes operatius, aplicacions web i bases de dades, juntament amb la capacitat de programar escanejats, generar informes detallats i fer anàlisis de seguretat.
 
2. Rapid7 Nexpose: Eina de gestió de vulnerabilitats que ofereix escaneig de vulnerabilitats en sistemes, xarxes i aplicacions web. Proporciona funcionalitats avançades com a escaneig de credencials, anàlisi de configuració i correlació de vulnerabilitats amb amenaces actives.
 
3. Acunetix: Eina d'escaneig de seguretat web que s'enfoca específicament a identificar i posar remei a vulnerabilitats en aplicacions web i serveis web. Ofereix escaneig automàtic d'aplicacions web, escaneig d'injecció SQL, escaneig de cross-site scripting (XSS) i detecció de vulnerabilitats de OWASP Top 10.
 
4. Nikto: Eina de codi obert per escanejar servidors web a la recerca de vulnerabilitats i configuracions subòptimes. S'enfoca a identificar problemes de seguretat comuns, com ara configuracions mal configurades, fitxers de configuració exposats i versions desactualitzades de programari.
 
5. ZAP: Eina de codi obert desenvolupada per OWASP (Open Web Application Security Project) que s'utilitza per realitzar proves de seguretat en aplicacions web. Ofereix funcionalitats d'escaneig de vulnerabilitats i proves de penetració dissenyades específicament per a aplicacions web. ZAP permet als usuaris identificar i explotar vulnerabilitats comunes, com ara injeccions SQL, cross-site scripting (XSS), i altres vulnerabilitats de seguretat en aplicacions web. A més, ZAP proporciona una interfície gràfica dusuari (GUI) intuïtiva i capacitats de scripting per a lautomatització de proves de seguretat. És una eina popular i àmpliament utilitzada per professionals de seguretat i desenvolupadors de programari per millorar la seguretat de les aplicacions web.
 

Conclusió

Per acabar, Nessus és una eina per identificar i avaluar vulnerabilitats en sistemes informàtics. La seva interfície senzilla d'usar, base de dades de vulnerabilitats actualitzada i capacitat de personalització en els escanejats, resulta molt útil tant per als pentesters en la tasca d'identificació de vulnerabilitats com per a les organitzacions en la tasca de protegir el seu entorn. No obstant això, l'existència de versions de pagament en limita l'accessibilitat i el potencial, especialment per a particulars i empreses amb recursos financers limitats.
 
I així conclou la introducció i la prova dús de Nessus. Espero que hagueu estat una lectura agradable i fàcil d'entendre. Espero que hagis gaudit i que aquest no sigui el meu darrer post!
Iván Fernández , Ciberanalista en pràctiques de Zerolynx .
Tornar al bloc

Deixa un comentari

Tingueu en compte que els comentaris s'han d'aprovar abans que es publiquin.