/
/

Cómo monitorear archivos Log4j con NinjaOne

por Team Ninja   |  
traducido por Karina PicoCatala
Monitorare i file Log4j con NinjaOne archivos Log4j

Con noticias de última hora: Log4Shell (CVE-2021-44228) y los intentos de explotación se generalizaron, los MSP y los equipos de TI trabajaron sin parar para evaluar la exposición, buscar posibles IoC, aplicar mitigaciones y parchear.

El problema es que, dado que esta vulnerabilidad afecta a tantas aplicaciones, y que no todos los proveedores pueden brindar un asesoramiento claro sobre si los productos se ven afectados o no (nota: NinjaOne no lo está): determinar qué sistemas son potencialmente vulnerables es un gran desafío.

Ese problema ha llevado a bastantes investigadores de seguridad y miembros de la comunidad a crear scripts y herramientas que se pueden usar para escanear entornos en busca de archivos Log4j potencialmente vulnerables y señales de IoC.

Aquí tienes algunos ejemplos:

Decidir utilizar cualquiera de los scripts disponibles es totalmente tu elección (aunque, por supuesto, siempre debes probarlos y realizar la debida diligencia previamente). No obstante, si encuentras un script que quieras probar, esta publicación te guiará a través de un ejemplo de cómo desplegarlo en tu red aprovechando los campos personalizados en NinjaOne.

Antes de empezar, si quieres ponerte al día con Log4Shell, los siguientes son excelentes recursos:

Ejemplo de cómo monitorear archivos Log4j con NinjaOne

Para configurar un monitor personalizado que detecte la presencia de archivos de la biblioteca Log4J en endpoints en NinjaOne, necesitarás:

  1. Un campo personalizado
  2. Un script para recopilar y almacenar los datos (ejemplo a continuación, o consulta otros ejemplos citados anteriormente)
  3. Una condición personalizada para crear una alerta
  4. Un método para desplegar el script de detección

Configuración del campo personalizado

El campo personalizado se utilizará para almacenar los datos devueltos por el script de detección.

1) Añade un nuevo campo personalizado. Como monitoreamos el resultado del script en todos los endpoints, crearemos un campo personalizado global.

ninja-pantalla-log4j

2) El campo personalizado se llamará log4j y se configurará para escribir Multilínea. Usamos varias líneas ya que es posible que cada endpoint tenga varios archivos con vulnerabilidades. Las líneas múltiples harán que la información sea más legible.

crear-campo-log4j

3) Luego necesitamos configurar el campo personalizado. Estableceremos el script Script Access en Leer / Escribir.

Nota: si el acceso al script no está configurado en «Escribir» o «Leer/Escribir», no podrás escribir en el campo a partir de un script.

texto-log4j

A continuación, se presenta todo lo que se requiere para configurar el campo personalizado si configuramos un campo personalizado global.

Creación de un script para extraer datos

Para fines ilustrativos, usaremos un script de ejemplo a continuación creado a partir del script de Kelvin Tegelaar provisto en CyberDrain y en la comunidad Dojo de NinjaOne. La diferencia principal con el script de Kelvin es que utiliza una herramienta externa llamada “todo” que acelera la ejecución.

Ten en cuenta que circulan scripts adicionales que también puedes consultar y personalizar , que incluyen:

Es posible que provean resultados más rápidos y eficientes.

*** Aviso legal: El uso de cualquiera de estos scripts en NinjaOne se realiza a tu propia discreción y bajo tu exclusiva responsabilidad. ***

$array = @()
$Drives = Get-PSDrive -PSProvider 'FileSystem'

foreach($Drive in $Drives) {

$drivePath = $Drive.name + «:»,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
$array += gci $drivePath -rec -force -include *.jar -ea 0 | foreach {select-string «»JndiLookup.class»» $_} | select -exp Path»

Quizás también te interese

¿Listo para simplificar los aspectos más complejos de las TI?