Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
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
FRAGNESIA-Charan-cve-2026-46300 — Cadre de déploiement de conteneurs durci avec liste blanche d'appels système seccomp et télémétrie eBPF pour détecter et bloquer les tentatives d'évasion de conteneur et de corruption ULP du noyau. | Kitploit
Outils/GitHubGitHub/azdevops143/fragnesia-charan-cve-2026-46300
Sécurité des ConteneursAnalyse des VulnérabilitésExploitationSécurité CloudDétection d'IntrusionApprentissage et Éducation
GitHubazdevops143/fragnesia-charan-cve-2026-46300

FRAGNESIA-Charan-cve-2026-46300

Cadre de déploiement de conteneurs durci avec liste blanche d'appels système seccomp et télémétrie eBPF pour détecter et bloquer les tentatives d'évasion de conteneur et de corruption ULP du noyau.

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
5il y a 3 moisPas encore vérifié

Architecture Charantej : Staging de conteneurs durcis et laboratoire de télémétrie d'appels système

Un cadre de confinement de conteneurs et de télémétrie de sécurité d'exécution de niveau entreprise, appliquant une défense en profondeur. Conçu du point de vue d'un architecte de cybersécurité principal chez Cisco, l'architecture Charantej isole les environnements de staging, restreint les surfaces d'appels système et instrumente la télémétrie temps réel du noyau à l'aide d'audits au niveau hôte pour sécuriser les déploiements de conteneurs Linux modernes.


Conception de haut niveau (HLD)

L'architecture Charantej impose l'isolation, le confinement à moindre privilège et une surveillance hors bande pour garantir que les limites de sécurité restent résistantes aux vecteurs de compromission du noyau hôte.

root@kitploit:~
flowchart TD
    subgraph HostOS ["Host OS (Secured Linux Node)"]
        subgraph Docker ["Docker Container Runtime"]
            App["Audited App Namespace"]
        end
        
        subgraph Auditor ["Host Auditor (Falco Engine)"]
            eBPF["eBPF Probes"]
        end
        
        Kernel["Host Linux Kernel"]
    end
    
    SIEM["SIEM / Log Repository"]

    App -->|System Calls| Kernel
    Kernel -->|Trace Events| eBPF
    eBPF --> Auditor
    Auditor -->|Telemetry Logs| SIEM
    
    style HostOS fill:#1e1e1e,stroke:#333,stroke-width:2px
    style Docker fill:#2a2a2a,stroke:#007bff,stroke-width:2px
    style Auditor fill:#2a2a2a,stroke:#dc3545,stroke-width:2px
    style Kernel fill:#333,stroke:#ffc107,stroke-width:2px
    style SIEM fill:#1e1e1e,stroke:#28a745,stroke-width:2px,stroke-dasharray: 5 5

Limites de confiance

  1. Bac à sable du runtime de conteneur : L'espace de noms du conteneur s'exécute strictement en tant qu'utilisateur non privilégié, supprimant toutes les capacités Linux par défaut (CAP_SYS_ADMIN, CAP_NET_ADMIN, CAP_NET_RAW, etc.) pour bloquer les manipulations réseau brutes au niveau système.
  2. Liste blanche des appels système : Un profil personnalisé de mode de calcul sécurisé (seccomp) agit comme un gardien entre les processus conteneurisés et le noyau hôte, empêchant l'accès aux appels système dangereux de socket ou de modification d'espace de noms.
  3. Instrumentation hors bande : L'audit des événements s'exécute hors bande au niveau hôte via des sondes de traçage eBPF. Ainsi, même si un runtime de conteneur est compromis, la journalisation de télémétrie ne peut pas être falsifiée ou désactivée depuis le contexte du conteneur.

Conception de bas niveau (LLD)

La conception de bas niveau définit la logique opérationnelle de validation des appels système, les chemins de filtrage et les points de terminaison de surveillance dans la limite du noyau.

root@kitploit:~
flowchart TD
    subgraph ContainerSpace ["Container Namespace (User Space)"]
        App["Audited Process"]
    end

    subgraph SeccompBoundary ["Seccomp Syscall Filter Boundary"]
        Syscall["Syscall Invocation"]
        Filter{"Syscall in Whitelist?"}
        Block["SCMP_ACT_ERRNO (Block & Fail)"]
        Allow["Allow & Pass"]
    end

    subgraph KernelSpace ["Linux Host Kernel Space"]
        Handler["System Call Handler"]
        Subsystem["Target Subsystem (e.g., Network/Memory)"]
    end

    subgraph TelemetryLayer ["Host Auditing Layer"]
        eBPF["eBPF Probe Instrumentation"]
        Falco{"Event Matches Rule?"}
        Alert["Log syslog / SIEM Alarm"]
    end

    App -->|1. Invokes Syscall| Syscall
    Syscall --> Filter
    Filter -->|No: e.g., setsockopt/socket| Block
    Filter -->|Yes: e.g., read/write| Allow
    Allow --> Handler
    Handler --> Subsystem
    Handler -->|2. Traces Execution| eBPF
    eBPF --> Falco
    Falco -->|Yes| Alert

L'architecture Charantej est composée de trois couches de configuration interconnectées pour imposer les limites de sécurité.

1. Staging de conteneurs durcis (Runtime de conteneur)

La configuration d'orchestration implémente les contrôles de sécurité suivants directement via des indicateurs d'exécution :

  • --cap-drop=ALL : Supprime toutes les capacités Linux par défaut, empêchant le conteneur d'obtenir des privilèges d'administration de bas niveau.
  • --security-opt no-new-privileges:true : Empêche les processus enfants d'obtenir plus de privilèges que leur processus parent via les binaires setuid ou setgid.
  • --security-opt seccomp=seccomp-profile.json : Implémente le filtrage des appels système sur liste blanche.

2. Gardien de liste blanche des appels système (seccomp-profile.json)

Par défaut, le filtre seccomp de Docker autorise une large liste d'appels système. L'architecture Charantej restreint cette liste au minimum absolu nécessaire à l'exécution de base des processus :

  • Action par défaut (SCMP_ACT_ERRNO) : Bloque tous les appels système sauf s'ils sont explicitement autorisés dans le profil.
  • Appels système autorisés : N'autorise que les primitives de fonctionnement fondamentales (comme read, write, exit, exit_group, futex, nanosleep, mmap, munmap, mprotect et close).
  • Vecteurs bloqués : Bloque explicitement les manipulations de socket, les modifications réseau via setsockopt, les jonctions d'espaces de noms (setns) et les jeux de capacités (), neutralisant ainsi les tentatives non autorisées d'escalade de privilèges locaux (LPE).

3. Traçage télémétrique eBPF (conceptuel)

Les règles de traçage au niveau hôte surveillent conceptuellement les limites de processus et d'appels système :

  • Det_Anomalous_Networking : Audite les options de socket et déclenche une ALERTE CRITIQUE immédiate si un processus conteneurisé tente de modifier des protocoles de couche supérieure ou des propriétés ULP (optname TCP_ULP).
  • Container_Privilege_Escalation_Attempt : Alerte sur les tentatives non autorisées de jonction d'espaces de noms (setns) ou de modification de jeux de capacités (capset).

Démonstration d'exploitation en direct (CVE-2026-46300 « Fragnesia »)

Ce référentiel inclut une simulation d'exploitation en direct pour CVE-2026-46300 afin de démontrer pratiquement l'efficacité de l'architecture Charantej. L'exploitation tente deux vecteurs :

  1. Évasion d'espace de noms : Tentative de détournement de l'espace de noms de montage hôte via setns().
  2. Corruption ULP du noyau : Tentative de manipulation non autorisée de la mémoire ULP via setsockopt(TCP_ULP).

Exécution du test d'exploitation

Un script d'assistance est fourni pour construire automatiquement l'exploitation et l'exécuter contre un conteneur non atténué (représentant un système vulnérable) et le conteneur sécurisé par Charantej.

  1. Assurez-vous que Docker est en cours d'exécution.
  2. Exécutez le script de test :
    root@kitploit:~
    bash run_exploit.sh
    

Résultats attendus

1. Environnement non atténué (étape d'exploitation)

L'exploitation exécutera avec succès setns() et setsockopt(), signalant un statut « VULNÉRABLE ».

root@kitploit:~
sequenceDiagram
    participant App as Unprivileged App (Fragnesia Payload)
    participant Cap as Capability Check (Kernel)
    participant NS as /proc/self/ns/mnt (Host Namespace)
    participant Sys as Syscall Interface
    participant ULP as Kernel ULP Memory

    Note over App,ULP: STAGE 1: Namespace Hijacking
    App->>Cap: 1. setns(FD, 0)
    Cap-->>App: Allowed (No cap_drop)
    App->>NS: Hijack Host Namespace
    NS-->>App: SUCCESS: Container Isolation Bypassed

    Note over App,ULP: STAGE 2: ULP Memory Corruption (CVE-2026-46300)
    App->>Sys: 2. socket(AF_INET, SOCK_STREAM, 0)
    Sys-->>App: FD allocated
    
    App->>ULP: 3. setsockopt(FD, IPPROTO_TCP, TCP_ULP, "tls")
    Note right of ULP: Attempts unauthorized memory modification
    ULP-->>App: SUCCESS: Malicious payload injected
    Note over App,ULP: IMPACT: Host Kernel Memory Compromised!

2. Environnement sécurisé Charantej (étape d'atténuation)

L'exploitation est interceptée. setns() est bloqué par les suppressions de capacités (EPERM), et socket() / setsockopt() sont explicitement neutralisés par la limite du filtre seccomp (ou les suppressions de capacités selon le profil d'exécution), signalant un statut « BLOQUÉ ». Cela confirme que même si la charge utile Fragnesia est exécutée, l'architecture Charantej isole de manière sécurisée l'hôte de l'exploitation.

root@kitploit:~
sequenceDiagram
    participant App as Unprivileged App (Fragnesia Payload)
    participant Cap as Capability Drop (ALL)
    participant NS as /proc/self/ns/mnt (Host Namespace)
    participant Sec as Seccomp Filter Boundary
    participant ULP as Kernel ULP Memory

    Note over App,ULP: STAGE 1: Namespace Hijacking Attempt
    App->>Cap: 1. setns(FD, 0)
    Cap-->>App: BLOCKED (EPERM - Operation not permitted)
    Note left of Cap: Defense Triggered: Namespace escape neutralized
    
    Cap-xNS: Cannot reach Host Namespace

    Note over App,ULP: STAGE 2: ULP Memory Corruption Attempt
    App->>Sec: 2. socket() / setsockopt(TCP_ULP)
    Sec-->>App: BLOCKED (EPERM - Operation not permitted)
    Note left of Sec: Defense Triggered: Socket operations neutralized
    
    Sec-xULP: Cannot reach Kernel ULP Context
    
    Note over App,ULP: IMPACT: Exploit completely contained. Host is Safe!
Télécharger l’outil
capset