eXeLab
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
выпущен 2 августа!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

Русский / Russian English / Английский

Сейчас на форуме: LoxmatbIj (+2 невидимых)
 · Начало · Статистика · Регистрация · Поиск · ПРАВИЛА ФОРУМА · Язык · RSS · SVN ·

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

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

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

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

Ранг: 46.8 (посетитель)
Статус: Участник

Создано: 26 мая 2014 12:15 · Поправил: Alinator3500 New!
Цитата · Личное сообщение · #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


Ранг: 657.7 (! !)
Статус: Участник
ALIEN Hack Team

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

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

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

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

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

Ранг: 617.3 (!)
Статус: Участник

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

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

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

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

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



Ранг: 72.3 (постоянный)
Статус: Участник

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

ARCHANGEL

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

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

MegaZu

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


Ранг: 657.7 (! !)
Статус: Участник
ALIEN Hack Team

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

Dr0p
EPROCESS


Ранг: 72.3 (постоянный)
Статус: Участник

Создано: 3 июня 2014 23:30 New!
Цитата · Личное сообщение · #8

ARCHANGEL

И что ?

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


Ранг: 657.7 (! !)
Статус: Участник
ALIEN Hack Team

Создано: 4 июня 2014 10:05 New!
Цитата · Личное сообщение · #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)


Ранг: 296.9 (наставник)
Статус: Участник

Создано: 4 июня 2014 11:20 New!
Цитата · Личное сообщение · #10

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

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


Ранг: 657.7 (! !)
Статус: Участник
ALIEN Hack Team

Создано: 4 июня 2014 12:10 New!
Цитата · Личное сообщение · #11

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

Оригинальный DVD-ROM: eXeL@B DVD !

Вы находитесь на форуме сайта EXELAB.RU
Проект ReactOS