A medida que pasan los años la seguridad de la información toma un papel más que crucial en nuestros proyectos, trabajos y tareas, por lo cual debemos comenzar a tomar medidas para prevenir y combatir futuros ataques.

En esta oportunidad desarrollaremos una forma de buscar e identificar si uno o varios de nuestros equipos se encuentra infectado con algún tipo de amenaza.

Para esta práctica, a modo de ejemplo, nos enfocaremos en backdoors conocidos como web shells, que los cibercriminales suelen alojar en servidores web luego de vulnerarlos por medio de diferentes ataques. Esto les permite tener una “puerta trasera” por la cual acceder al servidor en el momento en que deseen.

Para identificar estas amenazas haremos uso de reglas YARA y Nessus. La primera es una herramienta diseñada para identificar y clasificar malware por medio de la creación de reglas que permiten detectar cadenas de texto, secuencias de instrucciones, expresiones regulares y otros patrones dentro de los archivos maliciosos.

Por su parte, Nessus es una herramienta desarrollada para realizar escaneos de seguridad sobre diversos sistemas operativos y aplicaciones.

Luego de descargar e instalar Nessus, en el apartado de “Scan Templates” tendremos diferentes opciones para escanear las aplicaciones o equipos que deseemos, pero en este caso usaremos la opción de “Advanced Scan”.

Como podemos ver a continuación, en la pantalla principal de la configuración tenemos numerosas opciones. Si vamos a la sección de “Assessment” y abrimos el ítem “Malware”, podremos subir a la aplicación un archivo con extensión YAR en donde se encontrarán las reglas de YARA, para buscar amenazas en los equipos según los las condiciones y patrones que hemos establecido al crear las reglas.

En la pestaña de “Credentials” configuraremos las plataformas y los datos correspondientes al usuario que utilizará la aplicación para realizar el escaneo en el equipo.

A continuación podemos observar las reglas de YARA que se emplearon, en donde se buscarán archivos PHP y JSP con determinados patrones comúnmente utilizados por los atacantes. La principal ventaja de esto es que podemos desarrollar reglas y condiciones para casos particulares o generales, siempre dependiendo de cuáles sean nuestros objetivos.

Una vez finalizado el escaneo obtendremos un reporte como el que veremos en la siguiente imagen; allí tendremos una vista general de la cantidad de vulnerabilidades que se encontraron, identificadas con distintos colores, como el rojo para las más críticas y el azul a nivel de información.

Además, se nos mostrará otro tipo de información como los host a los cuales se les realizó la tarea, el historial, que es donde se aloja la cantidad de escaneos realizados, y también en caso de que lo deseemos podríamos exportar la información obtenida a algún tipo de archivo como PDF, HTML o CSV.

Si nos situamos en la pestaña de “Vulnerabilities” visualizaremos la lista de vulnerabilidades encontradas con sus correspondientes nombres y severidades, con lo cual tendremos una vista más cómoda y ordenada de la información.

Si seleccionamos uno de los ítems podremos ver en detalle la información recolectada por Nessus haciendo uso de las reglas de YARA creadas. Como se observa en la captura, se logró encontrar en el equipo archivos malintencionados según las condiciones que establecimos.

También tendremos información indicándonos cuál es el nombre de la regla que coincidió con los patrones encontrados, junto con otros datos que se encuentran en el recuadro del lado derecho, donde observamos que la aplicación reconoce qué familia de amenaza ha encontrado.

Conclusión

Esta es una de las numerosas metodologías que podríamos comenzar a emplear y utilizar en nuestros entornos, ya sean corporativos o no, para mitigar posibles infecciones e inclusive prevenir futuros ataques.

En este caso utilizamos dos poderosas herramientas en conjunto para realizar un análisis particular de nuestros equipos, obteniendo como resultado los puntos más vulnerables en ese momento. A su vez, con estos datos podremos llevar un seguimiento y un control sobre nuestros sistemas y de esta forma solventar y reforzar la seguridad de los equipos involucrados.