Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
cart — Implementação em Python da biblioteca CaRT para (des)inertar arquivos. | Kitploit
Ferramentas/GitHubGitHub/cybercentrecanada/cart
Ferramentas DefensivasFerramentas de Criptografia/DescriptografiaAnálise de MalwareForensia DigitalCriptografia
GitHubcybercentrecanada/cart

cart

Implementação em Python da biblioteca CaRT para (des)inertar arquivos.

Ver Repositório
53717há 1 anoRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

CaRT (Compressed and RC4 Transport)

Latest Stable Release

O formato de arquivo CaRT é usado para armazenar/transferir malware e seus metadados associados. Ele neutraliza o malware para que não possa ser executado e o criptografa para que o software antivírus não sinalize o arquivo CaRT como malware.

Vantagens

  • RÁPIDO: CaRT é tão rápido quanto compactar um arquivo.
  • STREAMING: CaRT usa zlib e RC4, que permitem codificar arquivos em streaming.
  • METADADOS: CaRT pode armazenar os metadados do arquivo no mesmo arquivo que o arquivo em si; os metadados podem ser lidos sem ler o arquivo inteiro.
  • CÁLCULO DE HASH: CaRT calcula os hashes do arquivo enquanto o codifica e armazena essas informações no rodapé.
  • TAMANHO: Os arquivos CaRT geralmente são menores que os arquivos originais porque usam compressão. (Exceto quando grandes quantidades de metadados são armazenadas no CaRT.)

Usando CaRT com STIX v2

Agora que o STIX v2 usa JSON como codificação, você pode agrupar seu relatório STIX diretamente no formato CaRT. Quando o CaRT codifica arquivos, ele adiciona metadados do arquivo *.cartmeta com o mesmo prefixo do seu arquivo. Portanto, se você salvar seu relatório STIX em um arquivo .cartmeta, o arquivo CaRT resultante terá o relatório STIX completo incorporado.

Exemplo:

$ 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

Visão Geral do Formato

Cabeçalho Obrigatório (38 bytes)

O CaRT tem um cabeçalho obrigatório que se parece com isto

 4s     h         Q        16s         Q
CART<VERSION><RESERVED><ARC4KEY><OPT_HEADER_LEN>

Em que VERSION é 1 e RESERVED é 0. Na maioria dos casos, a chave RC4 usada para descriptografar o arquivo é armazenada no cabeçalho obrigatório e é sempre a mesma coisa (os primeiros 8 dígitos de pi, duas vezes). No entanto, o CaRT oferece uma opção para substituir a chave, que então armazena bytes nulos no cabeçalho obrigatório. Você precisará então conhecer a chave para decodificar o arquivo...

Cabeçalho Opcional (OPT_HEADER_LEN bytes)

O cabeçalho opcional do CaRT é um blob RC4 de OPT_HEADER_LEN bytes de um cabeçalho serializado em JSON

RC4(<JSON_SERIALIZED_OPTIONAL_HEADER>)

Bloco de Dados (N bytes)

O bloco de dados do CaRT é um bloco zlib seguido de RC4

RC4(ZLIB(block encoded stream))

Rodapé Opcional (OPTIONAL_FOOTER_LEN bytes)

Assim como o cabeçalho opcional, o rodapé opcional do CaRT é um blob RC4 de OPT_FOOTER_LEN bytes de um rodapé serializado em JSON

RC4(<JSON_SERIALIZED_OPTIONAL_FOOTER>)

Rodapé Obrigatório (28 bytes)

O CaRT termina seu arquivo com um rodapé obrigatório que permite ao formato ler o rodapé e retornar os hashes sem ler o arquivo inteiro

 4s      QQ           Q
TRAC<RESERVED><OPT_FOOTER_LEN>

Interface de linha de comando

Ao instalar o pacote pip, você obtém acesso à biblioteca CaRT e também à CLI do CaRT.

A CLI do CaRT tem a seguinte prioridade para suas opções:

  • Há valores padrão para todas as opções dentro da CLI
  • Os valores padrão são substituídos por opções em ~/.cart/cart.cfg
  • Os valores no arquivo de configuração são substituídos por opções da CLI

Estas são as opções disponíveis na CLI do CaRT:

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!

O arquivo de configuração do CaRT se parece com isto:

[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]

Outras bibliotecas CaRT

Também existem implementações do CaRT em Rust e Java. Confira abaixo:

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

CaRT (Compressed and RC4 Transport)

O formato de arquivo CaRT é usado para armazenar/transferir malware e seus metadados associados. Ele neutraliza o malware para que não possa ser executado e o criptografa para que o software antivírus não sinalize o arquivo CaRT como malware.

Vantagens

  • RÁPIDO: É tão rápido usar o CaRT quanto compactar um arquivo.
  • STREAMING: CaRT usa zlib e RC4, o que permite codificar arquivos em streaming.
  • METADADOS: CaRT pode armazenar os metadados de um arquivo no mesmo arquivo que o próprio arquivo; os metadados podem ser lidos sem que seja necessário ler o arquivo inteiro.
  • CÁLCULO DE HASH: CaRT calcula os hashes do arquivo em paralelo à codificação do arquivo e, em seguida, armazena as informações no rodapé.
  • TAMANHO: O tamanho dos arquivos CaRT é geralmente menor que o dos arquivos originais, pois são compactados (a menos que uma grande quantidade de metadados tenha sido armazenada no CaRT).

Usando CaRT com STIX v2

Agora que a versão 2 do STIX usa JSON para codificação, você pode agrupar seus relatórios STIX diretamente no formato CaRT. Quando o CaRT codifica arquivos, ele adiciona os metadados do arquivo *.cartmeta com o mesmo prefixo usado pelo seu arquivo. Portanto, se você salvar seu relatório STIX em um arquivo .cartmeta, o relatório completo será incorporado ao arquivo CaRT resultante.

Por exemplo:

$ 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

Visão Geral do Formato

Cabeçalho Obrigatório (38 bytes)

Baixar ferramenta