Сегодня в канале в 18:00 у нас будет супер-экслюзив от ТОП-10 в рейтинге платформы, который так многие ждали. Намекну, что это #stegano
🤯9❤1🔥1🥱1
#stegano
"Внимательный читатель"
Автор: @Max_RSC
ТОП-10 на платформе Codeby Games подготовил райтап по таску "Внимательный читатель", который многие ждали!
Перед нами трактат «О значении и успехе знания, божественного и человеческого» Фрэнсиса Бэкона — человека, чье имя, уверен, знакомо каждому, кто интересуется криптографией. Гуглим оригинал трактата и сравниваем с документом из вложения. Для этого можно воспользоваться как онлайн-сервисами (пример: https[:]//diffcheck[.]io), так и консольной утилитой diff. Становится ясно, что в некоторых словах различаются регистры первых букв, а в некоторых местах вместо одного пробела между словами присутствуют два пробела. Выписываем буквы, регистры, которые различаются, а также выписываем пробелы. Получим длинную строку со строчными и прописными буквами, разделенными пробелами, которую, по понятным причинам, я приведу не полностью:
oM savcf Osc pMef tce KSh...
Это не шифр, как можно подумать, а банальная «морзянка»: строчные буквы надо заменить на тире, а прописные буквы надо заменить на точки, после чего декодировать, воспользовавшись любым онлайн-сервисом на свой выбор. При декодировании выяснится, что фраза, которая принимается как флаг, написана с ошибкой. Насколько я могу судить, здесь ошибся сам автор таска. Я уверен, что вам не составит труда сообразить, что нужно сделать, и все же назову как ДОЛЖНО выглядеть последнее слово (в котором встречается ошибка) фразы — D1FF3RENCE.
Хочу отметить, что это краткая версия райтапа. В ближайшее время на форуме Codeby я опубликую развернутую версию с историческими отсылками, ориентированную на тех из вас, кому интересно погрузиться в историю стеганографии.
#codebygames
"Внимательный читатель"
Автор: @Max_RSC
ТОП-10 на платформе Codeby Games подготовил райтап по таску "Внимательный читатель", который многие ждали!
Перед нами трактат «О значении и успехе знания, божественного и человеческого» Фрэнсиса Бэкона — человека, чье имя, уверен, знакомо каждому, кто интересуется криптографией. Гуглим оригинал трактата и сравниваем с документом из вложения. Для этого можно воспользоваться как онлайн-сервисами (пример: https[:]//diffcheck[.]io), так и консольной утилитой diff. Становится ясно, что в некоторых словах различаются регистры первых букв, а в некоторых местах вместо одного пробела между словами присутствуют два пробела. Выписываем буквы, регистры, которые различаются, а также выписываем пробелы. Получим длинную строку со строчными и прописными буквами, разделенными пробелами, которую, по понятным причинам, я приведу не полностью:
oM savcf Osc pMef tce KSh...
Это не шифр, как можно подумать, а банальная «морзянка»: строчные буквы надо заменить на тире, а прописные буквы надо заменить на точки, после чего декодировать, воспользовавшись любым онлайн-сервисом на свой выбор. При декодировании выяснится, что фраза, которая принимается как флаг, написана с ошибкой. Насколько я могу судить, здесь ошибся сам автор таска. Я уверен, что вам не составит труда сообразить, что нужно сделать, и все же назову как ДОЛЖНО выглядеть последнее слово (в котором встречается ошибка) фразы — D1FF3RENCE.
Хочу отметить, что это краткая версия райтапа. В ближайшее время на форуме Codeby я опубликую развернутую версию с историческими отсылками, ориентированную на тех из вас, кому интересно погрузиться в историю стеганографии.
#codebygames
🔥14❤6👍3
IMG_20250320_141657_803.jpg
154.6 KB
Друзья, публикуем для вас два райтапа с Tinkoff CTF 2024 от ТОП-10 на Codeby Games!
"Элементарно, Ватсон!" от @Max_RSC
Я выделяю два основных способа решить "Ватсона": посредством программирования и классическим методом с помощью двух цилиндров и ленты из бумаги. К сожалению, и тот, и другой способы достаточно продолжительные по времени. Поскольку речь идет о соревнованиях, мы не можем себе позволить тратить время там, где его тратить вовсе не обязательно. Я опишу третий способ: быстрое решение с помощью онлайн-сервиса.
Вам наверняка известно, что шифр, который дан – это модифицированный вариант скиталы, она же сцитала, она же шифр Древней Спарты, достаточно эффективный для своего времени шифр. Насколько мне известно, первым работу скиталы описал Плутарх. Разумеется, изобретателем этого шифра философ не является.
В отличие от оригинальной скиталы в "ватсоновском" варианте используется два шифровальных цилиндра вместо одного, а также добавлена пара других усложнений. Однако схема решения остается прежней: нужно найти ключ. В оригинальной скитале ключом выступают длина и диаметр цилиндра. В данном случае ключ – это количеств букв на виток.
Мы воспользуемся замечательным сеpвиcом dCode. В поиске находим Scytale Cipher, вставляем шифртекст в соответствующее поле, просим сохранить пунктуацию (Keep punctuation and spaces), выбираем опцию Try all possible sizes, другими словами запускаем брутфорс-атаку и... видим, что у нас ничего не вышло: все еще нечитаемый текст. Почему так? Потому что мы не указали ключ – количество букв на виток, за это отвечает опция Number of letters per turn of band.
Я предвижу вопрос: "Максим, но как узнать длину ключа?". Есть много способов, я назову самый очевидный: перебор всех возможных вариантов – всех возможных длин. Перебор займет не больше пяти минут, потому что длина ключа – 32 буквы на виток. Результат можно наблюдать на скриншоте.
Хочу отметить, что в картотекe, которую мы расшифровали, будет присутствовать не один флаг, а несколько. Правильный флаг начинается с "tctf{Cr1...". Строки разбиты, но продолжение флага долго искать не придется.
"Глухой видеофон" от @Max_RSC
Открываем hex-редактор, изучаем картинку. Отсутствие маркера FF D9 в конце файла позволяет нам понять, что в картинке может быть спрятан другой файл.
Продолжаем изучение, например с помощью утилиты strings. Hаходим сигнатуру "....ftypisom" – это однозначно говорит о том, что в картинке спрятан файл формата mp4. Нам осталось лишь извлечь этот файл из картинки. Для этого я написал скрипт на Питоне: в цикле for последовательно перебираются байты картинки до тех пор, пока не найдется сигнатура 0000001с6674797069736f ("....ftypisom" в hex-нотации), сразу после этого все в том же цикле создается файл result.mp4, куда записываются байты, начиная с сигнатуры. Здесь важно убедиться, что скрипт корректно обрабатывает байты и не пропускает важные данные. Последним шагом в скрипте выполняется операция from hex.
Теперь запускаем result.mp4 как видеоролик любым просмотрщиком – в видеоролике и будет находиться флаг.
#crypto #stegano #TinkoffCTF2024
"Элементарно, Ватсон!" от @Max_RSC
Я выделяю два основных способа решить "Ватсона": посредством программирования и классическим методом с помощью двух цилиндров и ленты из бумаги. К сожалению, и тот, и другой способы достаточно продолжительные по времени. Поскольку речь идет о соревнованиях, мы не можем себе позволить тратить время там, где его тратить вовсе не обязательно. Я опишу третий способ: быстрое решение с помощью онлайн-сервиса.
Вам наверняка известно, что шифр, который дан – это модифицированный вариант скиталы, она же сцитала, она же шифр Древней Спарты, достаточно эффективный для своего времени шифр. Насколько мне известно, первым работу скиталы описал Плутарх. Разумеется, изобретателем этого шифра философ не является.
В отличие от оригинальной скиталы в "ватсоновском" варианте используется два шифровальных цилиндра вместо одного, а также добавлена пара других усложнений. Однако схема решения остается прежней: нужно найти ключ. В оригинальной скитале ключом выступают длина и диаметр цилиндра. В данном случае ключ – это количеств букв на виток.
Мы воспользуемся замечательным сеpвиcом dCode. В поиске находим Scytale Cipher, вставляем шифртекст в соответствующее поле, просим сохранить пунктуацию (Keep punctuation and spaces), выбираем опцию Try all possible sizes, другими словами запускаем брутфорс-атаку и... видим, что у нас ничего не вышло: все еще нечитаемый текст. Почему так? Потому что мы не указали ключ – количество букв на виток, за это отвечает опция Number of letters per turn of band.
Я предвижу вопрос: "Максим, но как узнать длину ключа?". Есть много способов, я назову самый очевидный: перебор всех возможных вариантов – всех возможных длин. Перебор займет не больше пяти минут, потому что длина ключа – 32 буквы на виток. Результат можно наблюдать на скриншоте.
Хочу отметить, что в картотекe, которую мы расшифровали, будет присутствовать не один флаг, а несколько. Правильный флаг начинается с "tctf{Cr1...". Строки разбиты, но продолжение флага долго искать не придется.
"Глухой видеофон" от @Max_RSC
Открываем hex-редактор, изучаем картинку. Отсутствие маркера FF D9 в конце файла позволяет нам понять, что в картинке может быть спрятан другой файл.
Продолжаем изучение, например с помощью утилиты strings. Hаходим сигнатуру "....ftypisom" – это однозначно говорит о том, что в картинке спрятан файл формата mp4. Нам осталось лишь извлечь этот файл из картинки. Для этого я написал скрипт на Питоне: в цикле for последовательно перебираются байты картинки до тех пор, пока не найдется сигнатура 0000001с6674797069736f ("....ftypisom" в hex-нотации), сразу после этого все в том же цикле создается файл result.mp4, куда записываются байты, начиная с сигнатуры. Здесь важно убедиться, что скрипт корректно обрабатывает байты и не пропускает важные данные. Последним шагом в скрипте выполняется операция from hex.
Теперь запускаем result.mp4 как видеоролик любым просмотрщиком – в видеоролике и будет находиться флаг.
#crypto #stegano #TinkoffCTF2024
❤10👍1🔥1