Поиск

понедельник, 25 марта 2019 г.

NeoQUEST 2019 Reverse Task 10: «Не бей, Одиссей»

В марте 2019 года компания НеоБИТ устроила свой ежегодный онлайн конкурс NeoQUEST 2019, организованный перед оффлайн-мероприятием "Очная ставка" NeoQUEST. Зарегистрироваться на этот конкурс мог любой желающий, что и сделало около 1000(!) человек (по счётчику на сайте)
В конкурсе было 10 заданий, каждое из которых могло содержать от одного до двух флагов. Задания были на реверс, криптографию, web, написание эксплоитов, обход CFG и были представлены на красивой древней карте.
Каждый сданный флаг приносил первому сдавшему участнику около N очков (N = около 100, в зависимости от сложности и количества флагов в задании), а каждому следующему, сдавшему флаг, доставалось на одно очко меньше (N-i).

Задача:

«Не бей, Одиссей»


«Итак, я на финишной прямой – осталось последнее задание. На локации меня ждал воин, которого я идентифицировал как Одиссея (но это не точно!). Попытка отсканировать воина успехом не завершилась - видимо, через поднятое забрало сигнал не считывался. Тем временем предполагаемый Одиссей торжественно вручил мне меч и предложил с ним сразиться, в прямом смысле этого слова. Наивный, наверное, думает, что я ничего тяжелее ультра-легкого ноутбука и в руках не держал, и не догадывается даже, что бросает вызов парню со вторым разрядом по фехтованию. В общем, бой продлился около двух минут, после чего мне удалось изящным ударом меча открыть шлем, быстро провести сканером и так же быстро убежать. Ну их, эти древнегреческие поединки, у меня есть дела поважнее - за забралом рыцаря скрывалась целая инфраструктура сети, которая к тому же оказалась зашифрована.»
Подсказка:
В схеме сети находится 5 ПК, но информация есть только о трех - так и нужно, остальные для отвлечения внимания. Исследуйте знания о сетевом взаимодействии в сети для загрузки шифровальщика.

Первые ощущения от задания:


Что мы имеем в наличии:
- Информация о пятитрёх компьютерах (заэкспоритрованный реестр, история браузера, системная информация и зашифрованные файлы) - Информация о роутере (дамп конфигурации роутера).
PC-1
Зашифрованные файлы (1_encr.zip)
История браузера (1_places.sqlite)
Реестр (1_reg.reg)
Системная информация (1_sysinfo.txt)
PC-2
Зашифрованные файлы (2_encr.zip)
История браузера (2_places.sqlite)
Реестр (2_reg.reg)
Системная информация (2_sysinfo.txt)
PC-3
Зашифрованные файлы (3_encr.zip)
История браузера (3_places.sqlite)
Реестр (3_reg.reg)
Системная информация (3_sysinfo.txt)
Роутер
Конфиг роутера (DIR-300NRU_rev.B5_B6_2.5.12_1970.01.01.00.10.57_config_backup.tar.gz)
Итак, данных много, а что с ними делать непонятно. Начнём исследование с истории браузера.

Решение:
[Шаг 1 | Шаг 2 | Шаг 3 | Шаг 4 | Шаг 5 | Шаг 6]

пятница, 18 ноября 2016 г.

CTFzone Reverse Task 4: BRIDGE REPAIR

На конференции ZeroNights 2016 компания БИЗон устроила конкурс CTFZone, участвовать в котором мог любой желающий (не обязательно участник ZeroNights). Для победы в CTF'е необходимо было набрать как можно больше очков, решая задания разных типов и различной сложности. Всего было 5 категорий заданий:
  • REVERSE (реверс)
  • FORENSIC (криминалистика)
  • WEB (вэб)
  • OSINT (Open Source Intelligence, разведка на основе открытых источников)
  • MISC (остальные)
В каждой категории было 5 заданий разного уровня сложности, за которые можно было получить от 50pts (за самое лёгкое) до 1000pts (за самое сложное). Решение одного из заданий (reverse, 500pts) описано ниже.

Задача:

Reverse 500pts / Bridge repair


A.U.R.O.R.A.: Lieutenant, watch your step! There is a pit infested with worms down the road. There is a bridge over the pit but it’s in ruins and you can restore it only in the same way it was destroyed. I’ve got one worm in the quarantine, go for him and repair the bridge. Hurry up, we have to save our pilot!
file

Первые ощущения от задания:


Что мы имеем в наличии:
- Reverse500.exe - это консольная утилита, шифрующая по некоторому алгоритму файл
- Bridge.txt - файл, зашифрованный этой утилитой.
На первый взгляд, это задание похоже на задание ZeroNights HackQuest Task 1: ZEROCRYPT. Посмотрим, как оно на самом деле.

Решение:
[Шаг 1 | Шаг 2 | Шаг 3 | Шаг 4]

понедельник, 7 ноября 2016 г.

ZeroNights HackQuest Task 1: ZEROCRYPT

Это последняя статья из серии райтапов, в которых описывается решение задач конкурса ZeroNights HackQuest 2016 (см. решение задачи 5 и задачи 6).
В этой статье описывается решение задачи 1, с которой начинался конкурс. Мне удалось решить эту задачу вовремя, но недостаточно быстро, чтобы обогнать таких монстров реверса, как sysenter и vos ;) (в таблице победителей я тут помечен в категории "Also solved" просто как "stas.zn")

Задача:

Day 1 / ZeroCrypt


EN: Your boss catched crypto locker. Sysadmins were able to restore all files from backup - except one (which is very important for him). Your goal is to restore this file.
Warning: run this binary only under VM! We are not responsible for any loss or damage

RU: К твоему боссу на компьютер попал криптолокер. Админы смогли восстановить все его файлы из бекапов, кроме одного, очень важного для него. Воcстанови файл и помоги своему боссу (или накажи за все его грехи, ведь файл, похоже, относится к черной бухгалтерии).
Важно: запускайте бинарный файл только под виртуальной машиной! Мы не несем ответственности за любой возможный ущерб

Link: hackquest.zeronights.org/downloads/2016/1_zerocrypt.zip. Password: ZN2016
This task was prepared by RET (Reverse4you Education Team) team

Первые ощущения от задания:

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

Решение: [Шаг 1 | Шаг 2 | Шаг 3 | Шаг 4]

воскресенье, 6 ноября 2016 г.

ZeroNights HackQuest Task 6: PACKER

Продолжаю участвовать в конкурсе ZeroNights HackQuest 2016 (см. предыдущую статью).
На этот раз попалось задание, почти никак не связанное с реверсом.

Задача:

Day 6 / Packer


Hey, there is a person in Moscow who keeps his important password on his Android phone. Sounds weird, we know.
It turns out that he is using some program for managing his data called Packer
We performed MITM attack on his phone during application-to-server synchronization and got database file named `packs.db`. But it looks like important data are kept encrypted there. So get your task: decrypt the data and give us the password!

Подсказки:
06/11/2016 13:21
To solve this task it's necessary to view ENTIRE of database and manifest. Also there is a hint in the task.
06/11/2016 14:38
You should to read more about security features of Android devices and especially about implementation of certain protocols.
06/11/2016 17:11
Keygen class gives different results on the phone and on the computer. The victim ran this code on the phone with settings from build.prop
06/11/2016 18:00
Keygen.java
06/11/2016 19:11
Provider: Crypto, Android version: 4.0.3
06/11/2016 19:40
These files can help you?

Первые ощущения от задания:

Когда задание только было выложено, я глянул на него немного, посмотрел, какие данные хранятся в базе, декомпильнул APK'шку и .class-файлы онлайн-декомпилятором. И понял, что я совсем не мобильный разработчик и даже пытаться решать это не буду... Лучше отдохну после решения 5-ого задания. Но на следующий день стало понятно, что задание так никто и не решил, а организаторы выложили уже целую кучу подсказок. И я всё же решил попробовать свои силы.

Решение: [Шаг 1 | Шаг 2 | Шаг 3 | Шаг 4 | Шаг 5]

суббота, 5 ноября 2016 г.

ZeroNights HackQuest Task 5: STRONGBOX

У компании Digital Security есть замечательная традиция: перед проведением конференции ZeroNights устраивать конкурс HackQuest. И в этом году организаторы совместно с R0 Crew, School CTF и RuCTFE очередной раз порадовали новыми интересными заданиями. Решение одного из них описано ниже.

Задача:

Day 5 / StrongBox


EN: Your friend wrote an algorithm for generating licenses and asked you to test it. He promised a beer and pizza if you will find a way to crack it. Prove to him that his algorithm is no good.

RU: Твой друг по общаге написал алгоритм генерации лицензий и попросил тебя протестировать его. Взамен обещал пиво и пиццу, если у тебя получится подобрать ключ. Докажи ему, что его алгоритм никуда не годится.
Binary - StrongBox.zip 
This task was prepared by reverse4you team

Решение: [Шаг 1 | Шаг 2 | Шаг 3 | Шаг 4 | Шаг 5 | Шаг 6 | Шаг 7 | Шаг 8]