Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
SysTrace — Monitor de llamadas al sistema de Linux que utiliza ptrace para rastrear la actividad de archivos, procesos, red y memoria, con aislamiento de namespaces y clasificación mediante aprendizaje automático para el análisis de seguridad conductual. | Kitploit
Herramientas/GitHubGitHub/tracebyte8/systrace
Análisis Dinámico (Sandboxing)Análisis de MalwareAprendizaje AutomáticoDetección de Anomalías
GitHubtracebyte8/systrace

SysTrace

Monitor de llamadas al sistema de Linux que utiliza ptrace para rastrear la actividad de archivos, procesos, red y memoria, con aislamiento de namespaces y clasificación mediante aprendizaje automático para el análisis de seguridad conductual.

Ver Repositorio
151hace 22h 37mAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

SysTrace

Una herramienta de monitoreo de llamadas al sistema y análisis de seguridad conductual para Linux que combina rastreo basado en ptrace, aislamiento ligero de namespaces y clasificación con aprendizaje automático.

SysTrace observa el comportamiento en tiempo real de un programa objetivo a nivel de llamadas al sistema, extrae características de comportamiento y clasifica la actividad observada como benigna o maliciosa utilizando un modelo Random Forest entrenado. Está construido principalmente en C para el rastreo y aislamiento de bajo nivel, con un componente de Python/scikit-learn para la clasificación y generación de informes.


Resumen

SysTrace rastrea un proceso objetivo usando ptrace, capturando llamadas al sistema relacionadas con acceso a archivos, creación de procesos, actividad de red y operaciones de memoria. El comportamiento capturado se agrega en estadísticas de syscalls y un vector de características, que se pasa a un clasificador Random Forest entrenado para producir una predicción benigna/maliciosa. Los resultados se compilan en un informe de seguridad HTML estructurado.

El proyecto también incluye una capa ligera de sandbox construida sobre namespaces de Linux, utilizada para aislar el proceso objetivo durante el rastreo.


Arquitectura

Arquitectura de SysTrace

Características principales

Rastreo de llamadas al sistema

  • Construido sobre ptrace de Linux para adjuntarse e inspeccionar procesos objetivo, incluidos argumentos de syscalls y registros.
  • Rastrea un amplio conjunto de syscalls en cuatro categorías de comportamiento:
    • Operaciones de archivo — open/openat, read, close, chmod
    • Actividad de procesos — execve, fork, clone, kill
    • Actividad de red — socket, connect
    • Actividad de memoria — mmap, mprotect

Detección basada en reglas

Las reglas heurísticas señalan patrones de comportamiento sospechosos, incluyendo:

  • Acceso a archivos sensibles
  • Operaciones de archivo excesivas
  • Creación excesiva de procesos
  • Comportamiento de memoria sospechoso (p. ej., uso inusual de mmap/mprotect)
  • Actividad de red sospechosa

Capa ligera de sandbox / aislamiento

Una capa de aislamiento construida directamente sobre primitivas de namespaces de Linux:

  • clone() con CLONE_NEWUSER, CLONE_NEWPID, CLONE_NEWNS
  • Configuración de namespaces de montaje mediante MS_PRIVATE
  • Cambio del sistema de archivos raíz con pivot_root y umount2
  • Sistema de archivos raíz mínimo respaldado por tmpfs, construido en tiempo de ejecución bajo /tmp/systrace-root

Esto proporciona aislamiento básico de procesos, PID y montaje para el objetivo rastreado — no es un reemplazo de tiempo de ejecución de contenedores.

Clasificación con aprendizaje automático

  • Los vectores de características se derivan de las estadísticas de syscalls, con campos que incluyen: file, process, network, fork, connect, execve, read, open, close, memory, chmod, kill, label
  • Un RandomForestClassifier (scikit-learn) se entrena con estos vectores para distinguir el comportamiento benigno del malicioso.
  • El modelo entrenado se serializa en ml/syscall_model.pkl.
  • El CONJUNTO DE DATOS

Informes

  • Salida estructurada como features.json (datos de características sin procesar) y report.html (informe legible por humanos).
  • El informe HTML resume la actividad monitoreada, las reglas/eventos de seguridad activados, las estadísticas de syscalls y la clasificación final del ML.

Ejemplo de vector de características

root@kitploit:~
[file, process, network, fork, connect, execve, read, open, close, memory, chmod, kill]
[15,   2,       0,       0,    0,       2,      1,    10,   4,     14,     6,     0]

Tecnologías


Estructura del proyecto

root@kitploit:~
linux-syscall-monitor/
├── include/
├── src/
│   ├── tracer.c            # Core ptrace-based syscall tracer
│   ├── syscall.c           # Syscall interception/handling
│   ├── namespace.c         # Namespace/clone setup
│   ├── set_root.c          # pivot_root / minimal rootfs setup
│   ├── file_monitor.c      # File operation monitoring
│   ├── process_monitor.c   # Process creation/execution monitoring
│   ├── network_monitor.c   # Network activity monitoring
│   ├── memory_monitor.c    # Memory-related activity monitoring
│   ├── fd_tables.c         # File descriptor tracking
│   ├── rules.c             # Rule-based detection logic
│   ├── alert.c             # Security alert generation
│   ├── stat.c               # Syscall statistics aggregation
│   └── dataset.c           # Feature vector / dataset generation
├── ml/
│   ├── train.py             # Random Forest training script
│   ├── predict.py           # Classification / inference script
│   └── syscall_model.pkl    # Trained model
├── dashboard/                # Report/dashboard assets
├── tests/
├── Makefile
├── dataset.csv
└── README.md

Limitaciones

  • El sandbox es una capa de aislamiento educativa y ligera — no es un runtime de contenedores de grado de producción ni un sandbox endurecido de análisis de malware.
  • El aislamiento de namespaces cubre únicamente namespaces de usuario, PID y montaje; no implementa aislamiento de namespaces de red, filtrado seccomp ni límites de recursos cgroup.
  • El rastreo basado en ptrace introduce una sobrecarga observable y puede ser detectado/evadido por malware suficientemente sofisticado.
  • El clasificador ML se entrena con un conjunto de características limitado (recuentos agregados de syscalls) y un dataset; la precisión de la clasificación depende de la calidad y diversidad de los datos de entrenamiento.
  • No está pensado para rastrear binarios no confiables o genuinamente maliciosos fuera de un entorno de investigación debidamente aislado.

Descargo de responsabilidad de seguridad

SysTrace es un proyecto de investigación y aprendizaje que explora los internals de Linux, el rastreo de llamadas al sistema, el aislamiento basado en namespaces y la detección conductual de malware mediante aprendizaje automático. No es una herramienta de seguridad certificada ni lista para producción y no debe utilizarse como única defensa contra software malicioso. Úselo solo en entornos aislados y controlados.


Propósito

Este proyecto fue construido para explorar y demostrar:

  • Los internals de Linux y el rastreo de llamadas al sistema con ptrace
  • Monitoreo de procesos, archivos, red y memoria
  • Aislamiento del sistema de archivos usando namespaces de Linux (clone, pivot_root, namespaces de montaje)
  • Diseño de arquitectura de sandbox
  • Análisis de seguridad conductual
  • Aplicación de aprendizaje automático (Random Forest) a problemas de clasificación en ciberseguridad
Descargar herramienta
  • Mantiene un seguimiento de descriptores de archivo para asociar los descriptores de archivo abiertos con sus nombres de archivo de origen.
  • CategoríaStack
    Rastreador principalC, ptrace de Linux
    Aislamientonamespaces de Linux, clone, namespaces de montaje, pivot_root, tmpfs
    Aprendizaje automáticoPython, scikit-learn, Random Forest
    Datos / salidaJSON, HTML
    CompilaciónMake