O CyberChef é originalmente uma ferramenta multifuncional on-line, criada para facilitar a análise e a decodificação de diversos tipos de desafios que seus usuários podem encontrar no ambiente digital. Uma espécie de faca suíça para análise e decodificação de dados de forma simples, que pode ser útil tanto para pessoas com mais quanto com menos conhecimento técnico. Você pode encontrá-la no Github totalmente grátis e é possível baixá-la para usá-la offline.
Até a data de produção deste artigo, o CyberChef possui 440 operações disponíveis para seus usuários, e seu funcionamento é bastante similar. A estrutura da ferramenta é dividida em 4 partes.
Para falar sobre eles, seguirei a ordem em que são apresentados:
1. Operations
Neste âmbito, encontram-se as 440 possibilidades de manipulação que a solução oferece. Entre algumas delas, estão:
- Convertedores de base: É possível realizar transformações para octal, decimal, hexadecimal e binário, mas a ferramenta também oferece outras possibilidades para conversões personalizadas.
- Codificadores/Decodificadores: Os principais codificadores também estão presentes, incluindo ROT13, ROT47, cifra de César e cifra de Vigenère.
- Analisadores/extratores de texto: Com eles, é possível buscar por endereços IP, e-mails, nomes de domínio, URLs, caminhos de arquivos, datas e outras opções. A ferramenta também tem a possibilidade de buscar expressões regulares, o que permite configurar a regra do que será buscado e extraído do texto, sem limitações quanto aos padrões que foram criados previamente.
- Hashing: Esta opção possui características com uma estrutura de cálculo mais simples, mas que também podem ser úteis. As mais conhecidas, presentes na lista de mais de 40 opções, são MD5, SHA1, NT Hash e LM Hash.
- Outros: Para finalizar a lista de operações, apresento duas possibilidades de criação: uma delas permite criar códigos QR a partir de cadeias de texto muito rapidamente, e a criação de texto genérico conhecido como Lorem Ipsum.
A área possui uma opção de favoritos, que pode armazenar as manipulações preferidas do usuário. É a primeira opção na lista de operações e pode ser editada pressionando o símbolo de estrela.
2. Recipe
A área do Recipe é responsável por armazenar uma ou mais operações que serão utilizadas para manipular o texto ou arquivo inserido pelo usuário.
Esta área conta com quatro botões de função destinados a manipular as receitas selecionadas para seu uso, que são, na ordem:
Responsável por ocultar/mostrar todas as operações inseridas na receita.
- Permite salvar a receita utilizada em três formatos diferentes: formato Chef, JSON limpo e JSON compacto. Todos os formatos são salvos diretamente no navegador. Se for necessário transportar o arquivo salvo para outro computador, será necessário copiar o conteúdo salvo e usar o botão seguinte.
- Este botão permite ler uma receita salva anteriormente. Se foi copiada apenas como texto, basta colá-la no campo Receita e pressionar o botão "Load".
- Exclui todas as operações utilizadas nas entradas.
Além dos botões superiores, a receita também possui três botões inferiores, responsávies por alterar a forma como as operações são realizadas.
- O primeiro deles percorre cada uma das operações passo a passo, permitindo visualizar as mudanças que ocorreram no campo de saída.
- O programa BAKE! aplica as mudanças escolhidas pelo usuário.
- Quando a caixa de seleção "Auto Bake" é marcada, faz com que todas as operações inseridas no campo de "forno" sejam aplicadas imediatamente, e seus efeitos são visualizados no campo de saída.
3. Input
Este é o campo onde o usuário pode inserir os dados que deseja que a ferramenta manipule. Os dados podem ser inseridos diretamente como texto, ou os botões podem ser usados para oferecer outras possibilidades como:
- Inserir nova aba: Permite inserir uma nova aba, onde também será possível inserir informações.
- Carregar pasta local: Permite informar ao site sobre uma pasta local no computador do usuário. Todos os arquivos presentes na pasta serão enviados para o site e usados como fonte de informações para manipulações.
- Carregar arquivo único: Semelhante à opção anterior, mas neste caso envia um único arquivo para ser usado como entrada.
- Limpar campo de entrada: Elimina todas as informações inseridas no campo de entrada.
- Redimensionar campos: Ajusta o tamanho de todos os campos para suas dimensões preconfiguradas.
IMPORTANTE: Sempre deve-se ter muito cuidado com os dados enviados para plataformas online, independentemente de serem dados pessoais ou corporativos. O tratamento desses dados pode não garantir que sejam inacessíveis para outras pessoas.
4. Output
Após que a "receita esteja pronta", o resultado é mostrado no campo de saída e, embora possa ser copiado diretamente do campo para ser utilizado, existem opções que facilitam ainda mais esse tratamento, são:
- Salvar o resultado localmente: Salva o resultado da receita localmente no dispositivo que acessa a ferramenta. O salvamento é feito por meio de um arquivo com a extensão ".dat", que pode ser aberto por um programa de edição de texto, como o Bloco de Notas, por exemplo.
- Copiar para a área de transferência: Copia todo o conteúdo do campo de saída para a área de transferência. É o mesmo que selecionar tudo e pressionar Ctrl+C, muito útil, especialmente quando há muitas informações para copiar.
- Enviar para o campo de entrada: Permite enviar todo o resultado do campo de saída para o campo de entrada. Isso faz com que o resultado da receita seja processado novamente pela mesma receita e, se desejado pelos usuários, a receita pode ser alterada, gerando outras possibilidades de resultados.
- Maximizar campo de saída: Maximiza o campo de saída, fazendo com que ocupe toda a tela, melhorando a visualização e facilitando a análise de grandes quantidades de informações.
Por ser uma ferramenta muito acessível e intuitiva, eu a utilizei para vários propósitos e consegui completar tarefas muito laboriosas rapidamente, o que pode ser útil para suas necessidades também.
Se você a procura para ajudar na resolução de CTFs, que também usei bastante, deve saber que ela pode não fornecer resultados matemáticos corretamente, pois não é seu propósito. Para transformar um valor hexadecimal em decimal, por exemplo, sugiro a calculadora do Windows na versão de programador.