ANTICHAT

ANTICHAT (https://forum.antichat.xyz/index.php)
-   Задания/Квесты/CTF/Конкурсы (https://forum.antichat.xyz/forumdisplay.php?f=112)
-   -   Забытый [Writeup] (https://forum.antichat.xyz/showthread.php?t=1644500)

M4x 08.01.2025 17:37

Без лишних предисловий перейдем к сути.

Шаг 1. Для удобства и упрощения работы преобразуем байтовую строку в hex-нотацию. Это можно сделать следующим образом:

Python:


Код:

encrypted_flag
=
b'+\x7ft1*iK\x1c[Io\x16\x1a\x00o\x1aYS\x03+\x10\x00B\t'
.
hex
(
)
print
(
encrypted_flag
)

В результате мы получим строку, с которой будем работать в дальнейшем:

2b7f74312a694b1c5b496f161a006f1a5953032b10004209

Шаг 2. Далее необходимо определить XOR-ключ. В данном случае ключ легко вычисляется, так как мы знаем формат флага: "CODEBY{". Переведем строку "CODEBY{" в hex-нотацию:

Python:


Код:

partial_flag
=
b'CODEBY{'
.
hex
(
)
print
(
partial_flag
)
# Вывод: 434f444542597b


Для определения ключа мы будем использовать замечательный инструмент Кибершеф. Вставляем зашифрованный флаг в поле Input. Сначала применяем рецепт "From Hex", а затем добавляем рецепт "XOR", где в поле "Key" вводим строку, полученную на шаге 2. Для тех, кто не совсем понимает, что происходит, поясню: в данном случае мы выполняем операцию XOR между строкой Antichat{ и зашифрованным флагом, чтобы попытаться определить ключ шифрования.

https://forum.antichat.xyz/attachments/29116283/1.png

XOR-ключ становится очевидным: это строка h00t, которая многократно повторяется. Переводим ключ в hex-нотацию:

Python:


Код:

xor_key
=
b'h00t'
.
hex
(
)
print
(
xor_key
)
# Вывод: 68303074

Шаг 3. Снова воспользуемся Кибершефом. Все то же самое: вставляем зашифрованный флаг в поле Input, применяем рецепт "From Hex", а затем добавляем рецепт "XOR", где в поле "Key" вводим XOR-ключ. После выполнения этих шагов мы сможем увидеть расшифрованный флаг.

https://forum.antichat.xyz/attachments/29116283/2.png

Рекомендую решить задачку самостоятельно, если вас интересует категория «crypto» и вы стремитесь развиваться в этом направлении.


Время: 16:29