Поиск флагов, или Как прошел седьмой Ивент

4 сентября

Надеемся, ты посмотрел седьмой Ивент и даже нашёл несколько флагов. Если есть силы поискать ещё, Ивент по-прежнему доступен по ссылке: https://pinguem.ru/event/flags/

А мы разбираем решения вместе с автором Кириллом Садченко

В этом Ивенте нет сменяющихся вопросов. Перед вами только IP-адрес и поле для ввода флагов. Порядок не важен.

Первое, что должно прийти на ум, – просканировать все открытые порты. Их всего три.

Порт 1337:

При подключении телнетом к порту получаем первый таск. Текст визуально напоминает какой-то код, но он нечитаем. Необходимо поменять для текста раскладку клавиатуры, тогда получим код на языке 1С, в котором проводятся простые операции над строками. Разобраться можно ничего не запуская, по документации. Ну или считерить и найти среду для запуска. Например, опенсорсный проект onescript.

Порт 8888:

При подключении к этому порту получаем задание про шахматы. В нём FEN-нотация шахматная. Если расставить фигуры согласно нотации и представить шахматную доску в виде 8 байт, то с помощью bin2ascii преобразования получим флаг.

Порт 85:

Это веб-сервер. На главной странице картинка с клавиатурой, у который выделено 5 клавиш и название архива. Архив лежит в корне, пароль на него подбирается легко из выделенных клавиш – xogey. Внутри два текстовых файла. В одном флаг в открытом виде как награда за подобранный пароль. У второго файла в имени даты жизни Фрэнсиса Бофорта. Соответственно, текст зашифрован шифром Бофорта. Расшифровать текст можно с помощью сайта http://www.dcode.fr/beaufort-cipher

По открытым портам прошлись, всё, что нашли, решили, но осталось ещё много ненайденных флагов. Надо продолжать поиски.

Поищем название индексного файла – в index.html наша стартовая страница, в index.php видим флаг.

При переборе индексных файлов или любых других попытках найти скрытые файлы иногда попадали на страницу 404 с картинкой робота. В картинке хранятся два флага.

Первый можно заметить и получить утилитой binwalk. В конец картинки дописан gzip-файл с флагом.

Второй флаг в картинке спрятан за счёт урезания высоты. В чанке IHDR в первых 8 байтах указана ширина и высота. Увеличиваем высоту и пересчитываем контрольную сумму с помощью утилиты pngcsum (или вручную).

Следующий шаг – проверить robots.txt. На него намекает и робот. Видим две записи про каталоги hdswelwmdsnae и baehprf-qebjffnc-ehzvg-erfh.

В первой лежат следующие файлы:

puzzle.png – просто собрать пазл и получить флаг :D

Файл qwe – png-картинка, сжатая gzip. В файле удалены сигнатурные байты, но по чанкам IDAT (и другим) легко понять, что это png. Флаг на картинке.

В music.wav два канала, в левом робовойс задом наперёд говорит, что флаг в правом канале. А сам флаг в спектрограмме правого канала.

Во вторую директорию доступ по паролю. Он спрятан в названии директории. Шифр цезаря + обратный порядок букв. Получается логин timur, пароль securno.

Файл exorcise/19292d217951.bin – eXORcise намекнёт на xor. Ключ – название файла 19292d217951.

В первом флаге содержится сигнатура bz2-архива. Если это заметить и удалить первый флаг, оставив только сигнатуру, получим bz2-архив, внутри которого второй флаг.

В каталоге password лежит файл ldap. Там два хеша одного пароля – NT и LM. Пробрутить несложно за счёт того, что LM регистронезависим и разбивается по 4 символа. Хотя пароль оказался слишком простым и можно было перебирать сразу пароль, как архиву. Пароль – 9GCh7y. С ним открываем bucket.zip и внутри видим флаг.

Bmp-картинка имеет странные размеры 226480x1. Почитав в Википедии про bmp-формат, выясняем, где указаны размеры фотографии, и подбираем нужный размер из делителей 226480.

Из 169 участников все флаги нашли пятеро:

Роман Азаренко 2017-09-01 19:50:57
Александр Берсенёв 2017-09-01 22:44:55
Дмитрий Белик 2017-09-02 11:23:08
Александра Грачёва 2017-09-02 23:44:20
Александр Елисеев 2017-09-03 04:52:40

Поздравляем победителей! :)

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

А пока готовься к новым заданиям Квеста. Опубликуем восьмое и девятое на этой неделе! :)

0 комментариев