Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.12.19;
Скачать: CL | DM;

Вниз

Придумал как обнаружить троянца   Найти похожие ветки 

 
Piter ©   (2004-11-27 23:59) [0]

Они ведь перехватывают функции перечисления процессов... но чтобы перехватить эти функции им нужно внедриться в ВАП процесса. А как они внедрятся? Очевидно, с помощью хука - наиболее универсальный метод. Другие методы внедрения не подойдут, кроме AppInit_Dlls, но тут просто можно просмотреть реестр на наличие троянской DLL.

Но чтобы внедрится с помощью хука нужно чтобы приложение сделало выборку сообщения хотя бы...
И вот что отсюда следует - нужно в программе динамически импортировать нужные функции ДО того как запустится цикл выборки сообщения. Соответственно, при этом будут узнаны реальные адреса WinApi функций в ВАП процесса - после чего их можно использовать и они вернут реальную информацию о процессах в обход троянца.

Правильно я размышляю?


 
Игорь Шевченко ©   (2004-11-28 00:21) [1]


> Правильно я размышляю?


Нет


 
Anatoly Podgoretsky ©   (2004-11-28 00:23) [2]

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


 
Piter ©   (2004-11-28 00:24) [3]

Игорь Шевченко ©   (28.11.04 0:21) [1]
Нет


а почему? Ведь вроде до первой выборки сообщения троян же не внедрится... не пойму в чем я ошибаюсь...


 
Xaker ©   (2004-11-28 00:28) [4]

Piter ©   (27.11.04 23:59)
длл - в Explorere - и никакого перехвата


 
Piter ©   (2004-11-28 10:58) [5]

Xaker ©   (28.11.04 0:28) [4]
длл - в Explorere - и никакого перехвата


перехват CreateProcess? хм... не подумал...

А что если в запускаемом процессе запускать самого себя, но через WinExec? Или он тоже к CreateProcess обращается?


 
Xaker ©   (2004-11-28 13:38) [6]

Piter ©   (27.11.04 23:59)

> тут просто можно просмотреть реестр на наличие
> троянской DLL

ага, ты не представляешь, насколько это сложно, если точно не знаешь, где она прописана !

сам файл длл может быть с "системным" именем, датой, аналогичной системным файлам .. - и , как найдёшь ?


> перехват CreateProcess? хм... не подумал...

причём тут CreateProcess ?
либо CreateRemoreThread либо подгружаем из реестра  - много способов, и НЕ найдёшь :))

//смогут найти тока супер - мастера (ИШ) ;))


 
Piter ©   (2004-11-28 13:42) [7]

Xaker ©   (28.11.04 13:38) [6]
причём тут CreateProcess ?
либо CreateRemoreThread


а что толку от CreateRemoreThread? Откуда троян узнает, что мой процесс запустился?

либо подгружаем из реестра  - много способов, и НЕ найдёшь

Это какие способы? Насчет внедрения - есть вроде только раздел AppInit_Dlls - и ВСЕ


 
Xaker ©   (2004-11-28 13:50) [8]

Piter ©   (28.11.04 13:42) [7]

> Это какие способы? Насчет внедрения - есть вроде
> только раздел AppInit_Dlls - и ВСЕ

СИЛЬНО ошибаешься


 
Piter ©   (2004-11-28 15:04) [9]

Xaker ©   (28.11.04 13:50) [8]
СИЛЬНО ошибаешься


а какие еще например?


 
Xaker ©   (2004-11-28 17:00) [10]

Piter ©   (28.11.04 15:04) [9]

> а какие еще например?

у нас тут не пособие, как написать трояна ..
- или ты троян пишешь ?

хотя ты всегда был против них :)))

//если я перечислю все способы (какие знаю) пост удалят :(


 
Суслик ©   (2004-11-28 17:05) [11]

Какой смысл этой ерундой заниматься? Неужели других хороших и полезных дел нет... кому эти трояны нужны?

Или ищешь метод борьбы с ними?

Не суй без NAV или касперского или вообще не суй, вот и не подцепишь сифак.


 
Piter ©   (2004-11-28 20:17) [12]

Xaker ©   (28.11.04 17:00) [10]
если я перечислю все способы (какие знаю) пост удалят


блин, да ты по ходу вообще не въехал в суть проблемы. Читай внимательнее.

Способы внедрения:

1) AppInit_DLLs - можно посмотреть в реестр и увидеть что там троянская DLL

2) ловушка - но я предлагаю узнавать адреса функций ДО начала выборки сообщения, соответственно внедрения не будет, троян не успеет перехватить WinApi функции

3) подмена DLL и переадресация к реальной DLL - так системные библиотеки не перехватишь

4) внедрение DLL как отладчика - ну это трояны вряд ли используют

5) через CreateProcess или через CreateRemoteThread. Если через CreateRemoteThread, то как троян узнает, что запустилось мое приложение?
Только перехватив CreateProcess.

В любом случае, единственный вариант, который я знаю - это перехват CreateProcess (а ты говоришь причем здесь он). То есть, Explorer запускает мой процесс - а троян перехватывает это, сам запускает мой процесс и внедряется в него ДО того как я вообще успею что-нибудь сделать.

Отсюда мораль - надо найти способ как-нибудь загрузится, чтобы троянец этого не понял. Я вот что думаю - Explorer запускат мой процесс, а я сам запускаю еще раз свой процесс, но уже через WinExec. Если WinExec не использует CreateProcess - то второй экземпляр окажется чистым при запуске.


 
Xaker ©   (2004-11-28 21:44) [13]

Piter ©   (28.11.04 20:17) [12]
ну ты замутил  ;))

давай не будем тогда отклоняться от темы, ок ?
Значит, так, твоя цель:
обнаружить трояна , так ?

цель трояна:
постоянно незаметно работать и время от времени передавать понемногу информацию, но так, чтобы его не обнаружили .. я прав ?

далее, зачем ты будешь пытаться запустить "свой процесс чисто", если НЕТ гарантии, что ты найдёшь трояна ?

Пример: троян ввиде Dll.
Реализация: длл размещается в System32 под именем SysIRQ32.dll, дата идентична kernel32.dll

Прописывается:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify\
и работает всегда как  нить в процессе Winlogon.
Но так, как нужна незаметность - то берём, и к примеру создаём нить в каком-либо другом процессе, а эту Dll выгружаем ....

В результате у нас нить в каком-либо процессе, и "никаких следов" - не левых процессов, не длл  :)))

как вариант, внедрение длл в Explorer:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\
ShellServiceObjectDelayLoad


есть ещё варианты подмены/внедрения DLL в експлорере в других местах ..

Ещё никто не запретит "внедриться" в любой пользовательский процесс, как то Icq,Word,TotalCommander.

Есть ещё варианты  ...

и, самый главный вопрос - как обнаружишь поток ???


 
Piter ©   (2004-11-28 22:15) [14]

Xaker ©   (28.11.04 21:44) [13]
Значит, так, твоя цель:
обнаружить трояна , так ?


да

Прописывается:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify\


реестр же можно отслеживать. Ну не бесконечное же число таких путей ведь...

Но так, как нужна незаметность - то берём, и к примеру создаём нить в каком-либо другом процессе, а эту Dll выгружаем

а это только в NT! В win9x не реализована CreateremoteThread

В результате у нас нить в каком-либо процессе, и "никаких следов" - не левых процессов, не длл  :)))

зато есть левый поток

, самый главный вопрос - как обнаружишь поток ???

ну есть утилиты для просмотра количества потоков у процесса... хотя как тут уследишь...

В общем, я так понял, вывод один - нужно следить за реестром. Нужно где-нибудь достать как можно более полный список таких путей, где могут быть троянские программы/DLL


 
Xaker ©   (2004-11-28 22:26) [15]

Piter ©   (28.11.04 22:15) [14]

> реестр же можно отслеживать.

ага, но когда пропишется, то уже будет поздно отслеживать :))


> Ну не бесконечное же число таких путей ведь...

нет, но много ..  и как узнать, какая длл в каждом из них настоящая ? - а не какой-нить полезной проги например ?


> В win9x не реализована CreateremoteThread

9х - нонсенс, забиваем на них


>зато есть левый поток

> ну есть утилиты для просмотра количества потоков у
> процесса... хотя как тут уследишь...

скока должно быть потоков у Explorera Winlogona в "номальной" системе ? - явно не каждый скажет, да и какой из них левый - тем более ...


> В общем, я так понял, вывод один - нужно следить за
> реестром

ага, заражаем WinRAR, Word,Тоталкоммандер и всё, дальше реестр даже не нужен - из них идём сразу создавать поток :)))


 
Игорь Шевченко ©   (2004-11-28 22:32) [16]

Xaker ©   (28.11.04 22:26) [15]


> ага, но когда пропишется, то уже будет поздно отслеживать
> :))


Наивный чукотский юноша.


> нет, но много ..  и как узнать, какая длл в каждом из них
> настоящая ? - а не какой-нить полезной проги например ?


Наивный чукотский юноша.


> скока должно быть потоков у Explorera Winlogona в "номальной"
> системе ? - явно не каждый скажет, да и какой из них левый
> - тем более ...


Наивный чукотский юноша.


> Прописывается:
> HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify\
> и работает всегда как  нить в процессе Winlogon.


Наивный чукотский юноша.


 
Xaker ©   (2004-11-28 23:23) [17]

Игорь Шевченко ©   (28.11.04 22:32) [16]
ну - ну ..
разве можно сравнивать Вас с "Среднестатистическим юзером"  ?
так что приведённые методы 99% работают как надо :))

и, ещё, так как есть много способов загрузки длл, то вручную не так просто будет проверить все например 20-30 способов, согласитесь ...


> скока должно быть потоков у Explorera Winlogona в "номальной"
> системе ? - явно не каждый скажет, да и какой из них левый
> - тем более ...

Наивный чукотский юноша.

Вы напямять сможете сказать, скока потоков должно быть у того или иного процесса ?
а найти левы поток без Process Explorer"a ?
- а о "среднем юзере" даже думать не стоит ..
а трояны обычно пишутся для "средних юзеров" .. так что всё "супер приёмы" - типа исследования стёка потока им недоступны :))

р.s. я немного напутал, так как писал "для контекста среднего юзеара"   :))


 
Игорь Шевченко ©   (2004-11-28 23:35) [18]

Xaker ©   (28.11.04 23:23) [17]


> Вы напямять сможете сказать, скока потоков должно быть у
> того или иного процесса ?
> а найти левы поток без Process Explorer"a ?


Не могу. А мне этого и не надо. Мне достаточно ProcessExplorer"а, чтобы узнать, какие потоки левые (пока они есть, разумеется).


> разве можно сравнивать Вас с "Среднестатистическим юзером"
>  ?


А среднестатистический пользователь должен иметь установленный и регулярно обновляемый антивирус. Также рекомендуется установить и использовать AdAware. Иначе - ССЗБ.


 
Xaker ©   (2004-11-28 23:40) [19]

Игорь Шевченко ©   (28.11.04 23:35) [18]
золотой ответ :)
всё ясно ;)

однако, антивирус помогает только от "распространённых троянов", а от тех, которые пишут на заказ - например фирма-конкурент - не помогут, так как их нет в базе :)

- а в таком случает имхо для "среднего юзера" - тока один выход - не запускать ничего левого ;((((


 
Xaker ©   (2004-11-28 23:43) [20]

Также, по поводу "среднего юзера":
у меня друг, работает с компьютером более 3 лет, разбирается во всем хорошо, но он не программист.

Так он тока иногда заглядывает в список процессов, и не всегда может сказать про то, "левый процесс" или нет ..

о потоках даже не знает ....
- речи об их определении и быть не может ))


 
Piter ©   (2004-11-29 00:13) [21]

Игорь Шевченко ©   (28.11.04 22:32) [16]

у вас такой информативный пост получился :)
И все же:

> Прописывается:
> HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify\
> и работает всегда как  нить в процессе Winlogon.

Наивный чукотский юноша


это не так? Библиотека указанная в этом разделе не подгружается к Winlogon?

Мне достаточноProcessExplorer"а, чтобы узнать, какие потоки левые

а вы не могли бы сказать, как узнать, что поток левый?


 
DeadMeat ©   (2004-11-29 00:35) [22]


> [14] Piter ©   (28.11.04 22:15)
> В win9x не реализована CreateremoteThread

Она там есть...

---
...Death Is Only The Begining...


 
Игорь Шевченко ©   (2004-11-29 00:40) [23]

Piter ©   (29.11.04 00:13) [21]

Process Explorer все рассказывает. В том числе и про WinLogon.


 
Xaker ©   (2004-11-29 00:49) [24]

Piter ©   (29.11.04 0:13) [21]

>> Прописывается:
> > HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows
>NT\CurrentVersion\Winlogon\Notify\
>> и работает всегда как  нить в процессе Winlogon.
>
>Наивный чукотский юноша
>
> это не так? Библиотека указанная в этом разделе не
> подгружается к Winlogon?

я тогда немного поторопился ..
подгружается, тока не как нить, а как DLL - это я там ещё поток создавал ..


> а вы не могли бы сказать, как узнать, что поток левый?

там что-то то ли со стёком, то ли ещё с чем-то ...
- я точно пока так и не понял, то точно что-то заметное ..


 
Юрий Зотов ©   (2004-11-29 02:32) [25]

Буквально сегодня на одной машине таки нашел и грохнул зловредного трояна.

Список процессов - чисто. Службы - чисто. Ветка Run и папка Автозагрузка - чисто. Все имевшиеся антивирусы с самыми свежими обновлениями - чисто. AdAware - чисто. Плагины IE - чисто. FileMon и RegMon - чисто. И т.д.

Пришлось долго и нудно ковырять реестр ручками. Весь обматерился, но все же нашел. Выяснилось, что эта сволочь вполне грамотно, через HKCR прописалась в ShellServiceObjectDelayLoad. Естественно, до того, как был запущен RegMon.


 
080D:07BBh ©   (2004-11-29 09:16) [26]

Xaker

вирусы для того и делаются чтоб не было видно. И писатся они могут куда угодно.


 
Xaker ©   (2004-11-29 11:49) [27]

Юрий Зотов ©   (29.11.04 2:32) [25]
я такой как-то давно пробовал делать :)))
- невидимость 95%  %)))
Dll рулит :))


 
Игорь Шевченко ©   (2004-11-29 12:48) [28]

Юрий Зотов ©   (29.11.04 02:32) [25]

http://www.sysinternals.com/ntw2k/freeware/autoruns.shtml - очень полезная утилита.


 
Xaker ©   (2004-11-29 13:38) [29]

Игорь Шевченко ©   (29.11.04 12:48) [28]
спасибо, потрясающая утилитка ;))
- я раньше на неё как-то внимания не обращал :)))


 
Piter ©   (2004-11-29 16:43) [30]

Игорь Шевченко ©   (29.11.04 0:40) [23]

а как все таки узнать, что поток левый?

DeadMeat ©   (29.11.04 0:35) [22]
Она там есть...


хм. Ты не читаешь что ли... Я ведь говорю - ОНА НЕ РЕАЛИЗОВАНА... Какой толк от того, что она объявлена, если и делает только то, что устанавливает код ошибки...

Юрий Зотов ©   (29.11.04 2:32) [25]
через HKCR прописалась в ShellServiceObjectDelayLoad


а что делается с библиотеками прописанными там?

Список процессов - чисто

этот троян перехватывал NTQuerySystemInformation?
Ну насчет списка процессов - не так критично. Можно взять драйвер, который сам будет выдывать  список процессов, просматривая там внутренние структуры ядра... Вроде Игорь Шевченко давал ссылку на такой драйвер...

Игорь Шевченко ©   (29.11.04 12:48) [28]
очень полезная утилита.


А про Starter не слышали? Я им пользовался... но он видимо далеко не все пути знает...


 
Юрий Зотов ©   (2004-11-29 17:54) [31]

> Xaker ©   (29.11.04 11:49) [27]
"Нет, Вася, ты неправ".
(с) Из фольклора сантехников.

> Игорь Шевченко ©   (29.11.04 12:48) [28]
Tnx. Очень полезная штука. Эх, вчера бы мне ее.

> Piter ©   (29.11.04 16:43) [30]
> а что делается с библиотеками прописанными там?
Насколько я понял, эксплорер их грузит (во всяком случае, там же прописан SysTray). Таким образом, код библиотеки становится практически резидентным, а остальное - дело техники.


 
DeadMeat ©   (2004-11-29 18:30) [32]


> [30] Piter ©   (29.11.04 16:43)
> хм. Ты не читаешь что ли... Я ведь говорю - ОНА НЕ РЕАЛИЗОВАНА...
> Какой толк от того, что она объявлена, если и делает только
> то, что устанавливает код ошибки...

Ну тада скажу по другому... Она там есть и работает, но не именно CreateRemoteThread. Эта функция просто не экспортируется. Ее можно както по смещению найти от ближайшей. Не спрашивай как в деталях. Не знаю. Но точно знаю, что это есть и работает. В инете есть как минимум две библиотеки для дельфи (но только *.DCU или *.OBJ) по этой теме. Обе работают как в Win9x так и в Win2k.

---
...Death Is Only The Begining...


 
GrayFace ©   (2004-11-29 18:50) [33]

Игорь Шевченко ©   (28.11.04 23:35) [18]
Иначе - ССЗБ.

Что это?

Xaker ©   (28.11.04 23:43) [20]
Так он тока иногда заглядывает в список процессов, и не всегда может сказать про то, "левый процесс" или нет ..


А я тоже. Но я - программивст.


 
Piter ©   (2004-11-29 19:04) [34]

DeadMeat ©   (29.11.04 18:30) [32]
Ее можно както по смещению найти от ближайшей


Никогда не слышал о таком. Официально по крайней мере в win9x она не поддерживается...



Страницы: 1 вся ветка

Текущий архив: 2004.12.19;
Скачать: CL | DM;

Наверх




Память: 0.58 MB
Время: 0.035 c
1-1101906911
ANDREI
2004-12-01 16:15
2004.12.19
search


1-1102069104
Digitman
2004-12-03 13:18
2004.12.19
Проблемы с OpenHelp в D7


14-1101848169
Некто
2004-11-30 23:56
2004.12.19
Алгоритм работы виртуальной памяти


3-1101117504
Palladin
2004-11-22 12:58
2004.12.19
Access и begin transaction


14-1101720792
_1008_
2004-11-29 12:33
2004.12.19
Вопрос жителям востока Украины