
Escáner basado en Bash que detecta indicadores de compromiso de la explotación de CVE-2023-3519 en dispositivos Citrix ADC, compatible con análisis de imágenes en vivo y forense.
Este repositorio contiene una utilidad para detectar compromisos de los appliances Citrix ADC relacionados con CVE-2023-3519. La utilidad y sus recursos codifican indicadores de compromiso recopilados durante las investigaciones de Mandiant. Para obtener más información, lea el blog que anuncia el lanzamiento de esta herramienta.
En resumen, la utilidad:
No hará:
Con la retroalimentación de la comunidad, la herramienta puede volverse más exhaustiva en su detección. Por favor, abra un issue o envíe un PR si tiene problemas, ideas o comentarios.
Este escáner puede identificar:
El Escáner de Indicadores de Compromiso (IoC) para CVE-2023-3519 fue desarrollado por Mandiant en colaboración con Citrix basándose en el conocimiento obtenido de los compromisos de respuesta a incidentes relacionados con la explotación de CVE-2023-3519. El objetivo del escáner es analizar las fuentes de registro disponibles y los artefactos forenses del sistema para identificar evidencia de explotación exitosa de CVE-2023-3519. Existen limitaciones en lo que la herramienta podrá lograr y, por lo tanto, ejecutar la herramienta no debe considerarse una garantía de que un sistema está libre de compromiso. Por ejemplo, los archivos de registro en el sistema con evidencia de compromiso pueden haber sido truncados/rotados, el sistema puede haber sido reiniciado, un atacante puede haber manipulado el sistema para eliminar evidencia de compromiso y/o instalado un rootkit que oculta la evidencia de compromiso, etc.
Esta herramienta no garantiza encontrar toda la evidencia de compromiso, o toda la evidencia de compromiso relacionada con CVE-2023-3519. Si se identifican indicaciones de compromiso en los sistemas, las organizaciones deben realizar un examen forense del sistema comprometido para determinar el alcance y la extensión del incidente. Este software se proporciona tal cual, sin garantía ni representación para ningún uso o propósito.
Debe descargar el script Bash independiente desde la pestaña de Releases de este repositorio. No se recomienda copiar el directorio fuente a un appliance Citrix ADC. Hacerlo generará falsos positivos.
El Escáner de IoC se puede ejecutar directamente en un appliance Citrix ADC.
En este modo, la herramienta escaneará archivos, procesos y puertos en busca de indicadores conocidos.
La herramienta escribe mensajes de diagnóstico en el flujo STDERR y los resultados en el flujo STDOUT. En el uso típico, debe redirigir STDOUT a un archivo para su revisión.
La herramienta debe ejecutarse como root en modo en vivo en un appliance Citrix ADC. Para acceder a root, inicie sesión en la CLI como nsroot y luego ejecute shell desde la CLI.
Por ejemplo:
$ bash ./scanner-CVE-2023-3519-v1.2.sh > "/tmp/results-$(date).txt"
La herramienta está diseñada para usarse con los siguientes productos:
El Escáner de IoC también puede inspeccionar una imagen forense montada.
En este escenario, pase un argumento de línea de comandos que especifique la ruta al directorio raíz de la imagen.
Nota: La ruta que pase para el escaneo de imágenes forenses debe ser la raíz lógica / de la imagen.
La herramienta utiliza rutas de archivo relativas en algunos casos y puede recibir falsos positivos o falsos negativos si la imagen no está montada correctamente.
No es necesario ser root para ejecutar en modo fuera de línea.
Por ejemplo:
$ bash ./scanner-CVE-2023-3519-v1.1.sh /mnt/path/to/evidence/root/
En ambos modos, la herramienta extraerá el código de soporte en un directorio temporal; este directorio se eliminará al finalizar el script. La herramienta no realiza más cambios en el sistema, aunque puede generar entradas de registro.
Como en todo análisis forense, prefiera el análisis fuera de línea contra una imagen dd en lugar de la respuesta en vivo. Esto eliminará la probabilidad de que la herramienta cause que se sobrescriba evidencia relevante.
Los resultados del script se dividen en tres secciones principales.
El resumen del sistema mostrará información básica del appliance (si se ejecuta en modo en vivo) y un sí/no si se ha detectado alguna evidencia de compromiso.
**********************************************************************
SUMMARY:
Date : Sat Aug 12 22:46:26 UTC 2023
Hostname :
IP : 192.168.122.2
NS version : 13.1-48.47
Scanner version :
Scanner run mode : Default
Evidence of compromise found : Yes
Evidence of scanning found : N/A - Script Executed in Default Mode
Evidence of failed exploitation found : N/A - Script Executed in Default Mode
**********************************************************************
La siguiente sección mostrará detalles de los archivos de registro que se han escaneado, incluyendo la primera y última entrada de cada archivo de registro. Esto es útil como investigador para que pueda determinar qué período de tiempo pudo analizar el escáner en los registros y para explicar cualquier resultado faltante.
La sección final detallará qué evidencia de compromiso se identificó, si la hay. Por ejemplo, el contenido en lista de denegación encontrado en archivos se muestra a continuación.
**********************************************************************
MATCH: denylisted content 'blv_encode'
Found evidence of potential compromise.
You should consider performing a forensic investigation of the system.
**********************************************************************
matches for 'blv_encode':
/root/six.mal_
A medida que invente nuevas formas de identificar compromisos, considere contribuir a este Escáner de IoC. Nos gustaría proporcionar el escáner más completo y correcto posible.
El objetivo principal es informar indicadores de compromiso de alta confianza. Dado que los usuarios pueden confiar en la salida de esta herramienta para iniciar investigaciones adicionales, es importante que no los enviemos a una búsqueda infructuosa. Por lo tanto, actividades como el escaneo simple no deben informarse en el modo predeterminado. Cualquier evidencia de que un actor obtuvo acceso al sistema, obtuvo información o creó contenido siempre debe informarse.
Proporcionamos esta herramienta como un script Bash porque es un denominador común en los appliances Citrix ADC. Aquí está la matriz de características para las versiones de Citrix ADC:
| Versión de NetScaler | SO | Idiomas disponibles |
|---|---|---|
| 13.1 | FreeBSD 8.4 | Bash, Perl, Python |
| 13.0 | FreeBSD 8.4 | Bash, Perl, Python |
| 12.1 | FreeBSD 8.4 | Bash, Perl, Python |
| 12.0 | FreeBSD 8.4 | Bash, Perl, Python |
Una vez que haya clonado el repositorio fuente, puede compilar un script independiente usando la herramienta ./build.sh.
Esto empaqueta el script principal y los recursos de soporte en un solo paquete.
Al ejecutarlo, se extraerá a un directorio temporal, se ejecutará desde allí y luego se limpiará.
No compile el script en un netscaler. Hacerlo generará falsos positivos.
Para compilar:
$ bash ./build.sh > ioc-scanner-CVE-2023-3519-rev$(git rev-parse HEAD | cut -c 1-8).sh
Para obtener información adicional de Mandiant sobre CVE-2023-3519 y la explotación en la naturaleza, consulte: