Descripción general de la categoría de amenazas de Linux

En este documento, se proporciona una descripción general de los conjuntos de reglas en la categoría de amenazas de Linux, las fuentes de datos requeridas y la configuración que puedes usar para ajustar las alertas que generan estos conjuntos de reglas.

Los conjuntos de reglas en la categoría de amenazas de Linux ayudan a identificar amenazas en entornos de Linux mediante los registros del sistema de CrowdStrike Falcon, Linux Auditing System (AuditD) y Unix. Esta categoría incluye los siguientes conjuntos de reglas:

  • Herramientas de escalación de privilegios del SO: Detecta el comportamiento comúnmente visto en las herramientas de elevación de privilegios de Linux de código abierto.
  • Mecanismos de persistencia: Actividades que usan los adversarios para establecer y mantener el acceso persistente en hosts de Linux.
  • Modificaciones de privilegios: Actividad asociada con intentos y acciones de autenticación con privilegios, por lo general, para escalar privilegios o persistir en hosts de Linux.
  • Indicadores de software malicioso: actividad binaria de LOTL sospechosa: detecta situaciones sospechosas de uso de herramientas nativas (Vivir de la tierra) en función de la actividad observada del software malicioso de Linux en entornos del mundo real.
  • Indicadores de software malicioso: actividad de descarga sospechosa: Detecta el comportamiento detectado en relación con la actividad de descargas maliciosas en Linux en entornos reales.
  • Indicadores de software malicioso: Ejecución sospechosa: Detecta indicadores generados a partir de comportamientos observados de software malicioso de Linux detectados en entornos del mundo real con un enfoque en los comportamientos de ejecución (TA0002).

Dispositivos y tipos de registros compatibles

Se probaron los conjuntos de reglas de la categoría Amenazas de Linux y son compatibles con las siguientes fuentes de datos compatibles con Chronicle:

  • Sistema de auditoría de Linux (AUDITD)
  • Sistema Unix (NIX_SYSTEM)
  • CrowdStrike Falcon (CS_EDR)

Para obtener una lista de todas las fuentes de datos compatibles con Chronicle, consulta Analizadores predeterminados compatibles.

Configura dispositivos para generar datos de registro correctos

Para que las reglas de la categoría de amenazas de Linux funcionen según lo diseñado, los dispositivos deben generar datos de registro en el formato esperado. Configura las siguientes reglas de auditoría persistentes para el daemon de auditoría de Linux en cada dispositivo en el que recopilarás registros y los enviarás a Chronicle.

Si quieres obtener detalles sobre cómo implementar reglas de auditoría persistentes para el daemon de auditoría de Linux, consulta la documentación específica del sistema operativo.

# Process creation (32 and 64-bit)

-a exit,always -F arch=b32 -S execve
-a exit,always -F arch=b64 -S execve

# Persistence: Cron

-w /etc/cron.allow -p wa -k cron
-w /etc/cron.d/ -p wa -k cron
-w /etc/cron.daily/ -p wa -k cron
-w /etc/cron.deny -p wa -k cron
-w /etc/cron.hourly/ -p wa -k cron
-w /etc/cron.monthly/ -p wa -k cron
-w /etc/cron.weekly/ -p wa -k cron
-w /etc/crontab -p wa -k cron
-w /var/spool/cron/ -p wa -k cron

# Persistence: System Startup

-w /etc/init/ -p wa -k init
-w /etc/init.d/ -p wa -k init
-w /etc/inittab -p wa -k init

# Persistence: Systemd Units and Generators

-w /etc/systemd/user -p wa -k systemd
-w /usr/lib/systemd/user -p wa -k systemd
-w /var/lib/systemd/linger -p wa -k systemd
-w /root/.config/systemd/user -pa wa -k systemd

-w /etc/systemd/system -p wa -k systemd
-w /usr/lib/systemd/system -p wa -k systemd

-w /run/systemd/system-generators -p wa -k systemd
-w /etc/systemd/system-generators -p wa -k systemd
-w /usr/local/lib/systemd/system-generators -p wa -k systemd
-w /usr/lib/systemd/system-generators -p wa -k systemd

-w /run/systemd/user-generators -pa wa -k systemd
-w /etc/systemd/user-generators -pa wa -k systemd
-w /usr/local/lib/systemd/user-generators -pa wa -k systemd
-w /usr/lib/systemd/user-generators -pa wa -k systemd

# Persistence: IAM

-w /etc/group -p wa -k iam_etcgroup
-w /etc/passwd -p wa -k iam_etcpasswd
-w /etc/gshadow -k iam_etcgroup
-w /etc/shadow -k iam_etcpasswd

-w /etc/sudoers -p wa -k iam_sudoers
-w /etc/sudoers.d/ -p wa -k iam_sudoers_d

-w /usr/bin/passwd -p x -k iam_passwd

-w /usr/sbin/groupadd -p x -k iam_groupmod
-w /usr/sbin/groupmod -p x -k iam_groupmod
-w /usr/sbin/addgroup -p x -k iam_groupmod
-w /usr/sbin/useradd -p x -k iam_usermod
-w /usr/sbin/userdel -p x -k iam_usermod
-w /usr/sbin/usermod -p x -k iam_usermod
-w /usr/sbin/adduser -p x -k iam_usermod

# Privilege Escalation

-w /bin/su -p x -k privesc
-w /usr/bin/sudo -p x -k privesc

# Persistence: Libraries

-w /etc/ld.so.conf -p wa -k libmod
-w /etc/ld.so.conf.d -p wa -k libmod
-w /etc/ld.so.preload -p wa -k libmod

# Persistence: PAM

-w /etc/pam.d/ -p wa -k pam
-w /etc/security/ -p wa  -k pam

# Persistence: SSH

-w /etc/ssh/ -p wa -k sshconfig
-w /root/.ssh/ -p wa -k sshconfig

# Persistence: Shell Configuration

-w /etc/bashrc -p wa -k shellconfig
-w /etc/csh.cshrc -p wa -k shellconfig
-w /etc/csh.login -p wa -k shellconfig
-w /etc/fish/ -p wa -k shellconfig
-w /etc/profile -p wa -k shellconfig
-w /etc/profile.d/ -p wa -k shellconfig
-w /etc/shells -p wa -k shellconfig
-w /etc/zsh/ -p wa -k shellconfig

# Injection

-a always,exit -F arch=b32 -S ptrace
-a always,exit -F arch=b64 -S ptrace

# Failed Access Attempts

-a always,exit -F arch=b64 -S open -F dir=/bin -F success=0 -k file_err
-a always,exit -F arch=b64 -S open -F dir=/etc -F success=0 -k file_err
-a always,exit -F arch=b64 -S open -F dir=/home -F success=0 -k file_err
-a always,exit -F arch=b64 -S open -F dir=/sbin -F success=0 -k file_err
-a always,exit -F arch=b64 -S open -F dir=/srv -F success=0 -k file_err
-a always,exit -F arch=b64 -S open -F dir=/usr/bin -F success=0 -k file_err
-a always,exit -F arch=b64 -S open -F dir=/usr/sbin -F success=0 -k file_err
-a always,exit -F arch=b64 -S open -F dir=/var -F success=0 -k file_err

# Network connections

-a always,exit -F arch=b64 -S connect -F a2=16 -F success=1 -k net_v4
-a always,exit -F arch=b32 -S connect -F a2=16 -F success=1 -k net_v4
-a always,exit -F arch=b64 -S connect -F a2=28 -F success=1 -k net_v6
-a always,exit -F arch=b32 -S connect -F a2=28 -F success=1 -k net_v6
-a always,exit -F arch=b32 -S socket -F a0=2 -k sock_v4
-a always,exit -F arch=b64 -S socket -F a0=2 -k sock_v4
-a always,exit -F arch=b32 -S socket -F a0=10 -k sock_v6
-a always,exit -F arch=b64 -S socket -F a0=10 -k sock_v6

Alertas de ajuste que muestra la categoría de amenazas de Linux

Puedes reducir la cantidad de detecciones que genera una regla o un conjunto de reglas mediante las exclusiones de reglas.

En la exclusión de reglas, defines los criterios de un evento de UDM que excluye el evento para que el conjunto de reglas no lo evalúe.

Crea una o más exclusiones de reglas para identificar los criterios de un evento de UDM que excluyen el evento de ser evaluado por este conjunto de reglas o por reglas específicas en el conjunto de reglas. Consulta Configura exclusiones de reglas para obtener información sobre cómo hacerlo.

Por ejemplo, puedes excluir eventos según los siguientes campos de UDM:

  • principal.hostname
  • target.user.userid