Pull to refresh
106
0.2
Кравец Василий @xi-tauw

Windows Privilege Escalator

Send message

Ну что-ж, докладываю. Посмотрел пока поверхностно бету 22.3.0.2185, но результаты такие:

1) 2750 - без изменений. Просто повторил действия из своего последнего письма и все отработало.

2) 2798 - вижу исправление. Вот тут готов сказать, что вижу реальную попытку исправления. Nice try, так сказать. Обошел полутора способами. Так что пока не исправили.

3) Нашел третью уязвимость.

А теперь еще все это перепроверять, добивать второй обход 2798, вам в тикеты описывать, видео клепать, PoC'и рисовать...

С моей стороны это выглядело больше похоже на попытки впихнуть все больше и больше костылей, и сломать эксплоит, а не исправить уязвимость, но вам там виднее.

Да, я проверю в свободное время.

Подробности будут либо когда все будет исправлено, либо когда будет очевидно, что ответа нет смысла ждать.

29 января 2021 BOUNTYREPORT-2750
13 февраля 2021 BOUNTYREPORT-2798

Почта - мой ник yandex.ru

Предостерегу тех, кто хочет установить Яндекс.Браузер. Разработчики уже больше года не могут устранить две уязвимости, которые я им передал. Так что, с моей точки зрения, установка Яндекс.Браузера равносильна добровольной установке пары бекдоров.

У пузырьковой сортировки меняются местами соседние элементы, а тут два независимых индекса.

Как и большинство я застрял на задаче с 2009.

Подсказка про Word больше сбивала, чем помогала. Я начал проверять, что может дело в каких-то вещах, которые текстовый процессор удобнее - подсчет слов, игра со шрифтами (мало ли что интересного можно увидеть в шрифтах Webdings или Wingdings).

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

Итого по 5 минут на прочие задачи и полчаса на этой.

Довольно приятный квест, немного пошевелить мозг было хорошо.

  1. Вопрос в имени переменной. Вы дали одинаковые имена переменной во внутренней области видимости (функция) и внешней (класс). Написали бы проще.

  2. Вам бы еще нормализацию прикрутить к вариантам типа "-00000".

  3. Нет, это вопрос к вам.

UPD: третий вопрос снимается, я понял, что вы хотели сделать.

За идею статьи ставлю плюс, а за реализацию - минус.

1) В std::string bignum::getValue() сразу стреляем себе в ногу создавая переменную _value перекрывающую поле класса.

2) Продолжаем рубрику вредные советы кидая исключение в конструкторе. Причем, с неинформативным сообщением. Вот что должен понять программист, увидев "-123 it's not a number"? Ведь, как раз -123 число.

3) Зачем перегружаем конструктор и для const char* и для std::string? Сами прямо задаете этот вопрос, но отвечаете мимо. Конструктора с std::string вполне хватило бы.

Спасибо. Рано или поздно будет еще.

Автор , если вы раскопали логику правил проверки, то логичнее было бы подбирать числа не перебором всех, а подбирать конкретные цифры.

Смотрим на последнее правило (разница в 4) - пары простые 04, 15, 26, 37, 48, 59 Для каждой из этих пар определена шестая цифра, значит легко подобрать все пары к ним для второго правила (перебираем третью цифру, вычисляем вторую).

Так за ~60 итераций мы узнали все возможные цифры на четырех позициях. Третье правило дает, что 4 и 8 цифра не должны быть одновременно нечетными. Проверим 100 комбинаций, получим 75 пар.

За 60*75 итераций мы получаем все цифры на шести позициях. Для каждой добавляем еще проверку перебором пятой позиции (она в правилах не фигурирует) и первой, проверяя делимость. Итого ~450000 итераций против ~100000000, а это два порядка.

Это вопрос того, как определять термины. Например, не смотря на слово "шифр" в названии "шифра Цезаря", мое лично отношение к нему больше как к кодированию, нежели к шифрованию. А задача кодирования - это более "удобное" представление, нежели конкретно защита от ошибок.

Было бы желание, а обеспечить Persistence, незаметный для autoruns, несложно.

Внес update в статью. Поверхностная проверка подтвердила — уязвимости исправлены.

Пожалуйста, читайте внимательнее. Права доступа на этот файл какие? Я вам точно могу сказать, что у нормальных программ они нормальные.

Ну, например, давайте посмотрим на C:\Program Files (x86)\LiteManager Pro - Server\ROMFUSClient.exe. Этому файлу выдаются разрешения на полный доступ для всех, а код этого файла исполняется с высокими правами как дочерний от сервиса.

Information

Rating
2,775-th
Location
Москва, Москва и Московская обл., Россия
Works in
Date of birth
Registered
Activity

Specialization

Pentester, Reverse Engineer
Lead