Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
cart — Python implementation of the CaRT library for (un)inerting files. | Kitploit
Herramientas/GitHubGitHub/cybercentrecanada/cart
Defensive ToolsEncryption/Decryption ToolsMalware AnalysisDigital ForensicsCryptography
GitHubcybercentrecanada/cart

cart

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

Ver Repositorio
537hace 1 añoRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

CaRT (Compressed and RC4 Transport)

Latest Stable Release

El formato de archivo CaRT se utiliza para almacenar/transferir malware y sus metadatos asociados. Neutraliza el malware para que no pueda ejecutarse y lo cifra para que el software antivirus no pueda marcar el archivo CaRT como malware.

Ventajas

  • RÁPIDO: CaRT es tan rápido como comprimir un archivo
  • TRANSMISIÓN EN FLUJO: CaRT utiliza zlib y RC4, que le permiten codificar archivos en streaming
  • METADATOS: CaRT puede almacenar los metadatos del archivo en el mismo archivo que el propio archivo; los metadatos se pueden leer sin necesidad de leer el archivo completo
  • CÁLCULO DE HASH: CaRT calcula los hashes del archivo mientras lo codifica y guarda esa información en el pie de página
  • TAMAÑO: los archivos CaRT suelen ser más pequeños que los archivos originales porque utilizan compresión. (Excepto cuando se almacenan grandes cantidades de metadatos en el CaRT)

Uso de CaRT con STIX v2

Ahora que STIX v2 utiliza JSON como codificación, puedes empaquetar tu informe STIX directamente en el formato CaRT. Cuando CaRT codifica archivos, añade los metadatos del archivo *.cartmeta con el mismo prefijo que tu archivo. Por lo tanto, si guardas tu informe STIX en un archivo .cartmeta, el archivo CaRT resultante tendrá el informe STIX completo incrustado en él.

Ejemplo:

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

Descripción general del formato

Encabezado obligatorio (38 bytes)

CaRT tiene un encabezado obligatorio que se ve así:

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

Donde VERSION es 1 y RESERVED es 0. En la mayoría de los casos, la clave RC4 utilizada para descifrar el archivo se almacena en el encabezado obligatorio y es siempre la misma (los primeros 8 dígitos de pi, dos veces). Sin embargo, CaRT ofrece una opción para anular la clave; en ese caso, se almacenan bytes nulos en el encabezado obligatorio. Entonces necesitarás conocer la clave para decodificar el archivo CaRT...

Encabezado opcional (OPT_HEADER_LEN bytes)

El encabezado opcional de CaRT es un blob RC4 de OPT_HEADER_LEN bytes de un encabezado serializado en JSON

root@kitploit:~
RC4(<JSON_SERIALIZED_OPTIONAL_HEADER>)

Bloque de datos (N bytes)

El bloque de datos de CaRT es un bloque zlib seguido de RC4

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

Pie de página opcional (OPTIONAL_FOOTER_LEN bytes)

Al igual que el encabezado opcional, el pie de página opcional de CaRT es un blob RC4 de OPT_FOOTER_LEN bytes de un pie de página serializado en JSON

root@kitploit:~
RC4(<JSON_SERIALIZED_OPTIONAL_FOOTER>)

Pie de página obligatorio (28 bytes)

CaRT finaliza su archivo con un pie de página obligatorio que permite al formato leer el pie de página y devolver los hashes sin leer todo el archivo

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

Interfaz de línea de comandos

Al instalar el paquete pip, obtienes acceso a la biblioteca CaRT y también al CLI de CaRT.

El CLI de CaRT tiene la siguiente prioridad para sus opciones:

  • Hay valores predeterminados para todas las opciones dentro del CLI
  • Los valores predeterminados se anulan mediante las opciones de ~/.cart/cart.cfg
  • Los valores del archivo de configuración se anulan mediante las opciones del CLI

Estas son las opciones disponibles en el CLI de CaRT:

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!

El archivo de configuración de CaRT tiene este aspecto:

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]

Otras bibliotecas CaRT

También hay implementaciones de CaRT en Rust y Java. Échales un vistazo a continuación:

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