Сейчас на форуме: Kybyx, user99 (+3 невидимых)

 eXeL@B —› Оффтоп —› PHD III (2013) Best Reverser
Посл.ответ Сообщение


Ранг: 527.7 (!), 381thx
Активность: 0.160.09
Статус: Участник
Победитель турнира 2010

Создано: 26 мая 2013 00:46 · Поправил: OKOB
· Личное сообщение · #1

The purpose of the contest is to demonstrate good knowledge in analysis of executable files for Microsoft Windows.
The contestants will be offered to generate a code that will successfully pass validation in a specially prepared program. The program verifies three different codes. It is possible to enter another code after successful validation of the previous one.

Tasks downloaded here. Responses should be sent by mail best2013re best2013re@phdays.com

Проходило 23-24 мая 2013, результатов не видел, но вероятно уже закончилось.
Приложение 64-бит PE на QT размером под 10 метров. Сначало попросило ДЛЛ, а потом упало с исключением. Дальше смотреть отпала охота.

PS: Посмотрел онлайн трансляцию награждения, победителя в конкурсе нет и конкурс продлен.
#BestReverser challenge at #PHDays III still unsolved. Challenge extended to 23:59:59 May 31, 2013 GMT

Интересней была задача в рамках проводимого там-же финала одноименного CTF.

--> Link <--

Опять всеми любимая ВМ (куда без нее). Написал декомпиль для 1го слоя, но оказалось, что вторым слоем фактически еще одна ВМ - машина Тьюринга. Пока не свернул =(. Самая большая сложность во внутреннем "менеджере памяти" со страницами по 16 байт и обратным следованием страниц, что не дает возможности нормально осмыслить содержимое памяти ВМ.

У кого есть интерес, свободное время и левел +++ - welcome.

-----
127.0.0.1, sweet 127.0.0.1


| Сообщение посчитали полезным: r_e, mak, neomant


Ранг: 527.7 (!), 381thx
Активность: 0.160.09
Статус: Участник
Победитель турнира 2010

Создано: 01 июня 2013 23:39
· Личное сообщение · #2

-Алана- с финала CTF добил.
Ужоснах, теперь ленту машины тьюринга могу в голове гонять.
Файл по ссылке выше скачан 10 раз. У кого какие успехи??

-----
127.0.0.1, sweet 127.0.0.1




Ранг: 590.6 (!), 408thx
Активность: 0.360.18
Статус: Модератор

Создано: 03 июня 2013 22:20
· Личное сообщение · #3

Я думаю он скачан только интереса ради. =)
А тебе респект и уважуха.

-----
старый пень





Ранг: 164.6 (ветеран), 65thx
Активность: 0.120
Статус: Участник
Волшебник

Создано: 07 июня 2013 22:21 · Поправил: neomant
· Личное сообщение · #4

Пока разбираю первый слой, пишу дизасм. На менеджер памяти можно не обращать внимания.
При желании можно пропатчить инициализацию менеджера и получим обычную плоскую модель в 64 кБ.

Дописал дизассемблер. Назначение команд с опкодами 1, 2 и 3 пока не совсем понятно. В аттаче исходник памяти виртуальной.

c114_09.06.2013_EXELAB.rU.tgz - alan.txt

Как вариант, слишком чтоб не заморачиавться можно пропатчить:
Code:
  1.  05BC 0A 20 00 00          cmpw r0, r1
  2.  05C0 98 00 05 00          jnz #5D8


На
Code:
  1.  05C0 91 00 09 00          jmp #5E8


-----
Следуй за белым кроликом





Ранг: 527.7 (!), 381thx
Активность: 0.160.09
Статус: Участник
Победитель турнира 2010

Создано: 10 июня 2013 14:00
· Личное сообщение · #5

neomant пишет:
можно пропатчить


Задание с контеста и цель не получить сообщение, а иметь номер (пароль\флаг). Так можно было бы вообще сразу на входе виртуальной машины объявить начало ленты пикода со смещением 5E8h и получить
Oh, hi, Alan! Glad to see you!

-----
127.0.0.1, sweet 127.0.0.1


| Сообщение посчитали полезным: neomant


Ранг: 164.6 (ветеран), 65thx
Активность: 0.120
Статус: Участник
Волшебник

Создано: 10 июня 2013 14:59
· Личное сообщение · #6

OKOB пишет:
Задание с контеста и цель не получить сообщение, а иметь номер (пароль\флаг).


Прекрасно это понимаю. Сворачиваю первый слой, времени уходит туева хуча.

-----
Следуй за белым кроликом





Ранг: 527.7 (!), 381thx
Активность: 0.160.09
Статус: Участник
Победитель турнира 2010

Создано: 10 июня 2013 17:59
· Личное сообщение · #7

neomant пишет:
Сворачиваю первый слой, времени уходит туева хуча


Руками что-ли? Глядя на приведенные куски, то готов декомпиль для ВМ.

Code:
  1.  05BC 0A 20 00 00          cmpw r0, r1
  2.  05C0 98 00 05 00          jnz #5D8


-----
127.0.0.1, sweet 127.0.0.1





Ранг: 164.6 (ветеран), 65thx
Активность: 0.120
Статус: Участник
Волшебник

Создано: 10 июня 2013 18:38 · Поправил: neomant
· Личное сообщение · #8

Да, ручками. Сначала помучаюсь, декомпиль потом обсудим.

Думаю, что не поняли друг друга. Есть дизассемблер пи-кода.
Декомпилирую ВМ асм в си руками. Или есть технологии типа Хекс-рейса и я о них элементарно не знаю?

0614 вызов микрокода машины Тьюринга
06C0 распаковка данных для машины
084C исполнение микрокода
09D0 упаковка данных

Визуально видно, что первая операция микрокода - это NOT.
Для остальных похоже придётся разбирать микрокод.

Пока решил повременить с разбором машины Тьюринга, пошёл другим путём.
Подаю на вход образец, снимаю выход, сопоставляю и пытаюсь угадать операцию.
Вторая (0340) - это ROR 1.
Третью (03A0) пока не опознал, но видно, что она работает с тетрадами и можно построить таблицу переходов из 16 значений.

Итак имеем:
Code:
  1. 02E0 NOT
  2. 0340 ROR 1
  3. 03A0 MAPTAB 03A0
  4. 0400 ROR 1
  5. 0460 MAPTAB 0460
  6. 04C0 ROR 1
  7. 0520 MAPTAB 0520
  8. 0580 ROR 1

Какая-то логика в заменах наблюдается, но разбирать её уже лень.
В конечном итоге результат получится тем же, а времени будет затрачено больше.
Да и таблицы замен по 16 значений, небольшие.
Осталось прокрутить оригинальное значение в обратную сторону и получим ключ.
Этим и займусь, уже завтра.

Немного смутил ROR, он не совсем обычный. Перенос происходит не в следующий байт, а в предыдущий.
В основном доволен, поимел удовольствие. Ключ постить?

-----
Следуй за белым кроликом





Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 12 июня 2013 13:43
· Личное сообщение · #9

neomant пишет:
Ключ постить?

нет




Ранг: 527.7 (!), 381thx
Активность: 0.160.09
Статус: Участник
Победитель турнира 2010

Создано: 13 июня 2013 00:25
· Личное сообщение · #10

#PHDays III #BestReverser callenge is over. Winners are:
1: @AV1ct0r,
2: @VMS11 + Litvinov Denis,
3: @cherepanov74.
Congratulations!

http://nightsite.info/blog/10431-phdays-iii-2013-best-reverser-solution.html

-----
127.0.0.1, sweet 127.0.0.1





Ранг: 681.5 (! !), 405thx
Активность: 0.420.21
Статус: Участник
ALIEN Hack Team

Создано: 13 июня 2013 16:10
· Личное сообщение · #11

Почитал запись победиля в блоге. Да... нету слов. Чувак красавец.

-----
Stuck to the plan, always think that we would stand up, never ran.





Ранг: 158.5 (ветеран), 219thx
Активность: 0.120.01
Статус: Участник

Создано: 13 июня 2013 16:44
· Личное сообщение · #12

ARCHANGEL пишет:
Да... нету слов. Чувак красавец.

Присоединяюсь!

Тут вот почитал новости с PHDays: наткнулся вот на что --> Link <--
Наибольший интерес участников вызвало задание на факторизацию RSA 512 бит. Для ее решения победителю конкурса участнику Karim из команды Bushwhackers потребовалось 190 процессорных часов CPU на 20 CPU Intel XEON по 32 потока каждый. Отметим, что Karim стал единственным, кому удалось решить данное задание.
Надо будет его попросить за пивко...

-----
One death is a tragedy, one million is a statistic.





Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 14 июня 2013 10:22
· Личное сообщение · #13

А что ты его просить-то собрался? Если тут и так был топик по бруту 512 битов рса в софте.




Ранг: 158.5 (ветеран), 219thx
Активность: 0.120.01
Статус: Участник

Создано: 14 июня 2013 19:34
· Личное сообщение · #14

Archer пишет:
Если тут и так был топик по бруту 512 битов рса в софте.

Я и не спорю, что был топик ) Помню...
Единственное, что запамятовал, так это время факторизации.... 190 часов - приемлимо...

-----
One death is a tragedy, one million is a statistic.



 eXeL@B —› Оффтоп —› PHD III (2013) Best Reverser

У вас должно быть 20 пунктов ранга, чтобы оставлять сообщения в этом подфоруме, но у вас только 0

   Для печати Для печати