- PVSM.RU - https://www.pvsm.ru -

[ZeroNights2016] [CTFzone] Разбор полётов за 50

[ZeroNights2016] [CTFzone] Разбор полётов за 50 - 1

Ну, что же, вот и завершился ZeroNights 2016 [1]. Хотелось бы поблагодарить организаторов данного мероприятия и всех её участников: за два дня прозвучало множество удивительных дайджестов, мы делали себе алкогольные коктейли, думали как взломать «умный дом», доказывали свой интеллект в викторинах и, разумеется, множество участников CTF попытались побороться за звания «лучших в своём деле» — одними из таких стали и мы. В связи с вышеизложенным, данный цикл статей посвятим врайтапу по CTFzone.

Спасибо организаторам [2]!
Отдельное спасибо GH0st3rs [3] за предоставленные врайтапы некоторых заданий.

FORENSIC50 — PCAP Master

A.U.R.O.R.A.: Lieutenant, how do you read me? You’ve intercepted the traffic between the command server and the pilot’s computer. Try to get the password from this traffic.

К заданию прилагался файл PCAP с дампом трафика. Запускаем Wireshark для исследования.
Ах, а вот и ключ:

[ZeroNights2016] [CTFzone] Разбор полётов за 50 - 2

MISC50 — Cypher Psycho

A.U.R.O.R.A.: Lieutenant, seems like someone left a message for you. But I can't decode it. Surely, it is the strongest cipher on the planet: dWdnYzovL2NuZmdyb3ZhLmVoL01MZEZXT0Q5

Что мы имеем: закодированная строка, предположительно Base64 — пробуем декодировать: uggc://cnfgrova.eh/MLdFWOD9. Это очень похоже на роторный шифр. Сказано — сделано (используя сайт [4]). Получаем: pastebin.ru/ZYqSJBQ9 [5]. По ссылке код азбуки Морзе:

-.-. - ..-. --.. --- -. . .---- -.. -.. ----. ----- -... ---.. ..-. ..--- -.. ----- -.. ....- ---.. ----- ----. -.... . ---.. ..... . .---- ..... ....- ..-. ---.. ..-. ..-. ----. --... --... ...--

После преобразования кода Морзе получаем флаг: ctfzone1dd90b8f2d0d48096e85e154f8ff9773

WEB50 — Make CTF Great Again

Lieutenant (You): A.U.R.O.R.A., I’m on board. I was surfing the net and I have found the old page of Captain Picard’s cousin. It seems like Donald had been absolutely normal before he took this “Trump” nickname and decided to fight for the General position against one very skilled woman engineer. Let’s see what’s in there.

К заданию прилагался адрес сайта. Заходим, видим одностраничный сайт. Посмотрев исходный код страницы понимаем, что нужно искать нечто иное. Иное? Ну тогда определенно robots.txt:

User-agent: *
Disallow: /?
Disallow: /404.html
Disallow: /about.html
Dissallow: /97c97e5a5402c5fdf461555afafafe0d/

Воу! С радостью открываем и видим в каталоге всего один файл: «verysecretfile.txt». Даже не знаю что там может быть. Неужели! Ключ: ctfzone{320bc78efe2a58175bc9d48fcbb5ca10}

OSINT50 — Snail Mail

A.U.R.O.R.A.: Lieutenant, my memory is letting me down. Do you remember the postal code of this CTF organizer's office?
Flag format is: ctfzone{POSTAL_CODE}

От нас требуется указать почтовый индекс организаторов CTF:

[ZeroNights2016] [CTFzone] Разбор полётов за 50 - 3

Ключ: ctfzone{105066}

REVERSE50 — Console Version 1.337

A.U.R.O.R.A.: Lieutenant, you are standing in the Alpha base in front of the SCI430422 mainframe art console where its sixty-four LED lights are blinking in hypnotic patterns. As you know, this system is renowned for its top-notch security measures. Only the most expert or resourceful hackers are able to break in — and you are definitely one of them.

К заданию прилагается файл reverse50.exe. Запускаем и видим окно с предложением ввести пароль. Попытки его подобрать выводят сообщение об ошибке, т.к. он не верен:

[ZeroNights2016] [CTFzone] Разбор полётов за 50 - 4

Ну-с, приступаем к реверсу! Переходим к функции, которая содержит строку о том, что пароль верен/неверен:

[ZeroNights2016] [CTFzone] Разбор полётов за 50 - 5

Что мы видим?

  • Выводится предложение ввести пароль по адресу: 00401169;
  • Затем по адресу: 0040117E — считывается введённая нами строка;
  • Далее по адресу: 0040118D — вызывается функция, в которую передаётся введённый нами пароль. Назовём её CheckPassword;
  • Если функция вернула True, то выводится поздравление.

Перейдём в функцию CheckPassword

[ZeroNights2016] [CTFzone] Разбор полётов за 50 - 6

Здесь меня первым делом заинтересовало: какие именно строки сравниваются в функции strcmp по адресу: 004010CF. Установим там брейкпоинты и запустим. После срабатывания BP, видим что в одном из регистров в стек как раз попадает наш флаг:

Флаг: ctfzone{l33t_haxx0r_is_you!!1}


  Мы будем продолжать данный цикл статей, где рассмотрим решения остальных заданий CTFzone 2016.
  Оставайтесь с нами!


Автор: hackzard

Источник [6]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/informatsionnaya-bezopasnost/212607

Ссылки в тексте:

[1] ZeroNights 2016: https://2016.zeronights.ru/

[2] организаторам: https://bi.zone/

[3] GH0st3rs: https://habrahabr.ru/users/gh0st3rs/

[4] сайт: http://www.rot13.com/

[5] pastebin.ru/ZYqSJBQ9: http://pastebin.ru/ZYqSJBQ9

[6] Источник: https://habrahabr.ru/post/315876/?utm_source=habrahabr&utm_medium=rss&utm_campaign=sandbox