Security Teams



:::
Страницы: (2) [1] 2  ( Перейти к первому непрочитанному сообщению ) Ответ в темуСоздание новой темыСоздание опроса

> Как инжектироваться в чужей процесс?
cl0ne
Дата 16.12.2006 - 23:24
Цитировать сообщение
Offline



Activist
**

Профиль
Группа: -users-
Сообщений: 67
Пользователь №: 4685
Регистрация: 21.11.2006



Рейтинг:
(0%) -----


Есть процесс. Хочу от его имени скачать файл из интернета, а затем запустить. Как это сделать? Можно на Си или асме.
PMПисьмо на e-mail пользователю
Top
nameless
Дата 17.12.2006 - 02:37
Цитировать сообщение
Offline



.:Тень:.
******

Профиль
Группа: -experts-
Сообщений: 1745
Пользователь №: 18
Регистрация: 19.02.2005



Рейтинг:
(90%) XXXXX


либо инфицировать, либо найти в нём уязвимость (оверфлов) и поюзать её.


--------------------
Мы расправим крылья
PM
Top
drmist
Дата 17.12.2006 - 17:25
Цитировать сообщение
Offline



Professional
*****

Профиль
Группа: -users-
Сообщений: 1165
Пользователь №: 222
Регистрация: 14.04.2005



Рейтинг:
(0%) -----


cl0ne
Нужно выделить память в адресном пространстве заданного процесса (VirtualAllocEx), записать туда свой код (WriteProcessMemory) и создать удаленный поток (CreateRemoteThread), указав в качестве точки входа указатель на вуделеный буфер в чужем процесе.
Реализация на ассемблере: https://www.stnc.ru/ftpdrmist/sources/inject.asm
Там инжектируется код, не привязанный к какому-либо базавому адресу.

Если такая реализация кажется слишком сложной, можно скомпилировать свою программу с базовым адресом, отличным от традиционых (0x400000 для Visual C) - то есть выбрать такой адрес, который, предположительно, должен быть 100% неиспользуемым в чужем процессе, затем выделить в нем память по своему базавому адресу, вписать образ всего своего процесса ЦЕЛИКОМ, и создать удаленный поток с адресом какой-то своей функции в качестве точки входа. Эта функция будет выполнена в адресном пространстве чужего процесса.
Приемущество этого матода - образ программы, все импорты и релоки уже будут настроены сисемным загрузчиком, потому образ своей программы не нужно править в адресном пространстве чужего процесса. Это имеет место потому что любая динамичкеская библиотека в ОС семейства Windows в пределах одной заданной системы отображается по одному и тому же адресу для двух разных процессов. Этот феномен описан у Рихтера, наблюдать его можно с помощью любой утилиты типа PETools.
Реализация на Си: https://www.stnc.ru/ftpdrmist/sources/cbs.0.6.rar


--------------------
Когда нельзя еще больше хочется...
PMСайт пользователя
Top
drmist
Дата 17.12.2006 - 17:29
Цитировать сообщение
Offline



Professional
*****

Профиль
Группа: -users-
Сообщений: 1165
Пользователь №: 222
Регистрация: 14.04.2005



Рейтинг:
(0%) -----


Но хочу отметить, что любой соверменный фаер это дело уже палит, потому необходимо сначала написать драйвер режима ядра, чтобы снять перехваты с соответствующих функций (VirtualAllocEx, WriteProcessMemory, CreateRemoteThread) и только потом инжектироваться. Только если мы уже в ядре, то способов выйти в интернет без ведома пользователя становится больше. Подробности - на wasm.ru


--------------------
Когда нельзя еще больше хочется...
PMСайт пользователя
Top
cl0ne
Дата 23.12.2006 - 17:20
Цитировать сообщение
Offline



Activist
**

Профиль
Группа: -users-
Сообщений: 67
Пользователь №: 4685
Регистрация: 21.11.2006



Рейтинг:
(0%) -----


drmist
Большое спасибо, отличные примеры
PMПисьмо на e-mail пользователю
Top
Finder
Дата 25.08.2007 - 05:57
Цитировать сообщение
Offline



Junior
*

Профиль
Группа: -users-
Сообщений: 19
Пользователь №: 5420
Регистрация: 25.08.2007



Рейтинг:
(0%) -----


"любая динамичкеская библиотека в ОС семейства Windows в пределах одной заданной системы отображается по одному и тому же адресу для двух разных процессов"
Хм. Обычно отображается по одним адресам . Вроде бы это гарантированно только для kernel32.dll и ntdll.dll ?

И почему вы всё время посылаете в r0 ?
Вообще , нормальные способы загрузки из r3 существуют ?
Если инжектироваться в фаил службы на диске , предварительно убрав wfp , сработает ?

P.S.: Задолбался уже читать устаревшие маны .
Что ни возьми : устарело , недействительно , в учебных целях , палится фаером.
sad.gif(
Можете подсказать хоть 1 рабочий способ загрузки r3 , чтобы не висеть в taskbare ?
PMПисьмо на e-mail пользователю
Top
Nickolas
Дата 26.08.2007 - 14:07
Цитировать сообщение
Offline



Specialist
****

Профиль
Группа: -users-
Сообщений: 467
Пользователь №: 2842
Регистрация: 16.02.2006



Рейтинг:
(0%) -----


Finder
Чтобы не попасть в таскбар тебе не нужно создавать окна программы. Это как раз простейший способ оставаться в r3


--------------------
И придут демоны, и будет имя им BSD
PM
Top
Finder
Дата 26.08.2007 - 20:27
Цитировать сообщение
Offline



Junior
*

Профиль
Группа: -users-
Сообщений: 19
Пользователь №: 5420
Регистрация: 25.08.2007



Рейтинг:
(0%) -----


Наин , не понимаю . Имелся ввиду естественно список процессов .
Или я не то спросил , или ты не так понял .
Чем тут отсуствие окна поможет ? :-\
PMПисьмо на e-mail пользователю
Top
Nickolas
Дата 27.08.2007 - 11:08
Цитировать сообщение
Offline



Specialist
****

Профиль
Группа: -users-
Сообщений: 467
Пользователь №: 2842
Регистрация: 16.02.2006



Рейтинг:
(0%) -----


Finder
Список процессов - это тасклист. ВЫражайтесь правильно, если хотите, чтобы вас правильно поняли.

А для того, чтобы не "палиться" в списке процессов необходимо перехватить сообтветствующие системные вызовы. Документацииот этом в инете полно, да и MSDN тоже ещё никто не отменял


--------------------
И придут демоны, и будет имя им BSD
PM
Top
Finder
Дата 27.08.2007 - 11:55
Цитировать сообщение
Offline



Junior
*

Профиль
Группа: -users-
Сообщений: 19
Пользователь №: 5420
Регистрация: 25.08.2007



Рейтинг:
(0%) -----


Ну ошибся , с кем не бывает . Уставший был .

"для того, чтобы не "палиться" в списке процессов необходимо перехватить сообтветствующие системные вызовы".
Всего то . Для чего и нужен драйвер .
В 1 своем посте я спрашивал именно насчет r3 методов .
Типа инжектирования dll . И , кстати , спросил вполне конкретную вещь - поможет ли заражение службы на диске, после отключения wfp .
Знаю , что например вирус Snatch нормально живет в r3 , инжектируясь в iexplorer.exe .
PMПисьмо на e-mail пользователю
Top

Опции темы Страницы: (2) [1] 2  Ответ в темуСоздание новой темыСоздание опроса