Эта рецензия не является выигрышной, но я постараюсь охватить как можно больше проблем, которые мне удалось решить. Этот CTF был организован sec.army при финансовой поддержке ХРИСТА (ПРЕДНАЗНАЧЕННЫЙ УНИВЕРСИТЕТОМ).
Кроме того, это были мои первые соревнования CTF.
Начнем с самого первого испытания.
Задача: B1n_Bas1c
В этой задаче нам дали zip-файл, чтобы извлечь из него флаг. В zip-файле мы обнаружили flag.txt, содержащий некоторый двоичный код.
После преобразования двоичного кода в ASCII я нашел свой первый флаг.
Это было довольно просто !!
Задача: смайлы
В этой задаче он просит присоединиться к каналу разногласий SecArmy, и флаг, вероятно, спрятан в разделе смайликов. Посмотрим, что мы там найдем.
поигравшись минутку, я заметил это:
Вот флаг. Скрытый в коде эмодзи Голонга. Следовательно, Go Emoji.
Задача: добро пожаловать
Переходим к третьей задаче. Там написано: «Узнай о нас и получи свой флаг». Флаг должен быть спрятан в .. Да! Вы угадали. На сайте есть одна страница о нас.
Вот оно. Флаг был скрыт белым шрифтом, но мы можем увидеть его с помощью «ctrl + a». Перевернув строку, я обнаружил флаг: secarmy {All_H @ 1L_CHR1ST}
Задача: SEC ++;
В задании уже есть строка:
SECARMY {cpp_1s_TH3_W @ Y_T0_G0}
Очевидно, это не может быть флагом, но, вероятно, будет полезно при решении задачи. Давайте скачаем zip-архив и посмотрим, что внутри.
При извлечении zip обнаружился неполный код, написанный в текстовом файле с именем sec ++. Txt.
Хм, похоже на класс и функцию c ++. Однако основной функции нет. Давайте попробуем переделать код и заставить его работать. Через некоторое время я понял, что данная строка была использована в качестве входных данных в функции, а затем она выдаст нам флаг. и вуаля
и вуаля. Это правильный флаг.
Задача: зарядитесь энергией!
Этот вызов действительно вызвал у меня головную боль. Он говорит, что в данном файле есть фрагмент сценария PowerShell, и мы должны захватить флаг. В названии испытания написано Power it Up! Так что мы и делаем именно это. Запуск его в PowerShell дает нам результат False
да. Это сам флаг: secarmy {False}
двигаться вперед по следующему вызову ..
Испытание: крылья
Итак, распаковав файл wings.zip, он дает 25 похожих изображений (крыла самолета).
Давайте воспользуемся ExifTool для проверки метаданных и надеемся, что что-то найдем.
Это интересно :)
исследуем все изображения:
После проверки нескольких ложных флагов мое внимание привлек один char @ tails , поэтому я попробовал шестнадцатеричный дамп всех изображений и заметил разницу между последней строкой всех этих изображений. изображений.
что-то заметил? Да, указанная выше подсказка char @ tails предлагает взглянуть на последний символ шестнадцатеричного значения, и он уже выглядит знакомым для флага. но создание шестнадцатеричного дампа всех 25 изображений одного за другим занимает очень много времени.
С помощью магии Lil Bash мы можем получить результат намного проще.
Просто запустите его, чтобы получить флаг.
*вздох*
Задача: СНЕГ
Следующее испытание было названо СНЕГ. Снег и снег везде. Это просто, потому что я думаю, что уже знаю, как захватить флаг для этого. В zip-архиве мы нашли текстовый файл. Флаг был скрыт в текстовом файле с помощью снежной стеганографии, также известной как стеганография Whitespace.
Используя инструмент stegsnow, мы можем легко извлечь скрытые данные из текстового файла.
флаг скрыт в кодировке base64.
Проблема: заказчик
Это был веб-вызов. Мне предоставили URL-адрес, который выглядит как
В нем говорится: Принесите «заказ» на 100 файлов cookie и получите флажок. Это определенно связано с файлами cookie. Давайте посмотрим..
Поскольку он просит сделать заказ, давайте сделаем это.
Я изменил файлы cookie «Имя: порядок» и «значение: 100», обновил страницу и обнаружил флаг.
Задача: классическая панель пользователя
Еще одна проблема в сети. Данная ссылка направляет нас на эту веб-страницу.
Веб-страница просила меня сказать себе «привет». Так я и сделал.
‹script› alert («привет») ‹/script›
А вот и флаг.
Задача: E-Digger
Это однострочный. Просто найдите SPF с помощью nslookup, и вы найдете свой флаг. secarmy {$ pf_r3c0rd $ _ @ 1n7_b0r1ng_r1gh7?}
Challange: Alien
В текстовом файле есть то, что кажется мусорным текстом, но на самом деле это код, написанный на Malbolge, который является эзотерическим языком программирования
, спроектированным так, чтобы его было как можно сложнее программировать. Так оно и есть :-)
Посмотри!
Но если вы попытаетесь скомпилировать этот код, вы получите ошибку Неверный синтаксис !!
Не сердитесь на меня, это правильный флаг: secarmy {Неверный синтаксис !!}
Задача: T @ P
В следующем задании у нас есть застежка-молния. Попробуем разархивировать и посмотреть, что внутри.
Это то, что похоже на азбуку Морзе, но на самом деле это код касания. Очень похоже на Морзе. После расшифровки любым онлайн-декодером получаем флаг.
Задача: Unit3d_C0d3
В zip-файле есть один flag.txt, содержащий
как следует из названия, это текст в Юникоде. Используйте любой онлайн-декодер, чтобы решить эту задачу и получить флаг: secarmy {I_l0ve _Unic0de}
Задача: старая школа
Распаковывая файл, мы получаем flag.txt, который содержит некоторый двоичный код.
преобразовав его в ASCII, мы получим base64.
Расшифровывая base64, мы получаем несколько десятичных знаков ...
преобразовывая эти десятичные числа обратно в ASCII, мы получаем наш флаг:
secarmy {двойные алгоритмы}
Задача: N00b_R3v
В этой задаче был задан двоичный файл, и простой запрос строк только что выявил флаг в виде открытого текста.
На поиск флага не потребовалось много времени.
Задача: UnderTheMines
Чтобы решить эту задачу, вы должны хорошо разбираться в классической игре про саперов, потому что ...
Выиграйте игру, и флаг ваш: secarmy {th3_cl @ 551c_m1n3sw33per}
Задача: ENCRYPTO X
Решение этой задачи уже было дано в описании. Когда программа спрашивает вас «Чего вы хотите?», вы должны продолжать вводить ей клавиши ENCODE и DECODE, как я, пока она не покажет полный флаг, который:
secarmy {encodebits}
Задача: DecodeM3
В этой задаче это был файл decode.wav, который по сути представлял собой азбуку Морзе.
Итак, я пошел к этому онлайн-декодеру и расшифровал флаг из файла.
Задача: нырять глубже!
На решение этой задачи потребовалось больше всего времени. И да, как говорится в описании: «Вы должны хорошо разбираться в криминалистике, чтобы добиться от этого флага».
Для загрузки была ссылка на файл ova, по которой нам нужно было найти настоящий флаг. Я поделюсь отрывком из всего процесса в видео ниже.
Это была машина ubuntu с паролем root: toor, который легко угадать.
› Я обнаружил 3 файла после входа в систему. Readme, flag.jpg, flag.txt. Ни один из них не был настоящими флагами. Фактический флаг был спрятан внутри потерянных файлов раздела.
› Мне действительно удалось восстановить файл flag.zip с помощью инструмента testdisk.
› Паролем для zip-файла был пароль. Распаковав flag.zip, я обнаружил один flag.jpg
› Теперь flag.jpg казался поврежденным, поэтому я попытался проверить содержимое с помощью hexeditor. Изменение волшебных битов для исправления формата JFIF (ff d8) Файл восстановлен.
› при открытии flag.jpg отображается другой флаг, но он тоже ложный.
› Настоящий флаг скрыт на самом изображении с помощью стегида.
продолжение следует…