CyberChef - The Cyber Swiss Army Knife - a web app for encryption, encoding, compression and data analysis

  •        172

CyberChef is a simple, intuitive web app for carrying out all manner of "cyber" operations within a web browser. These operations include simple encoding like XOR or Base64, more complex encryption like AES, DES and Blowfish, creating binary and hexdumps, compression and decompression of data, calculating hashes and checksums, IPv6 and X.509 parsing, changing character encodings, and much more. The tool is designed to enable both technical and non-technical analysts to manipulate data in complex ways without having to deal with complex tools or algorithms. It was conceived, designed, built and incrementally improved by an analyst in their 10% innovation time over several years.

https://gchq.github.io/CyberChef
https://github.com/gchq/CyberChef

Dependencies:

arrive : ^2.4.1
babel-plugin-transform-builtin-extend : 1.1.2
babel-polyfill : ^6.26.0
bcryptjs : ^2.4.3
bignumber.js : ^7.2.1
bootstrap-colorpicker : ^2.5.3
bootstrap-material-design : ^4.1.1
bson : ^3.0.2
chi-squared : ^1.1.0
crypto-api : ^0.8.0
crypto-js : ^3.1.9-1
ctph.js : 0.0.5
diff : ^3.5.0
es6-promisify : ^6.0.0
escodegen : ^1.11.0
esmangle : ^1.0.1
esprima : ^4.0.1
exif-parser : ^0.1.12
file-saver : ^2.0.0-rc.3
highlight.js : ^9.12.0
jquery : ^3.3.1
js-crc : ^0.2.0
js-sha3 : ^0.8.0
jsbn : ^1.1.0
jsesc : ^2.5.1
jsonpath : ^1.0.0
jsonwebtoken : ^8.3.0
jsrsasign : 8.0.12
kbpgp : ^2.0.80
lodash : ^4.17.11
loglevel : ^1.6.1
loglevel-message-prefix : ^3.0.0
moment : ^2.22.2
moment-timezone : ^0.5.21
ngeohash : ^0.6.0
node-forge : ^0.7.6
node-md6 : ^0.1.0
notepack.io : ^2.1.3
nwmatcher : ^1.4.4
otp : ^0.1.3
popper.js : ^1.14.4
scryptsy : ^2.0.0
snackbarjs : ^1.1.0
sortablejs : ^1.7.0
split.js : ^1.5.2
ssdeep.js : 0.0.2
ua-parser-js : ^0.7.18
utf8 : ^3.0.0
vkbeautify : ^0.99.3
xmldom : ^0.1.27
xpath : 0.0.27
xregexp : ^4.2.0
zlibjs : ^0.3.1

Tags
Implementation
License
Platform

   




Related Projects

FBEncryptor - Easy Encryption library (CCCrypt wrapper), AES 256bit support.

  •    Objective-C

FBEncryptor is enabled to encrypt/decrypt a message. Supported encryption algorithm is AES 256 bit only. Additionally BASE64 encode/decode is supported. The output string is encoded with Base64.

AESCrypt-ObjC - A simple and opinionated AES encrypt / decrypt Objective-C class that just works.

  •    Objective-C

AESCrypt is a simple to use, opinionated AES encryption / decryption Objective-C class that just works. AESCrypt uses the AES-256-CBC cipher and encodes the encrypted data with base64.

Acra - Database protection suite with selective encryption and intrusion detection

  •    Go

Acra helps you to easily secure your databases in distributed, microservice-rich environments. It allows you to selectively encrypt sensitive records with strong multi-layer cryptography, detect potential intrusions and SQL injections and cryptographically compartment data stored in large sharded schemes. It's security model guarantees that compromising the database or your application does not leak sensitive data, or keys to decrypt it.

Cypher

  •    C++

Cypher is an encryption program that uses the AES (Rijndael) algorithm to encrypt and decrypt files. You can use Cypher to protect sensitive data from unwanted access.

Decodify - Detect and decode encoded strings, recursively.

  •    Python

Boom! Thats what Decodify does. It automatically detects the encoding and decodes it and it does that recursively. Warning: Decodify uses third party web services for MD5, SHA1 & SHA2 hash lookups. If you are dealing with sensitive data, you are advised to use the -s option which will prevent Decodify to use these services.


Okio - A modern I/O API for Java

  •    Java

Okio is a library that complements java.io and java.nio to make it much easier to access, store, and process your data.

OhCrypt Encryption Tool

  •    Java

OhCrypt lets you easily encrypt and decrypt files using some of the most popular algorithms, like AES, Blowfish and Serpent. With OhCrypt, you can secure your data with a password-based encryption algorithm through a clean and simple interface. It demonstrates state of the art of cryptology techniques, such as password hashing and salt. Ohcrypt also features self-extractable and self-destructive encrypted files

ecoji - Encodes (and decodes) data as emojis

  •    Go

Ecoji encodes data as 1024 emojis, its base1024 with an emoji character set. As a bonus, includes code to decode emojis to original data. Many have asked how Ecoji compares to base64. The short answer is that Ecoji is more bytes, but less visible characters. With Ecoji each visible char represents 10 bits, but each character is multi-byte. With base64 each char represents 6 bits and is one byte. The following table shows encoding sha256 in different ways.

multidiff - Binary data diffing for multiple objects or streams of data

  •    Python

It's purpose is to make machine friendly data easier to understand by humans that are looking at it. Specifically multidiff helps in viewing the differences within a large set of objects by doing diffs between relevant objects and displaying them in a sensible manner. This kind of visualization is handy when looking for patterns and structure in proprietary protocols or weird file formats. The obvious use-cases are reverse engineering and binary data analysis. At the core of multidiff is the python difflib library and multidiff wraps it in data providing mechanisms and visualization code. The visualization is the most important part of the project and everything else is just utilities to make it easier to feed data for the visualizer. At this time the tool can do basic format parsing such as hex decoding, hexdumping, and handling data as utf8 strings, as well as read from files, stdin, and sockets. Any preprocessing such as cropping, indenting, decompression, etc. will have be done by the user before the objects are provided to multidiff.

hashids

  •    Javascript

A small JavaScript library to generate YouTube-like ids from numbers. Use it when you don't want to expose your database ids to the user.

iron - Encapsulated tokens (encrypted and mac'ed objects)

  •    Javascript

iron is a cryptographic utility for sealing a JSON object using symmetric key encryption with message integrity verification. Or in other words, it lets you encrypt an object, send it around (in cookies, authentication credentials, etc.), then receive it back and decrypt it. The algorithm ensures that the message was not tampered with, and also provides a simple mechanism for password rotation.Note: the wire protocol has not changed since 1.x (the version increments reflected a change in the internal error format used by the module and by the node API as well as other node API changes).

iron - 🏢 Encapsulated tokens (encrypted and mac'ed objects)

  •    Javascript

iron is a cryptographic utility for sealing a JSON object using symmetric key encryption with message integrity verification. Or in other words, it lets you encrypt an object, send it around (in cookies, authentication credentials, etc.), then receive it back and decrypt it. The algorithm ensures that the message was not tampered with, and also provides a simple mechanism for password rotation. Note: the wire protocol has not changed since 1.x (the version increments reflected a change in the internal error format used by the module and by the node API as well as other node API changes).

Apache Spot - A Community Approach to Fighting Cyber Threats

  •    Java

Apache Spot is a community-driven cybersecurity project, built from the ground up, to bring advanced analytics to all IT Telemetry data on an open, scalable platform. pot expedites threat detection, investigation, and remediation via machine learning and consolidates all enterprise security data into a comprehensive IT telemetry hub based on open data models.

base64-js - Base64 encoding/decoding in pure JS

  •    Javascript

base64-js does basic base64 encoding/decoding in pure JS. Many browsers already have base64 encoding/decoding functionality, but it is for text data, not all-purpose binary data.

Dynamics Ax CipherLib

  •    

The Dynamics Ax CipherLib is a simple X.509 certificate based cipher implementation that allows to encrypt/decrypt S/MIME or XML messages with Dynamics Ax 4.0,

Python-gnupg - Python API which wraps the GNU Privacy Guard

  •    Python

The gnupg module allows Python programs to make use of the functionality provided by the GNU Privacy Guard (abbreviated GPG or GnuPG). Using this module, Python programs can encrypt and decrypt data, digitally sign documents and verify digital signatures, manage (generate, list and delete) encryption keys, using proven Public Key Infrastructure (PKI) encryption technology based on OpenPGP.

git-secret - :busts_in_silhouette: A bash-tool to store your private data inside a git repository.

  •    Shell

git-secret is a bash tool which stores private data inside a git repo. git-secret encrypts tracked files with public keys for users whom you trust using gpg, allowing permitted users to access encrypted data using their secret keys. With git-secret, changes to access rights are made easy and private-public key issues are handled for you. Passwords do not need to be changed with git-secret when someone's permission is revoked - just remove their key from the keychain using git secret killperson their@email.com, and re-encrypt the files, and they won't be able to decrypt secrets anymore. It also supports apt and yum. You can also use make if you want to. See the installation section for the details.

utf8

  •    Javascript

utf8.js is a well-tested UTF-8 encoder/decoder written in JavaScript. Unlike many other JavaScript solutions, it is designed to be a proper UTF-8 encoder/decoder: it can encode/decode any scalar Unicode code point values, as per the Encoding Standard. Here’s an online demo.A string representing the semantic version number.

geobuf - A compact binary encoding for geographic data.

  •    Javascript

Geobuf is a compact binary encoding for geographic data.Think of this as an attempt to design a simple, modern Shapefile successor that works seamlessly with GeoJSON. Unlike Mapbox Vector Tiles, it aims for lossless compression of datasets — without tiling, projecting coordinates, flattening geometries or stripping properties.

NFStream - A Flexible Network Data Analysis Framework

  •    Python

NFStream is a Python package providing fast, flexible, and expressive data structures designed to make working with online or offline network data both easy and intuitive. It aims to be the fundamental high-level building block for doing practical, real world network data analysis in Python. Additionally, it has the broader goal of becoming a common network data processing framework for researchers providing data reproducibility across experiments. NFStream extracts +90 flow features and can convert it directly to a pandas Dataframe or a CSV file.