Поиск

пятница, 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]