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
cart — Python implementation of the CaRT library for (un)inerting files. | Kitploit
Outils/GitHubGitHub/cybercentrecanada/cart
Defensive ToolsEncryption/Decryption ToolsMalware AnalysisDigital ForensicsCryptography
GitHubcybercentrecanada/cart

cart

Python implementation of the CaRT library for (un)inerting files.

Voir le dépôt
537il y a 1 anVé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

CaRT (Transport compressé et RC4)

Latest Stable Release

Le format de fichier CaRT permet de stocker et de transférer un maliciel et ses métadonnées associées. Il neutralise le maliciel afin qu'il ne puisse pas être exécuté et le chiffre afin que les logiciels antivirus ne puissent pas signaler le fichier CaRT comme étant un maliciel.

Avantages

  • RAPIDE : CaRT est aussi rapide que la compression d'un fichier.
  • DIFFUSION EN CONTINU : CaRT utilise zlib et RC4, ce qui permet d'encoder les fichiers en continu.
  • MÉTADONNÉES : CaRT peut stocker les métadonnées du fichier dans le même fichier que celui-ci; les métadonnées peuvent être lues sans qu'il soit nécessaire de lire le fichier en entier.
  • CALCUL DES CONDENSÉS : CaRT calcule les condensés du fichier pendant qu'il l'encode et stocke ces informations dans le pied de page.
  • TAILLE : Les fichiers CaRT sont généralement plus petits que les fichiers d'origine, car ils utilisent la compression. (Sauf lorsqu'une grande quantité de métadonnées est stockée dans le CaRT)

Utilisation de CaRT avec STIX v2

Maintenant que STIX v2 utilise JSON comme encodage, vous pouvez empaqueter votre rapport STIX directement dans le format CaRT. Lorsque CaRT encode des fichiers, il ajoute les métadonnées du fichier *.cartmeta portant le même préfixe que votre fichier. Par conséquent, si vous enregistrez votre rapport STIX dans un fichier .cartmeta, le fichier CaRT résultant contiendra le rapport STIX complet intégré.

Exemple :

root@kitploit:~
$ ls
  file.exe            - Fichier à encoder
  file.exe.cartmeta   - Rapport STIX du fichier file.exe

$ cart file.exe
$ ls
  file.exe            - Fichier à encoder
  file.exe.cartmeta   - Rapport STIX du fichier file.exe
  file.exe.cart       - Fichier CaRT contenant à la fois le fichier file.exe et son rapport STIX

Aperçu du format

En-tête obligatoire (38 octets)

CaRT comporte un en-tête obligatoire qui se présente comme suit :

root@kitploit:~
 4s     h         Q        16s         Q
CART<VERSION><RESERVED><ARC4KEY><OPT_HEADER_LEN>

Dans cet en-tête, VERSION vaut 1 et RESERVED vaut 0. Dans la plupart des cas, la clé RC4 utilisée pour déchiffrer le fichier est stockée dans l'en-tête obligatoire et est toujours la même (les 8 premiers chiffres de pi répétés deux fois). Cependant, CaRT offre une option permettant de remplacer la clé; dans ce cas, des octets nuls sont stockés dans l'en-tête obligatoire. Vous devrez alors connaître la clé pour décoder le fichier CaRT...

En-tête facultatif (OPT_HEADER_LEN octets)

L'en-tête facultatif de CaRT est un objet blob RC4 de OPT_HEADER_LEN octets contenant un en-tête sérialisé en JSON.

root@kitploit:~
RC4(<JSON_SERIALIZED_OPTIONAL_HEADER>)

Bloc de données (N octets)

Le bloc de données de CaRT est un bloc compressé par zlib puis chiffré par RC4.

root@kitploit:~
RC4(ZLIB(block encoded stream))

Pied de page facultatif (OPTIONAL_FOOTER_LEN octets)

Comme l'en-tête facultatif, le pied de page facultatif de CaRT est un objet blob RC4 de OPT_FOOTER_LEN octets contenant un pied de page sérialisé en JSON.

root@kitploit:~
RC4(<JSON_SERIALIZED_OPTIONAL_FOOTER>)

Pied de page obligatoire (28 octets)

CaRT termine son fichier par un pied de page obligatoire qui permet au format de lire le pied de page et de renvoyer les condensés sans avoir à lire le fichier en entier :

root@kitploit:~
 4s      QQ           Q
TRAC<RESERVED><OPT_FOOTER_LEN>

Interface de ligne de commande

En installant le paquet pip, vous accédez à la bibliothèque CaRT ainsi qu'au CLI de CaRT.

Le CLI de CaRT applique la priorité suivante à ses options :

  • Des valeurs par défaut existent pour toutes les options du CLI.
  • Les valeurs par défaut sont remplacées par les options définies dans ~/.cart/cart.cfg.
  • Les valeurs du fichier de configuration sont remplacées par les options du CLI.

Voici les options disponibles dans le CLI de CaRT :

root@kitploit:~
usage : cart [options] fichier1 fichier2 ... fichierN

            Le format de fichier CaRT est utilisé pour stocker et transférer les maliciels et leurs métadonnées associées.

            Il neutralise le maliciel afin qu'il ne puisse pas être exécuté et le chiffre afin que les logiciels antivirus
            ne puissent pas signaler le fichier CaRT comme étant un maliciel.


arguments positionnels :
  fichier

options :
  -h, --help            afficher ce message d'aide et quitter
  -v, --version         afficher le numéro de version du programme et quitter
  -d, --delete          supprimer le fichier d'origine après la réussite de l'opération
  -f, --force           remplacer le fichier de sortie s'il existe déjà
  -i, --ignore          ignorer la clé RC4 du fichier de configuration
  -j JSONMETA, --jsonmeta JSONMETA
                        fournir les métadonnées d'en-tête sous forme d'objet blob JSON
  -k KEY, --key KEY     utiliser la clé RC4 privée (encodée en base64). La même clé doit être fournie pour déCaRTer.
  -m, --meta            conserver les métadonnées lors de l'extraction des fichiers CaRT
  -n FILENAME, --name FILENAME
                        utiliser cette valeur comme nom de fichier des métadonnées
  -o OUTFILE, --outfile OUTFILE
                        définir le fichier de sortie
  -s, --showmeta        afficher uniquement les métadonnées du fichier

            CaRT est suffisamment intelligent pour déterminer si un fichier doit être CaRTé ou déCaRTé.

            Pour CaRTer un fichier déCaRTé : cart fichier1

            Pour déCaRTer un fichier CaRTé : cart fichier1

            C'est la même commande !

Le fichier de configuration de CaRT ressemble à ce qui suit :

root@kitploit:~
[global]
# rc4_key est une représentation base64 de votre clé
rc4_key: AvUzYXNkZg==
# keep_meta est l'équivalent de -m dans le CLI
keep_meta: True
# force est l'équivalent de -f dans le CLI
force: True

# default_header est une paire de données clé/valeur à ajouter au CaRT dans l'en-tête facultatif
[default_header]
poc: Votre nom
poc_email: [email protected]

Autres bibliothèques CaRT

Il existe également des implémentations de CaRT en Rust et en Java. Consultez-les ci-dessous :

  • Rust : https://github.com/CybercentreCanada/cart-rs
  • Java : https://github.com/CybercentreCanada/cart-java
Télécharger l’outil