Shrek: Monitor de terminales basado en strace.

Saludos a todos,

después de un periodo de pausa en la publicación de contenidos en el blog, pero no de inactividad en la creación y desarrollo de nuevos proyectos, volvemos a la actividad pública con una herramienta que esperamos os sea de utilidad.

Shrek es un monitor, denominados comúnmente snoopers, con funciones de grabación y de reproducción de la actividad que sucede en un terminal Linux, incluídos terminales enlazados mediante sshd. En definitiva, una herramienta útil tanto para administradores de sistemas, como eventualmente para profesionales del pentest, destinada a conocer lo que un determinado usuario está realizando a través de su terminal.

Debemos comentar que existen otros medios para realizar esta tarea, como pueden ser ttysnoop, discontinuado y reaparecido para kernels de la rama 2.6, o snoop, un parche para el kernel de Linux. Sin embargo, estas herramientas parten de la idea de extender las funcionalidades propias de un sistema Linux, por lo que requieren de modificaciones, bien de los ficheros de configuración, de los binarios, o del propio del kernel.

Shrek, a diferencia de estas soluciones es una herramienta mucho más sencila y ligera, basada en la característica integrada en los sistema Linux para la monitorización de procesos, ptrace, haciendo uso de ella a través del binario strace, destinado a la monitorización de llamadas al sistema. De esta forma es capaz de monitorizar y grabar a disco las llamadas de entrada/salida (aquellas que contienen la información enviada y recibida por el usuario), tanto de procesos sshd asociados a una terminal, como de procesos bash, permitiendo su posterior reproducción como si de una película se tratara.

Shrek está compuesto de los siguientes elementos:
  • shrek-pid: Permite obtener los identificadores de proceso (pids) que pueden ser monitorizados por shrek.
  • shrek-rec: Permite la grabación a disco de la actividad que se está llevando a cabo en un determinado proceso.
  • shrek-play: Permite visualizar las grabaciones realizadas mediante shrek-rec.

Por último, SG6 agradece la colaboración desinteresada de todos los que han aportado su granito de arena en la depuración y mejora de esta idea.

Contenidos Descargables