Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
cart — Python implementation of the CaRT library for (un)inerting files. | Kitploit
ツール/GitHubGitHub/cybercentrecanada/cart
Defensive ToolsEncryption/Decryption ToolsMalware AnalysisDigital ForensicsCryptography
GitHubcybercentrecanada/cart

cart

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

リポジトリを見る
5371年前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

CaRT(圧縮および RC4 転送)

Latest Stable Release

CaRT ファイル形式は、マルウェアとそれに関連するメタデータを保存・転送するために使用されます。この形式は、マルウェアを無害化して実行できないようにし、さらに暗号化することで、アンチウイルスソフトウェアが CaRT ファイルをマルウェアとしてフラグ付けできないようにします。

利点

  • 高速: CaRT はファイルを zip 圧縮するのと同じくらい高速です
  • ストリーミング: CaRT は zlib と RC4 を使用するため、ファイルをストリーミングでエンコードできます
  • メタデータ: CaRT はファイル自体と同じファイル内にファイルのメタデータを格納でき、ファイル全体を読み込まなくてもメタデータを読み取ることができます
  • ハッシュ計算: CaRT はファイルのエンコード中にファイルのハッシュを計算し、その情報をフッターに格納します
  • サイズ: CaRT ファイルは圧縮を使用するため、通常は元のファイルよりも小さくなります(CaRT 内に大量のメタデータが格納される場合を除く)

STIX v2 で CaRT を使用する

STIX v2 ではエンコードに JSON が使用されるようになったため、STIX レポートを CaRT 形式に直接バンドルできるようになりました。CaRT はファイルをエンコードする際、ファイルと同じプレフィックスを持つ *.cartmeta ファイルからメタデータを追加します。したがって、STIX レポートを .cartmeta ファイルに保存すると、結果の CaRT ファイルには完全な STIX レポートが埋め込まれます。

例:

root@kitploit:~
$ ls
  file.exe            - File I want to encode
  file.exe.cartmeta   - Stix report of file.exe

$ cart file.exe
$ ls
  file.exe            - File I want to encode
  file.exe.cartmeta   - Stix report of file.exe
  file.exe.cart       - CaRT file containing both the file.exe and its STIX report

形式の概要

必須ヘッダー(38 バイト)

CaRT には、次のような必須ヘッダーがあります。

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

ここで、VERSION は 1、RESERVED は 0 です。ほとんどの場合、ファイルの復号に使用される RC4 キーは必須ヘッダーに格納されており、常に同じもの(円周率の最初の 8 桁を 2 回並べたもの)です。ただし、CaRT にはキーを上書きするオプションがあり、その場合は必須ヘッダーに NULL バイトが格納されます。その場合、ファイルを unCaRT するにはキーを知っている必要があります...

オプションヘッダー(OPT_HEADER_LEN バイト)

CaRT のオプションヘッダーは、JSON シリアライズされたヘッダーを OPT_HEADER_LEN バイトの RC4 ブロブにしたものです。

root@kitploit:~
RC4(<JSON_SERIALIZED_OPTIONAL_HEADER>)

データブロック(N バイト)

CaRT のデータブロックは、zlib で圧縮してから RC4 で暗号化するブロックです。

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

オプションフッター(OPTIONAL_FOOTER_LEN バイト)

オプションヘッダーと同様に、CaRT のオプションフッターは、JSON シリアライズされたフッターを OPT_FOOTER_LEN バイトの RC4 ブロブにしたものです。

root@kitploit:~
RC4(<JSON_SERIALIZED_OPTIONAL_FOOTER>)

必須フッター(28 バイト)

CaRT はファイルの最後に必須フッターを置きます。これにより、ファイル全体を読み込まなくても、フッターを読み取ってハッシュを返すことができます。

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

コマンドラインインターフェース

pip パッケージをインストールすると、CaRT ライブラリと CaRT CLI の両方を利用できます。

CaRT CLI のオプションには、次の優先順位があります:

  • CLI 内のすべてのオプションにはデフォルト値があります
  • デフォルト値は ~/.cart/cart.cfg 内のオプションによって上書きされます
  • 設定ファイル内の値は CLI オプションによって上書きされます

CaRT CLI で利用できるオプションは次のとおりです:

root@kitploit:~
usage: cart [options] file1 file2 ... fileN

            The CaRT file format is used to store/transfer malware and its associated metadata.

            It neuters the malware so it cannot be executed and encrypts it so anti-virus software
            cannot flag the CaRT file as malware.


positional arguments:
  file

options:
  -h, --help            show this help message and exit
  -v, --version         show program's version number and exit
  -d, --delete          Delete original after operation succeeded
  -f, --force           Replace output file if it already exists
  -i, --ignore          Ignore RC4 key from conf file
  -j JSONMETA, --jsonmeta JSONMETA
                        Provide header metadata as JSON blob
  -k KEY, --key KEY     Use private RC4 key (base64 encoded). Same key must be provided to unCaRT.
  -m, --meta            Keep metadata around when extracting CaRTs
  -n FILENAME, --name FILENAME
                        Use this value as metadata filename
  -o OUTFILE, --outfile OUTFILE
                        Set output file
  -s, --showmeta        Only show the file metadata

            CaRT is smart enough to determine if a file needs to be CaRTed or unCaRTed.

            To CaRT an unCaRTed file: cart file1

            To unCaRT a CaRTed file: cart file1

            It is the same command!

CaRT の設定ファイルは次のようになります:

root@kitploit:~
[global]
# rc4_key is a base64 representation of your key
rc4_key: AvUzYXNkZg==
# keep_meta is an equivalent to -m in the CLI
keep_meta: True
# force is an equivalent to -f in the CLI
force: True

# default_header is a key/value pair of data to be added to the CaRT in the optional header
[default_header]
poc: Your Name
poc_email: [email protected]

その他の CaRT ライブラリ

CaRT には Rust 版と Java 版の実装もあります。以下で確認してください:

  • Rust: https://github.com/CybercentreCanada/cart-rs
  • Java: https://github.com/CybercentreCanada/cart-java

CaRT(圧縮および RC4 転送)

Latest Stable Release

CaRT ファイル形式は、マルウェアとそれに関連するメタデータを保存・転送するために使用されます。マルウェアを無害化して実行できないようにし、さらに暗号化することで、アンチウイルスソフトウェアが CaRT ファイルをマルウェアとしてフラグ付けできないようにします。

利点

  • 高速: CaRT はファイルを圧縮するのと同じくらい高速です
  • ストリーミング: CaRT は zlib と RC4 を使用するため、ファイルをストリーミングでエンコードできます
  • メタデータ: CaRT はファイル自体と同じファイル内にファイルのメタデータを格納でき、ファイル全体を読み込まなくてもメタデータを読み取ることができます
  • ハッシュ計算: CaRT はファイルのエンコードと並行してファイルのハッシュを計算し、その情報をフッターに格納します
  • サイズ: CaRT ファイルは圧縮されているため、通常は元のファイルよりも小さくなります(CaRT 内に大量のメタデータが格納されている場合を除く)

STIX v2 で CaRT を使用する

STIX バージョン 2 ではエンコードに JSON が使用されるようになったため、STIX レポートを CaRT 形式に直接バンドルできるようになりました。CaRT はファイルをエンコードする際、ファイルと同じプレフィックスを持つ *.cartmeta ファイルからメタデータを追加します。したがって、STIX レポートを .cartmeta ファイルに保存すると、結果の CaRT ファイルに完全なレポートが埋め込まれます。

例:

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

$ cart file.exe
$ ls
  file.exe            - Fichier à coder
  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

形式の概要

必須ヘッダー(38 バイト)

CaRT には、次のような必須ヘッダーがあります。

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

このヘッダーでは、VERSION の値は 1、RESERVED の値は 0 です。ほとんどの場合、ファイルの復号に使用される RC4 キーがここに格納されており、常に同じもの(円周率の最初の 8 桁を 2 回並べたもの)です。ただし、CaRT にはキーを置き換える方法があり、その場合は必須ヘッダーに NULL バイトが格納されます。その場合、CaRT ファイルを復号するにはキーを知っている必要があります。

オプションヘッダー(OPT_HEADER_LEN バイト)

CaRT のオプションヘッダーは、JSON シリアライズされたヘッダーからなる OPT_HEADER_LEN バイトの RC4 ブロブです。

root@kitploit:~
RC4(<JSON_SERIALIZED_OPTIONAL_HEADER>)

データブロック(N バイト)

CaRT のデータブロックは、zlib(データ圧縮ライブラリ)で圧縮してから RC4 で暗号化されたブロックです。

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

オプションフッター(OPTIONAL_FOOTER_LEN バイト)

オプションヘッダーと同様に、CaRT のオプションフッターは、JSON シリアライズされたフッターからなる OPT_FOOTER_LEN バイトの RC4 ブロブです。

root@kitploit:~
RC4(<JSON_SERIALIZED_OPTIONAL_FOOTER>)

必須フッター(28 バイト)

CaRT ファイルは必須フッターで終わります。これにより、ファイル全体を読み込まなくても、フッターを読み取ってハッシュを返すことができます:

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

コマンドラインインターフェース

pip パッケージマネージャーをインストールすると、CaRT ライブラリと CaRT CLI の両方にアクセスできます。

CaRT CLI のオプションには、次の優先順位が適用されます:

  • CLI 内のすべてのオプションにデフォルト値が定義されています
  • デフォルト値は ~/.cart/cart.cfg 内のオプションによって置き換えられます
  • 設定ファイル内の値は CLI オプションによって置き換えられます

CaRT CLI では、次のオプションが利用できます:

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

            Le format de fichier CaRT est utilisé pour enregistrer et transferer des fichiers malicieux et les métadonnées associées.

            Il permet de neutraliser le fichier malicieux afin qu'il ne puisse être exécuté et l'encrypte afin d'éviter la detection et l'effacement par les anti-virus.


arguments positionels:
  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          supprime le fichier original après une exécution réussie
  -f, --force           remplacer le fichier de sortie s’il existe déjà
  -i, --ignore          Ignorer la clé RC4 dans le fichier conf
  -j JSONMETA, --jsonmeta JSONMETA
                        Fournir les métadonnées de l’en-tête sous forme d’objet blob json
  -k KEY, --key KEY     Utiliser la clé RC4 privée (codé en Base64). La même clé doit être saisie pour décompresser le fichier CaRT.
  -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 capable de déterminer si un fichier a besoin d'être CaRTé ou déCaRTé.

            Pour CaRTer un fichier déCaRTé: cart file1

            Pour déCaRTer un fichier CaRTé: cart file1

            C'est la même commande!

CaRT の設定ファイルは次のようになります:

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

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

その他の CaRT ライブラリ

Rust 版と Java 版の実装があります。以下の URL からアクセスできます:

  • Rust: https://github.com/CybercentreCanada/cart-rs
  • Java: https://github.com/CybercentreCanada/cart-java
ツールをダウンロード