Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.05.02;
Скачать: CL | DM;

Вниз

Нулевое кольцо защиты (Ring0)   Найти похожие ветки 

 
Игорь Шевченко ©   (2004-02-27 11:35) [40]

Kerk ©   (27.02.04 08:56)

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

Лучше бы вместо пищания сделать чтение управляющих регистров процессора. И сравнить с результатами w2k_mem Свена Шрайбера.


 
Kerk ©   (2004-02-27 14:48) [41]

2h0use
В общем, технология перехода в Ring0 продемонстрирована. Осталось только без глюков реализовать.

> Игорь Шевченко ©   (27.02.04 11:35) [40]
> Хорошая работа.


Старался... :)


 
Игорь Шевченко ©   (2004-02-27 15:01) [42]

Kerk ©   (27.02.04 14:48)

На досуге можно почитать в MSDN, почему и когда рекомендуется и не рекомендуется использовать Device\PhysicalMemory.
Другой вопрос, стоит ли овчинка выделки - использовать такой способ для перехода в нужный режим. Драйвером как-то стабильнее и предсказуемее получается.


 
Kerk ©   (2004-02-27 15:18) [43]

Игорь Шевченко ©   (27.02.04 15:01) [42]
Тут ты все верно сказал. Но иногда бывает просто не удобно из-за какой-то мелочи драйвер писать.


 
Игорь Шевченко ©   (2004-02-27 15:25) [44]

Kerk ©   (27.02.04 15:18)


> Но иногда бывает просто не удобно из-за какой-то мелочи
> драйвер писать.


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


 
SDW-syscoder   (2004-02-27 16:58) [45]

// Вот написал. Переходит в Ring0 и пищит спикером.
// http://kerk-files.narod.ru/ring0.zip

Примерчик-то отличный, даже система не падает. Я пока не разбирался в коде и хочу заранее поинтересоваться: можно ли организовать и/или выполнить две процедуры или функции в Ring0.


 
BiN ©   (2004-02-27 17:28) [46]

Запищало на 3-й раз!!! - во время ПЕРЕЗАГРУЗКИ "№;:№%;№:%;!"?*(
:/


 
Kerk ©   (2004-02-28 10:18) [47]


> SDW-syscoder

насчет твоего rdmsr. я тут поэкспериментировал.

1)
mov ecx,0 // номер MSR-регистра для чтения
rdmsr

все ок.

2)
mov ecx,1
rdmsr

все ок

3)
mov ecx,2
rdmsr

"синий экран смерти"

делаем выводы...


> можно ли организовать и/или выполнить две процедуры или
> функции в Ring0

а какая разница сколько процедур выполнять?


> BiN ©   (27.02.04 17:28) [46]

Система какая?


 
Kerk ©   (2004-02-28 10:25) [48]

> Игорь Шевченко ©   (27.02.04 15:25) [44]
Например, чтобы просто прочитать регистр MSR писать целый драйвер не удобно.
Мне кажется тут бессмысленно спорить - это дело вкуса.


 
Anatoly Podgoretsky ©   (2004-02-28 12:47) [49]

Kerk ©   (28.02.04 10:18) [47]
Выводы простые, хакерские методы они и есть хакерские.


 
BiN ©   (2004-02-28 17:05) [50]

Kerk © Система какая?
W2k SP4

Пока будешь каждый регистр тестировать, эту дыру (а это и есть дыра) прикроют. Так что удачного пищания :)


 
Kerk ©   (2004-02-29 11:49) [51]


> BiN ©   (28.02.04 17:05) [50]

Этой дыре уже не один год...
А про регистры я писал, потому что h0use сказал, что у него rdmsr не работает... я ему показал, что она работает...


> Anatoly Podgoretsky ©   (28.02.04 12:47) [49]

хакерские - не значит плохие и неправильные.


 
VMcL ©   (2004-02-29 13:08) [52]

>>Kerk ©  (29.02.04 11:49) [51]
>хакерские - не значит плохие и неправильные.

hack ~ ломать => хакерские ~ ломающие => плохие, но вполне могут быть правильными :))


 
Игорь Шевченко ©   (2004-02-29 22:13) [53]

Kerk ©   (29.02.04 11:49)


> хакерские - не значит плохие и неправильные


Значит. Неправильность их заключается в том, что не гарантируется предсказуемый результат в различных версиях операционных систем, и даже в различных сервис-паках. Учиться надо у Sysinternals.


 
Kerk ©   (2004-03-01 14:49) [54]

2Игорь Шевченко
Чтобы не быть голословным, Игорь, приведи пример ситуации, когда данный метод не сработает.

Что должно случиться, чтобы я не смог открыть \device\physicalmemory и добавить селектор в GDT?


 
Игорь Шевченко ©   (2004-01-23 13:45) [55]

Kerk ©   (01.03.04 14:49)

А предыдущий пример как раз это и показывает...Тот, который у всех себя ведет по-разному.


> Что должно случиться, чтобы я не смог открыть \device\physicalmemory
>


Например, запретят изменять атрибуты защиты у device\physicalmem из режима пользователя.


 
Kerk ©   (2004-03-02 11:37) [56]


> А предыдущий пример как раз это и показывает...Тот, который
> у всех себя ведет по-разному.

Не надо ссылаться на предыдущий пример. Там была попытка перехвата функции NtCreateFile по статически заданному адресу. А в разных ОС (и возможно разных сервис-паках) эта функция по разным адресам сидит. Потому пример и работает через раз.

> Например, запретят изменять атрибуты защиты у device\physicalmem
> из режима пользователя.

Очень и очень маловероятно. Зачем это?
Почему на \.\\PhysicalDrive[X] можно писать что хочешь и вполне легально, а в \Device\PhysMem нельзя?
С точки зрения защиты не логично. Если мне не дадут в память писать, я в MBR запишусь (и не известно что опаснее).. :-)


 
Digitman ©   (2004-03-02 11:53) [57]


> Kerk ©   (02.03.04 11:37) [56]


Касперский, кстати, вполне солидарен с Игорем)... или наоборот)

Ибо смотрит на файлы с подобным кодом (в любой его ипостаси) как на файлы загаженные дерьмом под названием VirTool.Win32.FileName


 
Kerk ©   (2004-03-02 11:56) [58]

Это минус Касперского...
Нормальный вири ловить не может, а подобные ложные срабатывания мешают работе.


 
Игорь Шевченко ©   (2004-03-02 12:14) [59]

Kerk ©   (02.03.04 11:37)

Кстати, насколько я помню, этот пример выполняется только из-под администратора ?


> Если мне не дадут в память писать, я в MBR запишусь (и не
> известно что опаснее)..


Зачем ?


 
Kerk ©   (2004-03-02 14:41) [60]


> Кстати, насколько я помню, этот пример выполняется только
> из-под администратора ?

Абсолютно верно.
Но ведь я и не призываю все драйвера на такие проги заменять. В конце концов поведение дравера действительно куда более предсказуемо. Но согласись, что метод с \device\physmem вполне применим на практике...


> > Если мне не дадут в память писать, я в MBR запишусь (и не
> > известно что опаснее)..
> Зачем ?

Этим я хотел сказать, что прямая работа у физ.диском не менее опасна, и тем не менее документирована и разрешена.


 
Игорь Шевченко ©   (2004-03-02 15:35) [61]

>Но согласись, что метод с \device\physmem вполне применим на >практике...

Может, и применим, только я не вижу, для решения каких задач.


> > > Если мне не дадут в память писать, я в MBR запишусь
> (и не
> > > известно что опаснее)..
> > Зачем ?
>
> Этим я хотел сказать, что прямая работа у физ.диском не
> менее опасна, и тем не менее документирована и разрешена.


Как ни странно, нажатие клавиш Shift+Delete в проводнике тоже разрешено...И даже документировано. Хотя в ряде случаев может быть сопоставимо с записью в MBR


 
Ray Adams   (2004-03-13 16:18) [62]

Народ, я ответил в другом топике уже.
Ижем в google даем поиск по DLPortIO, giveio. Бесплатные дрова и исходниками и примерами на Дельфи , Си , Бейсике.



Страницы: 1 2 вся ветка

Текущий архив: 2004.05.02;
Скачать: CL | DM;

Наверх




Память: 0.59 MB
Время: 0.026 c
7-1078349329
Status
2004-03-04 00:28
2004.05.02
Как закрыть программу, когда пользователь хочет перезагрузиться?


14-1081345524
Esu
2004-04-07 17:45
2004.05.02
Вопросик к знатокам ASP ;)


4-1078684563
Volunteer
2004-03-07 21:36
2004.05.02
Как отслеживать нажатие клавиш из Win (XP) ?


1-1081795854
Роман К
2004-04-12 22:50
2004.05.02
Как изменить имя файла при изменении типа файла в TSaveDialog


1-1081775641
BVV
2004-04-12 17:14
2004.05.02
TreeView