Сейчас на форуме: igorcauret (+8 невидимых)

 eXeL@B —› Вопросы новичков —› Как заатачить олю к процесcу который под дебагом ?
Посл.ответ Сообщение

Ранг: 4.2 (гость)
Активность: 0=0
Статус: Участник

Создано: 26 мая 2014 11:50
· Личное сообщение · #1

Всем привет, подскажите пожалуйста как подключить олю к процеcсу который уже под дебагом ? Есть программа которая запускает сама себя, к "родителю" заатачить позволяет, а к чайлду - нет, пишет "Unable to attach to process ..."
Есть вариант хукнуть CreateProcess и убрать флаг отладки, но думаю там не все так просто в логике.



Ранг: 46.8 (посетитель), 20thx
Активность: 0.040
Статус: Участник

Создано: 26 мая 2014 12:15 · Поправил: Alinator3500
· Личное сообщение · #2

Очень хорошее пособие для анализа:
An Anti-Reverse Engineering Guide

"Self-Debugging is a technique where the main process spawns a child process that debugs the process that created the child process, as shown in the diagram. This technique can be very useful as it can be utilized to implement techniques such as Nanomites and others. This also prevents other debuggers from attaching to the same process; however, this can be bypassed be setting the EPROCESS->DebugPort (the EPROCESS structure is a struct returned by the kernel mode function PsGetProcessId) field to 0. This allows another debugger to attach to a process that already has a debugger attached to it. Here's some sample code:"

http://www.codeproject.com/Articles/30815/An-Anti-Reverse-Engineering-Guide#SelfDebugging

Table of Contents

Breakpoints
- Int 3
- Memory
- Hardware
Timing Attacks
- RDTSC
- Win32 Timing APIs
Windows Internals
- ProcessDebugFlags
- Debug Object Handle
- Thread Hiding
- BlockInput
- OutputDebugString
Process Exploitation
- Open Process
- Parent Processes
- Self-Debugging
- UnhandledExceptionFilter
- NtQueryObject
Anti-Dumping
- Nanomites
- Stolen Code (Stolen Bytes)
- SizeOfImage
- Virtual Machines
- Guard Pages
- Removing the PE Header
IA-32 Instruction Exploits
- Interrupt 2D
- Stack Segment
- Instruction Prefixes
OllyDBG Specific
- FindWindow
- OutputDebugString Exploit
WinDBG Specific
- FindWindow
Other Techniques
- Junk Code
- Native Code Permutations




Ранг: 681.5 (! !), 405thx
Активность: 0.420.21
Статус: Участник
ALIEN Hack Team

Создано: 26 мая 2014 12:22
· Личное сообщение · #3

Ну и PsLookupProcessByProcessId никто не отменял, но думается мне, что не этого желает автор. Такие жёсткие радикальные меры нужны были до ХР, в ХР появилась DebugActiveProcessStop. Вот только приаттачив свой дебаггер, надо будет хэндлить иксепшены дочернего процесса, что раньше делал процесс-дебаггер, который вы хотите отсобачить. А вообще туторов по армадилле достаточно.

-----
Stuck to the plan, always think that we would stand up, never ran.




Ранг: 4.2 (гость)
Активность: 0=0
Статус: Участник

Создано: 26 мая 2014 12:57
· Личное сообщение · #4

Прога как раз накрыта армой. Но мне интересна длл-ка плагин которую грузит программа, а конкретно несколько функции и аргументы для них, а то в статите сложно разобрать алгоритм работы.
Вот и думаю как убрать само-дебаг. Пробовал делать с парента
DebugSetProcessKillOnExit(0)
DebugActiveProcessStop(х)
Sleep(-1)
но тогда чайлд умирает через секунду)



Ранг: 617.3 (!), 677thx
Активность: 0.540
Статус: Участник

Создано: 26 мая 2014 13:19
· Личное сообщение · #5

MegaZu
Распакуй армагедоном и не парься

А вообще все зависит от версии и опций защиты.
Если версия не совсем новая с дебаг-блоккером и там нету наномитов, то после второго OpenMutexA в eax положить 1.
Если версия "новая" и с теми же опциями, то нужно деаттачить, примерно как тут https://tuts4you.com/download.php?view.302

В остальных случаях проще распаковать, иначе замучаешься.

| Сообщение посчитали полезным: MegaZu


Ранг: 72.3 (постоянный), 133thx
Активность: 0.380
Статус: Участник

Создано: 28 мая 2014 01:53
· Личное сообщение · #6

ARCHANGEL

> PsLookupProcessByProcessId никто не отменял

Ну и причём это к сабжу ?

MegaZu

Вот вы и пришли к ядерным отладчикам




Ранг: 681.5 (! !), 405thx
Активность: 0.420.21
Статус: Участник
ALIEN Hack Team

Создано: 28 мая 2014 09:26
· Личное сообщение · #7

Dr0p
EPROCESS

-----
Stuck to the plan, always think that we would stand up, never ran.





Ранг: 72.3 (постоянный), 133thx
Активность: 0.380
Статус: Участник

Создано: 03 июня 2014 23:30
· Личное сообщение · #8

ARCHANGEL

И что ?

Ну обьект. И дальше что ??




Ранг: 681.5 (! !), 405thx
Активность: 0.420.21
Статус: Участник
ALIEN Hack Team

Создано: 04 июня 2014 10:05
· Личное сообщение · #9

Dr0p
Второй пост.

however, this can be bypassed be setting the EPROCESS->DebugPort (the EPROCESS structure is a struct returned by the kernel mode function PsGetProcessId)

-----
Stuck to the plan, always think that we would stand up, never ran.





Ранг: 324.3 (мудрец), 221thx
Активность: 0.480.37
Статус: Участник

Создано: 04 июня 2014 11:20
· Личное сообщение · #10

MegaZu пишет:
Есть вариант хукнуть CreateProcess и убрать флаг отладки, но думаю там не все так просто в логике

Я бы так и попробовал, самое простое часто бывает решает все проблемы.

-----
IZ.RU





Ранг: 681.5 (! !), 405thx
Активность: 0.420.21
Статус: Участник
ALIEN Hack Team

Создано: 04 июня 2014 12:10
· Личное сообщение · #11

DenCoder
Да армадилла там, упадёт же просто процесс и всё.

-----
Stuck to the plan, always think that we would stand up, never ran.



 eXeL@B —› Вопросы новичков —› Как заатачить олю к процесcу который под дебагом ?
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати