Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
[Win32 hack] Отлично! Радуйся :) 24.08.02 00:27 Число просмотров: 3331
Автор: Biasha <Бяша> Статус: Member
|
> Идея с AllocConsole рулит. Я думаю, можно ее немного > развить: > 1. Находим сервис с окном в нашем десктопе. > 2. Делаем у него консоль (если ВДРУГ есть, то сначала, для > профилактики, FreeConsole).
Да, я так сначала и дела, но, что интересно, всё работает и без FreeConsole. Странно, ведь консоль у сервиса обычно бывает (мало того, я тестировал на своём сервисе, который точно является консольным приложением), только не ясно, где же она...
Но это и не так уж важно.
> 3. Узнаем hwnd окна консоли и шлем ему WM_SETTEXT с > заголовком - нашим эксплоитом (нулей быть не должно).
Я так пробовал, очень возможно я в чём-то ошибся (почти точно), но не получилось.
Наверное, нужно было ещё в oem перевести.
> 4. Делаем какому-либо окну сервиса GetConsoleTitle > (WM_TIMER'ом) - два параметра, первый - адрес буфера, > второй - длина (как раз WM_TIMER=113h) > 5. На хэндл окна, которому делали этот WM_TIMER опять > делаем WM_TIMER (штоб код исполнился). > > Минусы очевидны: > - не всегда по адресу = хэндлу есть хорошая память ;)
Мне сейчас кажется, даже, что это скорее исключение, когда она там есть.
> - иногда процесс снимается после писания в эту память (или > из-за дисбаланса стека, кто его знает). > > Плюсы тоже ничего - бомбить никого не надо. > > > > Кстати, To90210: HWND не есть валидный указатель. > > > У > > > меня > > > они обычно в стек попадают. > Чей?
Не знаю чей. Для Winlogon: зарезервирован интервал, посередине Guard Page, и что меня удивило, по обе стороны от него память выделена (а не просто зарезервирована снизу). hWnd попадал в нижние (меньшие) адреса – туда, куда стек ещё не дошёл.
> > > > Дык, ИМХО, хэндл - это смещение в таблице указателей > > на > > структуры, содержащие информацию? > hwnd - это песня другая. Это же не объект ядра и т.п. вещь. > Те структуры, о которых ты говоришь, живут в твоем > контексте (поэтому не валидны в других). > Да и hwnd бывают довольно большие (числа то есть) - что ж > это за индексы? ;)
Да, я тоже думаю, что это не смещение в таблице.
Впрочем, это тоже не важно. Главное что они не указывают на структуру. А значит, память под ними не пригодна для использования. А значит, нет никакого смысла передавать их первым параметром в какие либо функции.
А я у csrss окно нашёл :)
Правда, не ясно, что с его и Winlogon'овским окнами делать. Какие-то они не такие. Наверное, таки напишу прогу, которая нормально выдаёт инфу про владельцев окон, может виднее станет...
|
|
|