+ Reply to Thread
Page 1 of 3 1 2 3 LastLast
Results 1 to 20 of 47

Thread: Kaspersky crackme (ZN2014)

  1. #1

    Add Kaspersky crackme (ZN2014)

    На ZeroNights каспер запустил еще один конкурс по решению крякми, в этот раз крякмисов 3 штуки. пруфлинк.

    Так что у кого есть время и желание то можете что нить выйграть.

    И я тоже конечно хотел бы решить это дело, не призов ради а скила для. Но как и ожидалось далеко не ушел (.

    2 - крякми самый легкий, там ничего сложного и решается быстро.
    1 - вот тут и зактык.

    Посидел почти целый день и ни к чему особо не пришел (. Вроде как там юзается хеширование (кажется md5). Вот и хотел попросить совета , куда копать? Не хотелось бы в лоб переписывать каждую инструкцию на си, и судя по всему что первое решение этого задание появилось в течении нескольких часов, то наверное можно и без этого обойтись.

  2. 3 пользователя(ей) сказали cпасибо:
    Darwin (15-11-2014) Shizoid (20-11-2014) ximera (15-11-2014)
  3. #2
    Darwin's Avatar

    Default Re: Kaspersky crackme (ZN2014)

    Не дадут нам жизни с этими крякмисами )))

  4. 4 пользователя(ей) сказали cпасибо:
    ARCHANGEL (15-11-2014) Dark Koder (16-11-2014) benedict (15-11-2014) ximera (15-11-2014)
  5. #3

    Default Re: Kaspersky crackme (ZN2014)

    Quote Originally Posted by Darwin View Post
    Не дадут нам жизни с этими крякмисами )))
    Ахах) Согласен, наверное уже далеко не всем интересно ковыряться в песочнице)
    Но как мне кажется, не плохой способ немного прокачать скил, для новичков.

  6. Пользователь сказал cпасибо:
    ximera (15-11-2014)
  7. #4
    ARCHANGEL's Avatar

    Default Re: Kaspersky crackme (ZN2014)

    Как всегда в крипто, проблема с определением, что за алгоритм. Вот что за алго начинается по адресу 0040DD80 ?? Я думаю, что определив это, таск будет почти решён.
    Добрым быть просто - достаточно обратить свой гнев на негодяев...

  8. 2 пользователя(ей) сказали cпасибо:
    Dark Koder (16-11-2014) ximera (15-11-2014)
  9. #5

    Default Re: Kaspersky crackme (ZN2014)

    Архангел, у меня по этому адресу ничего нет, но вот что я пока нашёл (неправильно - поправьте): сначала мыло паддится до 64 символов (не просто нулями, а как-то по-хитрому, не стал разбирать), потом вычисляется его хеш sha1 (причём последний параметр инициализации - пятый, равен длине вашего исходного мыла), от него берётся murmur3 и это всё xorится с 0x4B4C434D. Дальше ещё не успел разобрать.
    UPD:
    из дебаггера же смотрю, потому ничего там и нет
    Last edited by ololoshenka; 16-11-2014 at 05:46.

  10. Пользователь сказал cпасибо:
    ximera (16-11-2014)
  11. #6

    Default Re: Kaspersky crackme (ZN2014)

    ARCHANGEL имхо говорит о 3м задании, а ololoshenka о 1м.

  12. Пользователь сказал cпасибо:
    benedict (16-11-2014)
  13. #7

    Default Re: Kaspersky crackme (ZN2014)

    Quote Originally Posted by OKOB View Post
    ARCHANGEL имхо говорит о 3м задании, а ololoshenka о 1м.
    Вроде как да. Сегодня первое задание смотрел, там как я понял идет хеширование мыла md5 а потом, а вот что потом происходит как то ускользает от моего взгляда. Там так и не понял что за алго, то ли самописный, то ли нет, и куча переменных от которых что то зависит.

  14. #8

    Default Re: Kaspersky crackme (ZN2014)



    Телефон - 7й
    Лотерея - 12й
    Приступлю завтра к "Зловреду".

  15. #9

    Default Re: Kaspersky crackme (ZN2014)

    Quote Originally Posted by OKOB View Post
    Телефон - 7й
    А не натолкнешь пожалуйста на мысль как мне быть дальше.
    Там в функции ( которая вызывается через edx) мыло хешируется мд5 , и еще ключ(вроде как каким - то простым самопальным алгоритмом) но дальше затык. Никак не могу понять как пройти эту функцию,
    if ( sub_1322A00((int *)v17, a5, v11, 256) == 256 ), это тоже какой то самопальный алгоритм или как там вообще быть ?

    Code:
     do
        {
          *(_BYTE *)(v22 + ((unsigned int)*(_BYTE *)v9 >> 4) + 16 * (*(_BYTE *)v9 & 0xF)) ^= sub_1322820(
                                                                                               (int)((char *)v20 + 620),
                                                                                               0,
                                                                                               32767);
          ++v9;
          --v23;
        }
        while ( v23 );
        v11 = (unsigned int)((char *)v20 + 364);
        memset((char *)v20 + 364, 0, 0x100u);
        v12 = v17;
        if ( sub_1322A00((int *)v17, a5, v11, 256) == 256 )
        {
          v13 = 256;
          v14 = v11;

  16. #10

    Default Re: Kaspersky crackme (ZN2014)

    На основании оработки мыла получили разреженную таблицу 256 байт. Эта функция должна "разархивировать" строку полученную из пароля в точно такую же таблицу. Архивирование типа RLE (для повторяющихся нулевых последовательностей хранится счетчик повтора, для ненулевых байт сами байты).

  17. 2 пользователя(ей) сказали cпасибо:
    Dark Koder (17-11-2014) benedict (16-11-2014)
  18. #11

    Default Re: Kaspersky crackme (ZN2014)

    Хм... спасибо, но все равно есть несколько вопросов, первый - а как понял (какой примерно ход мысли) что это именно RLE архивация?

    И второй, я получил таблицу разреженную на основе мыла, но вот беда, какие бы значения я не подставлял, больше чем на 24 байта они не влияют (то есть в новой таблице которая разархивируется из пароля не получается изменить дальше чем 24 байт). или может не там смотрю..? какой то странный формат rle там, не на из вики и из хабра алго вроде как не похож

  19. #12

    Default Re: Kaspersky crackme (ZN2014)

    Да, там странный алгоритм восстановления данных из rle. Вот эту функцию как раз и надо полностью отреверсить.
    Я сейчас занят именно этим. Пиши в лс, если есть вопросы.

  20. Пользователь сказал cпасибо:
    benedict (17-11-2014)
  21. #13
    Darwin's Avatar

    Default Re: Kaspersky crackme (ZN2014)

    Quote Originally Posted by benedict View Post
    какой то странный формат rle там, не на из вики и из хабра алго вроде как не похож
    Он вываливается раньше времени, если находит некорректный байт/бит.

    Quote Originally Posted by OKOB View Post
    На основании оработки мыла получили разреженную таблицу 256 байт. Эта функция должна "разархивировать" строку полученную из пароля в точно такую же таблицу. Архивирование типа RLE (для повторяющихся нулевых последовательностей хранится счетчик повтора, для ненулевых байт сами байты).
    Восстановил алго, переписал его на питоне и целый день ломаю голову. Пробовал два мэйла и ни к одному не получается подобрать. То недолет до нужных байт, то перелеты.

    Есть подозрение, что я где-то сделал ошибку с условной инструкцией, но вроде всё норм. Не помешала бы валидная пара, чтобы проверить работу кода... Был бы очень благодарен за неё.

  22. Пользователь сказал cпасибо:
    benedict (17-11-2014)
  23. #14

    Default Re: Kaspersky crackme (ZN2014)

    Quote Originally Posted by Darwin View Post

    Восстановил алго, переписал его на питоне и целый день ломаю голову. Пробовал два мэйла и ни к одному не получается подобрать.
    Aналогично, восстановил вроде правильно так как и под отладчиком и в моем алго, выходной массив один и тот же. Ну и логичный вопрос что теперь делать, подозреваю что тут должно быть какое то линейное (а может и нет ) уравнение, или что то на подобие, потому что в ручную подбирать не резон уже. Не подскажете как теперь дальше ?

  24. #15
    Darwin's Avatar

    Default Re: Kaspersky crackme (ZN2014)

    Ничего такого нет. Надо разобраться, как заставить этот алго, записывать по любому смещению (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, ... , 32). Берем карандаш и рисуем представление четырех байтов в битовом представлении и наблюдаем за выборкой битов. Я хотел это сделать без бумажки, в итоге запутался и потерял день. Сейчас написал конвертер, он мне сам все расстояния считает. Я ему только задаю кол-во нулей и байт который нужно записать после.

    Сам сейчас застопорился на таблице преобразования, та которая преобразует введенные данные, в байты по которым строится таблица.

  25. #16

    Default Re: Kaspersky crackme (ZN2014)

    Да тоже блин день потерял, хотел уже плюнуть, вроде как и дорешать хочется, но уже надежду потерял. Сейчас попробую написать конвертер, но не понятно честно говоря как вообще все высчитывать.

  26. #17
    Darwin's Avatar

    Default Re: Kaspersky crackme (ZN2014)

    Туго и нудно крякми пошёл... Я бы лучше пару виртуалок разреверсил. 11-й по телефону.
    Last edited by Darwin; 18-11-2014 at 04:27.

  27. #18

    Default Re: Kaspersky crackme (ZN2014)

    Круто, слушай, я и с бумагой и карандашем, все таки не понял закономерности конвертации из хеша пароля в матрицу. ек макарек, уже не знаю что и делать.

  28. #19
    Darwin's Avatar

    Default Re: Kaspersky crackme (ZN2014)

    У меня был затык с тем, что я поспешил и людей насмешил. А конкретно, решил что можно писать только по конкретным смещениям, а не по всем. Вместо того, чтобы взять карандаш и нормально все пересчитать, начал искать способ записи нулевого байта по конкретному смещению. Но так делать было нельзя, там есть на это проверка... Пострадав еще немного фигней, взялся пересчитывать и в итоге понял где ошибся. Ушло на это 5 минут, фигней же страдал очень долго.

    Aналогично, восстановил вроде правильно так как и под отладчиком и в моем алго, выходной массив один и тот же. Ну и логичный вопрос что теперь делать, подозреваю что тут должно быть какое то линейное (а может и нет ) уравнение, или что то на подобие, потому что в ручную подбирать не резон уже. Не подскажете как теперь дальше ?
    Скорее всего твое представление не лучше обычного асма, поэтому ты не видишь того, что, куда и как переходит. У меня получился хороший сишник, без всяких goto, есть циклы, с break / continue и видно три основные блока (блок записи, блок подсчета ширины, блок записи нулей).

    Еще одна подсказка: Последовательность байтов нужно рассматривать, как битовый stream, а не как отдельные байты указывающие на кол-во нулей и байтов, которые нужно записать, т.е. задание ширины (нулей) и байта (после нулей), может потребовать, например, 13-бит, тогда расчет следующей ширины и байта начнется с 14-бита.

    На самом деле понять, что там происходит можно и без восстановления кода, нужно просто сесть и внимательно проанализировать действия.
    Last edited by Darwin; 18-11-2014 at 09:01.

  29. 3 пользователя(ей) сказали cпасибо:
    Dark Koder (18-11-2014) benedict (18-11-2014) ximera (18-11-2014)
  30. #20

    Default Re: Kaspersky crackme (ZN2014)

    Ребят, можете подсказать, как лучше реализовать восстановление пароля из rle последовательности? Я уже получил оную последовательность и сейчас на последнем шаге - нужно подобрать к ней пароль.
    Начал писать свой вариант, однако столкнулся с трудностями и понял, что код придётся сильно усложнять. Дайте совет.

+ Reply to Thread

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
All times are GMT. The time now is 01:28
vBulletin® Copyright ©2000 - 2018
www.reverse4you.org