# NOCTF138 Write-ups ### 1. Шутники #### Задание: > У нас принято шутить над коллегами, и менять буквы в их письмах директору нашего, если можно так сказать, предприятия. Теперь ваша очередь) > Ответ обернуть в NOCTF138{flag} > > <code>Хкцкзкйошк чсфзф щуоэшфмкуок з еуйкрч хкцкзфйэорк</code> #### Решение: 1. Перед нами непонятный набор символов, выглядят как слова, но буквы в них перемешаны. Непонятно, используем /hint > Один из вопросов на собеседовании в наше 'предприятие': Любите ли вы салат Цезарь? И если да, то насколько вы оцените его вкус от 1 до 33. Если собеседник отвечает в районе 27-28, он получает моментальный проход. 2. Всматриваемся в цифры, ага 33 - столько букв в русском алфавите. 3. Замечаем "Салат Цезарь" - единственный шифр который ассоциируется с Цезарем это шифр Цезаря, или по умному ROT13 4. Гуглим "шифр цезаря для русского алфавита", выпадает [сайт](https://planetcalc.ru/1434/) 5. Вставляем туда наш текст 6. Из подсказки мы знаем еще два числа - 27 и 28, в первую очередь проверяем именно их. 7. Под номером 27 видим осознанный текст ![](https://i.imgur.com/x2i24jR.png) 8. Слово уничтожение в переводчике переводится как destruction **FLAG: NOCTF138{destruction}** ### 2. Реальная база #### Задание: > 'Это база', 'базу выдал'. Достали. > > <code>Tk9DVEYxMzh7YmFzZV9jaXBoZXJfaXNfYmFzZWRfZm9yX3N1cmV9</code> #### Решение: Опытные игроки в CTF на глаз определяют base64, но мы пойдем путем обычного человека. 1. Перед нами текст из букв английского алфавита и чисел. Что сразу делать с ним непонятно. Используем /hint > Как вы помните по предыдущему заданию, мы очень любим **переводчики**) Как-то раз, один из наших придумал шифр, который получается, если **64** раза перевести одно и тоже слово на разные языки. 2. Переводчики и 64 - довольно странно. 3. Догадываемся перевести слово "база" на английский - base 4. Склеиваем base и 64 -> base64 5. Гуглим "base64 decoder" 6. Вставляем наш текст на любом сайте ([на этом например](https://www.base64decode.org/)) **FLAG: NOCTF138{base_cipher_is_based_for_sure}** ### 3. Найдем эту св..... #### Задание: > Прибегает ко мне стажер с криком: > -- ДА ОН! ОН! Вы знаете что он сделал?! Он мой скин из кски украл... > И начинает рыдать. Да уж, неожидал я такого среди таких 'умных' людей. Что ж, давайте попробуем его найти. Наши союзники в интернет-пространстве сказали нам, что в последнее время один из про игроков очень сильно злоупотребляет своей популярностью, но нам подтвердили, что найти его будет довольно <b>просто</b>, что даже школьник справится. Давайте-ка это и узнаем) > > Найдите ник и оберните его в NOCTF138{flag} #### Решение: Задание было расчитано на поиск информации в Интернете (OSINT - Open-Source Intelligence) 1. Нам нужно найти про игрока, у которого ник оссациируется с простотой 2. По запросу "про игрок простота" ничего похожего на ответ нет 3. Используем /hint > Переводчики))))) 2. Замечательно, значит слово "просто" надо перевести на английский -> simply. 3. Гуглим "simply про игрок" ![](https://i.imgur.com/jBjrmZ9.png) 4. Оборачиваем в формат флага **FLAG: NOCTF138{s1mple}** ### 4. Ага, попался! #### Задание: > Однажды, зайдя в одно из помещений нашего офиса, я увидел, как коллега пишет цифры на листочке, запаковывает их в конверт. Пройдя мимо него, он сказал: > > --Подожди, не поможешь мне отправить это письмо? > > Я конечно же согласился. Это конечно не хорошо, но открыв письмо я увидел вот это... > ><code>01001110 01001111 01000011 01010100 01000110 00110001 00110011 00111000 01111011 01110011 00110011 01100011 01110010 00110011 01110100 01011111 01101100 00110000 01110110 01100101 01011111 01100011 00110001 01110000 01101000 00110011 01110010 01111101</code> #### Решение: 1. Замечаем что шифротекст состоит только из 0 и 1 2. Предполагаем что это бинарное представление кодов букв 3. Гуглим "двоичный код в буквы", "binary to text", находим сайт ([например этот](https://decodeit.ru/binary)) 4. Вставляем текст. ![](https://i.imgur.com/qNQOigl.png) **FLAG: NOCTF138{s3cr3t_l0ve_c1ph3r}** ### 5. Cумасшедший #### Задание: > Есть у нас один в офисе, скажем так, гений с мозгами набекрень. Приходит на место, и начинает свое: > > <b>Пройденный путь и есть награда. Пройденный путь и есть награда</b> > >Как сатанист какой-то. Попытайтесь его найти) > >Ответ оберните в NOCTF138{flag}, заменив все пробелы на нижние подчеркивания. #### Решение: Опять задание на поиск в Интернете 1. В задании выделена строчка "Пройденный путь и есть награда". Фраза выглядит довольно странно, похоже на цитату 2. Пробуем ее загуглить. ![](https://i.imgur.com/LnYZE6M.png) 4. Замечательно, переводим имя и фамилию и сдаем ответ **FLAG: NOCTF138{Steve_Jobs}** ### 6. Раскрытие противника #### Задание: > До того как все это затеять, на нас регулярно нападал один из наших интернет-противников, но в последний раз, они забыли почистить следы, и мы нашли довольно странную строчку в памяти машины, которую они взломали > > <code>39.548937, 116.339907</code> > > Найдите район местности и оберните его в NOCTF138{flag} #### Решение: 1. Если вы часто сидели и искали что-нибудь интересное на Картах Яндекса и Гугла, то с первого взгляда понятно, что это координаты. В крайнем случае, всегда можно вбить эту строчку в гугл. 2. Заходим на Google Maps 3. Вставляем координаты ![](https://i.imgur.com/Xjw5Gu4.png) 4. Видим подпись "Дасин, Пекин, Китай". 5. Сопоставляя, понятно что Китай это страна, Пекин - город, остается Дасин - район. 6. Переводим Дасин на английский - Daxing 7. Оборачиваем во флаг. **FLAG: NOCTF138{Daxing}** ### 7. Что это?! #### Задание: > Рассказывает наш сотрудник: > Когда я пришел в офис, сел, начал пить свой кофеек, прибегает ко мне стажер, с ошарашенными глазами, и кричит: > > -- Pika, pika! > > Я ему: > -- Чумба, ты что, совсем... > > Не успеваю я договорить, как он протягивает мне листок, на котором написано > > <code>pi pi pi pi pi pi pi pi pi pi pika pipi pi pipi pi pi pi pipi pi pi pi pi pi pi pi pipi pi pi pi pi pi pi pi pi pi pi pichu pichu pichu pichu ka chu pipi pipi pipi pi pi pi pi pi pi pi pi pikachu pi pikachu ka ka ka ka ka ka ka ka ka ka ka ka pikachu pipi ka ka ka ka ka ka ka ka ka ka ka ka ka ka ka ka pikachu pichu pi pi pi pikachu pichu pi pi pi pi pi pi pi pi pi pi pi pi pi pi pi pi pi pi pi pikachu pi pi pikachu pi pi pi pi pi pikachu pipi pipi pi pi pi pi pi pi pi pi pi pi pi pi pi pi pi pi pi pi pi pi pi pi pi pi pi pi pi pi pi pi pi pi pi pi pi pi pi pi pi pikachu ka ka ka ka ka ka ka ka ka ka ka pikachu pichu pichu ka ka ka ka ka ka ka ka pikachu pipi pipi ka ka ka ka ka pikachu pichu pichu pi pi pi pikachu pipi pipi pi pi pikachu pichu pichu ka ka ka pikachu pipi pipi pi pikachu pi pi pi pi pi pikachu ka ka ka ka ka ka ka ka ka ka ka ka ka ka ka ka ka ka ka ka pikachu pi pi pi pi pikachu ka ka pikachu pichu pi pi pi pi pi pi pi pi pikachu pipi ka ka pikachu pi pi pi pikachu pichu pichu pi pi pi pikachu pipi pipi ka ka ka pikachu pi pi pi pi pikachu pi pi pi pi pi pi pikachu pi pi pi pi pi pi pi pikachu ka ka ka ka ka ka ka ka pikachu pichu pichu pikachu pipi pipi pi pi pi pi pi pi pi pi pi pi pikachu pichu pichu pikachu pipi pipi ka ka ka ka ka ka ka ka ka ka ka ka ka ka pikachu pi pi pi pi pi pi pi pi pi pi pi pi pi pi pi pi pi pi pi pi pi pi pi pi pi pikachu</code> > > Сказать что я удивился, ничего не сказать. У меня уже в глазах эти покемоны, помогите! #### Решение: 1. Да, выглядит довольно странно, ничего не скажешь. 2. Можем попробовать вбить первые 30-35 слов в поисковик. ![](https://i.imgur.com/r7Oo1lU.png) 3. Ага, видим Pikalang - изотерический язык программирования, который по своей структуре просто Brainfuck с измененными коммандами. (В подсказке тоже было о том, что шифр написал **Пика**чу и то что это больше **язык**, чем шифр) 4. Гуглим "Pikalang decoder", находим [сайт](https://www.dcode.fr/pikalang-language). 5. Вставляем текст 6. Получаем флаг ![](https://i.imgur.com/2XNE0Mb.png) **FLAG: NOCTF138{p0k3m0ns_caN_b3_ciph3r3d}** ### 8. Опять тролли #### Задание: > Тролировали, тролируют и будут тролировать. Ой, извините, ну собственно, чего удивляться, вон какой-то умник уже и для них шифр придумал. Кошмар. > > <code>ollol ollll loolo lolol lolol olllo lllll ollll lloll lollo lolll looll llloo lllll llolo olloo looll looll olool</code> > > Ответ нужно обернуть в NOCTF138{flag} #### Решение: 1. Тут без подсказки далеко не продвинутся. Погуглив "lol cipher", "troll cipher" и другие варианты результатов нет. 2. Пишем /hint > Такая запись, фактически те же самые нули и единички, которые были в прошлом задании (<b>Ага, попался!</b> по-моему), просто это заменили на 2 буквы l и o. > > <tg-spoiler>Ладно, если уж так, погугли Bacon Cipher</tg-spoiler> 4. Перепробовав разные варианты нулей и единиц, наши результаты не увенчались успехом, идем гуглить что такое "Bacon Cipher" 5. Находим [сайт](https://www.dcode.fr/bacon-cipher) 6. Вставляем текст ![](https://i.imgur.com/WawKlrg.png) **FLAG: NOCTF138{TROLLSAREKINDAFUNNY}** ### 9. Информатика и любовь #### Задание: > Cидим мы как-то на лекции в переговорной, и один из нас (заядлый социнженер) задвинул речь: > > -- <b>Любовь</b> - ключ ко всему. С помощью <b>любви</b> можно ломать любые шифры, фаерволлы и преграды. <b>Любовь</b> - ключ ко всему. > > Красиво говорил, правда из-за срыва лекции его перевели в другой отдел, но как-нибудь в другой раз. Пройдя мимо его бывшего места, я увидел это.1 > > <code>@AMZH?=6uva|Qca}zQ\~ayk|h{bQmg~fk|s</code> #### Решение: **FLAG: NOCTF138{xor_most_powerful_cipher}** ### 10. Загадка Павла Дурова. На размышление 12 лет #### Задание: > Разговор за обедом: > > --А ты знаешь Павла Дурова? > --Знаю. > --А если знаешь, то скорее всего знаешь, какое у него хобби и интерес, не так ли? > > Разговор закончился...... > Переведите ответ на английский, замените пробел на нижнее подчеркивание и оберните в NOCTF138{flag} #### Решение: Что ж, зная структура странице ВКонтакте можно понять, что нам именно туда. Но сейчас, на данный момент, у Павла не стоит хобби в профиле. Нам нужно как то вернуться назад. 1. Открываем WaybackMachine WebArchive (сайт на котором создаются слепки всех сайтов в Интернете) 2. Ищем по запросу https://vk.com/durov или https://vk.com/id1 3. Ищем записи за 2011 год (т. к. Загадка на **12** лет, 2023 - 12 = 2011) ![](https://i.imgur.com/YWCblpX.png) 4. Кликаем на 2011 год и видим неплохое количество слепка страницы Павла Дурова ![](https://i.imgur.com/U4lPYe4.png) 5. Кликнув на любую(практически) дату, можно найти старую страницу Павлаб на которой у него указан интерес - рисование линий. ![](https://i.imgur.com/nSHhCpY.png) 6. Переводим рисование линий - line drawing **FLAG: NOCTF138{line_drawing}** На этом все, спасибо всем кто играл в мою игру)