Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2004.12.19;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.56 MB
Время: 0.031 c
4-1099405020
Genocid
2004-11-02 17:17
2004.12.19
Системная ловушка


3-1100581648
DWW
2004-11-16 08:07
2004.12.19
инкрементирования


14-1101705984
NewDelpher
2004-11-29 08:26
2004.12.19
Плану Аллена Даллеса суждено было сбыться?


14-1101879743
КаПиБаРа
2004-12-01 08:42
2004.12.19
Опрос - используете ли вы букву "Ё"?


4-1098538256
RedLord
2004-10-23 17:30
2004.12.19
блокировка перезапуска компа





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский