HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

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

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

  #21  
Старый 15.04.2010, 22:05
slesh
Познавший АНТИЧАТ
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме:
3288241

Репутация: 3349


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

2 Nightmarе судя по тому что драйвер прописывается в системе по обычному, в SYSTEM\CurrentControlSet\Services\jammer то палится любыми проактивками.
 
Ответить с цитированием

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

Репутация: 1680


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

Цитата:
Сообщение от slesh  
2 Nightmarе судя по тому что драйвер прописывается в системе по обычному, в SYSTEM\CurrentControlSet\Services\jammer то палится любыми проактивками.
А без этого в теории нельзя? не прописываясь в реестр, просто запустить, залочить касхера и после этого прописаться.

Последний раз редактировалось Nightmarе; 15.04.2010 в 22:12..
 
Ответить с цитированием

  #23  
Старый 15.04.2010, 22:15
cheater_man
Постоянный
Регистрация: 13.11.2009
Сообщений: 437
Провел на форуме:
709575

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

DSOD'ит пострашному вируалка WIXP SP2 чистая
 
Ответить с цитированием

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

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

так она не должна быть чистой))

Последний раз редактировалось _antony; 15.04.2010 в 22:41..
 
Ответить с цитированием

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

Репутация: 455


По умолчанию

Цитата:
хп сп2 + касперский.
Да к стати. С кисом бсодит а с касперский анти хакер норм.
 
Ответить с цитированием

  #26  
Старый 15.04.2010, 22:49
slesh
Познавший АНТИЧАТ
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме:
3288241

Репутация: 3349


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

2 Nightmarе я ж написал, что идет простое добавление записи в реестр. Никаких хитростей нет. Если нужны беспаливные методы, то реверси руткиты
 
Ответить с цитированием

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

Репутация: 1236


По умолчанию

Цитата:
Сообщение от _antony  
да оно и так бсодит.
хп сп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
---------
И не много не понятно в чем новизна метода?)
сенкс за крашдамп, понял где, но почему...
__________________


snow white world wide
 
Ответить с цитированием

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

Репутация: 1236


По умолчанию

Цитата:
Сообщение от slesh  
Мдауж. За сброс WP бита Great бы


Когда нужно хукнуть 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. Оставшийся байт ты можеш не успеть записать если второе ядро успеет попасть на эту функцию. Маловероятное событие, но всё же.
найс, но поэтому прерывания и снимаются (раньше все одноядерные были). кстати неплохо, правда мне больше нравится перехватывать сами Nt а не таблицу.

ща на 7 попробую с кисом.
__________________


snow white world wide

Последний раз редактировалось sn0w; 16.04.2010 в 11:36..
 
Ответить с цитированием

  #29  
Старый 16.04.2010, 11:58
cheater_man
Постоянный
Регистрация: 13.11.2009
Сообщений: 437
Провел на форуме:
709575

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

Цитата:
Сообщение от _antony  
так она не должна быть чистой))
Имею ввиду без файрвола и антивиря
 
Ответить с цитированием

  #30  
Старый 16.04.2010, 12:07
slesh
Познавший АНТИЧАТ
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме:
3288241

Репутация: 3349


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

Кстати вообще когда-то была идея по изменению кода, которая могла заменять до 4 килобайт кода сразу и без разницы скольки ядерная система была. Без запрета прерываний и тому подобных вещей. Но что-то руки не дошли попробовать реализовать. А идея такая:
1) выделяешь себе одну страницу не выгружаемой памяти (4096 байт)
2) в неё копируешь страницу памяти в которой нужно сделать изменения
3) в своей копии ты делаешь изменения.
4) для своей копии ты получаешь адрес физической страницы закрепленной за ней.
5) в PTE подменяешь адрес физической страницы для виртуальной страницы в которой нужно было сделать изменения. И заменяш этот адрес на свою физ страницу.
Таким образом не трогая виртуальную страницу, ты просто подменяешь для неё физическую. И это будет мгновенно, но должно быть условие: код подменяемой виртуальной страницы не должен выполняться в момент подмены.
 
Ответить с цитированием
Ответ





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


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




ANTICHAT.XYZ