КиберШеф
Кибершвейцарский армейский нож
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
- Преобразование даты и времени в другой часовой пояс
- Разобрать IPv6-адрес Teredo
- Преобразование данных из шестнадцатеричного дампа, а затем распаковка
- Расшифровать и дизассемблировать шеллкод
- Отображать несколько временных меток как полные даты
- Выполнение различных операций с данными разных типов.
- Используйте части ввода в качестве аргументов операций.
- Выполните расшифровку AES, извлекая IV из начала потока шифрования.
- Автоматически обнаруживать несколько уровней вложенного кодирования
Функции
- Перетащите
- Операции можно перетаскивать в список рецептов и из него или реорганизовывать.
- Файлы размером до 2 ГБ можно перетащить через поле ввода, чтобы загрузить их непосредственно в браузер.
- Автовыпечка
- Всякий раз, когда вы изменяете входные данные или рецепт, CyberChef автоматически «испечет» за вас и немедленно выдаст результат.
- Это можно отключить и управлять вручную, если это влияет на производительность (например, если ввод очень большой).
- Автоматическое обнаружение кодировки
- CyberChef использует ряд методов, чтобы попытаться автоматически определить, в какой кодировке находятся ваши данные. Если он находит подходящую операцию, имеющую смысл с вашими данными, он отображает «волшебный» значок в поле «Вывод», по которому вы можете щелкнуть, чтобы декодировать ваши данные.
- Точки останова
- Вы можете установить точки останова для любой операции в вашем рецепте, чтобы приостановить выполнение перед ее запуском.
- Вы также можете выполнять рецепт по одной операции за раз, чтобы увидеть, как выглядят данные на каждом этапе.
- Сохраняйте и загружайте рецепты
- Если вы придумали потрясающий рецепт, который, как вы знаете, захотите использовать снова, просто нажмите «Сохранить рецепт» и добавьте его в свое локальное хранилище. Оно будет ждать вас в следующий раз, когда вы посетите CyberChef.
- Вы также можете скопировать URL-адрес, содержащий ваш рецепт и данные, чтобы легко поделиться им с другими.
- Поиск
- Если вы знаете название нужной операции или связанное с ней слово, начните вводить его в поле поиска, и все соответствующие операции будут немедленно показаны.
- Выделение
- Когда вы выделяете текст на входе или выходе, значения смещения и длины будут отображаться и, если возможно, соответствующие данные будут выделены на выходе или на входе соответственно (пример: выделите слово «вопрос» на входе, чтобы увидеть, где оно появляется в выводе).
- Сохранить в файл и загрузить из файла
- Вы можете сохранить выходные данные в файл в любое время или загрузить файл, перетащив его в поле ввода. Поддерживаются файлы размером до 2 ГБ (в зависимости от вашего браузера), однако выполнение некоторых операций с таким объемом данных может занять очень много времени.
- CyberChef полностью клиентский
- Следует отметить, что никакие ваши настройки рецептов или вводимые данные (ни текст, ни файлы) никогда не отправляются на веб-сервер CyberChef — вся обработка выполняется в вашем браузере, на вашем компьютере.
- Благодаря этой функции CyberChef можно загрузить и запустить локально. Вы можете использовать ссылку в верхнем левом углу приложения, чтобы загрузить полную копию CyberChef и поместить ее на виртуальную машину, поделиться ею с другими людьми или разместить ее в закрытой сети.
Глубокие ссылки
Манипулируя хешем URL-адреса CyberChef, вы можете изменить исходные настройки, с которыми открывается страница. Формат: https://gchq.github.io/CyberChef/#recipe=Operation()&input=...
Поддерживаемые аргументы — recipe
, input
(в кодировке Base64) и theme
.
Поддержка браузера
CyberChef создан для поддержки
- Гугл Хром 50+
- Мозилла Фаерфокс 38+
Поддержка Node.js
CyberChef создан для полной поддержки Node.js v16
. Дополнительную информацию см. на вики-странице Node API.
Содействие
Добавить новую операцию в CyberChef очень просто! Сценарий быстрого запуска проведет вас через весь процесс. Если вы умеете писать базовый JavaScript, вы можете написать операцию CyberChef.
Пошаговое руководство по установке, практические руководства по добавлению новых операций и тем, описания структуры репозитория, доступные типы данных и соглашения о кодировании — все это можно найти на вики-странице «Вклад».
- Отправьте изменения в свою вилку.
- Отправьте запрос на вытягивание. Если вы делаете это впервые, вам будет предложено подписать Лицензионное соглашение участника GCHQ через помощник CLA в запросе на включение. Здесь также будет задан вопрос, рады ли вы, что GCHQ связался с вами по поводу знака благодарности за ваш вклад или по поводу возможностей трудоустройства в GCHQ.
Лицензирование
CyberChef распространяется под лицензией Apache 2.0 и защищена авторскими правами Crown.