Вот описания некоторых задач от DarkCTF, который был проведен (25–27 сентября) [автором я + коллаборации.].

  1. Crypto / Ee See Bee

Это был вызов DES-ECB. Тонкий намек / идея может быть получена из того факта, что название задачи означает: «ECB» и «des» на рабочем столе. Файл (ы) включает файл .enc и ключ. Двойное дешифрование файла .enc приведет нас к флагу.

Текстовый файл:

Flag : darkCTF{pr377y_0utd473d_3ncryp710n_574nd4rd}

2. Крипто / Embrace The Climb

Это была классическая задача Hill Cipher с модулем 40. Теперь, глядя на зашифрованный текст, можно увидеть, что буквы не заглавные, а числа находятся в диапазоне [0,9]. Также можно заметить, что в зашифрованном тексте есть {} и пробел.

Сложная часть: типичный флаг состоит из подчеркиваний, например «_» (если не полностью числовой). Итак, схема / формат для буквенно-цифровых символов может быть:

abcdefghijklmnopqrstuvwxyz0123456789{}_ “

Для путаницы можно сослаться на: https://stackoverflow.com/questions/8509262/will-alphanumeric-contain-and-space

Запуск сценария даст:

Расшифрованное сообщение: {h1ll_cl1mb1n9_15_h4rd_bu7_n07_7h3_c1ph3r__7h3_b357_v13w_c0m35_4f73r_7h3_h4rd357_cl1mb}

Flag: darkCTF{h1ll_cl1mb1n9_15_h4rd_bu7_n07_7h3_c1ph3r__7h3_b357_v13w_c0m35_4f73r_7h3_h4rd357_cl1mb}

3. Шифрование / дублирование внутри

Задача содержит ссылку, показывающую случай транзакции Биткойн: https://www.blockchain.com/btc/tx/83415dded4757181c6e1c55104e2742a6f8cff05a9a46fbf029ae47b0054d511

Здесь значения r повторяются, т. Е. Совпадают.

Объяснение приводится в комментариях к следующему сценарию:

Запуск скрипта дает нам:

791198f7b09c5e63fc5798df41c4090d2265d8066e4d4a917a9d604f17ccf856

Flag : darkCTF{791198f7b09c5e63fc5798df41c4090d2265d8066e4d4a917a9d604f17ccf856}

4. Разное / секрет контракта

Эта проблема была основана на информации, скрытой в истории транзакций связанного контракта. Информацию можно извлечь из https://ropsten.etherscan.io/

Мой товарищ по команде - Catamob предоставил описание этой задачи здесь: https://mukhilan.com/Writeups/darkctf-official-secret-contract/

Flag : darkCTF{3th3r3um_570r4g3_7r4n54c710n}

5. Разное / Между битами и базами

Глядя на файл, указанный вместе с задачей, мы видим сообщение:

  • Это намекает на то, что такого «декодирования» не требуется.
  • Фраза 200 x 200 = 40,000 - еще одна подсказка, намекающая на изображение размером 200x200.
  • заменяя каждый 1 на (255,255,255,255) и каждый 0 на (0,0,0,255), мы получаем QR-код.
  • Этого можно добиться с помощью модуля PIL в Python.

Сценарий:

  • Этот скрипт преобразует заданные пиксельные данные и сохраняет png как qrcode.png.
  • Этот QR-код ведет к ссылке на файл go.
  • Для сканирования QR-кода можно использовать инструмент zbarimg (в разделе zbar-tools).
  • Чтобы скачать инструмент zbarimg:
sudo apt install zbar-tools

и расшифровать QR-код:

zbarimg qrcode.png
  • Ссылка: https://gofile.io/d/kZhYQt
  • Теперь у нас есть несколько состояний и базитов кубитов.
  • Протокол квантового распределения ключей основан на том факте, что кубит может изменять свое состояние. Размер кубита зависит от баз.
  • Ева (перехватчик) угадала базы (которые использовал отправитель). Так что информация больше не является частной.
  • Биты кодируются в базах X и Z, которые формируются их соответствующими собственными состояниями. Ссылка: https://qiskit.org/textbook/ch-algorithms/quantum-key-distribution.html
  • Отображение:

Таким образом, сопоставление простое, и, наконец, нам просто нужно преобразовать нули и единицы в текст ASCII. Для этого может не потребоваться скрипт, но вот он:

Flag: darkCTF{quan7um_k3y_d1stribu7ion_pr0t0c0l_/0/1_}

6. Разное / расформированное секретное подразделение

Первоначально нужно было запускать строки для данного файла изображения.

strings img_.jpg

Выход:

Мы здесь ничего не видим (как правильно описывает фраза). Итак, мы открываем редактор для просмотра текста.

Looking at this won’‌‌‌​‌‌‌⁠‌‌​​‌​‌⁠‌‌​‌‌​​⁠‌‌​‌‌​​⁠‌​‌‌​​⁠‌​​​​​⁠‌‌‌‌​​‌⁠‌‌​‌‌‌‌⁠‌‌‌​‌​‌⁠‌​​​​​⁠‌‌​​‌‌​⁠‌‌​‌‌‌‌⁠‌‌‌​‌​‌⁠‌‌​‌‌‌​⁠‌‌​​‌​​⁠‌​​​​​⁠‌‌​‌​​‌⁠‌‌‌​‌​​⁠‌​​​​​⁠‌‌​​‌‌‌⁠‌‌​‌‌‌‌⁠‌‌​‌‌‌‌⁠‌‌​​‌​​⁠‌​​​​​⁠‌‌​‌‌​​⁠‌‌‌​‌​‌⁠‌‌​​​‌‌⁠‌‌​‌​‌‌⁠‌​​​​‌⁠‌​​​​​⁠‌‌‌​‌​⁠‌​​​​​⁠‌‌‌​‌‌​⁠‌‌​‌​​‌⁠‌‌‌​​‌‌⁠‌‌​‌​​‌⁠‌‌​​​‌​⁠‌‌​‌‌​​⁠‌‌‌‌​​‌⁠‌‌​‌​​‌⁠‌‌​‌‌‌​⁠‌‌‌​‌‌​⁠‌‌​‌​​‌⁠‌‌‌​​‌‌⁠‌‌​‌​​‌⁠‌‌​​​‌​⁠‌‌​‌‌​​⁠‌‌​​‌​‌t be useful enough

Здесь задействована стеганография нулевой ширины; поэтому мы дестеганографизируем текст здесь: https://neatnik.net/steganographr/

Мы получаем:

Другая часть этой проблемы основана на угадывании (без использования пароля).

outguess -r img_.jpg text.txt

Получаем строки в кодировке utf-8. После декодирования мы получаем ссылку в конце текстового файла https://bit.ly/3hGT3Qk.

Ссылка ведет на 3 неработающих QR-кода (Все в формате png). Некоторые основы редактирования фотографий с помощью GIMP или Photoshop подойдут для нас.

Следующие шаги необходимо выполнить:

  • Итак, первый шаг: откройте их все по отдельности и удалите с них белый фон. У вас должен получиться прозрачный фон с черной частью QR-кода, оставшейся во всех 3.
  • Теперь выберите тот, который находится в нормальной ориентации QR (получая представление по маленьким и большим квадратам по углам), и добавьте 2 новых прозрачных слоя поверх него.
  • Скопируйте другой QR-код и вставьте его на новый слой, при необходимости вращая слои, чтобы они соответствовали материалу, чтобы некоторая часть QR-кода была исправлена.
  • Проделайте то же самое с последней частью, пока QR-код не будет готов.
  • Наконец, объедините все слои в один, выберите фон и раскрасьте его в белый цвет.
  • Отсканируйте его напрямую, чтобы перейти к следующей части, или экспортируйте как png.

Сканирование QR приведет к последней ссылке:
https://mega.nz/file/y0kViAZL#HDt0LBB7MLIiWt2r-egjIQZIzaIjoMKg2LhpqjK8ui0

Для распаковки zip-файла потребуется пароль (запрашивается). У нас с собой ничего нет кроме:

visiblyinvisible

Таким образом, мы используем его, чтобы распаковать наш заархивированный файл, чтобы получить несколько изображений. В них можно увидеть части флага.

Flag : darkCTF{y0u_s33_7h3_fl49_n0w_r19h7?}

7. Разное / The Letter Conference

The keys given represent a pattern that is in the "QWERTY" format.
The keys seem to encircle a particular key, that is they seem to be in a "conference"(with some letter/number in the middle). For the given keys, they are right-shifted once in the same layout. So the flag is found by left-shifting the keys once and finding
out the encircled letters.

Используя https://www.cross-browser.com/toys/qwertyshifter.html, мы сдвигаем клавиши влево, чтобы получить:

8ujko9 rdcvgt   6tghu7 9iklp0 7yhji8   3er5 4edft5 3wsdr4   wazxde 3wsdr4 3wsdr4 8ujko9 bhjm tfvbhy   8ujko9 rfgy   6tghu7 9iklp0 7yhji8   3er5 4edft5 3wsdr4   9iklp0 bhjm   4edft5 8ujko9 tfvbhy ygbnju rfgy   0ol;[- 3er5 rfgy ygbnju   rdcvgt ok,.;p 3er5 tfvbhy   8ujko9 wazxde   tfvbhy 8ujko9 vghn vghn 3wsdr4 4edft5 8ujko9 wazxde ygbnju   ijm,lo 3wsdr4 6tghu7 vghn 9iklp0 3er5 4edft5 esxcfr
7ui9 9op- 6yu8 8io0 

Буквы и цифры в кружке: ifyou4reseeingityou4reonrightp4thfl4gisgibberishkeybo4rd8079

Flag : darkCTF{gibberishkeybo4rd8079}

8. OSINT / The Bait

Для этой задачи можно найти статьи NeeP на https://neep.ml/, отображаемые в его учетной записи Twitter, и поискать соответствующие ключевые слова, чтобы получить статью о мошенничестве с PayPal, или напрямую перейти на https: // www.scammer.info/u/NeeP для информации.

Две статьи, ведущие к флагу:





Flag : darkCTF{9911834488_Navkar_Infotech_mayurply.com}