Перейти к содержанию

Recommended Posts

santy
...виртуализация или точнее подмена реестра фактически отменила самозащиту как и большинства зловредов так и полезного софта, к которму просто забыт пароль.

пример, видимо защищенного руткитом сервиса в приложенном логе.

delref IZAEZ\[sERVICE]

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

сработает здесь простой (казалось бы) скрипт?

sreg

areg

uvs3.rar

uvs3.rar

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
demkd
не может удалить службу, в логах Eset Sysinspector-а также служба есть, но доступ к файлу запрещен.

сработает здесь простой (казалось бы) скрипт?

sreg

areg

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

1. Нужно сделать образ с помощью 3.24, а не 3.01

3.24 дальше видит, имеет возможность получать доступ к ключам с ограниченным доступом и конечно поддерживает виртуализацию в отличии от 3.01

2. Если в образе проявится соотв. служба, то можно попробовать ее прикончить обычным образом с лишением exe статуса исполняемого.

3. Если не появится то это таки руткит, тогда уже можно будет попробовать виртуализацию, причем можно попросить пользователя сделать виртуализацию и затем уже сохранить образ.

Причем есть 2 варианта:

1. быстрая - в этом случае п.н. можно будет найти в списке тельце руткита т.е. сам драйвер и даже лишить обоих статуса исполняемых, потом можно будет подобрать трупики, заменить первые 2 байта файлов с UV на MZ и вот они сэмплы.

2. безопасная - ссылки на драйвер автоматически убьются при актуализации, но руткит так и останется анонимным.

В обоих случаях delref IZAEZ\[sERVICE] будет бесполезен, поскольку зарезолвится тело сервиса, соотв. на мой взгляд стоит сперва попросить пользователя сделать именно быструю виртуализацию, снять образ после вирутализации, без проведения актуализации (соотв. совершенно безопасно для системы) и затем хорошо в этом образе покапаться в т.ч. для будущего сбора сэмплов, а потом уже его убить, любым удобным способом.

Если же не поможет то останестя загрузка в PE и сверка, где видно и можно все :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
santy
...на мой взгляд стоит сперва попросить пользователя сделать именно быструю виртуализацию, снять образ после вирутализации, без проведения актуализации (соотв. совершенно безопасно для системы) и затем хорошо в этом образе покапаться в т.ч. для будущего сбора сэмплов, а потом уже его убить, любым удобным способом.

Если же не поможет то останестя загрузка в PE и сверка, где видно и можно все :)

ок, беру на вооружение этот метод.

Опробовал сегодня программу в локальной сети. !!! Не знаю лучшего инструмента, чем uVS. Получил по ip образ автозапуска удаленной системы, сохранил. Не выходя из активного сеанса, во втором сеансе загрузил uvs.txt и создал скрипт лечения, который тут же выполнил в активном сеансе.

Интересно, откуда такая проработка темы лечения активного заражения?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
demkd
Не выходя из активного сеанса, во втором сеансе загрузил uvs.txt и создал скрипт лечения, который тут же выполнил в активном сеансе.

Да, я тоже стал иногда склоняться к такому способу для медленных машин или узких каналов, с ними тяжело в рилтайме работать :) Хотя конкретно такой способ лечения удаленных систем мной никогда не планировался специально.

Это особенность всего моего софта, у него нет логического костяка фиксирующего поведение программы или каких-либо модулей принятия решений, но есть широкий набор средств, которые еще и можно комбинировать в столь же широких пределах, соотв. только от человека, зависит какие комбинации доступных функций сложатся в удобную ему схему достижения конечного результата, в то что он будет считать правильным или оптимальным.

Оператор занимает роль основного компонента uVs, т.е. становится эвристическим анализатором и выполняет все управляющие функции, полностью замещая отсутствие управляющей логики в самой программе, в результате можно решать очень серьезные проблемы причем с действительно высокой скоростью, недоступной другим средствам пытающимся принимать какие-либо решения самостоятельно или даже осмеливающимся давать советы оператору при очень скудном встроенном наборе доступных к использованию средств.

Интересно, откуда такая проработка темы лечения активного заражения?

Как обычно от лени, для себя же делаю программу а не для дяди :) Просто в один прекрасный день у нас решено было ставить всем и вся антивирус XXX вместо ZZZ, ибо откаты сильней какой-то там безопасности и прикинув соотв. откатам грядущий обьем работ по лечению машин с этим чудом на борту существующими средствами, я решил что проще будет начать писать свою утилиту для лечения, а не ломать ноги бегая по коридорам или катаясь за 100 км по удаленнум филиалам с антивирусной флехой в зубах и языком на плечах.

А вообще... давным-давно была локальная версия vscan специально для лечения неизвестного активного заражения, ей практически никто не пользовался и почти никто о ней не знал, поскольку простые юзеры не понимали что такое CLI, а те кто занимались лечением не понимали как-это можно убить все тела заведомо неизвестного трояна лишь по одному его экземпляру, хотя вроде как это тривиальная задача...

...потом под воздействием невероятной "скорости" и "эргономики" "традиционных" средств для лечения активного заражения начали бродить идеи, что стоит как-то это все упростить и ускорить порядка так на 2, а то и поиграть некогда... но поскольку было лень, то идеи дремали до появления на горизонте часа XXX, соотв. после толчка появился локальный uVS тоже строго для лечения активного заражения и потом уже в рекордные сроки (поскольку время поджимало) я добавил в него сетевые возможности еще до того как народ пережевал и усвоил локальную часть... в итоге теперь экономится просто невероятное количество времени и нервов как у меня, так и коллег. :)

  • Upvote 5

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
santy

Спасибо за развернутые ответы!

Вот еще вопрос: есть ли в программе анализ ограниченного запуска_блокирования программ?

(Вопрос возник после прочтения вот этой статьи.

http://wiki.drweb.com/index.php/%D0%95%D1%...%B5%D0%BD%D0%BE

)

Если нет, то реализовать проверку по ключам:

hkey_current_user\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\restrictrun

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Disallowrun

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options

HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Safer\CodeIdentifiers\0\Paths

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
demkd
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options

Этот есть, причем твик тут не нужен, он автоматически правится при убиении зловреда или при снятии блока с исп. ntsd,

остальные посмотрю и что-нибудь добавлю.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
demkd

v3.25 Незначительные изменения.

o Для процессов проявляющих сетевую активность добавлена доп. информация (адрес:порт) для каждого

pid-а отдельно. (TCP/TCP6, UDP/UDP6)

o Создано специальное окно для более удобного применения твиков.

(гор. клавиша Alt+T)

o Добавлены твики:

15 - Разрешить отображение вкладки Экран->Рабочий стол

16 - Разрешить отображение вкладки Экран->Заставка

17 - Полная очистка ключей Safer\CodeIdentifiers\0\Paths

18 - Снять ограничения на запуск приложений в Explorer-е

o В категории "Линки на отс. файлы" добавлена поддержка горячей клавиши Del.

(удаление файла без предупреждения)

o Из функции "Выгрузить ВСЕ неизвестные/непроверенные процессы и блокировать запуск служб"

исключена _принудительная проверка цифровых подписей, что делает ее более гибкой.

Например если вы хотите выгрузить все неизвестные за исключением 1-2 процессов, то просто

помечаете нужные файлы проверенными вручную и затем запускаете эту функцию. Если хотите

выгрузить ВСЕ неизвестное и непроверенное, то сперва проверяете подписи и/или хэши.

o Удален третий метод завершения процессов из-за конфликта с самозащитой

Trend Micro OfficeScan 10-й версии. (как в uVS так и в StartF)

Оставлен лишь базовый метод (номер 1) и два метода для продавливания (само)защиты ASA и IJ.

TM не был добавлен в исключения, поскольку IJ его полностью выгружает без фатальных последствий

для системы свойственных бывшему методу номер 3 и номеру 2 (отключенному в v2.83).

KAV теперь тоже не конфликтует с функциями массового завершения процессов,

соотв. он удален из списка исключений.

o Исправлена ошибка в Start.exe иногда возникающая при использовании английской локализации.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
santy
v3.25 Незначительные изменения.

...

o Удален третий метод завершения процессов из-за конфликта с самозащитой

Trend Micro OfficeScan 10-й версии. (как в uVS так и в StartF)

Оставлен лишь базовый метод (номер 1) и два метода для продавливания (само)защиты ASA и IJ.

TM не был добавлен в исключения, поскольку IJ его полностью выгружает без фатальных последствий

для системы свойственных бывшему методу номер 3 и номеру 2 (отключенному в v2.83).

KAV теперь тоже не конфликтует с функциями массового завершения процессов,

соотв. он удален из списка исключений.

Приветствую.

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

образ автозапуска в приложении,

скрипт лечения был такой

zoo \\?\C:\RECYCLER\S-1-5-21-1482476501-1644491937-682003330-1013\WINSE32.EXE

delall \\?\C:\RECYCLER\S-1-5-21-1482476501-1644491937-682003330-1013\WINSE32.EXE

zoo \\?\C:\WINDOWS\MKDRV.SYS

delall \\?\C:\WINDOWS\MKDRV.SYS

zoo \\?\C:\PROGRAM FILES\COMMON FILES\TARGET MARKETING AGENCY\TMAGENT\TMAGENT.DLL

delall \\?\C:\PROGRAM FILES\COMMON FILES\TARGET MARKETING AGENCY\TMAGENT\TMAGENT.DLL

delref \\?\{EDFCB7CB-942C-4822-AF14-F0B687409848}\[CLSID]

...

deltmp

restart

uvs.rar

uvs.rar

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
demkd
скрипт лечения был такой

Видимо MKDRV.SYS так отрегагировал на запрос его выгрузить... что кстати разумно с его стороны, больше же проблем ни с чем возникнуть не должно было, просто потому что нет остальных файлов, указанных в скрипте.

В этом случае есть 2 варианта.

1. Лишение статуса исполняемого и перезапуск.

2. Виртуализация и выполнение аналогичного скрипта, но БЕЗ попыток выгрузки драйвера.

И после перезапуска вторым скриптом можно подобрать сэмпл драйвера.

...И пользователь делавший образ таки не закрыл даже винамп, мусора в образе полно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
santy
Видимо MKDRV.SYS так отрегагировал на запрос его выгрузить... что кстати разумно с его стороны, больше же проблем ни с чем возникнуть не должно было, просто потому что нет остальных файлов, указанных в скрипте.

В этом случае есть 2 варианта.

1. Лишение статуса исполняемого и перезапуск.

2. Виртуализация и выполнение аналогичного скрипта, но БЕЗ попыток выгрузки драйвера.

И после перезапуска вторым скриптом можно подобрать сэмпл драйвера.

...И пользователь делавший образ таки не закрыл даже винамп, мусора в образе полно.

угу, мусора было много, я обрезал здесь часть скрипта с удалением CLSID. Т.е. имеет смысл не пытаться сделать все (и лечение и очистку системы) за один скрипт, а либо прибить сразу зверя, потом зачищать, либо наоборот. Вот еще вопрос - я использую другой способ удаления - извлечение сигнатуры, потом delref, затем проверку списка, и наконец delvir, здесь же используется сразу delall... есть какие то преимущества по методам удаления в delvir или delall, помимо того, что первый находит файл по извлеченной сигнатуре, а второй по указанному пути?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
demkd
Т.е. имеет смысл не пытаться сделать все (и лечение и очистку системы) за один скрипт.

в большинстве случаев будет работать все и сразу, но иногда таки придется дробить процесс, иногда перед лечением придется запускать startf, например при использовании зловредом ключа Appinit_Dlls.

Вот еще вопрос - я использую другой способ удаления - извлечение сигнатуры, потом delref, затем проверку списка, и наконец delvir, здесь же используется сразу delall... есть какие то преимущества по методам удаления в delvir или delall, помимо того, что первый находит файл по извлеченной сигнатуре, а второй по указанному пути?

_Теоретически лучше использовать сигнатрурный метод, может оказаться что тельце вируса не одно, тогда комбинация CHKLST + DELVIR найдет и убьет все тельца в автозапуске, а возможно и самое первое ставшее причиной заражения.

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

Еще замечу что клиенту не обязательно качать sha1 (как в вышеприложенном образе), база уже достигла 4-х метров и 221т.с. хэшей и продолжит заметно распухать в будущем, а учитывая, что эта база не используется при создании образа получается просто бесцельный расход трафика для клиента, хэши же виртуальных файлов может проверить и сам хелпер по своей личной базе, что обычно заметно сужает область поиска и исключает возможность того, что сам юзер уже чего-то в базу накидал.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
demkd

Завершил крупное пополнение базы проверенных итого ~250 тысяч хэшей.

В этот раз в основном добавлялись драйвера всевозможных версий.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
santy

вот такое еще пожелание для новой версии.

некторые зловреды изменяют пусть для svchost в службах BITS, обновления системы,

пример: %FYSTEMROOT%\SYSTEM32\SVCHOST.EXE

в приложенном логе

в AVZ эта проблема решается скриптом

var

i : integer;

KeyList : TStringList;

begin

KeyList := TStringList.Create;

RegKeyEnumKey('HKLM','SYSTEM', KeyList);

for i := 0 to KeyList.Count-1 do

if pos('controlset', LowerCase(KeyList)) > 0 then

begin

if RegKeyExistsEx('HKLM', 'SYSTEM\'+KeyList+'\Services\BITS') then

begin

RegKeyResetSecurity('HKLM', 'SYSTEM\'+KeyList+'\Services\BITS');

RegKeyStrParamWrite('HKLM', 'SYSTEM\'+KeyList+'\Services\BITS', 'ImagePath', '%SystemRoot%\System32\svchost.exe -k netsvcs');

AddToLog('Значение параметра ImagePath в разделе реестра HKLM\SYSTEM\'+KeyList+'\Services\BITS исправлено на оригинальное.');

end;

if RegKeyExistsEx('HKLM', 'SYSTEM\'+KeyList+'\Services\wuauserv') then

begin

RegKeyResetSecurity('HKLM', 'SYSTEM\'+KeyList+'\Services\wuauserv');

RegKeyStrParamWrite('HKLM', 'SYSTEM\'+KeyList+'\Services\wuauserv', 'ImagePath', '%SystemRoot%\System32\svchost.exe -k netsvcs');

AddToLog('Значение параметра ImagePath в разделе реестра HKLM\SYSTEM\'+KeyList+'\Services\wuauserv исправлено на оригинальное.');

end;

end;

KeyList.Free;

SaveLog(GetAVZDirectory + 'fystemRoot.log');

RebootWindows(true);

end.

сделайте, пожалуйста, и нам_пользователям uVS, твик - "исправить путь для svhost.exe на оригинальный", или что то в этом роде.

uvs.rar

uvs.rar

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
demkd

встречалось подобное, чего-нибудь придумаю...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
santy

еще нужен твик - восстановление безопасного режима загрузки (Safe Mode).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
demkd

А это есть в меню Реестр и там не восстановление а загрузка из (авто)бэкапа реестра, что более правильно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
santy

все глаза проглядел - не увидел "восстановить из копии ключ SafeBoot", но копия реестра должна быть предварительно создана или нет?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
demkd

Если 2k/2k3/XP то по умолчанию используется копия реестра созданная системой при ее (пере)установке.

А вот для старших систем нужна копия.

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

  • Upvote 5

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
sceptic

demkd, а неплохая утилитка получилась.

Спасибо.

На днях опробовал на "боевой" машинке.

Результат порадовал.

Если будете продолжать проект, буду рекламировать вашу программу наравне с AVZ.

А если бы вы со Славой скооперировались, то совместному продукту не было бы цены :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Umnik

sceptic

Каким Славой?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
sceptic
Каким Славой?

ччёёрт :)

пардон.

с Олегом конечно. с Зайцевым.

зы.

и прикрутите уже обновлялку :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
demkd
с Олегом конечно. с Зайцевым.

Продукты-то в целом разные, у Зайцева оно направлено на защиту, продвинутое восстановление и выявление свеженького спайваре, uVS же построен исключительно на быстром и удобном анализе реестра в любом его виде, т.е. никаких "продвинутых" методов анализа системы не используется плюс к этому прибавлены достаточно примитивные, но почему-то до сих пор эффективные средства уничтожения как файлов так и процессов.

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

Хотя есть одна область... базы проверенных файлов, но я ответа на свое предложение насчет обмена форматами баз не получил, в целом это бы отсеяло еще 10-15% чистых файлов из списка на анализ, впрочем отсев и так уже хорошо идет, в последнее время становится даже скучно вылавливать тварей, слишком уж как-то просто особенно если не забывать про фильтр по дате. :)

и прикрутите уже обновлялку

А вот это лень :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
sceptic
А вот это лень smile.gif

редиска :)

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

а то мну тоже лень хелп читать :)

и да..

убери ты этот реферер с сайта (http://www.jino-net.ru/sys/jino1.html)

несолидно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
demkd
тогда добавь в подпись прямую ссылку и расскажи как прикручивать.

Если уж хочется самостоятельно делать автообновление, то придется парсить страничку http://dsrt.jino-net.ru/uvs.htm и выдергивать оттуда ссылку на версию.

убери ты этот реферер

Хозяева сами добавляют туда что хотят, сайт не мой, с другой стороны я рекламы там давно не вижу ибо FF+AdBP.

Полностью подконтрольный мне cайт http://dsrt.dyndns.org без какой-либо рекламы, но и доступен он не всегда.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Создайте учетную запись или войдите, чтобы комментировать

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

×