Сейчас на форуме: vasilevradislav, Magister Yoda, site-pro (+5 невидимых)

 eXeL@B —› Крэки, обсуждения —› FLARE Challenge
. 1 . 2 . >>
Посл.ответ Сообщение

Ранг: 6.0 (гость), 25thx
Активность: 0.010
Статус: Участник

Создано: 08 июля 2014 11:16
· Личное сообщение · #1

Тема скорее для оффтоп, но для той ветки мне не хватает ранга.

Вчера, 7 июля 14 года Майк Сикорски (FireEye) дал старт для FLARE Challenge (отбор кандидатов в FireEye Labs Advanced Reverse Engineering - FLARE). Причем, задачки не абы-какие, а всё по-взрослому (как утверждает автор).

Анонс: http://www.fireeye.com/blog/technical/malware-research/2014/07/announcing-the-flare-team-and-the-flare-on-challenge.html
Старт challenge: http://www.flare-on.com (алгоритм такой - качаешь первую задачу, решаешь, находишь в решении адрес e-mail, отсылаешь ответ, получаешь ссылку на новую...)



Ранг: 488.1 (мудрец), 272thx
Активность: 0.350
Статус: Участник

Создано: 08 июля 2014 11:18
· Личное сообщение · #2

Опять начали отлавливать реверсеров?

-----
Наша работа во тьме, Мы делаем, что умеем. Мы отдаем, что имеем, Наша работа во тьме....





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

Создано: 08 июля 2014 11:23 · Поправил: ZaZa
· Личное сообщение · #3

Могли бы и добавить: x64 первый...
А вот мне влом ставить виртуалку с x64...

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




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

Создано: 08 июля 2014 13:10 · Поправил: r_e
· Личное сообщение · #4

ZaZa
Там не только х64. Первый х64, второй - php+javascript, третий - х86. Четвертый еще письмо не пришло.
Первые три совсем легкие, на внимательность.

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





Ранг: 337.6 (мудрец), 224thx
Активность: 0.210.1
Статус: Участник
born to be evil

Создано: 08 июля 2014 15:17 · Поправил: ajax
· Личное сообщение · #5

ZaZa
там чистый PE. CAB распаковывается winrar'ом
r_e
чет я с pdf подзалип. вкуриваю оригинал

-----
От многой мудрости много скорби, и умножающий знание умножает печаль


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

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

Создано: 08 июля 2014 15:31
· Личное сообщение · #6

ajax
Я тоже с pdf подзалип. Там используется уязвимость
Adobe JBIG2Decode Heap Corruption (CVE-2009-0658): [8]
но что с ней делать - хз.

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





Ранг: 337.6 (мудрец), 224thx
Активность: 0.210.1
Статус: Участник
born to be evil

Создано: 08 июля 2014 15:44 · Поправил: ajax
· Личное сообщение · #7

брякаться на deflate decode? хз тоже... дамп всего процесса строк с хостером не выявил. акробат, правда, свежий
крякми занудные. на кой черт n-раз декодить бэйс. и так все ясно вроде. с другой стороны - на "усидчивость"

-----
От многой мудрости много скорби, и умножающий знание умножает печаль


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

Ранг: 5.1 (гость)
Активность: 0=0
Статус: Участник

Создано: 08 июля 2014 15:47
· Личное сообщение · #8

подскажите по второму заданию, как скачать екстеншн?




Ранг: 337.6 (мудрец), 224thx
Активность: 0.210.1
Статус: Участник
born to be evil

Создано: 08 июля 2014 15:49 · Поправил: ajax
· Личное сообщение · #9

litecoiner
какой экстеншн? все, что надо есть. я, вообще, все это в дельфи и фаре разбираю
добавлено: "зри в корень". конкретные подсказки, пока челлендж не закончился, не вижу смысла выкладывать, ИМХО
r_e
тоже щас не особо свободен, чтобы накатывать старые акробаты на виртуалку, особенно, если в данном случае дырка в куче юзается, что скорее всего, а не в памяти

-----
От многой мудрости много скорби, и умножающий знание умножает печаль




Ранг: 5.1 (гость)
Активность: 0=0
Статус: Участник

Создано: 08 июля 2014 15:53 · Поправил: litecoiner
· Личное сообщение · #10

Что-то никак не могу найти флаг. Картинка с бекдором в isset(POST() там ведь только для отвлечения внимания, я прав?



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

Создано: 08 июля 2014 15:57
· Личное сообщение · #11

ajax
Я хз где там брякаться надо. Там есть статический стрим страницы и есть JS, который реализует уязвимость. Возможно, этот JS создает как раз динамическую картинку с новым мылом.
С разгону я не нашел как посмотреть анпакнутый стрим.

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




Ранг: 6.0 (гость), 25thx
Активность: 0.010
Статус: Участник

Создано: 08 июля 2014 16:14
· Личное сообщение · #12

r_e
стрим можно распаковать просто: тупо из файла пдф вырезаем stream[x78xDA..сжатый поток..]endstream и, например, распаковываем через zlib.decompress в python

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


Ранг: 337.6 (мудрец), 224thx
Активность: 0.210.1
Статус: Участник
born to be evil

Создано: 08 июля 2014 16:14 · Поправил: ajax
· Личное сообщение · #13

Fedonin
зер гут идейка. сигнатурки zlib сразу видно. получил че-то, надо парсить

если интересно - обновляйте топик. кучу постов неохота плодить, делаю правку

-----
От многой мудрости много скорби, и умножающий знание умножает печаль





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

Создано: 08 июля 2014 16:29
· Личное сообщение · #14

ajax
Не увидел
Спасибо за подсказку... Расстроился, что на x64 послали

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




Ранг: 5.1 (гость)
Активность: 0=0
Статус: Участник

Создано: 08 июля 2014 16:33
· Личное сообщение · #15

ZaZa, там нет х64, там только инсталлятор 64 битный, внутри обычный 32bit msil, могу выложить на обменник



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

Создано: 08 июля 2014 16:39
· Личное сообщение · #16

Fedonin
Дык проблема не в распаковке стрима. Хотя, за zlib.decompress спасибо.
Вероятные источники ключа:
1. Массивы, генерируемые JS, но нигде не исползуемые.
2. Мелкий стрим в 29 байт. Распаковывается в 14 байт глупостей.
3. Их комбинация. Например CVE при срабатывании преобразует мелкий стрим так что тот дает ключ.
4. Ключ зашит в картинке (стеганография).

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




Ранг: 6.0 (гость), 25thx
Активность: 0.010
Статус: Участник

Создано: 08 июля 2014 16:55
· Личное сообщение · #17

r_e
в распакованном JS огромный unescape-константа-exploit. Ищи в нём )) Ключ не в картинке.

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

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

Создано: 08 июля 2014 16:56 · Поправил: r_e
· Личное сообщение · #18

Fedonin
Ога, только что до этого сам допер. ))) Как до жирафа. Почитал описание CVE и стало ясно. Это как раз пункт 1 из предыдущего сообщения.

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





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

Создано: 08 июля 2014 17:14
· Личное сообщение · #19

litecoiner
Спасибо, но уже не актуально, жду 3 этап... Мылится как-то долго...

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





Ранг: 337.6 (мудрец), 224thx
Активность: 0.210.1
Статус: Участник
born to be evil

Создано: 08 июля 2014 17:33
· Личное сообщение · #20

23647 - чет грустно парсится дельфями. или ... меньше

-----
От многой мудрости много скорби, и умножающий знание умножает печаль





Ранг: 52.0 (постоянный), 146thx
Активность: 0.030.08
Статус: Участник

Создано: 08 июля 2014 20:08 · Поправил: UniSoft
· Личное сообщение · #21

r_e пишет:
2. Мелкий стрим в 29 байт. Распаковывается в 14 байт глупостей.

ну почему же глупостей,
распаковывается во вполне понятные данные.
002050ff40000069000005695050

а вот из статейки по эксплоиту, те же узнаваемые данные:
eaxptr = "\x00\x20\x50\xff" # CALL DWORD PTR DS:[EAX+20]
eaxp20ptr = "\x05\x69\x50\x50" # Shellcode location called by CALL DWORD PTR DS:[EAX+20]
modifier = "\x00\x69\x00\x00" # ECX values seen: 02004A00, 033C9F58, 0338A228, 031C51F8, 0337B418
# natron@kubuntu-nkvm:~$ ./pdf-calc-val.rb 0x690000
# EAX: 0x690000 ECX: 0x2004a00 WriteAddr: 0xa3449ec
# EAX: 0x690000 ECX: 0x358a228 WriteAddr: 0xb8ca214

jbig2stream = eaxptr + "\x40\x00" + modifier + eaxp20ptr




Ранг: 990.2 (! ! !), 380thx
Активность: 0.680
Статус: Модератор
Author of DiE

Создано: 08 июля 2014 20:25
· Личное сообщение · #22

прошел ли кто-то уровень с кейлоггером или может какие мысли есть?

-----
[nice coder and reverser]




Ранг: 112.9 (ветеран), 186thx
Активность: 0.090.01
Статус: Участник

Создано: 08 июля 2014 20:40 · Поправил: vden
· Личное сообщение · #23

-



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

Создано: 08 июля 2014 20:46 · Поправил: r_e
· Личное сообщение · #24

Hellspawn
Я просто взял и посмотрел за какую букву каждая переменная отвечает. В итоге получил ключ. Даже запускать ни разу не понадобилось. А вот в следующей задаче уровень уже будет пожеще. ))) Прошел 90%. Осталось пару букв подобрать.


Последний этап достал.

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





Ранг: 52.0 (постоянный), 146thx
Активность: 0.030.08
Статус: Участник

Создано: 08 июля 2014 22:58 · Поправил: UniSoft
· Личное сообщение · #25

Hellspawn пишет:
прошел ли кто-то уровень с кейлоггером или может какие мысли есть?

Это пятый что-ли? он не сложный...
я написал табличку вида
case 'K':
if dword_100194A8 then dword_100194AC = 1

case 'L':
if dword_10017000 then dword_10019460 = 1
if dword_100194C0 then dword_100194C4 = 1

case 'M':
if dword_100194FC then ShowDlg();

и прошелся от конца, до начала...

Isaev пишет:
в первом задании, там же при нажатии на кнопку он сам расшифровывает стоку и её же выводит
как эта бодяга может быть емайлом? или алго надо обратить?

обратите внимание на промежуточный результат, а не на конечный.




Ранг: 756.3 (! !), 113thx
Активность: 0.610.05
Статус: Участник
Student

Создано: 09 июля 2014 00:04 · Поправил: Isaev
· Личное сообщение · #26

в первом задании, там же при нажатии на кнопку он сам расшифровывает стоку и её же выводит
как эта бодяга может быть емайлом? или алго надо обратить?
или тупо фонт поменять?)

-----
z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh




Ранг: 39.2 (посетитель), 16thx
Активность: 0.020
Статус: Участник

Создано: 09 июля 2014 01:03
· Личное сообщение · #27

Для статического анализа PDF-ок существует тулза peepdf
А если её скомпилить с V8 + PyV8 она еще и JS анализировать сможет.
Конкретно для этого PDF комманда js_analyse выплевывает готовый шеллкодез.



Ранг: 5.1 (гость)
Активность: 0=0
Статус: Участник

Создано: 09 июля 2014 02:49
· Личное сообщение · #28

bbuc, +1 Я использовал PDFStreamDumper + malzilla

Isaev decompile!

С6 кто запустил. ОС, ядро? Лень качать все подряд образы



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

Создано: 09 июля 2014 10:43
· Личное сообщение · #29

litecoiner
ubuntu 12.6 desktop x64

Добавлено спустя 12 часов 2 минуты
Ну что, кто-то седьмое осилил до конца? У меня вчера терпения не хватило.

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





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

Создано: 09 июля 2014 23:25
· Личное сообщение · #30

https://twitter.com/hashtag/flareonchallenge

-----
127.0.0.1, sweet 127.0.0.1



. 1 . 2 . >>
 eXeL@B —› Крэки, обсуждения —› FLARE Challenge
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати