Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

некорректная работа WriteProcessMemory + CreateRemoteThread

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Компилируемые языки] >> некорректная работа WriteProcessMemory + CreateRemoteThread
Имя
Сообщение << Старые топики   Новые топики >>
некорректная работа WriteProcessMemory + CreateRemoteThread - 2009-06-09 13:28:57.273333   
Vary

Сообщений: 31
Оценки: 0
Присоединился: 2009-02-19 15:33:19.930000
to Python: надеюсь так тема достаточно информативна?) ато забанят мну за второй раз^^

теперь о проблеме:

procedure InjectBegin(); begin end; procedure InjectEnd(); begin end; . . . . . hProc:=OpenProcess(PROCESS_ALL_ACCESS,false,PID); size:=dword(@InjectEnd)-dword(@InjectBegin); addr:=VirtualAllocEx(hProc,nil,size,MEM_RESERVE or MEM_COMMIT,PAGE_EXECUTE_READWRITE); bool:=WriteProcessMemory(hProc,addr,@InjectBegin,size,BytesWritten); hThread:=CreateRemoteThread(hProc,nil,0,addr,nil,0,_ID); вотакой вот код. при попытке выполнения происходят странные вещи: после WriteProcessMemory size теряет значение(а было в нем 4), в BytesWritten пишется 0, и WriteProcessMemory не возвращает ничего в bool, но если вставить WriteProcessMemory в If не прокатывает. Дальше после CreateRemoteThread в hThread идет нормальный вроде хэндл но подопытное приложение вылетает с окном об отправке отчета в МС. Мож кто встречался с подобный, подскажите пожалуйста.
кстати хэндл на процесс валидный и адресс выделенной памяти тоже
Post #: 1
RE: некорректная работа WriteProcessMemory + CreateRemoteThread - 2009-06-09 17:01:49.386666   
_SaZ_

Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
Проверь адреса InjectBegin и IngectEnd. Походу неправильно ты их берёшь. Кстати, выделение памяти нормально отрабатывает?
Post #: 2
RE: некорректная работа WriteProcessMemory + CreateRemoteThread - 2009-06-09 17:36:31.750000   
Hateman

Сообщений: 62
Оценки: 0
Присоединился: 2009-06-06 20:22:22.040000
Помнится на WASM был хороший пример. Возможно даже на Delphi.
Если покопаешься, то отыщешь.
Кстати, а зачем тебе это? Что-то где-то было мной прочитано, что касперский такое не любит…

P.S.: А size сколько получается?
Post #: 3
RE: некорректная работа WriteProcessMemory + CreateRemoteThread - 2009-06-09 18:22:50.716666   
_SaZ_

Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
quote:

ORIGINAL: Hateman
P.S.: А size сколько получается?


quote:

ORIGINAL: Vary
после WriteProcessMemory size теряет значение(а было в нем 4), в BytesWritten



Да не только касперски не любит :)
Post #: 4
RE: некорректная работа WriteProcessMemory + CreateRemoteThread - 2009-06-09 20:57:36.950000   
Vary

Сообщений: 31
Оценки: 0
Присоединился: 2009-02-19 15:33:19.930000
с VirtualAllocEx все норм. Как внедрить процедуру сморел на Hais, там именно так было описано внедрение кода. На Каспера плевать, я его выключу) Поиски по "внедрение кода" на васме дали патч PE с пропиской туда библиотеки и всем вытекающим, а мне надо процедуру внедрить. мож канеш плохо искал, можно еще порыться будет..
кстати про антивирусы знаю, эвристики создание удаленных потоков канеш не любят(о чем уже писалось в ][), но нам-то хацкерам че?:D
Post #: 5
RE: некорректная работа WriteProcessMemory + CreateRemoteThread - 2009-06-09 21:15:11.400000   
Hateman

Сообщений: 62
Оценки: 0
Присоединился: 2009-06-06 20:22:22.040000
Да не, у меня даже где-то валялось, только я так и не применил. Но работало.
Точно, вспоминаю, на Delphi. Только давно там уже было.
Модуль. И процедуры внедряются и ещё разными способами. Но с CreateRemoteThread точно было.

А про каспера… А зачем делать таким образом? Выключать каспера ещё более палевно, чем внедряться в процесс. Неужели других способов обхода нет (я сам не знаю, потому и спрашиваю, т.к. скоро может пригодиться)?
Post #: 6
RE: некорректная работа WriteProcessMemory + CreateRemoteThread - 2009-06-09 21:24:30.030000   
Vary

Сообщений: 31
Оценки: 0
Присоединился: 2009-02-19 15:33:19.930000
если вдруг найдешь вспомни обо мне пожалста)
а перед кем мне палиться? у себя на компе че хочу то и ворочу. пока не мешал при тестировании.
в процесс мне нужно внедриться чтобы оттуда работать с компонентами проги подопытной, из моего процесса их никак не достать
Post #: 7
RE: некорректная работа WriteProcessMemory + CreateRemoteThread - 2009-06-09 21:36:38.153333   
Hateman

Сообщений: 62
Оценки: 0
Присоединился: 2009-06-06 20:22:22.040000
Да, кстати, вставь в первую процедуру, хотя бы MessageBox.
А во вторую, что-то, вроде:
asm &nbsp;&nbsp; nop end;
Post #: 8
RE: некорректная работа WriteProcessMemory + CreateRemoteThread - 2009-06-09 21:42:41.073333   
Vary

Сообщений: 31
Оценки: 0
Присоединился: 2009-02-19 15:33:19.930000
что интересно в первую месажбокс я вставлять уже пробовал, после опубликования темы, таже история повторилась в точности. вот асм не пробовал
Post #: 9
RE: некорректная работа WriteProcessMemory + CreateRemoteThread - 2009-06-09 21:43:14.020000   
Hateman

Сообщений: 62
Оценки: 0
Присоединился: 2009-06-06 20:22:22.040000
quote:

если вдруг найдешь вспомни обо мне пожалста)

Поищу у себя.
Только зарегайся на форуме http://artiomsoft.zx6.ru/phpbb/ .
Там народу нету, а я форум хочу. Свой. Потому что скучно.
Если найду, то там и скину в ЛС (уже не ранее завтра, видимо).

quote:

в процесс мне нужно внедриться чтобы оттуда работать с компонентами проги подопытной, из моего процесса их никак не достать

Ааа… Я-то думал, что задача другая.
Post #: 10
RE: некорректная работа WriteProcessMemory + CreateRemoteThread - 2009-06-09 22:00:17.833333   
Vary

Сообщений: 31
Оценки: 0
Присоединился: 2009-02-19 15:33:19.930000
с кодом в процедурах тоже самое вышло. попробовал еще VirtualProtectом явно установить PAGE_EXECUTE_READWRITE на выделенную память - ноль эмоций, и VirtualProtect тоже кстати значение не возвращает.

а еще почитал краклаб, и чтото кажется мне теперь что прога защищена от WriteProcessMemory, а тогда хакерить надо неподетски, не мой уровень… но надо надеяться на лучшее)
Post #: 11
RE: некорректная работа WriteProcessMemory + CreateRemoteThread - 2009-06-10 00:06:41.836666   
_SaZ_

Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
Цепляй dll к проге.
Post #: 12
RE: некорректная работа WriteProcessMemory + CreateRemoteThread - 2009-06-10 07:22:25.730000   
Hateman

Сообщений: 62
Оценки: 0
Присоединился: 2009-06-06 20:22:22.040000
quote:

что прога защищена от WriteProcessMemory

А, сама по себе, запакована, CRC проверяет?
Может там защита чисто навесная, типа asprotect'а какого-нибудь?
Post #: 13
RE: некорректная работа WriteProcessMemory + CreateRemoteThread - 2009-06-10 11:34:00.990000   
_SaZ_

Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
Омг, причём тут упаковка?! Тебе не про .exe говорят, а про запущенный процесс.
Post #: 14
RE: некорректная работа WriteProcessMemory + CreateRemoteThread - 2009-06-10 12:03:45.493333   
Hateman

Сообщений: 62
Оценки: 0
Присоединился: 2009-06-06 20:22:22.040000
Ну и что? Может имеется возможность изменить exe, и убрать защиту от WriteProcessMemory (чего-то я с трудом такую защиту представляю, как это?).
Post #: 15
RE: некорректная работа WriteProcessMemory + CreateRemoteThread - 2009-06-10 14:27:42.946666   
Vary

Сообщений: 31
Оценки: 0
Присоединился: 2009-02-19 15:33:19.930000
проблема в том что длл я писать никогда не пробовал. к тому же чтоб в процесс вставить длл надо опять же внедряться, а чтоб в загружаемые либы прописать надо exe править. а exe как раз запакован, не знаю чем т. к. в кряке слаб.

на краклабе описан случай с защитой проги от WriteProcessMemory без драйвера. описать не могу т к сам не особо понял. вот ссылка кому интересно:
http://www.cracklab.ru/f/index.php?action=vthread&forum=6&topic=13602
Post #: 16
RE: некорректная работа WriteProcessMemory + CreateRemoteThread - 2009-06-11 04:01:03.060000   
_SaZ_

Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
В checkpoint как-то тестовым заданием было написать защиту от ReadProcessMemory. Года 4 назад. Я не справился :).
Post #: 17
RE: некорректная работа WriteProcessMemory + CreateRemoteThread - 2009-06-11 10:48:09.183333   
Vary

Сообщений: 31
Оценки: 0
Присоединился: 2009-02-19 15:33:19.930000
[:(] придется еще более обходной путь искать. одна маленькая проблема повлекла за собой цепочку других, я нав к концу написания проги до проблемы смысла жизни доберусь ><
Post #: 18
RE: некорректная работа WriteProcessMemory + CreateRemoteThread - 2009-06-11 11:46:34.656666   
Vary

Сообщений: 31
Оценки: 0
Присоединился: 2009-02-19 15:33:19.930000
подробности:
дело не в защищенности проги от вторжения в память, пробовал на блокноте - та же история. но что интересно: если запустить поток и подождать, то прога выдаст окно отправки отчета в МС а потом слетит. а если запустив поток через короткое время его убить (гдет через секунду), то окно так же будет, но прога продолжит нормально работать. к чему бы это
Post #: 19
RE: некорректная работа WriteProcessMemory + CreateRemoteThread - 2009-06-11 14:10:47.593333   
Hateman

Сообщений: 62
Оценки: 0
Присоединился: 2009-06-06 20:22:22.040000
quote:

В checkpoint как-то тестовым заданием было написать защиту от ReadProcessMemory. Года 4 назад. Я не справился :).

Там, кстати, на краклабе мне понравилась идея.

quote:

то прога выдаст окно отправки отчета в МС а потом слетит.

1.) Не факт, что это действительно "родное" окно МС.
2.) Может где-то лишний таймер есть?
Post #: 20
RE: некорректная работа WriteProcessMemory + CreateRemoteThread - 2009-06-11 14:20:19.310000   
_SaZ_

Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
п.с. чекпоинт - это контора, которая фаервол ZoneAlarm писала. У них самих внутри только человека 3 справились :).
Post #: 21
RE: некорректная работа WriteProcessMemory + CreateRemoteThread - 2009-06-11 15:15:01.813333   
Vary

Сообщений: 31
Оценки: 0
Присоединился: 2009-02-19 15:33:19.930000
окно похоже на родное. таймеров не юзаю вобще
Post #: 22
RE: некорректная работа WriteProcessMemory + CreateRemoteThread - 2009-06-11 15:18:10.453333   
Hateman

Сообщений: 62
Оценки: 0
Присоединился: 2009-06-06 20:22:22.040000
quote:

чекпоинт - это контора, которая фаервол ZoneAlarm писала. У них самих внутри только человека 3 справились :).

А, хотели к ним на работу подрядиться?

quote:

окно похоже на родное. таймеров не юзаю вобще

Лишний таймер в той программке. По которому они чего-то не то делают.
Post #: 23
RE: некорректная работа WriteProcessMemory + CreateRemoteThread - 2009-06-11 15:38:01.950000   
Vary

Сообщений: 31
Оценки: 0
Присоединился: 2009-02-19 15:33:19.930000
][ знает че там в этой программе.. хотя заиметь опыт удачного внедрения кода хотелось бы. но чет даже на блокноте не катит
Post #: 24
RE: некорректная работа WriteProcessMemory + CreateRemoteThread - 2009-06-11 16:39:23.943333   
Hateman

Сообщений: 62
Оценки: 0
Присоединился: 2009-06-06 20:22:22.040000
Тот пример, который я отослал, с блокнотом, по-моему и работает. Причём, как мне помнится, вполне нормально.
Post #: 25
RE: некорректная работа WriteProcessMemory + CreateRemoteThread - 2009-06-11 17:34:37.616666   
Vary

Сообщений: 31
Оценки: 0
Присоединился: 2009-02-19 15:33:19.930000
ток Каспер на подходе оттуда все exeшники удалил^^ хотя я ему засранцу сказал чтоб подозрительные объекты не удалял
Post #: 26
RE: некорректная работа WriteProcessMemory + CreateRemoteThread - 2009-06-11 18:17:26.213333   
Hateman

Сообщений: 62
Оценки: 0
Присоединился: 2009-06-06 20:22:22.040000
Так там исходники их есть. Перекомпиль.
Post #: 27
RE: некорректная работа WriteProcessMemory + CreateRemoteThread - 2009-06-11 20:27:31.946666   
_SaZ_

Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
quote:

ORIGINAL: Hateman

quote:

чекпоинт - это контора, которая фаервол ZoneAlarm писала. У них самих внутри только человека 3 справились :).

А, хотели к ним на работу подрядиться?


Преподы знакомые там работали - я тогда ещё на 1-м курсе учился. Им мой курсач понравился - пригласили.
Post #: 28
RE: некорректная работа WriteProcessMemory + CreateRemoteThread - 2009-06-12 12:33:02.123333   
Hateman

Сообщений: 62
Оценки: 0
Присоединился: 2009-06-06 20:22:22.040000
Ого, не хилые преподы. Где ж ты учился?
А курсач, есл ине секрет, на какую тему?
Post #: 29
RE: некорректная работа WriteProcessMemory + CreateRemoteThread - 2009-06-12 15:16:42.016666   
_SaZ_

Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
Универ - www.bsuir.by , но преподов таких там очень мало :), от силы 1 на курс обучения. Курсач простенький был, но не для первого курса. Типа многопоточного копирования файлов с возможностью преостановки и корректирования очереди "на лету".
Post #: 30
RE: некорректная работа WriteProcessMemory + CreateRemoteThread - 2009-06-12 21:43:06.580000   
Hateman

Сообщений: 62
Оценки: 0
Присоединился: 2009-06-06 20:22:22.040000
Серьёзный ВУЗ…

quote:

Типа многопоточного копирования файлов с возможностью преостановки и корректирования очереди "на лету".

Типа KillCopy?
Post #: 31
RE: некорректная работа WriteProcessMemory + CreateRemoteThread - 2009-06-13 01:04:49.870000   
_SaZ_

Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
Типа. Только с возможностью продолжения в случае крэша программы.
Post #: 32
RE: некорректная работа WriteProcessMemory + CreateRemoteThread - 2009-06-13 10:30:29.153333   
Hateman

Сообщений: 62
Оценки: 0
Присоединился: 2009-06-06 20:22:22.040000
quote:

Только с возможностью продолжения в случае крэша программы.

А, список сохранялся в файле?
Тогда уж что-то вроде "локального Download Master'а" получается.
Кстати, идея интересная и, вполне вероятно, что полезная.
Post #: 33
Страниц:  [1]
Все форумы >> [Компилируемые языки] >> некорректная работа WriteProcessMemory + CreateRemoteThread







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.