开源数据分析工具CyberChef的使用

文章目录

  • 简介
    • 是什么
    • 为什么
    • 怎么样
    • 为谁
    • 目的
  • 工具在线使用地址
  • 基本操作
    • Add tabs(添加标签)
    • 加载文件
      • 拖放
      • 打开文件按钮
      • 打开文件夹按钮
      • 加载状态
    • Baking(处理)
      • 处理状态
      • 取消处理
    • 输出标签
    • 搜索标签
    • 下载输出
    • 键盘快捷键
    • 笔记
  • 使用实例
      • 解码Base64编码的字符串
      • 将日期和时间转换为其他时区
      • 解析Teredo IPv6地址
      • 从hexdump转换数据,然后解压缩
      • 解密和反汇编shellcode
      • 将多个时间戳显示为完整日期
      • 对不同类型的数据执行不同的操作
      • 使用输入的一部分作为操作的参数

简介

是什么

一个简单,直观的Web应用程序,用于分析和解码数据,而无需处理复杂的工具或编程语言。Cyber??Chef鼓励技术人员和非技术人员探索数据格式,加密和压缩。

为什么

在现代世界中,数字数据具有各种形式,大小和格式,Cyber??Chef有助于在一个易于使用的平台上充分利用这些数据。

怎么样

该界面的设计本质是简单。现在,复杂的技术就像拖放一样简单。可以组合简单的功能来构建“配方”,从而可能导致复杂的分析,可以与其他用户共享并与他们的输入一起使用。
对于那些习惯编写代码的人,Cyber??Chef是一种快速有效的解决方案原型解决方案的方法,一旦证明可以工作,就可以编写脚本。

为谁

预计Cyber??Chef将对网络安全和防病毒公司有用。它还应该吸引学术界以及参与数字数据分析的任何个人或公司,无论是软件开发人员,分析师,数学家还是临时难题解决者。

目的

希望通过在GitHub上发布Cyber??Chef 可以添加贡献,这些贡献可以推广到该工具的未来版本中。
Cyber??Chef中大约有200种有用的操作,适用于任何与网络相关的工作,无论您是要将时间戳转换为其他格式,解压缩压缩的数据,创建SHA3哈希还是解析X.509证书以查找信息谁发行的。
这就是网络瑞士军刀。

工具在线使用地址

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

基本操作

Add tabs(添加标签)

要添加新的输入选项卡,请单击Add a new input tab输入标题栏中的按钮。
在这里插入图片描述
这将创建一个新的空白输入选项卡,您可以在其中输入数据并将其粘贴到其中。
无需在加载文件之前创建新标签,因为新标签会自动创建

加载文件

拖放

与早期版本的Cyber??Chef一样,可以通过将文件拖放到输入区域中来加载文件。您可以通过相同的方式拖放多个文件来加载多个文件作为输入。

打开文件按钮

Open file as input按钮现在支持选择多个文件。单击按钮,在打开的对话框中选择多个文件,每个选定的文件将作为单独的输入打开。在这里插入图片描述

打开文件夹按钮

Open folder as input按钮的功能与“打开文件”按钮非常相似,不同之处在于,需要选择要打开的文件夹而不是单个文件。文件夹中的所有文件都将被加载,包括子文件夹。
这还将选择隐藏文件或元数据文件,例如.DS_Store在Mac OS上。
在这里插入图片描述
Chrome和Firefox都会在将文件句柄传递给Cyber??Chef之前在后台加载文件句柄,因此在单击Upload和屏幕上发生的一切之间可能会有延迟。

加载状态

总体加载状态显示在输入标题栏中。显示正在加载的输入总数,以及待加载的输入数和已加载的输入数。
通过使用选项卡标题作为进度条来显示每个选项卡的加载进度。
输入选项卡的标题是输入的前几个字符,或者如果是文件,则是文件名。

Baking(处理)

触发自动处理时(例如,更改配方或输入内容时),仅运行当前显示的输入选项卡。要处理所有输入,请单击==Bake!==按钮以启动完全运行。
如果单击“烘焙”时尚未完全加载输入,则该输入将被忽略。

处理状态

处理状态显示在输出标题栏中。显示的统计信息包括:正在运行的输入总数,待处理的输入数量以及已完成处理的输入数量。
通过将bake按钮变成进度条,还可以显示输入的进度!
每个选项卡的背景都用作进度条,以显示配方中的单个进度。

取消处理

进行处理时,您可以再次单击“bake”按钮(现在标记为Cancel)以取消处理,当前正在处理或待处理的所有输入都将被取消。任何完成处理的输入将保留其新输出。

输出标签

搜索标签

要搜索输入或输出选项卡,请单击选项卡栏(···)右侧的菜单按钮,然后单击Find tab。使用状态复选框过滤加载或烘焙状态,并使用过滤框将每个选项卡的内容(或输入文件名)与正则表达式进行匹配。单击搜索结果以打开该选项卡。在这里插入图片描述
查找输入选项卡对话框
如果知道所需标签的编号,则可以使用Go to tab标签菜单中的按钮直接跳转到该标签

下载输出

要下载单个输出,请单击Save output to file输出标题栏中的按钮。
要将所有输出下载到一个zip文件中,请单击Save all outputs to a zip file输出标题栏中的按钮。单击此选项后,系统将要求您提供zip文件的文件名以及压缩文件的文件扩展名。
如果文件扩展名留为空白,Cyber??Chef将尝试自动检测每个输入的文件扩展名(.dat如果无法检测到,将使用该文件扩展名)。

键盘快捷键

  • 添加标签
    Windows和Linux: Ctrl + Alt + T
    Mac: Ctrl + Option + T
  • 移除标签
    Windows和Linux: Ctrl + Alt + W
    Mac: Ctrl + Option + W
  • 转到下一个标签
    Windows和Linux: Ctrl + Alt +右箭头
    Mac: Ctrl + Option +右箭头
  • 转到上一个标签
    Windows和Linux: Ctrl + Alt +左??箭头
    Mac: Ctrl + Option +左箭头

笔记

使用多个输入时,需要注意一些限制:

  • Cyber??Chef在加载和运行输入时可能会占用大量CPU,因此浏览器或整个计算机可能会因此而变慢。为了充分利用具有多个处理核心的系统,Cyber??Chef将尝试增加多个线程来处理不同的输入(此数字是根据可用核心数减去1来计算的,以确保UI不会无响应)。
  • 在内存不足的系统上,Firefox可能经常用尽内存以使用并关闭选项卡。
  • 在Windows系统上,Chrome不允许浏览器标签使用超过2-3GB的RAM。如果您尝试将过多的数据加载到Cyber??Chef中,Chrome将关闭该标签。
  • 两种浏览器都可以使用打开的文件夹对话框最多加载500,000个文件。
    在Chrome浏览器中,加载过多的内容将立即导致整个浏览器崩溃。
    如果文件数超过限制,Firefox将自动取消加载文件。

使用实例

建议自己试一下,很多玩法

解码Base64编码的字符串

https://gchq.github.io/CyberChef/#recipe=From_Base64(‘A-Za-z0-9%2B/%3D’,true)&input=VTI4Z2JHOXVaeUJoYm1RZ2RHaGhibXR6SUdadmNpQmhiR3dnZEdobElHWnBjMmd1

将日期和时间转换为其他时区

https://gchq.github.io/CyberChef/#recipe=Translate_DateTime_Format(‘Standard%20date%20and%20time’,‘DD/MM/YYYY%20HH:mm:ss’,‘UTC’,‘dddd%20Do%20MMMM%20YYYY%20HH:mm:ss%20Z%20z’,‘Australia/Queensland’)&input=MTUvMDYvMjAxNSAyMDo0NTowMA

解析Teredo IPv6地址

https://gchq.github.io/CyberChef/#recipe=Parse_IPv6_address()&input=MjAwMTowMDAwOjQxMzY6ZTM3ODo4MDAwOjYzYmY6M2ZmZjpmZGQy

从hexdump转换数据,然后解压缩

https://gchq.github.io/CyberChef/#recipe=From_Hexdump()Gunzip()&input=MDAwMDAwMDAgIDFmIDhiIDA4IDAwIDEyIGJjIGYzIDU3IDAwIGZmIDBkIGM3IGMxIDA5IDAwIDIwICB8Li4uLi6881cu/y7HwS4uIHwKMDAwMDAwMTAgIDA4IDA1IGQwIDU1IGZlIDA0IDJkIGQzIDA0IDFmIGNhIDhjIDQ0IDIxIDViIGZmICB8Li7QVf4uLdMuLsouRCFb/3wKMDAwMDAwMjAgIDYwIGM3IGQ3IDAzIDE2IGJlIDQwIDFmIDc4IDRhIDNmIDA5IDg5IDBiIDlhIDdkICB8YMfXLi6%2BQC54Sj8uLi4ufXwKMDAwMDAwMzAgIDRlIGM4IDRlIDZkIDA1IDFlIDAxIDhiIDRjIDI0IDAwIDAwIDAwICAgICAgICAgICB8TshObS4uLi5MJC4uLnw

解密和反汇编shellcode

https://gchq.github.io/CyberChef/#recipe=RC4(%7B’option’:‘UTF8’,‘string’:‘secret’%7D,‘Hex’,‘Hex’)Disassemble_x86(‘64’,‘Full%20x86%20architecture’,16,0,true,true)&input=MjFkZGQyNTQwMTYwZWU2NWZlMDc3NzEwM2YyYTM5ZmJlNWJjYjZhYTBhYWJkNDE0ZjkwYzZjYWY1MzEyNzU0YWY3NzRiNzZiM2JiY2QxOTNjYjNkZGZkYmM1YTI2NTMzYTY4NmI1OWI4ZmVkNGQzODBkNDc0NDIwMWFlYzIwNDA1MDcxMzhlMmZlMmIzOTUwNDQ2ZGIzMWQyYmM2MjliZTRkM2YyZWIwMDQzYzI5M2Q3YTVkMjk2MmMwMGZlNmRhMzAwNzJkOGM1YTZiNGZlN2Q4NTlhMDQwZWVhZjI5OTczMzYzMDJmNWEwZWMxOQ

将多个时间戳显示为完整日期

https://gchq.github.io/CyberChef/#recipe=Fork(’%5C%5Cn’,’%5C%5Cn’,false)From_UNIX_Timestamp(‘Seconds%20(s)’)&input=OTc4MzQ2ODAwCjEwMTI2NTEyMDAKMTA0NjY5NjQwMAoxMDgxMDg3MjAwCjExMTUzMDUyMDAKMTE0OTYwOTYwMA

对不同类型的数据执行不同的操作

https://gchq.github.io/CyberChef/#recipe=Fork(’%5C%5Cn’,’%5C%5Cn’,false)Conditional_Jump(‘1’,false,‘base64’,10)To_Hex(‘Space’)Return()Label(‘base64’)To_Base64(‘A-Za-z0-9%2B/%3D’)&input=U29tZSBkYXRhIHdpdGggYSAxIGluIGl0ClNvbWUgZGF0YSB3aXRoIGEgMiBpbiBpdA

使用输入的一部分作为操作的参数

https://gchq.github.io/CyberChef/#recipe=Register(‘key%3D(%5B%5C%5Cda-f%5D*)’,true,false)Find_/_Replace(%7B’option’:‘Regex’,‘string’:’.data%3D(.)’%7D,‘

1,true,false,true)RC4(1',true,false,true)RC4(%7B'option':'Hex','string':'

1′,true,false,true)RC4(R0’%7D,‘Hex’,‘Latin1’)&input=aHR0cDovL21hbHdhcmV6LmJpei9iZWFjb24ucGhwP2tleT0wZTkzMmE1YyZkYXRhPThkYjdkNWViZTM4NjYzYTU0ZWNiYjMzNGUzZGIxMQ