
CyberChef v11.4.0
O Canivete Suíço Cibernético - uma aplicação web para criptografia, codificação, compressão e análise de dados
CyberChef
O Canivete Suíço Cibernético
O CyberChef é uma aplicação web simples e intuitiva para realizar todo o tipo de operações "cibernéticas" dentro de um navegador web. Estas operações incluem codificação simples como XOR e Base64, encriptação mais complexa como AES, DES e Blowfish, criação de binários e hexdumps, compressão e descompressão de dados, cálculo de hashes e checksums, análise de IPv6 e X.509, alteração de codificações de caracteres e muito mais.
A ferramenta foi concebida para permitir que analistas, tanto técnicos como não técnicos, manipulem dados de formas complexas sem terem de lidar com ferramentas ou algoritmos complexos. Foi concebida, projetada, construída e melhorada incrementalmente por um analista no seu tempo de inovação de 10% ao longo de vários anos.
Conteúdos
- Site oficial
- Executar Localmente
- Como funciona
- Funcionalidades
- Deep linking
- Suporte do navegador
- Suporte para Node.js
- Segurança
- Contribuição
- Licenciamento
Site oficial
[O site oficial do CyberChef pode ser encontrado aqui][1] - divirta-se!
Executar Localmente
Pode executar o CyberChef com Docker (sem necessidade de toolchain) ou compilá-lo a partir do código-fonte com Node.js.
Com Docker
Pré-requisitos
- Docker
- O Docker Desktop deve estar aberto e em execução na sua máquina
Opção 1: Compilar a Imagem Docker Você Mesmo
- Compile a imagem docker
docker build --tag cyberchef --ulimit nofile=10000 .
- Execute o contentor docker
docker run -it -p 8080:8080 cyberchef
- Navegue até
http://localhost:8080no seu navegador
Opção 2: Utilizar a Imagem Docker Pré-compilada
Se preferir evitar o processo de compilação, pode utilizar a imagem pré-compilada
docker run -it -p 8080:8080 ghcr.io/gchq/cyberchef:latest
Tal como antes, navegue até http://localhost:8080 no seu navegador.
Esta imagem é compilada e publicada através dos nossos GitHub Workflows.
A partir do código-fonte
Se quiser desenvolver o CyberChef ou executá-lo sem Docker, pode compilá-lo diretamente com Node.js.
Pré-requisitos
- Node.js
v24(consulte Suporte para Node.js)
[!NOTE]
Pode utilizar o nvm para gerir versões do Node.js e utilizar a versão de desenvolvimento atual em este projeto para evitar conflitos com outros projetos na sua máquina.
Configuração
git clone https://github.com/gchq/CyberChef.git
cd CyberChef
npm install
Tarefas comuns
| Comando | Descrição |
|---|---|
npm start | Executa o servidor de desenvolvimento com recarga automática em http://localhost:8080. |
npm run build | Produz uma compilação de produção no diretório build/prod. |
npm test | Executa as suítes de testes do Node.js e das operações. |
npm run testui | Executa os testes do navegador (UI). |
npm run lint | Verifica o código de acordo com as regras de linting. |
npm run newop | Cria uma nova operação através do script interativo de início rápido. |
Se encontrar um erro de falta de memória ao compilar receitas grandes, aumente o tamanho do heap do Node com npm run setheapsize.
Como funciona
Existem quatro áreas principais no CyberChef:
- A caixa input no canto superior direito, onde pode colar, escrever ou arrastar o texto ou ficheiro sobre o qual pretende operar.
- A caixa output no canto inferior direito, onde o resultado do seu processamento será apresentado.
- A lista de operations no extremo esquerdo, onde pode encontrar todas as operações que o CyberChef é capaz de realizar em listas categorizadas, ou através de pesquisa.
- A área recipe no centro, onde pode arrastar as operações que pretende utilizar e especificar argumentos e opções.
Pode utilizar quantas operações quiser, de formas simples ou complexas. Alguns exemplos são:
- [Descodificar uma string codificada em Base64][2]
- [Converter uma data e hora para um fuso horário diferente][3]
- [Analisar um endereço IPv6 Teredo][4]
- [Converter dados de um hexdump e depois descomprimir][5]
- [Desencriptar e desmontar shellcode][6]
- [Apresentar múltiplos timestamps como datas completas][7]
- [Realizar diferentes operações em dados de diferentes tipos][8]
- [Utilizar partes do input como argumentos para operações][9]
- [Realizar a desencriptação AES, extraindo o IV do início do stream cifrado][10]
- [Uma forma mais simples de realizar a mesma desencriptação AES][13]
- [Detetar automaticamente várias camadas de codificação aninhada][12]