Skip to content

1n51d3r-hack/user_control_activity

Repository files navigation

user_control_activity

Controla la actividad del usuario en Windows. El server_log_user_activity.py se ejecuta en un ubuntu2204 donde se encuentra el ELK con filebeat para procesar los logs del cliente. El Agente Windows.py se puede compilar a .exe mediante el comando "pyinstaller --onefile --noconsole --icon=AgenteInactividad.ico Agente_Windows.py.py " e instalarse en el Windows del objetivo a monitorizar.

💤 Agente de Inactividad (Windows)

Este agente detecta automáticamente los periodos de inactividad del usuario en equipos Windows y registra un evento cuando el usuario regresa. Los eventos se envían a un servidor remoto en formato JSON compatible con Filebeat y Elasticsearch.


🧠 Objetivo

Detectar y registrar eventos de inactividad del usuario en Windows para análisis en sistemas de monitoreo.

Ejemplo Log recogido:

imagen

Como se muestra en Kibana una vez procesados los logs por Filebeat:

imagen

📦 Exportación y despliegue

Puedes copiar el .exe a otros equipos Windows o VPS, ya que no depende de librerías externas ni instalación previa.

🧪 Desarrollo y pruebas

Se recomienda probar el script directamente con Python en entorno controlado antes de compilarlo. El script puede ejecutarse de forma manual para ver cómo detecta la inactividad.


⚙️ ¿Qué hace el agente?

  1. Monitorea actividad del usuario:

    • Pulsaciones de teclado
    • Movimiento, clics y scroll del ratón
  2. Registra inactividad:

    • Si el usuario no realiza acciones durante más de 5 minutos, se marca el inicio del periodo inactivo.
    • Al volver, se registra el evento.
  3. Envía logs a servidor remoto:

    • Logs en formato JSON por HTTPS POST al endpoint https://IP:PORT/upload.
    • Usa token de autorización.

🖥 Instalación automática al inicio

  • El .exe se registra automáticamente como tarea programada en Windows, la primera vez que se ejecuta.
  • Se lanza en cada inicio de sesión de usuario.
  • Se ejecuta en modo silencioso (sin consola visible).

🔒 Requisitos técnicos

  • Solo requiere conexión HTTPS.
  • No necesita que Python esté instalado.
  • No deja rastro visual en el escritorio.

🛠 Compilación

Para compilar el agente a .exe desde el código fuente:

pyinstaller --onefile --noconsole --icon=AgenteInactividad.ico Agente_Windows.py

---

## 📝 Ejemplo de evento JSON

```json
{
  "@timestamp": "2025-06-17T12:45:23.123Z",
  "event": {
    "start": "2025-06-17T12:15:23.123Z",
    "end": "2025-06-17T12:45:23.123Z",
    "duration": 1800000000000
  },
  "user": { "name": "usuario_actual" },
  "host": { "name": "PC-NOMBRE", "ip": "192.168.1.105" },
  "lunch_break": true,
  "message": "Usuario Mike inactivo de 12:15:23 a 12:45:23 durante 1800s"
}

About

Controla la actividad del usuario en Windows

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages