-
Junior Member
- Вес репутации
- 53
Вопрос по AVZ
Здравствуйте... У меня вопрос по функционированию антируткита в AVZ - я похоже недогоняю... Если есть библиотека, перехватывающая в проводнике CreateProcess "модификацией машинного кода", сплайсингом то бишь, то почему она не отображается в списке перехватов (про CreateProcess вообще ни слова), а детектируется как кейлоггер?
Спасибо.
Добавлено через 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 минуты
Если что - библиотека от "Зоркого глаза"
Последний раз редактировалось Postscripter; 01.07.2010 в 23:53.
Причина: Добавлено
-
Будь в курсе!
Будь в курсе!
Надоело быть жертвой? Стань профи по информационной безопасности, получай самую свежую информацию об угрозах и средствах защиты от ведущего российского аналитического центра Anti-Malware.ru:
-
Если библиотека просто лежит на диске не загруженная в память, то перехватов от неё и нет.
-
-
Сообщение от
Postscripter
Если что - библиотека от "Зоркого глаза"
Лобовое внедрение посторонней DLL в процессы будет зафиксировано, отмечено в логе и получит 0% ввиду того, что DLL по мнению анализатора не делает ровным счетом ничего из типичных для кейлоггеров операций... Перехватов нет потому, что сама DLL-ка странная - является перехватчиком-пустышкой, выполняет SetWindowsHookEx(3), будучи загруженной в память процесса делает GetModuleFileName() для определения имени процесса, в который прошло внедрение и если это explorer, то ищет в нем CreateProcessW и патчит его машинный код. Соответственно хук будет в только в проводнике, на работу AVZ не окажет влияния и потому данных о перехвате в логе не будет. В базу безопасных файл не включался, так как в общем-то небезопасен (перехват там делается пожалуй наиболее корявым методом и может завалить проводник)
-
-
Junior Member
- Вес репутации
- 53
Сообщение от
Зайцев Олег
данных о перехвате в логе не будет.
Ага! потенциальная лазейка шучу.
и может завалить проводник
Что, собственно, и делает, довольно стабильно, в соседстве с вирусами, перехватывающими эту же функцию
перехват там делается пожалуй наиболее корявым методом
Методом мсРема! А какой метод, на ваш взгляд, наиболее правильный? Так, чтобы студент третьего курса с ним справился )))
-
Сообщение от
Postscripter
Методом мсРема! А какой метод, на ваш взгляд, наиболее правильный? Так, чтобы студент третьего курса с ним справился
)))
Если удастся найти мою книжку по руткитам - я рассматривал там все методы с примерами, причем как раз на 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 на буфер. Такая методика корректно учтет тот факт, что функцию в общем-то могли хукнуть и до нас ...
-
-
Junior Member
- Вес репутации
- 53
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.
Последний раз редактировалось Postscripter; 02.07.2010 в 16:18.
Причина: Добавлено
-
Она точно выложена на depositfiles, если Олег не будет против, но есть вероятность того, что антивирусу не понравятся примеры из книги и он задетектит их.
-
-
Junior Member
- Вес репутации
- 53
Найти 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));
вот это был прикол
-
-
-
-
Сообщение от
Postscripter
до драйверов мне пока далеко.
Four-F же есть. Раз Рема осилили.
P.S. Впечатление от wasm портит clerk
Это Вы сами себе портите себе впечатление. Принимайте его таким, какой есть.
Хех, как еще сразу Вас с паскалем не послали. Вероятно потому , что в Вашем случае Ремовское наследие рассматривалось
Я вот на васме вопросы вообще не задаю, лучше неделю потрачу на поиск и прочее скушное изучение. Задо читаю очень часто.
-
-
Junior Member
- Вес репутации
- 53
Частично согласен.
--------
- что такое Four-F?
С драйверами тут проблема глубже. Библиотека Ремы с примерами весит 400 кб, а сколько весит среда разработки драйверов и книжки по ней? Сложно отказаться от пережитков того времени, когда в городе, обеспечивающем связью пол-Евразии самый доступный интернет выдавал 33.6 кб и стоил 25 рублей в час. Это сейчас только чурок припугнули - вот они и разродились adsl безлимиткой на 128. За полторы тыщи в месяц.
-
Junior Member
- Вес репутации
- 53
Метод с AppCertDlls оказался на удивление простым и безопасным (с точки зрения отказоустойчивости). Сразу видно что разрабатывали microsoft его для себя http://support.microsoft.com/default...;EN-US;Q320181 ))))
Только в случае отмены досаждает окошко типа "Присоединённое к системе устройство не работает", пришлось вместо 0xC0000001 возвращать выдуманный код ошибки, на который у системы нет реакции.
Хочу ещё раз сказать спасибо за то что помогли, а не послали в Яндекс .
Последний раз редактировалось Postscripter; 06.07.2010 в 04:12.
Причина: Добавлено
-
Postscripter, Four-F это автор цикла статей, начиная с этой http://wasm.ru/article.php?article=drvw2k01 , посвященных сознанию драйверов. Кроме того KmdKit - его рук дело. Если кто-то помогал, без обид. Я не в курсе.
-
-
Junior Member
- Вес репутации
- 53
Если кто-то помогал, без обид. Я не в курсе
помогал Олег, за что тут же и схлопотал три благодарности 0_о
Видимо не меня одного мучали эти вопросы)))
Добавлено через 7 минут
Да вообще, неблагодарное это дело - драйвера.. так вот пишешь, а потом ХОП! А цифровой подписи-то нету.. и для Win 64 это бесполезная куча ноликов и единичек.
Последний раз редактировалось Postscripter; 06.07.2010 в 20:04.
Причина: Добавлено
-
Postscripter,
Чтобы антивирус лаял на исходники? Навряд ли...
Гадом буду, тестил как-то ComboFix, так эта редиска поудалял в карантин мои исходники. Выборочно. На самом деле есть версия. Вероятно, ему было лень проверять наличие PE-заголовка, а где-то цепочка байтов подошла под сигнатуру. Другого объяснения придумать не могу. )
вдумчивое чтение этой книги может навредить вашему компьютеру
точно, "вдумчивое чтение этой книги плохим человеком может навредить..."
Добавлено через 12 минут
Postscripter, Какой Олег помогахи Форфу писать KmdKit? И кто от кого чего схлопотал?
Написание дров помогает понять систему, имхо. Под лежачий камень вода не течет. Как только ставишь дальнюю цель, тут же сталкиваешься с кучей мелких затыков, приходят в голову какие-то мы-ы-ысли...
Последний раз редактировалось antanta; 06.07.2010 в 20:30.
Причина: Добавлено
-
-
Junior Member
- Вес репутации
- 53
Какой Олег помогахи Форфу писать KmdKit? И кто от кого чего схлопотал?
Не знаю как там Four-f... Эмм.. но мне очень помогло сообщение от Олега Зайцева за номером шесть Я это имел в виду.
Написание дров помогает понять систему, имхо.
ещё проще будет проще понять (а может и написать), когда мы начнём изучать asm)) Осталось всего три-четыре месяца!
-
Сообщение от
Зайцев Олег
Лобовое внедрение посторонней DLL в процессы будет зафиксировано
Простите, Олег, но тут с Вами никак уж не соглашусь. Есть собственная DLL внедряющаяся во все процессы системы... А в логах AVZ в ней ни слова, ни намека...
-
-
Зайцев Олег,
Доброго дня.
Прошу прощения если не туда запостил или такой вопрос уже задавался.
Планируется ли AVZ на 64битную Винду 7ку?
И когда?
Без AVZ как секс с незнакомками без презерватива!
Минздрав СССР всегда предупреждал, что беспорядочные связи могут повредить здоровью.....
но я никогда не думал, что это они о компьютере.
-