¿Es posible que el usuario root en Linux tenga una vista en tiempo real (o casi en tiempo real) de los comandos de shell que ejecuta otro usuario conectado a través de un terminal o SSH? Obviamente están almacenados en .bash_history, pero eso solo se guarda cuando el usuario cierra la sesión y también se puede deshabilitar.
Editar: idealmente, algo que se pueda encender y apagar fácilmente.
ttyrpld
luce bien. recomendado en esta pregunta. serverfault.com/questions/40011/…Respuestas:
como root, puede reemplazar su shell con un simple script de contenedor que registra sus comandos antes de pasarlos al shell real. Esto solo funcionaría antes de que inicien sesión.
fuente
Use sniffy si desea entrar en la sesión del usuario o
screen -x
si tiene cooperación.Sin embargo, tenga en cuenta que espiar a sus usuarios puede estar sujeto a regulaciones o incluso completamente ilegal dependiendo de su legislación local.
fuente
Cambiar el caparazón es muy trivial para eludir, parchar el caparazón en sí es mejor, pero debe parchear todos los caparazones. Nuestro cracker favorito usa esto, como un bono que no se molesta en deshabilitar bash_history.
Snoopy es un contenedor alrededor de las funciones ejecutivas, y registra cualquier binario externo que se ejecute (no shell incorporado)
La sugerencia de @David Schmitt sniffy usa un método mejor, toca el pseudoterminal.
ttysnoop usa el mismo método, pero no se mantiene. (Probablemente tuve problemas para registrar conexiones ssh, no puedo recordar)
Puede intentar parchar ssh para registrar una sesión, pero ese parche es antiguo .
pseudopod y rootsh pueden usarse para registrar sudos legítimos. Y shwatcr es otra cosa para monitorear los inicios de sesión.
fuente
ssh host /bin/sh -i
supone que debe hacer exactamente ?Si está cooperando, puede usar la pantalla GNU entre dos usuarios: haga que uno establezca la sesión de pantalla y luego que el otro se una usando
screen -x
.Si desea que el root "espíe" a otros usuarios sin su conocimiento, la solución mejor y más eficiente podría ser el software / hardware keylogger.
fuente
Sysdig es una poderosa herramienta de exploración a nivel de sistema: esto es lo que quieres;)
ejemplo:
sysdig -i spy_users
Categoría: Seguridad
spy_users Muestra la actividad interactiva del usuario
enumera todos los comandos que los usuarios inician interactivamente (por ejemplo, desde bash) y cada directorio que visitan los usuarios
fuente
Puedes probar el parche bash-BOFH. Busca el parche.
fuente
Escribí un método para registrar todos los comandos / bash 'bash' en un archivo de texto o un servidor 'syslog' sin usar un parche o una herramienta ejecutable especial.
Es muy fácil de implementar, ya que es un simple shellscript que debe llamarse una vez en la inicialización de 'bash'.
Vea el método aquí: http://blog.pointsoftware.ch/index.php/howto-bash-audit-command-logger
fuente
Parece funcionar bastante bien si no te importa clasificar un montón de saltos de línea.
fuente
Snoopy está diseñado para el registro de comandos ligero.
Si desea ver en vivo los comandos ejecutados en su sistema, puede ser este. Advertencia: snoopy no es una solución de auditoría adecuada y puede eludirse fácilmente.
Sin embargo, si desea ver todos los caracteres escritos en la terminal, tendrá que usar otra herramienta.
Divulgación: Soy actual mantenedor de snoopy.
fuente
intente esta exportación HISTTIMEFORMAT = "% T" ejecute un par de comandos e "historial" después ...
fuente