Русский / Russian English / Английский

Сейчас на форуме: (+3 невидимых)
 · Начало · Статистика · Регистрация · Поиск · ПРАВИЛА ФОРУМА · Язык · RSS ·

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

Ранг: 6.0 (гость)
Статус: Участник

Создано: 8 июля 2014 11:16 New!
Цитата · Личное сообщение · #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.4 (мудрец)
Статус: Участник

Создано: 8 июля 2014 11:18 New!
Цитата · Личное сообщение · #2

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


Ранг: 158.5 (ветеран)
Статус: Участник

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

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

Ранг: 586.9 (!)
Статус: Модератор

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

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


Ранг: 335.3 (мудрец)
Статус: Участник
born to be evil

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

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

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


Ранг: 586.9 (!)
Статус: Модератор

Создано: 8 июля 2014 15:31 New!
Цитата · Личное сообщение · #6

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


Ранг: 335.3 (мудрец)
Статус: Участник
born to be evil

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

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

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


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

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

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


Ранг: 335.3 (мудрец)
Статус: Участник
born to be evil

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

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

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

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

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

Ранг: 586.9 (!)
Статус: Модератор

Создано: 8 июля 2014 15:57 New!
Цитата · Личное сообщение · #11

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

Ранг: 6.0 (гость)
Статус: Участник

Создано: 8 июля 2014 16:14 New!
Цитата · Личное сообщение · #12

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

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



Ранг: 335.3 (мудрец)
Статус: Участник
born to be evil

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

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

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


Ранг: 158.5 (ветеран)
Статус: Участник

Создано: 8 июля 2014 16:29 New!
Цитата · Личное сообщение · #14

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

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

Создано: 8 июля 2014 16:33 New!
Цитата · Личное сообщение · #15

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

Ранг: 586.9 (!)
Статус: Модератор

Создано: 8 июля 2014 16:39 New!
Цитата · Личное сообщение · #16

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

Ранг: 6.0 (гость)
Статус: Участник

Создано: 8 июля 2014 16:55 New!
Цитата · Личное сообщение · #17

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

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


Ранг: 586.9 (!)
Статус: Модератор

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

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


Ранг: 158.5 (ветеран)
Статус: Участник

Создано: 8 июля 2014 17:14 New!
Цитата · Личное сообщение · #19

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


Ранг: 335.3 (мудрец)
Статус: Участник
born to be evil

Создано: 8 июля 2014 17:33 New!
Цитата · Личное сообщение · #20

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


Ранг: 52.0 (постоянный)
Статус: Участник

Создано: 8 июля 2014 20:08 · Поправил: UniSoft New!
Цитата · Личное сообщение · #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.3 (! ! !)
Статус: Модератор
Author of DiE

Создано: 8 июля 2014 20:25 New!
Цитата · Личное сообщение · #22

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

Ранг: 112.9 (ветеран)
Статус: Участник

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

-

Ранг: 586.9 (!)
Статус: Модератор

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

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


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


Ранг: 52.0 (постоянный)
Статус: Участник

Создано: 8 июля 2014 22:58 · Поправил: UniSoft New!
Цитата · Личное сообщение · #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 (! !)
Статус: Участник
Student

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

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

Ранг: 39.2 (посетитель)
Статус: Участник

Создано: 9 июля 2014 01:03 New!
Цитата · Личное сообщение · #27

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

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

Создано: 9 июля 2014 02:49 New!
Цитата · Личное сообщение · #28

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

Isaev decompile!

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

Ранг: 586.9 (!)
Статус: Модератор

Создано: 9 июля 2014 10:43 New!
Цитата · Личное сообщение · #29

litecoiner
ubuntu 12.6 desktop x64

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


Ранг: 522.4 (!)
Статус: Участник
Победитель турнира 2010

Создано: 9 июля 2014 23:25 New!
Цитата · Личное сообщение · #30

https://twitter.com/hashtag/flareonchallenge
. 1 . 2 . >>
 eXeL@B —› Крэки, обсуждения —› FLARE Challenge

Видеокурс ВЗЛОМ