简介
CyberChef 是一个用于加密、编码、压缩和数据分析的网络应用程序,号称“网络瑞士军刀”,可在浏览器中执行各种“网络”操作,包括简单的编码(XOR 或 Base64),更复杂点的加密(如 AES、DES 和 Blowfish),创建二进制文件和十六进制转储(Hex dump)、数据压缩和解压缩、计算哈希值和校验和、IPv6 和 X.509 解析、更改字符编码等等。
使用该工具可以使技术和非技术分析师能够以复杂的方式操作数据,而无需处理复杂的工具或算法。
浏览器支持:
- 谷歌浏览器 50+
- 火狐浏览器 38+
项目地址是:
https://github.com/gchq/CyberChef
在线使用地址是:
https://gchq.github.io/CyberChef
简单使用
源码安装
CyberChef 使用 Grunt 构建系统,因此非常容易安装。需要执行以下步骤才能开始:
- 安装 Git
- 安装 Node.js 的最新 LTS 版本 10 及其包管理器 npm
- 安装 Grunt:npm install -g grunt-cli
- git clone https://github.com/gchq/CyberChef.git
- cd CyberChef
- npm install
编译
主要涉及以下几条命令:
- grunt dev 在开发新功能时使用。这个命令将在 8080 端口上启动一个 Web 服务器,托管一个未压缩的 CyberChef 开发版本,可通过浏览器访问 localhost:8080。每当修改源文件时,将自动重建开发版本。
- grunt prod 创建生产版本时,请运行此命令。它将检查、测试、编译和压缩所有源文件,并在将结果输出到 build/prod/ 目录。
- grunt node 这会将 CyberChef 打包为 NodeJS 库。
- npm test 这将运行所有预先配置的测试并将结果输出到标准输出。
使用方法
CyberChef 页面有四个主要的区域:
- 右上角的输入框,可以在其中输入、粘贴、或者拖动想要操作的文本或文件
- 右下角的输出框,将显示对应的结果
- 最左侧的操作列表,可以在其中选择或者搜索到 CyberChef 支持的操作,如 Base64 解码是 From Base64 操作
- 中间的区域,当选择某个操作之后会出现对应操作的一些可选选项。如进行时间转换时,可自行输入时间格式,可选择转换的时区等。