Перейти к содержанию

lo0o0o0ong

Пользователь
  • Публикаций

    15
  • Зарегистрирован

  • Посещение

Репутация

55 Excellent

Информация о lo0o0o0ong

  • Звание
    Rank №2
  1. ТС адекватный, оперативно ответил на интересующие вопросы, сделку провели без гаранта. Рекомендую.
  2. Если большая компания и имеет представительство в России - отправляют запрос на их адрес в рф -> получают ответ (прокуратура может отправить такой запрос даже без решения суда, но без решения могут вы*бнуться и не выдать). Если сервис за бугром, то в процессе оказания международной правовой помощи - отправляют запрос в органы другой страны, там все проверяют и уже на локальном уровне пробуют получить что осталось на сервисе (это занимает от недели до нескольких лет, в зависимости от страны). Есть список международных договоров РФ с другими странами по оказанию помощи в уголовных производствах. Если нет такого договора - то ловить как правило там нечего, пока договорятся - могут пройти годы. Если есть договор и страна - это банановая республика - то могут дать отписку аж через год, типа "ничего не нашли, ищите в другом месте". Как-то так, но это не точно)
  3. Нагнать в один час 100к лайков на какую-то его говно-фотку, а потом абузу кинуть за накрутку Спойлер Мусор стайл. Создаем проблемы и сами их решаем :D :D :D
  4. Diebold malware вопрос

    http://atm.cybercrime-tracker.net/
  5. Собственно, вот... https://www.securitylab.ru/analytics/490642.php
  6. Ну в ТЕОРИ можно, но все-же вам прийдеться перепасить норм так ядровых структур. Нет. Мы получаем значение по адресу, после конвертации и обращения к нему. Или как по-вашему они сдампили часть ядра в убунту
  7. Я не понимаю, что вы имеете ввиду под "другое адресное пространство". Адресное пространство другого процесса? Если да - то почему не можем? Можем. Узнаем DirectoryTableBase (Что и есть PDE) в KPROCESS структуре нужного процесса и все - у нас в руках все страници используемые данным процессом Но, опять же. Это все "сферический конь в вакуме". В реальности же meltdown или Spectre есть смысл юзать только для корректировки оффсетов при эксплуатации, например, memory corruption уязвимостей в ядре
  8. При чем здесь это? Если вы хотите поговорить о конвертации виртуального адреса в физический при разных архитектурах постоения памяти, то давайте - но в другой теме, там и обсудим и работу менеджера памяти, и про PDE, который у каждого процесса разный, поэтому относительно него у разных процессов могут быть одинаковые адреса. Моим постом я хотел сказать что доступ к физической памяти в км мы все-таки можно осуществить и если ресурс по обращаемому адресу не активный, то статистикой его можно считать, что и сделали ребята из pj
  9. А разве mfence не нужен был исключительно для замедления получения доступа к км ресурсу. После ексепшина ресурс не получилось отдать из-за того что исполнение не успело перейти в ядро. Типа обгоняем в race conditions
  10. Нет. Meltdown ДАЕТ! возможность читать физическую замапленую память из ядра, что из юзермода напрямую никак не сделаешь. Попытаюсь вкратце объяснить как я понял что это такое. При проектировке памяти на интеловских процессорах существуют 3 "модели" организации памяти (их больше, но это основные): flat, segmentation и paging. Защита страниц памяти и их разделение по принадлежности к ring0 или ring3 возможно исключительно в segmentation и paging. В современных процессорах, возможен ли доступ из текущего места выполнения к определённым частям памяти, проверяется по дескриптору страниц памяти (page entry descriptor) и дескриптору директорий (directory page entry). Сама проверка осуществляется исходя из того выставлен ли User/Supervisor бит в этих дескрипторах или нет. Для тех кто нихуя не понял - почитайте как формируется физический адрес в разных моделях памяти. Короче, кроме стандартного выполнения инструкции попадаемый в процессор существует out-of-order execution. Это оптимизация, когда, например, для выполнения текущей инструкции чтения еще не освободились ресурсы, вместо того что б ждать освобождения - процессор выполняет следующую. Так вот, если процессор переведет исполнение в ядро и потом отдаст "ждущей" инструкции ресурс, то обращаясь из юзер мода к памяти ядра - вы получите то, что как бы не должны были получить (ибо исполнение уже в ядре). После такого чтения - данные кешируются и потом как-то хуй пойми как достаются побитно из кеша. Кто знает как работает Flush Reload - расскажите. Ждем POC и благодарим projectzero :D
  11. Наверное, самое очевидное, что может прийти в голову - это сдампить lsass не имея прав на системе (Meltdown в помощь). А вообще, очень перспективная тема, так как с таким Kernel Address Leak-ом можно корректировать адреса при эксплуатации всякого рода Memory Coruption-ов в драйверах и спокойно забирать свой SYSTEM
  12. не обязательно на себя заворачивать трафик, что б заставить машину через тебя авторизироваться (уязвимость в Exchange, уже кидал в топик)
  13. Не буду повторяться и от себя дополню, Последнее время хорошо себя показали relay атаки в доменных сетях (эксплуатируешь одну из уязвимостей что б заставить сервер авторизироваться через тебя (https://github.com/dirkjanm/privexchange/) - и при помощи ntlmrelayx релеешь их, получаешь привилегии, и забираешь хешики с дц -> потом создаешь голден тикет), тихо и эффективно. Из минусов - на машину приходилось загружать много софта и устанавливать всякое разное что б этот метод заработал Пример из новых: https://dirkjanm.io/exploiting-CVE-2019-1040-relay-vulnerabilities-for-rce-and-domain-admin/ https://dirkjanm.io/abusing-exchange-one-api-call-away-from-domain-admin/
  14. Arbitrary Code Guard (ACG)

    Тоже сталкивался с такой фигней, хотя на 15ом слайде показано, что много звезд должно сойтись что его вообще можно было запустить. По факту проблема была в вынесении всех модифицируемых зависимостей внедряемого кода в отдельную RW секцию. Алгоритм решения такой: 1. Выделить 2 области памяти RW 2. Записать в первую все модифицируемые зависимости 3. Выровнять все модификации в шеллкоде по адресу первой области 4. Записать "выровненный" шеллкод во 2ую область. 5. Поменять атрибуты 2ой секции на ER 6. Передать управление 5. Поменять атрибуты 2ой секции на ER <- это не пройдет Да, ERROR_DYNAMIC_CODE_BLOCKED. Я хз что тогда обходил, лол :D Гляну поближе, но я думал что ACG обходил, ибо RWE не давало :D :D :D P.S. Достану у кодера тот оригинальный код что юзали, и чекну еще раз.
  15. Arbitrary Code Guard (ACG)

    Тоже сталкивался с такой фигней, хотя на 15ом слайде показано, что много звезд должно сойтись что его вообще можно было запустить. По факту проблема была в вынесении всех модифицируемых зависимостей внедряемого кода в отдельную RW секцию. Алгоритм решения такой: 1. Выделить 2 области памяти RW 2. Записать в первую все модифицируемые зависимости 3. Выровнять все модификации в шеллкоде по адресу первой области 4. Записать "выровненный" шеллкод во 2ую область. 5. Поменять атрибуты 2ой секции на ER 6. Передать управление
×