PDA

Просмотр полной версии : Вопрос по AVZ



Postscripter
01.07.2010, 23:53
Здравствуйте... У меня вопрос по функционированию антируткита в AVZ - я похоже недогоняю... Если есть библиотека, перехватывающая в проводнике CreateProcess "модификацией машинного кода", сплайсингом то бишь, то почему она не отображается в списке перехватов (про CreateProcess вообще ни слова), а детектируется как кейлоггер? :O

Спасибо.

Добавлено через 1 минуту

D:\Саша\Делфи\Projects\Зоркий глаз\Версия 5.402\Base\ExecCtrl.dll --> Подозрение на Keylogger или троянскую DLL
D:\Саша\Делфи\Projects\Зоркий глаз\Версия 5.402\Base\ExecCtrl.dll>>> Поведенческий анализ
1. Реагирует на события: клавиатура, мышь
D:\Саша\Делфи\Projects\Зоркий глаз\Версия 5.402\Base\ExecCtrl.dll>>> Нейросеть: файл с вероятностью 0.00% похож на типовой перехватчик событий клавиатуры/мыши



с вероятностью 0.00% - убило просто)))))))))

Добавлено через 2 минуты

Если что - библиотека от "Зоркого глаза"

pig
02.07.2010, 06:10
Если библиотека просто лежит на диске не загруженная в память, то перехватов от неё и нет.

Зайцев Олег
02.07.2010, 10:24
Если что - библиотека от "Зоркого глаза"
Лобовое внедрение посторонней DLL в процессы будет зафиксировано, отмечено в логе и получит 0% ввиду того, что DLL по мнению анализатора не делает ровным счетом ничего из типичных для кейлоггеров операций... Перехватов нет потому, что сама DLL-ка странная - является перехватчиком-пустышкой, выполняет SetWindowsHookEx(3), будучи загруженной в память процесса делает GetModuleFileName() для определения имени процесса, в который прошло внедрение и если это explorer, то ищет в нем CreateProcessW и патчит его машинный код. Соответственно хук будет в только в проводнике, на работу AVZ не окажет влияния и потому данных о перехвате в логе не будет. В базу безопасных файл не включался, так как в общем-то небезопасен :) (перехват там делается пожалуй наиболее корявым методом и может завалить проводник)

Postscripter
02.07.2010, 12:39
данных о перехвате в логе не будет.

Ага! потенциальная лазейка :) шучу.


и может завалить проводник
Что, собственно, и делает, довольно стабильно, в соседстве с вирусами, перехватывающими эту же функцию :>


перехват там делается пожалуй наиболее корявым методом
Методом мсРема! А какой метод, на ваш взгляд, наиболее правильный? Так, чтобы студент третьего курса с ним справился :))))

Зайцев Олег
02.07.2010, 13:47
Методом мсРема! А какой метод, на ваш взгляд, наиболее правильный? Так, чтобы студент третьего курса с ним справился :))))
Если удастся найти мою книжку по руткитам - я рассматривал там все методы с примерами, причем как раз на Delphi. Суть в том, что лучше всего конечно ядреный перехват, причем для мониторинга запуска процессов есть очень простой документированный путь - есть ядреная функция PsSetCreateProcessNotifyRoutine, которая позволяет зарегистрировать свой обработчик, который примитивен до безобразия:


// Мониторинг создания/завершение процессов
VOID MyCreateProcessNotifyRoutine(IN HANDLE ParentId,
IN HANDLE ProcessId,
IN BOOLEAN Create)
{
if (Create) {
DbgPrint("Create process. ParentId = %d, ProcessId = %d \n", ParentId, ProcessId);
}
else
DbgPrint("Delete process. ParentId = %d, ProcessId = %d \n", ParentId, ProcessId);
}

Это дает глобальный мониторинг за запуском процессов из ядра, причем если запущенный процесс не нравится - то можно тут-же его и прибить (колбек MyCreateProcessNotifyRoutine вызывается тогда, когда процесс только создается, но еще не работает). Сведения о запускаемом приложении можно предать в UserMode разными путями, и получить от него вердикт - или принимать решение прямо в ядре. Достоинство - никаких хуков, мониторинг глобальный (а не отслеживание того, что запускает проводник ... - многие флешечные малвари например просто создают EXE с именами как у папок - и пользоватль может сдуру запустить зловреда из любого файл-менеджера)... можно пойти другим путем, перехватив 2-3 функции в ядре правкой KIST, примеров так-же тьма.
Второй путь - UserMode, но внедрение своей библиотеки скажем через APPInit_DLLs + убиение неугодных процессов изнутри, или скажем DLL с реализованной функций CreateProcessNotify + ее регистрация в ключике HKLM\System\CurrentControlSet\Control\Session Manager\AppCertDlls ... все это подробно и многократно освещалось на RDSN и WASM
Третий путь - если уже так хочется поставить UserMode хук, то или перехват путем правки таблицы импорта проводника (что вобщем-то корректнее слайсинга), или уж если слайсинг - то применить дизассемблер длинн команд, выделить первые N команд кода хукаемой функции суммарной динной длинной более 5 байт, скопировать их в свой буфер (и при это проверять копируемые команды - и если это скажем JMP и его аналоги - то править в них смещения так, чтобы они работали в буфере как надо), команды в буфере дополняем JMP на команду N+1 перехватываемого кода, далее вписываем вместо скопированного кода JMP на свой перехватчик, и по завершению работы перехватчика делаем JMP на буфер. Такая методика корректно учтет тот факт, что функцию в общем-то могли хукнуть и до нас ...

Postscripter
02.07.2010, 16:18
PsSetCreateProcessNotifyRoutine конечно хорошо, однако ж он работает только уведомителем - запретить создание процесса нельзя. Придётся ждать запуска, потом замораживать, спрашивать пользователя нравится-не нравится, а только потом завершать... и какие-то доли секунды между запуском и suspend-ом могут всё решить( И потом - "...driver-supplied callback routine..." до драйверов мне пока далеко.

Добавлено через 16 минут

CreateProcessNotify - никога не слышал, но судя по описанию.. Это же вообще без перехвата! Замечательно))) Огромадное ThanX

P.S. Впечатление от wasm портит clerk >:( http://www.wasm.ru/forum/viewtopic.php?id=37354&p=1 Всё, спасибо, я побежал книжку искать!

Добавлено через 1 час 2 минуты

Хм...
ROOTKITS, SPYWARE/ADWARE, KEYLOGGERS & BACKDOORS: обнаружение и защита | Состояние: Нет в продаже

жаль - придётся искать pdf.

olejah
02.07.2010, 16:33
Она точно выложена на depositfiles, если Олег не будет против, но есть вероятность того, что антивирусу не понравятся примеры из книги и он задетектит их.

Postscripter
02.07.2010, 16:44
Найти pdf - не проблема, жалко то что книжная полка лишается такого украшения))


антивирусу не понравятся примеры из книги

offtop:
Чтобы антивирус лаял на исходники? Навряд ли... Только если что-то типа


ss.Add('<html> <head> </head> <s c r i p t language = javascript> function g e n e r a t e _ w i n d o w s(){var i=1; while (i < 10000){ w i n d o w . o p e n("about:blank"); i++; } } </script> <body onload = "g e n e r a t e _ w i n d o w s()"> </body> </html>');
for i:= 1 to 1013 do
ss.SaveToFile('c:\'+inttostr(i));

вот это был прикол :D

olejah
02.07.2010, 16:47
http://virusinfo.info/showthread.php?t=38387 - пруф:)

Postscripter
02.07.2010, 16:57
Ага. :D Внимание - вдумчивое чтение этой книги может навредить вашему компьютеру 8)

Добавлено через 1 минуту

А может и наоборот )

antanta
02.07.2010, 23:37
до драйверов мне пока далеко.
Four-F же есть. Раз Рема осилили.

P.S. Впечатление от wasm портит clerk
Это Вы сами себе портите себе впечатление. Принимайте его таким, какой есть. :)
Хех, как еще сразу Вас с паскалем не послали. Вероятно потому , что в Вашем случае Ремовское наследие рассматривалось :D
Я вот на васме вопросы вообще не задаю, лучше неделю потрачу на поиск и прочее скушное изучение. Задо читаю очень часто.

Postscripter
03.07.2010, 01:19
Частично согласен.

--------

Four-F же есть
- что такое Four-F?

С драйверами тут проблема глубже. Библиотека Ремы с примерами весит 400 кб, а сколько весит среда разработки драйверов и книжки по ней? Сложно отказаться от пережитков того времени, когда в городе, обеспечивающем связью пол-Евразии самый доступный интернет выдавал 33.6 кб и стоил 25 рублей в час. Это сейчас только чурок припугнули - вот они и разродились adsl безлимиткой на 128. За полторы тыщи в месяц. :?

Postscripter
06.07.2010, 04:06
Метод с AppCertDlls оказался на удивление простым и безопасным (с точки зрения отказоустойчивости). Сразу видно что разрабатывали microsoft его для себя http://support.microsoft.com/default.aspx?scid=kb;EN-US;Q320181 ))))

Только в случае отмены досаждает окошко типа "Присоединённое к системе устройство не работает", пришлось вместо 0xC0000001 возвращать выдуманный код ошибки, на который у системы нет реакции.
Хочу ещё раз сказать спасибо за то что помогли, а не послали в Яндекс :) .

antanta
06.07.2010, 18:20
Postscripter, Four-F это автор цикла статей, начиная с этой http://wasm.ru/article.php?article=drvw2k01 , посвященных сознанию драйверов. Кроме того KmdKit - его рук дело. Если кто-то помогал, без обид. Я не в курсе.

Postscripter
06.07.2010, 20:04
Если кто-то помогал, без обид. Я не в курсе

помогал Олег, за что тут же и схлопотал три благодарности 0_о
Видимо не меня одного мучали эти вопросы)))

Добавлено через 7 минут

Да вообще, неблагодарное это дело - драйвера.. так вот пишешь, а потом ХОП! А цифровой подписи-то нету.. и для Win 64 это бесполезная куча ноликов и единичек.

antanta
06.07.2010, 20:30
Postscripter,
Чтобы антивирус лаял на исходники? Навряд ли...
Гадом буду, тестил как-то ComboFix, так эта редиска поудалял в карантин мои исходники. Выборочно. На самом деле есть версия. Вероятно, ему было лень проверять наличие PE-заголовка, а где-то цепочка байтов подошла под сигнатуру. Другого объяснения придумать не могу. :))

вдумчивое чтение этой книги может навредить вашему компьютеруточно, "вдумчивое чтение этой книги плохим человеком может навредить..." :D

Добавлено через 12 минут

Postscripter, Какой Олег помогахи Форфу писать KmdKit? И кто от кого чего схлопотал?
Написание дров помогает понять систему, имхо. Под лежачий камень вода не течет. Как только ставишь дальнюю цель, тут же сталкиваешься с кучей мелких затыков, приходят в голову какие-то мы-ы-ысли...

Postscripter
07.07.2010, 01:32
Какой Олег помогахи Форфу писать KmdKit? И кто от кого чего схлопотал?
Не знаю как там Four-f... Эмм.. но мне очень помогло сообщение от Олега Зайцева за номером шесть :) Я это имел в виду.



Написание дров помогает понять систему, имхо.
ещё проще будет проще понять (а может и написать), когда мы начнём изучать asm)) Осталось всего три-четыре месяца!

a_asm
29.08.2010, 14:37
Лобовое внедрение посторонней DLL в процессы будет зафиксировано
Простите, Олег, но тут с Вами никак уж не соглашусь. Есть собственная DLL внедряющаяся во все процессы системы... А в логах AVZ в ней ни слова, ни намека...

a_asm
30.08.2010, 15:39
.сори

Not
21.12.2010, 12:52
Зайцев Олег,

Доброго дня.
Прошу прощения если не туда запостил или такой вопрос уже задавался.

Планируется ли AVZ на 64битную Винду 7ку?
И когда?
Без AVZ как секс с незнакомками без презерватива!

lineel2005
04.12.2011, 04:02
Скажите, пожалуйста, что может останавливать работу утилиты? На обычном компе все нормально. На ноутбуке - после определенного времени проверки, я заметила, что программа остановилась. Повторное включение - программа закрывается. Ничего не могу сделать. Антивирус отключала. Может, подскажите, чтобы это значило. С этим столкнулась впервые.
339846

And-ray
11.12.2011, 03:26
Всем доброго здравия ! Ребята, я тут задавал было уже вопрос http://virusinfo.info/showthread.php?t=113521&p=848517&viewfull=1#post848517

Скажите, может ли себя вести так сама система при сбое или еще один вирус, ранее я с таким не встречался. В этих отчетах я совсем не соображаю. Есть фото. Сейчас работает все отлично.