ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > Программирование_OLD > С/С++, C#, Delphi, .NET, Asm
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #11  
Старый 15.04.2010, 19:33
sn0w
Статус пользователя:
Регистрация: 26.07.2005
Сообщений: 568
Провел на форуме:
1290766

Репутация: 1236


По умолчанию

Цитата:
Сообщение от gold-goblin  
Спасибо за хп версию.
Но она так же бсодит по тем же адресам.

Возможно это из-за вмваре.
блин( смори суть в чем. если у тебя гдето в таблице сдт перехвачена хотябы одна из функций указанных выше, то дров перехватывает обработчик перехватчика. проверь сперва - есть ли у тебя вообще перехваты в таблице - те я уже говорил - рку или авз. если их нет, то дело не в бабине (тода дров вообще ничего не будет делать, кроме эмм некоторых инициальных действий) - соотв надо будет разбираться в других аспектах. напомню - среда должна быть 32разрядной, попробуй не на виртуалке)
__________________


snow white world wide
 

  #12  
Старый 15.04.2010, 19:38
gold-goblin
Познавший АНТИЧАТ
Регистрация: 26.03.2007
Сообщений: 1,095
Провел на форуме:
5265510

Репутация: 455


По умолчанию

Цитата:
напомню - среда должна быть 32разрядной, попробуй не на виртуалке)
Да дело в вмваре. на чистой системе работает =)) Молодец!
И спасибо за разъяснение =)
 

  #13  
Старый 15.04.2010, 19:49
sn0w
Статус пользователя:
Регистрация: 26.07.2005
Сообщений: 568
Провел на форуме:
1290766

Репутация: 1236


По умолчанию

Цитата:
Сообщение от gold-goblin  
Да дело в вмваре. на чистой системе работает =)) Молодец!
И спасибо за разъяснение =)
работает то, это гуд) пробовал с чем? просто в сухую (без ничего) ето тоже что и mov eax, eax; =)

зы я на самом деле делал под myAC (античит такой) и все норм работает, но как оказалось - довольно перспективная тема и в отношении других средств защиты, поэтому и написал что отпосьте есть ли какая система защиты и проходит ли тема)
__________________


snow white world wide

Последний раз редактировалось sn0w; 15.04.2010 в 19:52..
 

  #14  
Старый 15.04.2010, 19:55
AlexTheC0d3r
Постоянный
Регистрация: 25.07.2008
Сообщений: 454
Провел на форуме:
1229135

Репутация: 425
Отправить сообщение для AlexTheC0d3r с помощью ICQ
По умолчанию

sn0w, как всегда на высоте!
 

  #15  
Старый 15.04.2010, 20:33
slesh
Reservists Of Antichat - Level 6
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме:
3288241

Репутация: 3349


Отправить сообщение для slesh с помощью ICQ
По умолчанию

эм каким методом снимаешь хуки?
Восстановление SDT или сплайсинг хуков антивиря с последующей передачей управления на оригинальные адреса?
 

  #16  
Старый 15.04.2010, 20:35
sn0w
Статус пользователя:
Регистрация: 26.07.2005
Сообщений: 568
Провел на форуме:
1290766

Репутация: 1236


По умолчанию

хуки не снимаются, вслучае если я вижу что в сдт энтри не тот адрес, те адрес стороннего обработчика, я просто перехожу к нему и пишу на начале тела джамп к себе (с созданием трамплина пролога и тд). у себя на этот момент я имею адекватные Nt адреса, куда и передается упраление.
__________________


snow white world wide
 

  #17  
Старый 15.04.2010, 21:15
slesh
Reservists Of Antichat - Level 6
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме:
3288241

Репутация: 3349


Отправить сообщение для slesh с помощью ICQ
По умолчанию

Мдауж. За сброс WP бита Great бы
Цитата:
Я буду долго бить ногами за аппаратное отключение CR0. WP и уж тем более за запрет прерываний.
Когда нужно хукнуть SDT то делаю так:
Код:
// функция установки и снятия перехвата
BOOL SetHook(USHORT id, ULONG NewAddr, PULONG OldAddr)
{
	BOOL ret = false;
	ULONG Addr;
	PHYSICAL_ADDRESS PhysicalAddr;
	ULONG VirtualAddr;
	
	Addr = (ULONG)KeServiceDescriptorTable->ServiceTable; // получаем адрес таблицы сервисов
	if (Addr) // если нет ошибки
	{
		Addr += 4 * id; // вычислим адрес функции которую необходимо перехватить
		if (OldAddr) // если указана память для сохранения старого значения
		{
			*(ULONG*)OldAddr = *(ULONG*)Addr; // сохраним старый адрес
		}
		
		// получим физический адрес, зная виртуальный
		PhysicalAddr = MmGetPhysicalAddress((void*)Addr);
		if (PhysicalAddr.QuadPart)
		{
			// выделим себе виртуальную память по физ. адресу
			VirtualAddr = (ULONG)MmMapIoSpace(PhysicalAddr, 4, 0);
			if (VirtualAddr)
			{
				*(ULONG*)VirtualAddr = NewAddr; // установим перехват
				ret = true;
				MmUnmapIoSpace((void*)VirtualAddr, 4); // освободим вирт. страницу памяти
			}
		}
	}
	
	return ret;
}
Если не хукать SDT а просто писать куда-либо то достаточно будет просто сделать копию страници и записать туда данные

А вообще тут даже запрет прерываний не поможет.
Если ты вписываешь JMP XX XX XX XX то как не крути, нужно записать 5 байт. При атомарном доступе максимум 4. Оставшийся байт ты можеш не успеть записать если второе ядро успеет попасть на эту функцию. Маловероятное событие, но всё же.

Последний раз редактировалось slesh; 15.04.2010 в 21:17..
 

  #18  
Старый 15.04.2010, 21:28
_antony
Познающий
Регистрация: 16.07.2008
Сообщений: 82
Провел на форуме:
424387

Репутация: 142
По умолчанию

да оно и так бсодит.
хп сп2 + касперский.

могу и минидамп залить если надо.

Код:
*******************************************************************************
*                                                                             *
*                        Bugcheck Analysis                                    *
*                                                                             *
*******************************************************************************

Use !analyze -v to get detailed debugging information.

BugCheck 7E, {c0000005, b1b236ee, f89a3980, f89a367c}

*** ERROR: Module load completed but symbols could not be loaded for jammer.sys
Probably caused by : jammer.sys ( jammer+6ee )

Followup: MachineOwner
---------

kd> !analyze -v
*******************************************************************************
*                                                                             *
*                        Bugcheck Analysis                                    *
*                                                                             *
*******************************************************************************

SYSTEM_THREAD_EXCEPTION_NOT_HANDLED (7e)
This is a very common bugcheck.  Usually the exception address pinpoints
the driver/function that caused the problem.  Always note this address
as well as the link date of the driver/image that contains this address.
Arguments:
Arg1: c0000005, The exception code that was not handled
Arg2: b1b236ee, The address that the exception occurred at
Arg3: f89a3980, Exception Record Address
Arg4: f89a367c, Context Record Address

Debugging Details:
------------------


EXCEPTION_CODE: (NTSTATUS) 0xc0000005 - <Unable to get error code text>

FAULTING_IP: 
jammer+6ee
b1b236ee 8b433c          mov     eax,dword ptr [ebx+3Ch]

EXCEPTION_RECORD:  f89a3980 -- (.exr 0xfffffffff89a3980)
ExceptionAddress: b1b236ee (jammer+0x000006ee)
   ExceptionCode: c0000005 (Access violation)
  ExceptionFlags: 00000000
NumberParameters: 2
   Parameter[0]: 00000000
   Parameter[1]: 0000003c
Attempt to read from address 0000003c

CONTEXT:  f89a367c -- (.cxr 0xfffffffff89a367c)
eax=f89a3ae4 ebx=00000000 ecx=000005ce edx=806830e0 esi=00000000 edi=00000000
eip=b1b236ee esp=f89a3a48 ebp=f89a3a60 iopl=0         nv up ei ng nz ac po nc
cs=0008  ss=0010  ds=0023  es=0023  fs=0030  gs=0000             efl=00210292
jammer+0x6ee:
b1b236ee 8b433c          mov     eax,dword ptr [ebx+3Ch] ds:0023:0000003c=????????
Resetting default scope

PROCESS_NAME:  System

ERROR_CODE: (NTSTATUS) 0xc0000005 - <Unable to get error code text>

EXCEPTION_PARAMETER1:  00000000

EXCEPTION_PARAMETER2:  0000003c

READ_ADDRESS:  0000003c 

FOLLOWUP_IP: 
jammer+6ee
b1b236ee 8b433c          mov     eax,dword ptr [ebx+3Ch]

BUGCHECK_STR:  0x7E

DEFAULT_BUCKET_ID:  NULL_CLASS_PTR_DEREFERENCE

LAST_CONTROL_TRANSFER:  from b1b23c67 to b1b236ee

STACK_TEXT:  
WARNING: Stack unwind information not available. Following frames may be wrong.
f89a3a60 b1b23c67 00000000 b1b242e2 00000000 jammer+0x6ee
f89a3a98 b1b23d27 00000000 82301da0 00000000 jammer+0xc67
f89a3ab8 b1b24097 00000000 804d7000 f89a3ae4 jammer+0xd27
f89a3c74 b1b234b9 f89a3d4c 805a2ead 82301da0 jammer+0x1097
f89a3c7c 805a2ead 82301da0 81bda000 00000000 jammer+0x4b9
f89a3d4c 805a3182 00000b2c 00000001 00000000 nt!IopLoadDriver+0x66c
f89a3d74 804e426b 00000b2c 00000000 823c68b8 nt!IopLoadUnloadDriver+0x45
f89a3dac 8057cfce f877fcdc 00000000 00000000 nt!ExpWorkerThread+0x100
f89a3ddc 804f88fa 804e4196 00000001 00000000 nt!PspSystemThreadStartup+0x34
00000000 00000000 00000000 00000000 00000000 nt!KiThreadStartup+0x16


SYMBOL_STACK_INDEX:  0

SYMBOL_NAME:  jammer+6ee

FOLLOWUP_NAME:  MachineOwner

MODULE_NAME: jammer

IMAGE_NAME:  jammer.sys

DEBUG_FLR_IMAGE_TIMESTAMP:  4bc72969

STACK_COMMAND:  .cxr 0xfffffffff89a367c ; kb

FAILURE_BUCKET_ID:  0x7E_jammer+6ee

BUCKET_ID:  0x7E_jammer+6ee

Followup: MachineOwner
---------
И не много не понятно в чем новизна метода?)

Последний раз редактировалось _antony; 15.04.2010 в 21:31..
 

  #19  
Старый 15.04.2010, 21:52
Nightmarе
Познавший АНТИЧАТ
Регистрация: 29.04.2007
Сообщений: 1,189
Провел на форуме:
5749763

Репутация: 1680


Отправить сообщение для Nightmarе с помощью ICQ
По умолчанию

Вещь безусловно роскошная (на первый взгляд), но можно ли уточнить один вопрос, этот метод внедряется в систему (не важно каким способом) полностью без палева какой-либо проактивной защиты, или по тому-же принципу что и руткит? (то есть руткита словит проактивка, но если разрешить ему все действия, то его уже ничто не остановит, но в самом начале он запалится)
 

  #20  
Старый 15.04.2010, 22:00
ntldr
Постоянный
Регистрация: 04.12.2007
Сообщений: 424
Провел на форуме:
2364957

Репутация: 479
По умолчанию

Цитата:
Сообщение от Nightmarе  
Вещь безусловно роскошная (на первый взгляд), но можно ли уточнить один вопрос, этот метод внедряется в систему (не важно каким способом) полностью без палева какой-либо проактивной защиты, или по тому-же принципу что и руткит? (то есть руткита словит проактивка, но если разрешить ему все действия, то его уже ничто не остановит, но в самом начале он запалится)
в данном случае он никуда не внедряется сам. Ну а проактивка (у меня на Kaspersky CRYSTAL) абсолютно не палит загрузку драйвера. Но аутпост палит
 
 





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ