Loading
_ DESCIFRANDO CONEXIÓN SEGURA...

Trabajos programados y unidades de systemd

5 tareas · 45 min · Principiante

Un trabajo programado es la forma más barata de volver a un servidor: se escribe una línea y la máquina ejecuta sola, cada pocos minutos, sin que nadie inicie sesión. En Linux esas líneas viven en varios sitios a la vez —el crontab del sistema, la carpeta cron.d, el crontab de cada usuario y las unidades con temporizador de systemd—, y la caza tiene que mirar todos. Aquí lo haces en el servidor de base de datos de Cordeles del Magdalena, contra la lista de programados aprobados.

0 de 5 · 0%

Objetivo de la sala

Un trabajo programado es la forma más barata de volver a un servidor: se escribe una línea y la máquina ejecuta sola, cada pocos minutos, sin que nadie inicie sesión. En Linux esas líneas viven en varios sitios a la vez —el crontab del sistema, la carpeta cron.d, el crontab de cada usuario y las unidades con temporizador de systemd—, y la caza tiene que mirar todos. Aquí lo haces en el servidor de base de datos de Cordeles del Magdalena, contra la lista de programados aprobados.

En Linux un trabajo recurrente puede estar en /etc/crontab, en un archivo suelto de /etc/cron.d, en el crontab propio de una cuenta (en las distribuciones de la familia Debian, en /var/spool/cron/crontabs) o en una pareja de unidades de systemd, una de servicio y otra de temporizador. MITRE ATT&CK las separa: cron es T1053.003 y el servicio de systemd es T1543.002. Un cazador que solo mira uno de los cuatro sitios declara limpio un servidor que no lo está.

La base de comparación es la lista de programados aprobados. Lo que cuenta como pista es lo que no está en ella, sobre todo si lo creó alguien en la ventana del incidente y si lo ejecuta una cuenta con privilegios.

Responde para continuar

Revisas /etc/crontab y los crontabs de usuario y están limpios. ¿Qué concluyes sobre los trabajos programados del servidor?

Ver pista de ayuda

Cuenta los lugares donde Linux guarda trabajos recurrentes y cuántos has revisado.

Un programado nuevo no es sospechoso por existir: los instaladores y los administradores los crean a diario. Lo sospechoso es la combinación de rasgos: lo ejecuta una cuenta con privilegios o una de servicio que no programa nada; el binario está en una ruta temporal o en una carpeta oculta; el nombre imita un servicio del sistema; el archivo se creó en la ventana del incidente; y no hay solicitud de cambio. Cuantos más rasgos coinciden, más pesa; ninguno solo basta.

Esto es la misma idea de cazar la conducta y no el nombre que ya aparece en el módulo 5, aplicada al servidor Linux: el nombre se cambia en un segundo, la ruta, la cuenta y la fecha cuestan más de disimular.

Responde para continuar

Un archivo de cron.d ejecuta como root un binario en una carpeta oculta de /var/tmp, se creó de madrugada y no tiene solicitud de cambio. ¿Qué rasgo pesa menos para decidir?

Ver pista de ayuda

Elige el rasgo que el intruso puede cambiar sin esfuerzo.

Abre el laboratorio, lee programados-aprobados.txt y recorre /srv/cdm-lnx-db01/etc/cron.d. Verás un archivo que corresponde a una aprobación y otro que no. Tienes también fechas-de-modificacion.txt para ver cuándo se creó.

Responde para continuar

¿Qué archivo de /etc/cron.d no figura en la lista de programados aprobados? Escribe su nombre tal cual.

Ver pista de ayuda

Compara los nombres de la carpeta con la columna de nombres de la lista de aprobados.

El temporizador del sistema también guarda lo suyo. En timers.txt hay tres temporizadores y en etc/systemd/system están los archivos de unidad. Una de las unidades de servicio no figura entre los programados aprobados, ejecuta como root un binario de una carpeta oculta de /var/tmp y se creó en la misma ventana que el archivo de cron.d. Un hallazgo que aparece dos veces por dos vías distintas indica que el intruso quiso asegurar el regreso por si una de ellas se descubría.

Responde para continuar

¿Qué unidad de servicio de systemd no está aprobada? Escribe el nombre del archivo, con su extensión.

Ver pista de ayuda

Cruza los temporizadores de timers.txt con la columna de dónde de la lista de aprobados.

El extracto cron.log recoge las líneas del servicio cron del 18 de noviembre, de 03:00 a 03:35. El programado de cron.d se ejecuta cada siete minutos; con un extracto, lo que cuenta no es lo que dice el archivo de configuración sino lo que el registro muestra que ocurrió. Cuenta las ejecuciones del binario del programado no aprobado y no las de otros trabajos que comparten el registro.

Responde para continuar

¿Cuántas veces ejecutó cron el binario del programado no aprobado en el extracto? Escribe solo el número.

Ver pista de ayuda

Cuenta solo las líneas cuyo comando es el del programado sospechoso; el resto del registro es operación normal.

Inicia sesión para registrar tus puntos y progreso en el ranking.

Whoami-Labs Pro

Whoami-Labs Pro utiliza cookies

Utilizamos cookies y almacenamiento local para el funcionamiento del sitio, seguridad de sesión y, si lo autorizas, analítica y marketing. Puedes aceptar, rechazar o personalizar. Política de Privacidad