Вот описания некоторых задач от DarkCTF, который был проведен (25–27 сентября) [автором я + коллаборации.].
- 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}