網路廚師
網路瑞士軍刀
CyberChef 是一個簡單、直觀的網頁應用程序,用於在網頁瀏覽器中執行各種「網頁」操作。這些操作包括XOR 和Base64 等簡單編碼、AES、DES 和Blowfish 等更複雜的加密、創建二進位和十六進位轉儲、資料壓縮和解壓縮、計算雜湊值和校驗和、IPv6 和X.509解析、更改字元編碼等等。
該工具旨在使技術和非技術分析師能夠以複雜的方式操作數據,而無需處理複雜的工具或演算法。它是由分析師在幾年內花費 10% 的創新時間構思、設計、建構和逐步改進的。
現場演示
CyberChef 仍在積極開發中。因此,它不應被視為成品。仍然需要進行測試和錯誤修復,需要添加新功能以及需要編寫其他文件。請貢獻!
在任何情況下都不應依賴 CyberChef 中的加密操作來提供安全性。不保證其正確性。
可以在這裡找到現場演示 - 玩得開心!
貨櫃
如果您想在本地嘗試 CyberChef,您可以自己建立它:
docker build --tag cyberchef --ulimit nofile=10000 .
docker run -it -p 8080:80 cyberchef
或者您可以直接使用我們的圖像:
docker run -it -p 8080:80 ghcr.io/gchq/cyberchef:latest
該映像是透過我們的 GitHub 工作流程建構和發布的
它是如何運作的
CyberChef 有四個主要區域:
- 右上角的輸入框,您可以在其中貼上、鍵入或拖曳要操作的文字或檔案。
- 右下角的輸出框,將顯示處理的結果。
- 最左邊的操作列表,您可以在分類列表中或透過搜尋找到 CyberChef 能夠執行的所有操作。
- 中間的配方區域,您可以在其中拖曳要使用的操作並指定參數和選項。
您可以透過簡單或複雜的方式使用任意數量的操作。一些示例如下:
- 解碼 Base64 編碼的字串
- 將日期和時間轉換為不同的時區
- 解析 Teredo IPv6 位址
- 從十六進位轉儲轉換數據,然後解壓縮
- 解密和反彙編shellcode
- 將多個時間戳顯示為完整日期
- 對不同類型的資料進行不同的操作
- 使用部分輸入作為操作的參數
- 執行 AES 解密,從密碼流的開頭擷取 IV
- 自動偵測多層嵌套編碼
特徵
- 拖放
- 操作可以拖入或拖出配方列表,或重新組織。
- 最大2GB的檔案可以拖曳到輸入框上,直接載入到瀏覽器中。
- 自動烘烤
- 每當您修改輸入或配方時,CyberChef 都會自動為您「烘焙」並立即產生輸出。
- 如果它影響效能(例如,如果輸入非常大),可以將其關閉並手動操作。
- 自動編碼檢測
- CyberChef 使用多種技術來嘗試自動偵測您的資料所採用的編碼。如果它找到適合您的資料的操作,它會在「輸出」欄位中顯示「魔法」圖標,您可以單擊該圖標來解碼資料。
- 斷點
- 您可以在配方中的任何操作上設定斷點,以在運行之前暫停執行。
- 您也可以一次逐步執行一個操作,以查看每個階段的資料是什麼樣的。
- 儲存和載入食譜
- 如果您想出了一個很棒的食譜,並且知道自己想再次使用,只需單擊“保存食譜”並將其添加到本地存儲中即可。下次您造訪 CyberChef 時,它將等待您。
- 您也可以複製包含您的食譜和輸入的 URL,以便輕鬆與其他人分享。
- 搜尋
- 如果您知道所需操作的名稱或與之關聯的單詞,請開始在搜尋欄位中輸入它,任何符合的操作都會立即顯示。
- 突出顯示
- 當您反白顯示輸入或輸出中的文字時,將顯示偏移量和長度值,如果可能,相應的資料將分別在輸出或輸入中突出顯示(例如:突出顯示輸入中的單字「question」以查看其位置)它出現在輸出中)。
- 儲存到文件並從文件加載
- 您可以隨時將輸出儲存到檔案或透過將檔案拖放到輸入欄位來載入檔案。支援高達約 2GB 的檔案(取決於您的瀏覽器),但是,某些操作可能需要很長時間才能運行這麼多資料。
- CyberChef 完全是客戶端
- 應該注意的是,您的任何食譜配置或輸入(文字或檔案)都不會發送到 CyberChef 網路伺服器 - 所有處理都在您自己的電腦上的瀏覽器中進行。
- 由於此功能,CyberChef 可以在本地下載並運行。您可以使用應用程式左上角的連結下載 CyberChef 的完整副本並將其放入虛擬機器中、與其他人共用或將其託管在封閉網路中。
深層連結
透過操縱 CyberChef 的 URL 哈希,您可以更改頁面開啟的初始設定。格式為https://gchq.github.io/CyberChef/#recipe=Operation()&input=...
支援的參數包括recipe
、 input
(以 Base64 編碼)和theme
。
瀏覽器支援
CyberChef 旨在支持
Node.js 支援
CyberChef 旨在完全支援 Node.js v16
。有關更多信息,請參閱“Node API”wiki 頁面
貢獻
向 CyberChef 貢獻新操作非常簡單!快速入門腳本將引導您完成整個過程。如果您可以編寫基本的 JavaScript,則可以編寫 CyberChef 操作。
安裝演練、新增操作和主題的操作指南、儲存庫結構的描述、可用資料類型和編碼約定都可以在「貢獻」wiki 頁面中找到。
- 將您的變更推送到您的分支。
- 提交拉取請求。如果您是第一次執行此操作,系統將提示您透過拉取請求上的 CLA 助理簽署 GCHQ 貢獻者許可協議。它還會詢問您是否願意讓 GCHQ 與您聯繫以感謝您的貢獻,或了解 GCHQ 的工作機會。
授權
CyberChef 根據 Apache 2.0 許可證發布,並受皇家版權保護。