Я придумал HackQuest и наша команда впервые провела его на фестивале.
Cразу хочу сказать, что я проводил тестирование всех этапов кроме crackmes на время прохождения и в общем рассчитывал, что двое суток уйдут более рационально. В конец охренею, и буду иллюстрировать текст чужими фотками (своих нет, не до того было). Чтобы не отнимать ваше (да и своё) драгоценное время, пойду сразу по заданиям:
1. GET A REALLY LIFE
Песня. Обычный escape/unescape обфускатор в javascript, поделённый на 2 блока, причём с ошибкой — маленький блок со всем необходимым впереди большого который должен был бы его «прикрывать». Конкретно этот этап большинство прошли просто даже «не заметив», он должен был занять 5 минут т.к. вводный. А по плану, таких этапов должно было быть два, но второй пришлось забраковать перед пати из-за негарантированности прохождения. Для тех кто копошился в этом «Get A Really Life» утром второго дня:Zarin [cyberhack]:
Имхо слишком просто, решил с помощью скрипты echo($_GET['test']); куда передал строку из переменной x в JS которая содержит подключение скрипта jajh.js , там в двух переменных хранятся логин/пасс, которые декодируются таким же образом. Второй x не стал конвертить естессно =) тама вывод хтмл-формы =)
toxa himself [][akep]:
Я делал через тупое alert(y); в скрипте, увидел jajh.js, ну и далее просто вставил кусок кода из этого скрипта, который анэскейпит l/p, в первоначальный скрипт, через тот же алерт.
Просто, но для начального этапа, думаю, сойдет.
Всё я думаю понятно?
2. WIN EXPIRENCE
Тест вашего уровня в Win32. Отвечаете на 7 вопросов выбирая в каждом один из 4-х вариантов ответа. Если ответили: считайте что сдали 1/10 экзамена сертифицированного инженера Microsoft. Умиляло то, как одни люди старательно гуглили вопросы, а другие не менее старательно перебирали руками (7x4=28 вариантов). Ни один (!) хакер не сделал того, что я думал все сделают в первую очередь: простой скрипт на php или perl перебирающий эти 28 вариантов с радио-баттонами в цикле. Я сам не специалист в ISA Server к примеру, честно скажу. Опять же, я понимаю так что наши люди брутят видимо только текстовые поля (что зачастую малоосмысленно), а брут радио-баттонов считают ниже собственного достоинства. Ну да и ладно. Зато принципы налицо. Это заняло у людей до часа.3. ACTION PREFER ANIMATION
Моё очередное флэшевое творение и я постарался, чтобы оно было мало мальски достойным даже ввиду отсутствия времени. В try2hack, ghc и других ничего похожего нет. Тестовое прохождение занимало у выбранных людей перед пати от 45 минут до 1,5 часа, с подсказками. SWF Decompiler для этой работы валялся в /toolz на ftp хак-зоны. Я специально затачивался на то, чтобы тупо проглядев или сбросив на диск спрайты никто ничего не получил, а в коде нужных данных не было. Статистика показывает, что флэшку большинство насиловало первые 2,5 часа. В середине второго дня ко мне подходили люди распотрошившие какой-то левой тулзой флэшку, у которых не подходил Codename: by aGGreSSor. На моё замечание, что это очевидный фейк следовали возгласы: как можно! =) Честно говоря меня это всё откровенно пробивало на «хи-хи». Для не осиливших:
loadVariables("login.txt", _root); // я загрузил в переменную buzz строку
// смотрим этот login.txt на сайте:
buzz=y8791tar0b)JNzj{3WAP
всё вместе это не пароль — это присвоение переменной из файла значения в 20 байт
me = new Array(c, "by aGGreSSor"); // ну да, есть такая тема. купились?
u= new Array("User", bi2);
p= new Array("qwerty", bi1);
u.shift(); // метод shift делает очень простую вещь — затирает те самые
p.shift(); // User и qwerty которые там выше объявлены — не надо их вводить с упоением
for (x = buzz.length; x >= 10; x--)
{
bi1 = bi1 + buzz.charAt(x);
} // end of for
for (y = 9; y >= 0; y--)
{
bi2 = bi2 + buzz.charAt(y);
} // end of for
// здесь я засовываю значение из переменной buzz в значение объекта buzz.
// а по-умолчанию в этом объекте хранится хрень. её можно даже выдрать из флэшки
// и сохранить на диск. =) собственно этот цикл и надо смотреть. отсюда мы читаем:
// login: b0rat1978y
// password: PAW3{jzNJ)
// введя получаем Codename: Benedicite! (лат. Благославляю!)
// итого - тупо как палка, но не так тупо как в ghc quest
4. WANTED CPU, WANTED DAEMON, WANTED GEEK..
Очень, очень хотелось чтобы люди не проводили всё время взаперти, а на улицу гуляли не только за энергетиками. Ради этого мы вместе с banshee [web-hack] заблаговременно обклеили район вокруг partyplace плакатами A4 с заданиями для нашего квеста. Каждой твари было по 15 шт., а некоторых и больше. Клеилось добротно на клей «Момент» и исключительно на загаженные объявлениями места на трубах и стенах. На случай если это всё сорвут — под одним из коммутаторов лежал пакет в котором было ещё 45 шт. напечатанных «на выручку».Интересна реакция хак-сцены: Если в задании написано что разыскивается объект (неважно какой), а на улице наблюдаются классические плакаты WANTED, то логично ходить их и искать, а затем интерпретировать написанное на них. В случае поисков CPU всё вообще было прозрачно, там Codename мелким шрифтом в правом нижнем углу. Тем не менее:
— Саймон, слышь, а чо от нас дети хотят?
— Чо?
— Саймон, меня заипало это:
— О! Ты из CPU?
— Да..
— Скажи пароль!
— Не знаю никакого пароля!
— Сцуко, скажи пароль, ты знаешь!
— Не знаю!
— Скажи пароль, у нас игра, понимаешь?
— Какая нах, игра! Не знаю я никаких паролей!!!..
— Успокойся, я уже сказал все пароли: от почты, от аськи, от сайта нашего, от ftp..
— Саймон, мля, они возвращаются..
— Чо им ещё надо?!..
(звук ломаемой мебели, слитный топот ног убегающих CPU)
Демонология - наука сложная, тем не менее азы вы должны знать: DAEMON в FreeBSD и DEMON это два разных, в общем понятия. Тем более прямо было сказано, что сотрудник CPU (уже найденный приклеенным к стене к тому моменту) ходил с демоном под мышкой рядом с КВЦ «Евразия». Тем не менее:
— Wow! Мы нашли демона!
— Ребята, это Daemon, а не демон, и он в помещении, а не на улице.
— А то что мы его увидели нам что-нибудь даёт?
— Гхм.. Теперь вы знаете как он выглядит...
Теперь о гике с вопросом в голове. Почему-то люди находили либо демонов, либо гиков, но очень долго не могли найти и тех и других. Хотя они все висели рядом в пределах 15 метров. В том задании было необходимо понять, что символы — это шрифт WebDings, в котором буквы CC выглядят как два характерных жеста с поднятыми к верху большими пальцами. Соответственно после набора символами и смены шрифта вы получали: (eRee)0Re что и являлось искомым Codename.
5. Cherche la cartridge!
Задание принадлежало Oldayn. Согласно нему надо было найти сайт Мариининского театра, на нём единственный телефон заказа билетов (круглые сутки) и выяснить что за product code у картриджа в принтере стоящем там. Это задание очень отчётливо показало что хак-сцена имеет только книжное представление о соц. инженерии, хотя был косяк и с нашей стороны: девушки наученные выдавать модель принтера самым милым звонящим молодым людям первоначально отправляли этих милых к кассиру которая в истерике говорила буквально следующее: «Вы толкаете меня на должностное преступление! Я не могу раскрывать конфиденциальную информацию, и не звоните мне сюда больше!»В таких случаях, побеждает упорство. Что это за соц. инженер который сдаётся после первого же промаха? Победившие WN13_team взяли упорством, сообразительностью и рациональностью. Они представлялись сотрудниками компании заправляющей картриджи и сетовали на то, что в накладной забыли указать модель принтера. Это логично, блин! Остальные звонившие несли какую-то пургу, а на вопросы девушек: может вам ещё и модель принтера сказать?! робели и говорили: «нет, спасибо, уже не надо..» Тут мы с Oldayn натурально лежали пацтулом.
Получив модель принтера, необходимо было найти для него картридж с самым большим объёмом и выделить из его идентификатора product code. Который и являлся искомым Codename. Этот код был: 08A0478
6. CRACKMES
Тяжело в деревне без нагана, да? =) Есть определённый цимес в том, что я не проверял проходимость этого задания. Во-первых, на форуме CC неоднократно возникали требования крякмиза в квесте, заданий по реверсингу, а я знаете ли, привык обращать внимание на желания людей (если только они лежат в пределах допустимого). Во-вторых, мы уже имеем опыт когда afx237_v7 на CC'06 занимался задачей 26 часов и всё-таки осилил её. Сложив одно и другое, плюс репутация автора крякмиза можно было обоснованно предположить что двух суток на это хватит. Как мы выяснили на party, двух суток нам не хватило. Сегодня уже 29 августа, а крякмиз в этой стране так никто и не сломал. Сейчас, его ломают уже на http://crackmes.de и там тоже нет пока результатов (There are no solutions to this crackme yet). Рейтинг: 6 - Hard, for very professionals only; Описание: Written specially for $CC07, but now it's over and you can try it by yourself :) Based on Virtual Machine, you will need trace it in simple case, or fully disassamble it.
Предположительно, народ расслабился и пришёл без инструмента. Мнение NeoN : хотели 2-3 jump и победа, а получили.. Но мы думаем, что никто (из тех кто понимает) не жалеет о таком конкурсе.
NeoN [cracklab]
Хорошо, подсказка будет следующая: трейсить код вирт машинки, избавится от int 1, убрать мусор, длина ключа 12 символов. А дальше по обстоятельствам :) Под трейсить, значт в дебагере прогнать а с логом трейса уже в блоконотике разбиратся. Если снимать с квеста будете - можно дать пасс, чтобы увидели, что воркает.
aGGreSSor [peace4peace]
Фигушки им, а не Codename от твоего крякмиза. =)
7. RED EYE ACHE
Боль красноглазых. Это о UNIX-системах: ещё один опросник наподобие WIN EXPIRENCE, только про общие принципы работы в *nix shell. Решается аналогично.В завершение хочу сказать, что всего в нашем HackQuest приняли участие около 180 человек, на фестивале Chaos Constructions Antique 2007 присутствовала практически вся российская хак-сцена и участие в квесте было не единственным положительным моментом. Те кого не было физически на partyplace внимательно следили за развитием квеста, ходом фестиваля, многие пытались принять участие снаружи, как то Rebz [Antichat] (кажется прошёл квест) и N1TR0X [DamageLab] (случайно проходил мимо). Итоги таковы, что для победы большинству не хватило рациональности: двигаться от простого к сложному, а не наоборот. Многих настолько увлёк крякмиз, что они забыли обо всём на свете. Хотя к дедлайну большинство мучающих его уже сдались. Это говорит о нехватке ещё одного качества: упорства..
HackQuest проходил 23 ч 30 мин и состоял из 9 конкурсов, за вычетом Crackme:
- WN13_team - победитель, 8 конкурсов
- MacTep - 7 конкурсов
- Monovar - 7 конкурсов
Комментариев нет:
Отправить комментарий