Сейчас на форуме: UniSoft, _MBK_, laslo (+9 невидимых)

 eXeL@B —› Программирование —› Патч драйвера в памяти (win64)
Посл.ответ Сообщение


Ранг: 337.6 (мудрец), 224thx
Активность: 0.210.1
Статус: Участник
born to be evil

Создано: 09 мая 2011 13:10 · Поправил: ajax
· Личное сообщение · #1

Собс-но, сабж. Есть дровина, в которой надо пару байт поменять. Тело на диске ес-но изменять не могу, подпись будет не валидной. Свой драйвер писать для патчинга - тож не могу, не имею сертификата Допустим, имеются права админа и всякие "радости" в винде отключены. Реально из ринг-3 заменить сии байтики?

-----
От многой мудрости много скорби, и умножающий знание умножает печаль




Ранг: 590.6 (!), 408thx
Активность: 0.360.18
Статус: Модератор

Создано: 09 мая 2011 13:23
· Личное сообщение · #2

Нереально.

-----
старый пень




Ранг: 237.0 (наставник), 20thx
Активность: 0.130
Статус: Участник
sysenter

Создано: 09 мая 2011 13:46
· Личное сообщение · #3

реально только из своего драйвера (в тест-режиме с своим тест-сертификатом).

-----
продавец резиновых утёнков




Ранг: 369.8 (мудрец), 400thx
Активность: 0.390
Статус: Участник

Создано: 09 мая 2011 15:07
· Личное сообщение · #4

Патчи на диске, подписывай тестовым сертификатом, врубай test mode и вперед.

ajax пишет:
Реально из ринг-3 заменить сии байтики?

Реально через эксплоит, если не патчено. Вот например один из стареньких --> Link <--

-----
PGP key <0x1B6A24550F33E44A>





Ранг: 337.6 (мудрец), 224thx
Активность: 0.210.1
Статус: Участник
born to be evil

Создано: 09 мая 2011 18:10 · Поправил: ajax
· Личное сообщение · #5

ntldr пишет:
Патчи на диске, подписывай тестовым сертификатом, врубай test mode и вперед

Это и имелось ввиду, что нормального сертификата нет, а тестовый юзать - не катит тест мода по условию.
ntldr пишет:
Реально через эксплоит, если не патчено. Вот например один из стареньких

Уж очень он старенький, судя по всему до СП1

-----
От многой мудрости много скорби, и умножающий знание умножает печаль




Ранг: 369.8 (мудрец), 400thx
Активность: 0.390
Статус: Участник

Создано: 09 мая 2011 18:23
· Личное сообщение · #6

ajax пишет:
а тестовый юзать - не катит тест мода по условию.

Тогда остаются такие варианты: каждый раз жать F8 при загрузке, купить сертификат (купить можно только на фирму), попросить подписать кого-нибудь у кого сертификат есть (но никто в здравом уме ваш патчер не подпишет).
Хакерские варианты: сделать бутлоадер эмулирующий нажатие F8 с отключением проверки подписи при загрузке (где-то я такое видел) или пропатчить bootmgr и winload.exe убрав оттуда проверки (так работает руткит TDL3).

-----
PGP key <0x1B6A24550F33E44A>





Ранг: 324.3 (мудрец), 222thx
Активность: 0.480.37
Статус: Участник

Создано: 09 мая 2011 21:37 · Поправил: DenCoder
· Личное сообщение · #7

ajax пишет:
Уж очень он старенький, судя по всему до СП1

ИМХО много nt-функций, которые обращаются к реестру и не проверяют тип ключа. На этом и был построен эксплойт. Думаю, еще с десяток, может два можно накопать

UPD. И, кстати, на Win64 --> NtSystemDebugControl <-- уже не работает?

-----
IZ.RU





Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 09 мая 2011 22:23
· Личное сообщение · #8

Он не работает уже давным давно. И на х86 тоже.




Ранг: 355.4 (мудрец), 55thx
Активность: 0.320
Статус: Uploader
5KRT

Создано: 10 мая 2011 01:51
· Личное сообщение · #9

UPD. И, кстати, на Win64 --> NtSystemDebugControl <-- уже не работает?

В сп2 еще работал, а с сп3 перестал

-----
Gutta cavat lapidem. Feci, quod potui. Faciant meliora potentes




Ранг: 73.7 (постоянный), 22thx
Активность: 0.040
Статус: Участник

Создано: 10 мая 2011 02:06 · Поправил: XQuader
· Личное сообщение · #10

Coderess пишет:
В сп2 еще работал, а с сп3 перестал

У мну 32bit XP SP3, пример антиотладки, выложенный ARCHANGEL в том топе (взведение BTF в MSR) у мну работает как надо...
(Хотя мот дело в сборке от Зверя...)




Ранг: 324.3 (мудрец), 222thx
Активность: 0.480.37
Статус: Участник

Создано: 10 мая 2011 05:21
· Личное сообщение · #11

XQuader пишет:
У мну 32bit XP SP3


ntldr пишет:
Реально через эксплоит, если не патчено. Вот например один из стареньких


ajax пишет:
Уж очень он старенький, судя по всему до СП1


Я просто не сразу догнал, что вопрос касательно 7 SP1 x64...

Хотел уже всех достать, чем так страшна генерация своего сертификата и подписывание им... Но скачал уже 2 документа с офф сайта, почитал Using Cross-Certificates with Kernel-Mode Code Signing, скачал -> кросс-сертификаты <-, полазил в хранилище сертификатов... И желание отпало

Заинтересовало --> это <--

Как вариант: может где-нибудь ст- ащи-ть найти можно?

-----
IZ.RU




Ранг: 369.8 (мудрец), 400thx
Активность: 0.390
Статус: Участник

Создано: 10 мая 2011 06:45
· Личное сообщение · #12

DenCoder пишет:
Заинтересовало --> это <--

Читай подробнее --> Link <--
Это для белых и пушистых опенсорс проектов. Никто вам не подпишет чужой патченный драйвер или драйвер делающий что-то в обход системы безопасности ОС.

-----
PGP key <0x1B6A24550F33E44A>





Ранг: 324.3 (мудрец), 222thx
Активность: 0.480.37
Статус: Участник

Создано: 10 мая 2011 11:10
· Личное сообщение · #13

Что нужно, чтобы подписать что-то от имени Microsoft и, скажем, CyberTrust? Секретный ключ?

Почти 3 года назад наткнулся на программу для достаточно быстрой факторизации. (В аттаче программа + описание принципа).

Все сертификаты есть, нет промежуточного (intermediate CA sertificate) и конечного (End-Entity code signing sertificate). 1-ый должен быть подписан CyberTrust (или VerySign, если выбрали его) и -> кросс-сертификатом для CyberTrust <-, 2-ой - 1-ым. Код подписывается вторым.

Схема такая:
1) Вычисляем секретные ключи сертификатов по их открытым ключам;
2) Генерируем intermediate, подписываем его Trusted Root CA, указываем кросс;
3) Генерируем End-entity code signing sertificate, подписываем его интермедиэйтом;
4) Подписываем драйвер.

Может, я чего-то не понимаю? Видимо да, иначе давно б уже реализовали... Но вопрос: что мешает такой схеме? Дайте ссылку.

Аттач

d80a_10.05.2011_EXELAB.rU.tgz - Простые числа.rar

-----
IZ.RU




Ранг: 369.8 (мудрец), 400thx
Активность: 0.390
Статус: Участник

Создано: 10 мая 2011 11:14
· Личное сообщение · #14

DenCoder пишет:
1) Вычисляем секретные ключи сертификатов по их открытым ключам;

Всего-лишь вычисляем секретные ключи Как вычислите - не забудьте забрать свою нобелевку, или что там дают за открытия века в математике.

DenCoder пишет:
Но вопрос: что мешает такой схеме?

Ничего не мешает. Делайте, удачи вам!

-----
PGP key <0x1B6A24550F33E44A>


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


Ранг: 324.3 (мудрец), 222thx
Активность: 0.480.37
Статус: Участник

Создано: 10 мая 2011 11:35 · Поправил: DenCoder
· Личное сообщение · #15

ntldr пишет:
Ничего не мешает. Делайте, удачи вам!

Мне пока оно не надо, всего лишь ищу уязвимости возможности... как --> и все <--...

Программа в аттаче может не идеал (не идеал - так и есть, на огромных числах спотыкается и, бывает, виснет), но можно усовершенствовать. Что по принципу факторизации, описанному там же? Ведь --> Гипотеза Римана доказана. <-- Хотя, поскольку проблема остаётся всё ещё в списке проблем тысячелетия и премию никто не получал, стоит и усомниться...

--> Великие проблемы математики <--
--> Гипотеза Фомюка-Римана <--

Если я не прав, то остаются всё же еще несколько вариантов подхода:
1) Уязвимости алгоритма проверки ЭЦП;
2) Уязвимости работы реестровых nt-функций;
3) Уязвимости работы nt-функций, связанных с парсингом реестра;
4) Уязвимости других nt-функций...

Но уязвимости имеют тенденцию патчиться... - малоприменимо и не универсально...

-----
IZ.RU




Ранг: 145.8 (ветеран), 191thx
Активность: 0.140.36
Статус: Участник

Создано: 10 мая 2011 12:42
· Личное сообщение · #16

DenCoder
Вы меня конечно извините, но вы несете феерический бред.
FYI большую перспективу в плане эксплоитов имеют win32k подсистемы, чем какие-то нт функции которым сто лет в обед и чей исходный код валяется в интернете в изобилии.




Ранг: 324.3 (мудрец), 222thx
Активность: 0.480.37
Статус: Участник

Создано: 10 мая 2011 13:21 · Поправил: DenCoder
· Личное сообщение · #17

Alchemistry пишет:
FYI большую перспективу в плане эксплоитов имеют win32k подсистемы

Угу... а в курсе, что и они имеют префикс Nt? win32k!NtGdiBitBlt, например?

И, кстати, функции, построенные на парсинге реестра имеет потенциально высокую вероятность уязвимости при выходе новых версий ввиду существования "некой группы недокодеров программистов в MS", имеющей сложности в написании таких и "другой группы, не всегда с успехом улучшающей код 1-ой"...

-----
IZ.RU



 eXeL@B —› Программирование —› Патч драйвера в памяти (win64)
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати