Форум: "Потрепаться";
Текущий архив: 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.036 c