Detectar Acciones Maliciosas Más Comunes en Entorno Linux
Detectar Acciones Maliciosas Más Comunes en Entorno Linux

Detectar Acciones Maliciosas Más Comunes en Entorno Linux

Auditd, el subsistema de monitoreo de acceso y contabilidad de Linux, será utilizado por varias reglas de Linux. En comparación con Windows, Linux es estadísticamente menos atacado por atacantes maliciosos. Sin embargo, debemos seguir vigilando estos sistemas en busca de amenazas a la seguridad. Aquí veremos algunas técnicas para usar un SIEM para monitorear el comportamiento malicioso de Linux.

Detectando actividad maliciosa en Linux
Detectando actividad maliciosa en Linux

Técnica 1: Cambio De Permisos De Archivos O Carpetas

Los cambios en los permisos de archivos o carpetas podrían indicar que un atacante está intentando obtener acceso a archivos o carpetas en una red. Esta consulta requerirá la adición de listas blancas para usuarios válidos que están autorizados a cambiar estos derechos.

  • Fuente de registro: Linux
  • Servicio: auditd
  • Tipo de auditd: EXECVE
  • Método de detección: Crea una regla basada en la consulta que coincida con cualquiera de “chmod o chown”

Ejemplo:

type=EXECVE msg=audit(1697461234.000:63272): pid=1234 uid=1000 auid=1000 ses=4294967294 subj=system_u:system_r:unconfined_t:s0-s0:c0.c1023 subj_mac=s0:c0.c1023 ses_mac=s0:c0.c1023  comm="chmod" exe="/bin/chmod" argc=3 argv="/bin/chmod" "777" "/var/www/html/index.php"  cwd="/var/www/html" env="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"  

Explicación del registro (log):

  • type=EXECVE: Indica que se ejecutó un comando.
  • msg: El mensaje del evento, que incluye información sobre el comando ejecutado.
  • comm=”chmod”: El comando que se ejecutó.
  • argv: Los argumentos del comando: “777” “/var/www/html/index.php” (esto significa que se cambió el permiso del archivo index.php a 777)

Técnica 2: Errores de sshd Potencialmente Maliciosos

Examina los mensajes de error de SSH / SHHD en busca de indicaciones de intentos de explotación.

  • Fuente de registro: Linux
  • Servicio: sshd
  • Método de detección: Crea una regla SIEM analizando e indexando el campo donde aparece el siguiente valor dentro del registro sshd.
"unexpected internal error"
"unknown or unsupported key type"
"invalid certificate signing key"
"invalid elliptic curve value"
"incorrect signature"
"error in libcrypto"
"unexpected bytes remain after decoding"
"fatal: buffer_get_string: bad string"
"Local: crc32 compensation attack"
"bad client public DH value"
"Corrupted MAC on input"

Técnica 3: Errores de vsftpd Potencialmente Maliciosos

Los errores en VSFTPD podrían ser maliciosos, lo que indica que se está intentando una explotación.

  • Fuente de registro: Linux
  • Servicio: vsftpd
  • Método de detección: Crea una regla SIEM que coincida con cualquiera de los siguientes:
"Connection refused: too many sessions for this address."
"Connection refused: tcp_wrappers denial."
"Bad HTTP verb."
"port and pasv both active"
"pasv and port both active"
"Transfer did (but failed to open directory)."
"Could not set file modification time."
"bug: PID active in ptrace_sandbox_free"
"PTRACE_SETOPTIONS failure"
"weird status:"
"couldn’t handle sandbox event"
"syscall * out of bounds"
"syscall not permitted:"
"syscall validate failed:"
"Input line too long."
"poor buffer accounting in str_netfd_alloc"
"vsf_sysutil_read_loop"

Técnica 4: Inicios de Sesión Fallidos en una Sola Fuente con Muchos Usuarios

Esto podría indicar un esfuerzo de fuerza bruta por parte de un atacante que usa muchas cuentas.

  • Fuente de registro: Linux
  • Servicio: Auth Pam
  • Mensaje: Falla de Autenticación
  • Método de detección: Crea una regla basada en la falla de varias cuentas para iniciar sesión en la misma fuente dentro de un período de tiempo específico. Dentro de 10 minutos, mantén un umbral de 20 cuentas. Las exclusiones deberán agregarse para los servidores terminales, servidores de salto y estaciones de trabajo utilizados regularmente. Dependiendo de tu entorno, es posible que debas aumentar el umbral.

Técnica 5: Sobrescribir Archivos con Dev 0 o Nulo

Muchos atacantes intentarán ocultar sus acciones una vez que hayan realizado ataques. Podrían eliminar archivos, lo que provocaría una variedad de problemas. Este método se puede usar para detectarlo.

  • Fuente de registro: Linux
  • Servicio: auditd
  • Tipo de auditd: EXECVE
  • Método de detección: Crea una regla que coincida con la consulta: ‘dd‘ LUEGO consulta que coincide = ‘if=/dev/null‘ O ‘if=/dev/zero

Técnica 6: Intentos de Desbordamiento de Búfer

Durante los ataques, los atacantes pueden intentar desbordamientos de búfer. Esta regla verifica cuatro indicadores comunes.

  • Fuente de registro: Unix
  • Método de detección: Crea una regla SIEM que coincida con cualquiera de los siguientes:
"attempt to execute code on stack by" (Intento de ejecutar código en la pila mediante)
"FTP LOGIN FROM .* 0bin0sh" (Inicio de sesión FTP desde .* 0bin0sh)
"rpc.statd[\d+]: gethostbyname error for" (rpc.statd[\d+]: error gethostbyname para)
"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" (Cadena de caracteres repetidos 'A')

Técnica 7: Eliminar el Atributo de Archivo Inmutable

Los hackers también pueden intentar modificar archivos inmutables en un sistema Linux. Los archivos inmutables se crean con la intención de no ser borrados, sin embargo, esto se puede cambiar. La regla que sigue busca que esto suceda.

  • Fuente de registro: Linux
  • Servicio: auditd
  • Tipo de auditd: EXECVE
  • Método de detección: Crea una regla SIEM que detecte cuando se ejecute el comando ‘chattr‘ con el argumento ‘-i‘.

Técnica 8: Servicio Systemd Recargado o Iniciado

Esta regla observa cuándo se inicia o recarga (reload) un servicio. Para servicios legítimos, las listas blancas deberán establecerse.

  • Fuente de registro: Linux
  • Servicio: auditd
  • Tipo de auditd: EXECVE
  • Método de detección: Crea una regla SIEM que coincida con la consulta: “systemctl” Y (“daemon-reload” O “start“).

Técnica 9: Borrar el Historial de Comandos

Después de completar un ataque en un sistema Linux, los atacantes intentarán eliminar el historial de comandos. Podemos observar los comandos que se usaron para hacerlo.

  • Fuente de registro: Linux
  • Método de detección: Crea una regla basada en la consulta que coincida con cualquiera de los siguientes:
"rm *bash_history": Elimina el archivo *bash_history.
"echo "" > *bash_history": Sobrescribe el archivo *bash_history con una cadena vacía.
"cat /dev/null > *bash_history": Sobrescribe el archivo *bash_history con el contenido de "/dev/null", que es un archivo vacío.
"ln -sf /dev/null *bash_history": Crea un enlace simbólico de "/dev/null" al archivo *bash_history, lo que hace que el archivo *bash_history esté vacío.
"truncate -s0 *bash_history": Trunca el archivo *bash_history a un tamaño de 0 bytes.
"export HISTFILESIZE=0": Establece el tamaño máximo del historial de comandos a 0, lo que hace que el historial no se guarde.
"history -c": Limpia el historial de comandos actual.
"history -w": Graba el historial de comandos actual a un archivo.
"shred *bash_history": Borra el archivo *bash_history de forma segura, sobreescribiendo el contenido con datos aleatorios.

Conclusión

Las reglas anteriores se pueden implementar si tu entorno tiene servidores/máquinas Linux y el registro de Auditd está habilitado.

My Cart Close (×)

Tu carrito está vacío
Ver tienda