Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
SysTrace — Moniteur d'appels système Linux utilisant ptrace pour tracer l'activité des fichiers, des processus, du réseau et de la mémoire, avec isolation des espaces de noms et classification par apprentissage automatique pour l'analyse comportementale de la sécurité. | Kitploit
Outils/GitHubGitHub/tracebyte8/systrace
Analyse Dynamique (Sandboxing)Analyse de MalwareApprentissage AutomatiqueDétection d'Anomalies
GitHubtracebyte8/systrace

SysTrace

Moniteur d'appels système Linux utilisant ptrace pour tracer l'activité des fichiers, des processus, du réseau et de la mémoire, avec isolation des espaces de noms et classification par apprentissage automatique pour l'analyse comportementale de la sécurité.

Voir le dépôt
25293il y a 1 moisVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

SysTrace 2.0

Moniteur d'appels système Linux et bac à sable basé sur ptrace pour l'analyse de binaires ELF.

SysTrace exécute une cible dans un environnement d'espace de noms Linux isolé, trace ses appels système et ses processus enfants, applique une détection basée sur des règles et un score de risque pondéré, puis utilise un classificateur Random Forest comme signal secondaire.

Fonctionnalités

  • Traçage des appels système via ptrace
  • Suit fork, vfork, clone et execve
  • Espaces de noms Linux user, PID et mount
  • Bac à sable minimal pivot_root
  • Surveillance des fichiers, processus, mémoire et réseau
  • Statistiques d'appels système par processus et agrégées
  • Détection basée sur des règles avec application de SIGKILL
  • Score de risque pondéré de 0 à 100
  • Classification ML par Random Forest
  • Rapport de sécurité HTML
  • Journaux JSON et texte
  • Trace brute des appels système

Démarrage rapide

Cloner le dépôt :

git clone https://github.com/tracebyte8/SysTrace.git
cd SysTrace

Rendre le script de configuration exécutable :

chmod +x config.sh

Exécuter SysTrace sur un binaire ELF compilé :

./config.sh ./tests/bin/mal_fileopen

config.sh effectue automatiquement :

  1. Vérifie gcc, make et python3
  2. Crée .venv
  3. Installe les dépendances Python requises
  4. Compile SysTrace
  5. Exécute la cible via le moniteur
  6. Génère le rapport de sécurité

Aucune installation manuelle de paquets Python n'est nécessaire.

La cible doit être un binaire ELF déjà compilé. Un fichier source .c ne peut pas être passé directement.

Architecture

Target ELF
    │
    ▼
Namespace Sandbox
    │
    ├── CLONE_NEWUSER
    ├── CLONE_NEWPID
    ├── CLONE_NEWNS
    └── pivot_root
    │
    ▼
ptrace Tracer
    │
    ├── Syscall tracing
    ├── fork/vfork/clone following
    └── exec following
    │
    ▼
System Call Monitors
    │
    ├── File
    ├── Process
    ├── Memory
    └── Network
    │
    ▼
Statistics
    │
    ▼
Rule Engine
    │
    ├── Alerts
    └── SIGKILL enforcement
    │
    ▼
Risk Scoring
    │
    ├── features.json
    │
    └── Random Forest
             │
             ▼
      security_report.html

Ce qu'il surveille

CatégorieAppels système suivis
Fichieropen, openat, read, close
Processusexecve, fork, clone, wait4, ptrace
Mémoiremmap, mprotect
Réseausocket, connect, sendto, recvfrom, bind, listen, accept

Les autres appels système sont également écrits dans syscall.txt lorsque leurs noms sont disponibles dans la table des appels système.

Règles de détection

DéclencheurConditionAction
Accès à un fichier sensible/etc/passwd ou /etc/shadowAlerte + SIGKILL
Ouvertures de fichiers excessivesopen > 100Alerte + SIGKILL
Lectures excessivesread > 29Alerte + SIGKILL
Fork excessiffork/clone > 8Alerte + SIGKILL
Ré-exécutions excessivesexecve > 8Alerte + SIGKILL
Connexion réseauTout connect()Alerte + SIGKILL
Envoi réseauAppel système d'envoi suiviAlerte + SIGKILL
Modification de la protection mémoiremprotect > 5Alerte + SIGKILL
Traçage inter-processusTout ptrace()Alerte + SIGKILL
Risque élevéScore ≥ 70Alerte + SIGKILL
Risque modéré40 ≤ score < 70Alerte

killit enregistre les actions SIGKILL effectuées par le moteur de règles.

Notation du risque

SysTrace calcule un score comportemental pondéré :

score =
    (sum of weighted syscall counts)
    / (total syscalls × 6.0)
    × 100

Le score est borné à 0–100.

Si le moteur de règles tue un processus, le score de risque est forcé à au moins 90.

Pondérations

ComportementPondération
ptrace6.0
connect5.0
réseau4.0
execve3.0
mprotect3.0
fork2.0
processus1.5
open0.5
mmap0.5
fichier0.3
read0.2
close0.1

Apprentissage automatique

SysTrace utilise un classificateur Random Forest comme signal comportemental secondaire.

Le modèle se trouve à l'emplacement suivant :

ml/syscall_model.pkl

Les statistiques d'appels système surveillées sont exportées vers :

features.json

ml/predict.py lit le dernier enregistrement de caractéristiques et produit :

prediction.txt

Exemple :

Program: ./tests/bin/mal_fileopen

Prediction: MALICIOUS
Confidence: 91.42%

Le résultat ML doit être traité comme un signal secondaire, et non comme un verdict définitif.

Le dépôt ne fournit ni le jeu de données d'entraînement d'origine ni la précision publiée du modèle.

Rapports et journaux

FichierDescription
security_report.htmlRapport de sécurité HTML final
alerts.jsonAlertes de sécurité JSON
features.jsonEnregistrements de caractéristiques ML
prediction.txtDernière prédiction ML
log.txtAlertes lisibles par l'humain
syscall.txtTrace brute des appels système

features.json, alerts.json, log.txt et syscall.txt accumulent les enregistrements au fil des exécutions.

security_report.html et prediction.txt sont écrasés à chaque exécution.

Tableau de bord

SysTrace Dashboard

Le rapport HTML contient :

  • Score du moteur de règles
  • Prédiction ML
  • Confiance ML
  • Pourcentage de danger final
  • Événements de sécurité
  • Statistiques comportementales

Structure du projet

SysTrace/
├── src/
│   ├── tracer.c
│   ├── namespace.c
│   ├── set_root.c
│   ├── file_monitor.c
│   ├── process_monitor.c
│   ├── memory_monitor.c
│   ├── network_monitor.c
│   ├── rules.c
│   ├── score.c
│   ├── stat.c
│   └── dataset.c
│
├── include/
├── dashboard/
│   ├── index.c
│   └── style.css
│
├── ml/
│   ├── train.py
│   ├── predict.py
│   └── syscall_model.pkl
│
├── tests/
│   └── bin/
│
├── image/
├── Makefile
├── config.sh
└── README.md

Compiler manuellement

Si vous ne souhaitez pas utiliser config.sh :

make

Nettoyer le projet :

make clean

Reconstruction :

make re

Configuration manuelle de Python :

python3 -m venv .venv
source .venv/bin/activate
pip install numpy scikit-learn

Programmes de test

ProgrammeComportement
benign_idle.cDort et se termine
benign_fileread.cCrée, lit et supprime un fichier temporaire
mal_fileopen.cOuvre/lit/ferme plusieurs fichiers
mal_forkbomb.cCrée un nombre limité de processus enfants
mal_connect.cTente plusieurs connexions réseau
mal_mmap_mprotect.cOpérations répétées de mmap/mprotect

Exemple :

./config.sh ./tests/bin/mal_forkbomb

Puis ouvrez :

xdg-open security_report.html

Sécurité et limitations

SysTrace est un outil d'analyse dynamique à vocation de recherche/apprentissage, et non une frontière de sécurité renforcée ni un EDR de production.

Limitations importantes :

Télécharger l’outil