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é.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
process-injection-playground — Une collection d'échantillons et de matériel liés à l'injection de processus. | Kitploit
Outils/GitHubGitHub/oscerd/process-injection-playground
CTFTests d'IntrusionApprentissage et ÉducationRed TeamingDéveloppement de Charges UtilesExploitation de Binaires
GitHuboscerd/process-injection-playground

process-injection-playground

Une collection d'échantillons et de matériel liés à l'injection de processus.

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
Voir le dépôt
113il y a 10 moisPas encore vérifié

Aire de Jeu d'Injection de Processus Linux

Une collection complète de techniques d'injection de processus pour Linux, démontrant diverses méthodes d'injection de code dans des processus en cours d'exécution. Ces exemples sont destinés à des fins pédagogiques, à la recherche en sécurité et à la compréhension de la manipulation de processus Linux de bas niveau.

Vue d'ensemble

L'injection de processus est une technique utilisée pour exécuter du code dans le contexte d'un autre processus. Bien que souvent associée aux logiciels malveillants, ces techniques sont également utiles pour :

  • Recherche en sécurité : Comprendre les vecteurs d'attaque et développer des défenses
  • Débogage : Analyser et modifier des applications en cours d'exécution
  • Instrumentation : Profilage de performance et surveillance
  • Tests d'intrusion : Évaluations de sécurité autorisées
  • Compétitions CTF : Défis Capture The Flag

Techniques disponibles

1. Injection de code basée sur Ptrace

Répertoire : ptrace/

La méthode classique d'injection de processus utilisant l'appel système ptrace() pour écrire directement du shellcode dans la mémoire d'un processus et rediriger l'exécution.

Caractéristiques principales :

  • Manipulation directe de la mémoire via PTRACE_POKETEXT
  • Détournement du pointeur d'instruction (RIP)
  • Injection de shellcode brut

Cas d'utilisation : Comprendre le contrôle de processus de bas niveau et l'injection directe de code

En savoir plus →


2. Injection LD_PRELOAD

Répertoire : ld_preload/

Interposition de fonctions utilisant la variable d'environnement LD_PRELOAD pour charger une bibliothèque malveillante avant toute autre bibliothèque.

Caractéristiques principales :

  • Injection basée sur une variable d'environnement
  • Accrochage de fonctions via l'interposition de symboles
  • Fonctions constructeur/destructeur
  • Facile à implémenter mais aussi facile à détecter

Cas d'utilisation : Accrochage de fonctions, surveillance d'API, modification de comportement

En savoir plus →


3. Injection par écriture /proc/mem

Répertoire : proc_mem/

Écriture directe en mémoire via l'interface du système de fichiers /proc/<pid>/mem, combinée à ptrace pour le contrôle du processus.

Caractéristiques principales :

  • Accès direct à la mémoire via le système de fichiers
  • Plus efficace que PTRACE_POKETEXT pour les charges utiles volumineuses
  • Opération d'écriture unique pour l'ensemble du shellcode
  • Aucune exigence d'alignement de mots

Cas d'utilisation : Injection rapide de gros volumes en mémoire, contournement des limitations traditionnelles de ptrace

En savoir plus →


4. Injection de bibliothèque dlopen()

Répertoire : dlopen_inject/

Technique sophistiquée qui force un processus en cours d'exécution à charger une bibliothèque partagée en détournant l'exécution pour appeler dlopen().

Caractéristiques principales :

  • Fonctionne sur des processus déjà en cours d'exécution (contrairement à LD_PRELOAD)
  • Persistant (la bibliothèque reste chargée)
  • Permet des charges utiles complexes avec toutes les capacités des bibliothèques
  • Peut accrocher des fonctions comme LD_PRELOAD mais après le démarrage

Cas d'utilisation : Injection persistante avancée, manipulation de bibliothèques en cours d'exécution

En savoir plus →


Démarrage rapide

Prérequis

  • Système Linux (testé sur x86_64)
  • Compilateur GCC
  • Accès root ou capacité CAP_SYS_PTRACE
  • Outil de construction Make

Construire tous les exemples

# Construire l'injection ptrace
cd ptrace && make all

# Construire l'injection LD_PRELOAD
cd ../ld_preload && make all

# Construire l'injection /proc/mem
cd ../proc_mem && make all

# Construire l'injection dlopen
cd ../dlopen_inject && make all

Schéma d'utilisation de base

Chaque technique suit un schéma similaire :

  1. Démarrer le processus victime :

    cd <technique>/victim-process
    ./sample
    

    Notez le PID affiché

  2. Effectuer l'injection :

    cd <technique>
    sudo ./<injecteur> <PID> [arguments supplémentaires]
    
  3. Observer les résultats : Vérifiez la sortie du processus victime pour l'exécution du code injecté

Consultez les fichiers README individuels pour les instructions spécifiques à chaque technique.

Matrice de comparaison

TechniqueComplexitéFurtivitéPersistanceVitesseFonctionne sur un processus en cours
ptraceMoyenneFaibleNonMoyenneOui
LD_PRELOADFaibleTrès faibleNonRapideNon
/proc/memMoyenneFaibleNonRapideOui
dlopenÉlevéeMoyenneOuiMoyenneOui

Quelle technique utiliser ?

  • ptrace : Apprentissage des fondamentaux, injection simple de shellcode
  • LD_PRELOAD : Accrochage rapide de fonctions, débogage, lorsque vous contrôlez le démarrage du processus
  • /proc/mem : Injection rapide de charges utiles volumineuses, lorsque PTRACE_POKETEXT est trop lent
  • dlopen : Injection persistante, charges utiles complexes, lorsque vous avez besoin de toutes les capacités des bibliothèques

Considérations de sécurité

Mesures défensives

  1. Yama ptrace_scope : Restreindre ptrace aux utilisateurs privilégiés

    echo 1 | sudo tee /proc/sys/kernel/yama/ptrace_scope
    
  2. SELinux/AppArmor : Contrôles d'accès obligatoires

  3. Surveillance : Utiliser auditd pour journaliser les tentatives d'injection de processus et d'utilisation de ptrace

    auditctl -a exit,always -F arch=b64 -S ptrace
    
  4. Vérification d'intégrité à l'exécution : Vérifier périodiquement la mémoire des processus

  5. Signature de code : Vérifier les signatures des bibliothèques

Méthodes de détection

  • Surveiller /proc/<pid>/maps pour détecter des régions mémoire ou des bibliothèques inattendues
  • Surveiller les tentatives d'attachement ptrace via les journaux système
  • Vérifier les variables d'environnement (LD_PRELOAD)
  • Utiliser des outils comme lsof, pmap et les utilitaires de surveillance de processus
  • Activer les modules de sécurité du noyau

Avis légal et éthique

IMPORTANT : Ces techniques ne doivent être utilisées que dans des contextes autorisés :

Ce dépôt est uniquement à des fins éducatives et de recherche. Les auteurs ne sont pas responsables d'un mauvais usage de ces techniques. Obtenez toujours une autorisation appropriée avant de tester sur un système.

Dépannage

Problèmes courants

Erreurs de permission refusée :

  • Exécutez avec sudo
  • Vérifiez /proc/sys/kernel/yama/ptrace_scope
  • Vérifiez les politiques SELinux/AppArmor

L'injection échoue silencieusement :

  • Vérifiez que le processus cible n'est pas lié statiquement
  • Vérifiez que le processus cible a chargé les bibliothèques requises
  • Assurez-vous que le shellcode est correct pour votre architecture

Erreurs de segmentation :

  • Vérifiez que vous êtes sur une architecture x86_64
  • Vérifiez que le processus cible n'est pas protégé
  • Assurez un alignement mémoire approprié

Consultez les README de chaque technique pour des conseils de dépannage spécifiques.

Contribuer

Les contributions sont les bienvenues ! Ajouts potentiels :

Télécharger l’outil