Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как поменять права процасса 
:(
    Опции темы
_sten_
  Дата 22.11.2007, 22:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 184
Регистрация: 29.9.2006

Репутация: нет
Всего: 3



Как моей программе поставить права System??
Есть мисль сделать инжект DLL в процес с правами SYSTEM (например lsass.exe) и запустить с под него нужнум программу. Но не получается сделать инжект, пробывал так:
Код

library hook_dll;

uses Windows, UrlMon;

var
   _hook: HHOOK = 0;
   thID: THandle;

function HookProc(nCode, wParam, lParam: integer): integer stdcall;
begin
     Result:=CallNextHookEx(_hook, nCode, wParam, lParam);
end;

procedure SetHK(hk: HHOOK) stdcall;
begin
     _hook:=hk;
end;

procedure WorkWithNet(thrVar: integer) stdcall;
begin
    winexec('calc.exe',sw_show);
     MessageBox(0, 'Все ок',
     'Hook DLL', MB_OK);
     
end;

exports
       HookProc name 'HookProc',
       SetHK name 'SetHK';

begin
     if GetModuleHandle(nil)=GetModuleHandle('iexplore.exe') then
        begin
             CreateThread(nil, 0, @WorkWithNet, pointer(12345), 0, thID);
        end;
end.



и лоадер:
Код

program Injector;

uses
  Windows;

const DLL_INJ = 'DLL Injector (HOOKS)';

type TShp = procedure (hk: HHOOK) stdcall;

procedure InjectDLLviaHOOKS(dll_name: string);
var
   h: THandle;
   p: pointer;
   sh: TShp;
   hk: HHOOK;
begin
     h:=LoadLibrary(PAnsiChar(dll_name));
     if h=0 then
        begin
             MessageBox(0, PAnsiChar('Не могу загрузить DLL '+dll_name+'!'), DLL_INJ, MB_OK+MB_ICONERROR);
             exit;
        end;
     p:=GetProcAddress(h, 'HookProc');
     @sh:=GetProcAddress(h, 'SetHK');
     if ((p=nil) or (@sh=nil)) then
        begin
             MessageBox(0, PAnsiChar('Библиотека '+
                           dll_name+' не содержит необходимых процедур!'),
                           DLL_INJ, MB_OK+MB_ICONERROR);
             FreeLibrary(h);
             exit;
        end;
     hk:=SetWindowsHookEx(WH_CALLWNDPROC, p, h, 0);
     if hk=0 then
        begin
             MessageBox(0, PAnsiChar('Невозможно установить ловушку!'),
                           DLL_INJ, MB_OK+MB_ICONERROR);
             FreeLibrary(h);
             exit;
        end;
     sh(hk);
     MessageBox(0, 'Ловушка установлена! Нажмите OK для снятия.',
                   DLL_INJ, MB_OK);
     UnhookWindowsHookEx(hk);
     FreeLibrary(h);
end;

begin
     InjectDLLviaHOOKS('hook_dll.dll');
end.



с инретнетексполорером все ок, а вот с без оконными приложениями ничего не получается....
--------------------
WARNING: Condition 'to_be || !to_be' is always 'true' !
PM MAIL ICQ   Вверх
dumb
Дата 23.11.2007, 02:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sceloglauxalbifacies
****


Профиль
Группа: Экс. модератор
Сообщений: 2929
Регистрация: 16.6.2006

Репутация: 7
Всего: 158



Цитата(_sten_ @  22.11.2007,  22:48 Найти цитируемый пост)
а вот с без оконными приложениями ничего не получается...
и не получится таким методом. пользуй CreateRemoteThread.
PM MAIL   Вверх
_sten_
Дата 23.11.2007, 10:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 184
Регистрация: 29.9.2006

Репутация: нет
Всего: 3



А поподробнее можно?
--------------------
WARNING: Condition 'to_be || !to_be' is always 'true' !
PM MAIL ICQ   Вверх
Riply
Дата 23.11.2007, 11:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Комодератор
Сообщений: 572
Регистрация: 27.3.2007
Где: St. Petersburg

Репутация: 21
Всего: 32



Цитата(dumb @  23.11.2007,  02:12 Найти цитируемый пост)
пользуй CreateRemoteThread. 


А так разве получиться ?
Что-то "меня терзают смутные сомнения", можно-ли таким способом можно поднять свои права  (с)  smile 

P.S.
 Сама на пробовала.

PM MAIL   Вверх
bartram
Дата 23.11.2007, 13:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Комодератор
Сообщений: 1606
Регистрация: 22.2.2004
Где: Russia, Samara

Репутация: 3
Всего: 29



Цитата(Riply @  23.11.2007,  13:07 Найти цитируемый пост)
Что-то "меня терзают смутные сомнения", можно-ли таким способом можно поднять свои права  (с) 

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



--------------------
В каждом из нас спит гений, но с каждым днем все крепче ;-)
bartram.ru
Twitter
user posted image 

PM MAIL ICQ   Вверх
dumb
Дата 23.11.2007, 14:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sceloglauxalbifacies
****


Профиль
Группа: Экс. модератор
Сообщений: 2929
Регистрация: 16.6.2006

Репутация: 7
Всего: 158



Цитата(Riply @  23.11.2007,  11:07 Найти цитируемый пост)
Что-то "меня терзают смутные сомнения", можно-ли таким способом можно поднять свои права
про поднятие прав речи и не шло.  smile
PM MAIL   Вверх
Riply
Дата 23.11.2007, 15:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Комодератор
Сообщений: 572
Регистрация: 27.3.2007
Где: St. Petersburg

Репутация: 21
Всего: 32



Цитата(dumb @  23.11.2007,  14:52 Найти цитируемый пост)
про поднятие прав речи и не шло.


Значит я не правильно поняла.
Я подумала, что имеется ввиду: создаем нить в теле жертвы, облалающей более высокими правами, чем наши,
а эта нить создает новый процесс уже с правами жертвы smile 

Уже собралась было писать тестовый пример, чтобы убедиться, что такой фокус не пройдет.
Как я поимаю время можно не тратить ?
PM MAIL   Вверх
_sten_
Дата 23.11.2007, 15:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 184
Регистрация: 29.9.2006

Репутация: нет
Всего: 3



Цитата

Значит я не правильно поняла.
Я подумала, что имеется ввиду: создаем нить в теле жертвы, облалающей более высокими правами, чем наши,
а эта нить создает новый процесс уже с правами жертвы  

Уже собралась было писать тестовый пример, чтобы убедиться, что такой фокус не пройдет.
Как я поимаю время можно не тратить ?

Да все именно так, только я не могу понять почему не получится? 
--------------------
WARNING: Condition 'to_be || !to_be' is always 'true' !
PM MAIL ICQ   Вверх
dumb
Дата 23.11.2007, 17:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sceloglauxalbifacies
****


Профиль
Группа: Экс. модератор
Сообщений: 2929
Регистрация: 16.6.2006

Репутация: 7
Всего: 158



Цитата(Riply @  23.11.2007,  15:27 Найти цитируемый пост)
Как я поимаю время можно не тратить ? 
не трать. это было бы вопиющим privilege escalation.
PM MAIL   Вверх
Riply
Дата 23.11.2007, 17:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Комодератор
Сообщений: 572
Регистрация: 27.3.2007
Где: St. Petersburg

Репутация: 21
Всего: 32



Цитата(dumb @  23.11.2007,  17:02 Найти цитируемый пост)
не трать. это было бы вопиющим privilege escalation. 


Я тоже так считаю.
Про "смутные сомнения" написала исходя из того, что (чем черт не шутит), 
а вдруг такой финт пройдет именно для перехода:  Администратор --> Ситема ?
Админские права они не совсем такие как другие. 
Некузяво выразилась, но надеюсь понятно, что я хотела сказать  smile 

PM MAIL   Вверх
_sten_
Дата 23.11.2007, 21:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 184
Регистрация: 29.9.2006

Репутация: нет
Всего: 3



Дык сопственно что именно не получится? Внедрится в SYSTEM-процес или права не унаследуются?
--------------------
WARNING: Condition 'to_be || !to_be' is always 'true' !
PM MAIL ICQ   Вверх
bems
Дата 23.11.2007, 22:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 3400
Регистрация: 5.1.2006

Репутация: 21
Всего: 88



пропишись в HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify


--------------------
Обижено школьников: 8
PM MAIL   Вверх
Riply
Дата 23.11.2007, 23:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Комодератор
Сообщений: 572
Регистрация: 27.3.2007
Где: St. Petersburg

Репутация: 21
Всего: 32



Не удержалась и набросала "на коленке" тестовый пример.
Моему удивлению нет границ:
попробовала сыграть такую шутку с ibserver.exe (от Borland).
Проскочило...  "Ничего не понимаю". (с)  smile 
Работала из под админа. ibserver, и слова мне не сказав, запустил процесс из под системы.

Надо привести код в божеский вид и попробовать то же самое в разных, 
связках, например,  Power User --> Admin (уверена, что не пройдет smile)
и с разными процессами типа WinLgon.

Н это так, "для очистки совести". 
Видимо, я была права, что "Админские права - особые права" smile
PM MAIL   Вверх
_sten_
Дата 23.11.2007, 23:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 184
Регистрация: 29.9.2006

Репутация: нет
Всего: 3



Riply,  а монжо на примерчик посмотреть?
--------------------
WARNING: Condition 'to_be || !to_be' is always 'true' !
PM MAIL ICQ   Вверх
Riply
Дата 24.11.2007, 01:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Комодератор
Сообщений: 572
Регистрация: 27.3.2007
Где: St. Petersburg

Репутация: 21
Всего: 32



Цитата(_sten_ @  23.11.2007,  23:59 Найти цитируемый пост)
Riply,  а монжо на примерчик посмотреть? 


Да я ж написала, что собирала его "на коленке".
Ну и закономерный результат небрежности в написании кода: работать то он работает, только
при попытке обратиться к Handle`у мною же созданной нити получаю Access is denied.
А это означает, что где-то у меня напортачено, просто сразу не проявляется :(

PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: WinAPI и системное программирование"
Snowybartram
MetalFanbems
PoseidonRrader
Riply

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Delphi обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • 99% ответов по WinAPI можно найти в MSDN Library, оставшиеся 1% здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема »


 




[ Время генерации скрипта: 0.0545 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.