Эта игра была очень интересной! Я играл со своей командой серверов Discord, основанной на канале, который вырос из моего канала YouTube. Присоединяйтесь к нам на следующий конкурс, это отличная семья! Https://discord.gg/fwdTp3J https://youtube.com/johnhammond010

Мы боролись за место в топ-10 большую часть игры, но в итоге упали и заняли 17-е место. Все еще не так уж плохо!

Https://www.hackerrank.com/contests/codefest-ctf-18/leaderboard/1

Халява

Это просто. Присоединяйтесь к Slack channel, чтобы получить флаг.

Это был типичный приветственный флаг, ведущий игрока в канал поддержки. Команда Slack находится по адресу https://codefest-ctf-18.slack.com, и как только вы присоединитесь, вы увидите прикрепленный флаг на канале #general.

Флаг: CodefestCTF{Phr33B13$ R L0\/3}

Мастер набора текста

Если вы думаете, что это внутри вас, подключитесь сейчас к 34.216.132.109 9093 и докажите свой характер.

Вам будет предложено простое задание на набор текста, которое предназначено для проверки вашей скорости набора текста.

Например, Можете ли вы ввести «Z» 10 раз, а затем 6 раз «u», а затем сумму их значений ASCII?

Эта задача выглядит почти идентично той, которую ForAllSecure выпустила ранее на своей платформе HackCenter.

Уловка в том, что когда вы подключаетесь к службе, запускаются часы, и если вы попытаетесь ввести подсказанные буквы вручную, у вас буквально не будет достаточно времени - служба отключится и ваше соединение загрузится. Итак, вы должны автоматизировать соединение.

Это нормально для модуля pwntools, и Regex или какой-нибудь простой парсинг текста может получить запрошенные буквы. Вот мой сценарий:

Флаг CodefestCTF{1_s33_y0u_4r3_a_m4n_0f_sp33d}

Печенье удачи

H4k3r слышал, что за этим веб-сайтом скрывается секрет, но не знает, как получить к нему доступ. Вы можете ему помочь?

Это довольно простая и глупая веб-задача, но ее легко упустить из виду. Если вы посмотрите на веб-страницу, вы увидите, что там практически ничего нет - и ничего интересного в источнике тоже.

Что вы можете сделать, так это открыть Инструменты разработчика своего веб-браузера (Ctrl + Shift + K в Firefox и Ctrl + Shift + J в Chrome). Если вы проверите вкладку «Сеть» перед загрузкой страницы, вы сможете еще немного изучить запрос.

Если вы посмотрите заголовки запроса, вы увидите Set-Cookie: Who are you?=Me… но срок его действия уже истек.

Таким образом, вы можете использовать что-нибудь, чтобы установить значение cookie, Who are you? на значение admin, и флаг выскочит. Вот мой скрипт get_flag:

Просто и легко, флаг: CodefestCTF{f0r7Un4B1sC0TtO}

Web BooK

Ожидается, что для прохождения курса необходимо завершить чтение книги / романа, но умные студенты избегают чтения всей книги, просматривая только краткое содержание.
Сантош (их преподаватель курса) придумывает новую идею, он создает волшебную книгу (вы можете перейти только на следующую страницу, то есть: вы не можете перейти на следующую страницу, не прочитав предыдущую, и так далее. , и начинать можно только с самого начала).
Известно, что флаг спрятан где-то в книге, поэтому единственный способ пройти курс - прочитать всю книгу, найти флаг. В книге 1000 страниц, так что лучше поторопитесь. И если вам повезет, вы даже можете найти ключ на самой первой странице. Ссылка на Web_BooK

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

Я сделал это с помощью регулярных выражений, извините - я уверен, что большинство пуристов будут кричать на меня за то, что я не использую что-то вроде Beautiful Soup.

Вызов вызвал много шума и сбил с толку некоторых людей, потому что флаг не был дан в обычном формате: и он был немного спрятан в одном из последних запросов (998 страниц). Это не самый чистый код, но вот мой сценарий:

Вам нужно будет поместить это в правильный формат флага и интерпретировать закодированный HTML-символ как буквальный и амперсанд.

Флаг: CodefestCTF{bAs!c_ScripTing&isn!t(it)}

В доступе отказано?

Школьный ИТ-персонал управляет доступом к защищенным файлам с помощью кода доступа. Вам необходимо указать свое имя и код доступа, и программа выдаст секретную информацию.

Он проверяет, есть ли у вас уже код доступа, генерирует новый случайный код вместе с новым идентификатором пользователя, назначенным пользователю, если этот пользователь не найден локально в системе. Известно, что коды доступа имеют случайный срок действия (не знаю, что происходит в их головах!), Поэтому не удивляйтесь, если вы сгенерировали код доступа всего несколько секунд назад, а в следующий раз тот же код доступа не сработает. .

Джонни решил зайти в ИТ-комнату и скопировать программу на свой флеш-накопитель. Вы можете найти это здесь".

Сможете ли вы получить секретную информацию из программы? Служба работает на 34.216.132.109 на порту 9094.

Ограничения

Идентификатор пользователя / UID будет положительным целым числом.

По сути, эта задача требует от нас воспользоваться преимуществами ГПСЧ. Нам дается постоянное начальное число, поэтому мы можем определить неизвестные. Ознакомьтесь с исходным кодом:

Таким образом, служба запрашивает две вещи: имя пользователя и код доступа.

Имя пользователя используется для определения начальной переменной count. Если мы будем указывать одно и то же имя пользователя каждый раз при тестировании, в конечном итоге переменная count будет вычислять одно и то же значение. Это нормально работает.

Переменная count_ - единственное, что мы точно не знаем, каким может быть это значение. НО это мод 1000… так что это может быть только 0–999 возможных вещей. Мы можем так легко перебрать.

Поскольку code генерируется из случайных значений ... но мы знаем начальное значение, мы можем определить каждое code значение на основе нашей протестированной count_ переменной.

К счастью, эта служба позволит нам продолжать пробовать коды доступа без необходимости повторного подключения к службе - так что наш сценарий грубой силы может работать быстро ... вам просто нужно убедиться, что вы синхронизировали ГПСЧ с расчетами исходного исходного кода. Благодарим VicFrank на сервере Discord за обнаружение всех этих ошибок в моем коде.

Вот мой сценарий: (как обычно, это быстрый и грязный CTF-код. Извините!)

Флаг: CodefestCTF{1_s33_y0u_4r3_a_m4n_0f_r4nd0mn3ss}

Призрачный протокол

Алиса заблокировала флаг за сервером, который следует протоколу аутентификации, приведенному здесь - › ССЫЛКА на код
nc 34.216.132.109 9092

Нам дают исходный код:

Это служба подписи, в которой используется значение nonce. Благодарим sarunint на сервере Discord, потому что он действительно раскрыл здесь трюк.

Ничто не мешает нам дважды подключиться к сервису и повторно использовать значение nonce. Если вы создаете два сеанса, вы можете взять val, полученный от первого подключения, и использовать его как nonce для второго подключения. Затем вы можете взять значение encrypted из второго соединения и вернуть его первому…. он выскочит флаг!

Флаг: CodefestCTF{#muetuAl%authentiKati0n@}

Это магия

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

В этом задании нам дается файл для загрузки с метким названием filename.extension. Команда file сообщает нам, что это просто данные ... поэтому я открыл ее в шестнадцатеричном редакторе.

Похоже, что это обязательно должен быть файл изображения, основанный на ICC_PROFILE и других строках, которые, похоже, там есть. Я размышлял о том, были ли байты в этом файле «повернуты» или переведены в любом случае (какой-то шифр Цезаря для «кодирования» файла)… но моя команда на сервере Discord спасла меня здесь.

Поддержка Lattice на сервере Discord, который протолкнул мне этот ресурс:
https://online.officerecovery.com/pixrecovery/

Я видел этот инструмент раньше, но не подумал использовать его (и, надо признать, у меня его еще нет в моем ctf-katan репозитории: https://github.com/JohnHammond/ctf-katana)

Флаг: CodefestCTF{mAgic_byTes}

гром

Жоао загружал секрет из Интернета, когда его поразил гром, который разнес его на части. Помогите Жуану раскрыть секрет.
Файл захваченного пакета
- thunder.pcap

Я открыл PCAP в Wireshark, но все файлы и пакеты вышли из строя (как указано в запросе).

Я воспользовался низко висящим плодом инструмента tcpflow, чтобы попытаться восстановить файлы ... и у него это получилось нелегко, но он продемонстрировал HTTP GET flag.jpg запрос, и я мог видеть ответ по частям.

К счастью, прежде чем я слишком углубился в попытки написать скрипт вместе из двоичных частей, я подумал, что попробую несколько простых инструментов криминалистики. binwalk мог видеть JPG в файле PCAP ... и foremost смог его вырезать.

Посредственное качество, но достаточно, чтобы увидеть флаг: CodefestCTF{AP_is_amazing}

Полиглот

Чету пишет код со странными пробелами, и никто не знает почему. Он использует свой собственный интерпретатор Си, который, вероятно, единственное, что может справиться с его абсурдным кодом. Он настаивает на том, что так будет безопаснее. Поскольку ему никто никогда не верил, он продемонстрировал свою технику на этом уязвимом коде.
Можешь достать флаг?

Вся поддержка моей команде на сервере Discord в этом испытании. Честно говоря, я загрузил файлы, а затем поставил задачу посмотреть ее позже (но забыл начать, пока кто-то на сервере не сказал мне, что они ее решили). Еще раз спасибо sarunint, спасибо за то, что вы отличный командный игрок.

Обратите внимание, что в данном исходном коде отступы между пробелами состоят из разных символов пробела и символов табуляции.

Это довольно классическая техника стеганографии. Мы можем извлечь пробелы, рассматривать их как единицы и нули (двоичные), преобразовать в шестнадцатеричные, а затем в символы ASCII.

В данном случае это делается построчно. Первоначально я извлекал пробелы с помощью Find & Replace with Sublime Text (regex magic: \s*), но вы могли полностью сделать это только с помощью кода Python, который вы используете для объединения строк. Цифры, которые на самом деле находятся в диапазоне ASCII, являются ценными: строка перевернута, так что переверните ее и найдите свой флаг.

Флаг: CodefestCTF{sP4c3S AnD\tAb5}

Привет, СПАСИБО!

Это мой первый пост на Medium, в котором я делюсь рецензиями. Я надеюсь сделать несколько видео-обзоров на моем канале YouTube и для них. Присоединяйтесь к нам в Discord и присоединяйтесь к вечеринке, мы всегда готовы объединиться для CTF!