CTF. Курс молодого бойца. Начальные задания категории Crypto #2.

CTF. Курс молодого бойца. Начальные задания категории Crypto #2.

https://t.me/hacker_sanctuary

Данный пост будет носить практический характер. В нём мы рассмотрим задания начального уровня в категории Crypto. Данные задания часто встречаются в простых CTF'ах и иногда, как разминочные, в более крупных.

Задания будут взяты с известного сайта с различными задачами (CTF и не только) - https://www.root-me.org/

Будем решать задачи из категории: Cryptanalysis

Прямая ссылка: https://www.root-me.org/en/Challenges/Cryptanalysis/

Предыдущие задания из данной категории вы можете найти на канале.

Часть 1 - https://telegra.ph/CTF-Kurs-molodogo-bojca-Nachalnye-zadaniya-kategorii-Crypto-08-19

Ссылка на пост - https://t.me/hacker_sanctuary/93

Пример 1.

Решим задание "Hash - SHA-2". Исходя из названия речь пойдёт об алгоритме хеширования SHA2 или SHA256 (это два разных названия одного и того же алгоритма).

Прямая ссылка на задание - https://www.root-me.org/en/Challenges/Cryptanalysis/Hash-SHA-2.

Прочтём описание.

Нам дан хеш (полученный по алгоритму SHA2), однако в нём есть символы, которые не должны содержатся в хеше (символы хеша это цифры от 0 до 9 и буквы от a до f, так как чаще всего для представления хеша используется 16-ричная система счисления). Ещё нам сказано, что ответ это SHA1 хеш от пароля.

Скопируем строку, которую нам дают в задании и отчистим её от неверных символов.

Есть всего один лишний символ (буква "k") уберём её и получим строку 16ричных чисел длиной в 64 символа (формат SHA256 хеша). Воспользуемся онлайн сервисами для поиска данного хеша в базах.

Хороший сервис предоставляет сайт https://crackstation.net/

Получаем пароль "4dM1n". Теперь нужно взять от него SHA1 хеш. Можно использовать онлайн сервисы или python.

Получаем хеш a7c9d5a37201c08c5b7b156173bea5ec2063edf9, который и является ответом на задание.

Данное задание акцентирует внимание на такой теме как хеширование, формат хешей и известные алгоритмы хеширования.

Пример 2.

Следующее задание, которые будем решать называется "Shift cipher". Судя по названию речь пойдёт об шифре сдвига.

Прямая ссылка на задание - https://www.root-me.org/en/Challenges/Cryptanalysis/Shift-cipher

Начинаем задание и получаем некоторый файл с именем "ch7.bin", откроем его в hex-редакторе.

Немного взглянем на него и подумаем. Шифр сдвига - это по сути шифр Цезаря, однако в шифре Цезаря ключ сдвига не должен превышать размер алфавита. В конце файла мы видим некоторые значения, которые не отображаются в ASCII-символы. Данный факт может натолкнуть на мысль, что здесь не просто шифр цезаря. Давайте попробуем перебирать различные ключи, например от 0 до 100. Для этого используем python.

Нам повезло и мы почти сразу получили пароль.

Заключение.

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

Report Page