Автоматическое получение логов AVZ, RSIT, SITLog, HiJack This

Dragokas

Very kind Developer
Команда форума
Супер-Модератор
Разработчик
Клуб переводчиков
Сообщения
6,133
Реакции
5,908
Баллы
648
use_RSIT=true
use_SITLog=true
а зачем ...или это для теста только?
shestale, как понимаешь разрабатывал месяц назад, когда SITLog еще не был включен в инструкцию.
Поэтому 2 альтернативы. По желанию, отключай какую хочешь. HiJack This запускается из-под обоих.
По сути дважды за время работы утиля.

Кроме того, если отключить стадию подготовки (Stage.Prepare=false) и стадию анализа (Stage.Analyses=false) в настройках, получится версия скрипта для сервера (только обновление утилит).
Упаковщик тоже будет особый (но стандартными средствами). В сл. версии прикручу.

Понравилось что утилита дуракоустойчивая,я сделал все чего она не советовала)))
Кирилл, я еще добавил возможность запускать и-под путей со спецсимволами кодировки 1251 (вроде украинской і) - слышал у тебя были проблемы.
Также на утиль не влияют региональные настройки даты/времени, запуск из-под неверной разрядности приложения (например, 32-битного Total Commander).

после перезагрузки, имхо так-же нужно сделать окно с предупреждением о выгрузке антивирусного ПО.
Ок. Добавлю. Почему до сих пор не сделали 64-битный EICAR ? рррр.

Столкнулся с проблемой на одном компе не смог распаковать 7z поэтому теперь SITLog.zip
++ лучше залить сюда http://safezone.cc/resources/categories/nashi-razrabotki.3/ удобнее за версиями следить.Зеркало нужно обновить:
http://safezone.cc/resources/system-information-to-log.51/download?version=62 - вот верная
Логично. Ссылку на зеркало поправлю. В раздел тестов залью.

Насколько я понял на тестовом вирусе построена проверка активности антивируса.
а оно нужно? Для размышлений http://safezone.cc/threads/test-na-eicar-ili-pochemu-skaner-na-nego-ne-rugaetsja.22247/#post-156471
Почитал тему и не сделал для себя никаких выводов. А на что я должен был обратить внимание?

Но если я не сохраню ничего из тех документов с которыми работаю, автоперезагрузка, мне кажется не очень правильное решение.
В стандартном скрипте № 3 предусмотрена автоперезагрузка.
Как говорил - я без самодеятельности.
Если нужно, могу убрать ее из скрипта. Добавить окно с вопросом и предупреждением, что:
"Сейчас комп будет перезагружен, пожалуйста сохраните все документы.
Продолжить перезагрузку... Кнопки ДА, НЕТ". Или: "После нажатия ОК комп будет перезагружен".

LastLog
Наверное в этой папке будут логи обновляться
Да - в папке LastLog - будет всегда 1 и всегда последний лог, чтобы юзеру не повылазило от кол-ва файлов.
А в папке Logs складируются старые логи с переименованием в Дату-Время.

что проверяется и как создаётся контрольная точка скриптом? Так как у меня отключено восстановление системы, причём отключена служба и наблюдение за дисками, но скрипт рапортует об успешном создании к.т.
Код ошибки проверю.
А насчет полной автоматизации возобновления работы системы восстановления
столкнулся с проблемой:
- при попытке разрешить создание точек для системного диска (конкретно на WinXP) через WMIC эта самая WMIC жестко зависла:
CMD/BATCH:
WMIC /Namespace:\\root\default Path SystemRestore [URL='http://www.ss64.com/nt/call.html']Call[/URL] Enable "%SystemDrive%\"
Решил эту стадию пропустить.
Итого:
Автоматически запускаю службы: winmgmt, а также Srservice (если XP).
И создаю контрольную точку.

CMD/BATCH:
:CreateRecoveryPoint
  :: Создание контрольной точки восстановления системы
  :: запускаем службу WMI, если вдруг отключена
  net start winmgmt 2>NUL
  :: Если XP запускаем службу SR
  if "%Family%"=="NT" net start Srservice 2>NUL
  :: Разрешаем создание точек для системного диска
  :: Эту операцию запретил. Причина: вызывала зависание на XP EN.
  goto skip_Enable_Recovery
  WMIC /Namespace:\\root\default Path SystemRestore Call Enable "%SystemDrive%\" >NUL 2>&1
  ;;; if errorlevel 1 (
    echo %ОШИБКА%
  ) else (echo %Успех%)
:skip_Enable_Recovery
  ::Создаем точку
  WMIC /Namespace:\\root\default Path SystemRestore Call CreateRestorePoint "SafeZone.cc", 100, 10 >NUL 2>&1
  ;;; if errorlevel 1 (
    echo %ОШИБКА%
  ) else (echo %Успех%)
Exit /B
 
Последнее редактирование:

Кирилл

Команда форума
Администратор
Сообщения
13,828
Реакции
6,169
Баллы
913
Dragokas, большая работа,уважение тебе)))
 

akok

Команда форума
Администратор
Сообщения
17,856
Реакции
13,544
Баллы
2,203

Phoenix

Ветеран
Сообщения
2,107
Реакции
2,049
Баллы
503
Он намекает, что не все антивирусы видят eicar
Вы не ту тему смотрите ;) Обязаны все его "видеть".. там ситуация равносильна отключенному антивирусному монитору.
http://safezone.cc/threads/testirovanie-i-zamechanija-uchastnikov-beta-testirovanija.21924/page-7
Да, присоединяюсь. Работа хорошая !
Всё таки я за принудительное завершение и перезагрузку (!) Почему ?
№1 Юзер запускает не какую то читалку текста или что то в этом роде.. Он вполне готов - лишь бы избавиться от проблем с малварью. (разве не так ?!)
№2 Завершилась стадия 1 - значки в трее пропали, лично всё позакрывал и ещё с час работал (неохота было перегружаться), (в этом случае антивирус не отключал).
Есть не большие замечания.
Был включен AVZPM (z-oleg.com/avz.exe или z-oleg.com/avz_mini.exe (?) до запуска утилиты) - в итоге красные логи. Может делать проверку ?
Код:
Get/SetAVZPMStatus
 
Последнее редактирование:

Dragokas

Very kind Developer
Команда форума
Супер-Модератор
Разработчик
Клуб переводчиков
Сообщения
6,133
Реакции
5,908
Баллы
648
Phoenix, я вроде ничего не включал. Кстати код Ваш использовал:

CMD/BATCH:
start "" /WAIT "%avz.exe%" Script="%bin%\AVZ_Update.txt"
Код:
var
  S : string;
begin
  // Влючить ведение протокола времени и хешей базы обновлений
  SetupAVZ('ExtUpdates=Y');
  // Обновление
  if ExecuteAVUpdate then
  S := 'Update is successful.'
  else
  S := 'Error with updating.';
  // Протоколирование
  AddLineToTxtFile(GetAVZDirectory + 'avz_upd.log',  DateTimeToStr(Now)+' '+S);
  // SetAVZGuardStatus(false); // Выключаем включёную в командом режиме защиту AG=Y (не использую)
  // Завершение работы AVZ
  ExitAVZ;
end.
Предлагаете перед запуском любого из скриптов AVZ принудительно выставлять опции:
судя из мануала - так?
Код:
SetAVZPMStatus(False);
SetAVZGuardStatus(False); // и это тоже?
 

Phoenix

Ветеран
Сообщения
2,107
Реакции
2,049
Баллы
503
Dragokas,
http://z-oleg.com/secur/avz_doc/scr_demo9.htm - скрипт типовой
в принципе.. Читаю ваши скрипты..
http://z-oleg.com/secur/avz_doc/script_setavzpmstatus.htm, так же рекомендуется после лечения ExecuteStdScr(6); Можно сразу, превентивно, это сделать.. Но надо пробовать..
Для установки и снятия драйвера AVZPM нужна перезагрузка. Второй лог (после перезагрузки) нормальный.
PHP:
begin
if GetAVZPMStatus then
ExecuteStdScr(6);
SaveLog(GetAVZDirectory+'avz_status.log');
end.
var
  S : string;
begin
  // Влючить ведение протокола времени и хешей базы обновлений
  SetupAVZ('ExtUpdates=Y');
  // Обновление
  if ExecuteAVUpdate then
    S := 'Update is successful.'
  else
    S := 'Error with updating.';
  // Протоколирование
  AddLineToTxtFile(GetAVZDirectory + 'avz_upd.log',  DateTimeToStr(Now)+' '+S);
  // Завершение работы AVZ
  ExitAVZ;
end.
5CE6AD9BB488C49114DA24320207CD4B bin\AVZ_Update.txt
PHP:
Запуск автоматического обновления (стандартные параметры)
Автоматическое обновление завершено  успешно
Удаление службы/драйвера: AVZRK
Удаление службы/драйвера: AVZSG
Удаление службы/драйвера: AVZ
Удаление службы/драйвера: uteynzg1
Удаление службы/драйвера: ujeynzg1
Удаление службы/драйвера: uzeynzg1
Удаление службы/драйвера: vdeynzg1
Зато лог по скриту №2 точно нормальный будет
SetAVZGuardStatus(False); // и это тоже?
этот не надо.
 
Последнее редактирование:

Dragokas

Very kind Developer
Команда форума
Супер-Модератор
Разработчик
Клуб переводчиков
Сообщения
6,133
Реакции
5,908
Баллы
648
Для установки и снятия драйвера AVZPM нужна перезагрузка. Второй лог (после перезагрузки) нормальный.
Позвольте, чтобы я понял смысл этих действий.
Получается, что лог будет неправильный, если кто-то до запуска ViruLogs запускал ранее AVZ, не отключив AVZPM.
При этом, чтобы исправить ситуацию, нужно отключить AVZPM, перезагрузить комп, и только после этого стартовать первый этап скана? Я правильно понял?
Можно сразу, превентивно, это сделать.. Но надо пробовать..
Я хотел бы услышать еще мнения. За эту часть уже вроде отвечает сам Консультант.
 
Последнее редактирование:

Dragokas

Very kind Developer
Команда форума
Супер-Модератор
Разработчик
Клуб переводчиков
Сообщения
6,133
Реакции
5,908
Баллы
648
Странно. У меня сейчас на часах 2.30,
а у Олега в файле уже:

<AVZ CurVer="4.41" MinVer="4.41" BuildDate="28.10.2013 4:00:07">

Нужно делать поправку на временную зону, вот только какую?
 

shestale

Ассоциация VN/VIP
Преподаватель
Сообщения
9,705
Реакции
5,010
Баллы
743
Получается, что лог будет неправильный, если кто-то до запуска ViruLogs запускал ранее AVZ, не отключив AVZPM.
Да, лог будет не правильный. По умолчанию AVZPM выключен.
После его включения и для получения полной картины о всех запущенных процессах необходима перезагрузка системы.
После его выключения перезагрузка системы не требуется.
Инсталляция и включение AVZPM
Для включения AVZPM необходимо выполнить пункт меню "AVZPM/Установить драйвер расширенного мониторинга процессов". Выполнение этого пункта приводит к установке в систему драйвера мониторинга, его регистрации в реестре и загрузке. Драйвер начинает функционировать с момента загрузки, но для получения полной картины о всех запущенных процессах необходима перезагрузка.

Деинсталляция и отключение AVZPM
Для выключения AVZPM необходимо выполнить пункт меню "AVZPM/Удалить драйвер расширенного мониторинга процессов". Выполнение этого пункта приводит к выгрузке драйвера, удалению его регистрационных ключей из реестра и файла с диска. Операция остановки мониторинга и выгрузки драйвера может занять несколько секунд. Перезагрузка после удаления драйвера не требуется.
 
Последнее редактирование:

akok

Команда форума
Администратор
Сообщения
17,856
Реакции
13,544
Баллы
2,203
А зачем AVZPM включать? И без него лог достаточно информативен, а его включение может вызывать BSOD
 

Dragokas

Very kind Developer
Команда форума
Супер-Модератор
Разработчик
Клуб переводчиков
Сообщения
6,133
Реакции
5,908
Баллы
648
Чтобы не потерялось:

sov44 написал(а):
потестил немного утилиту на семёрке. предложения:
1. послезавершения работы скрипта :
- убрать директорию rsit из корня системного диска
- убрать директорию trend micro из %programfiles%
- убрать ветку HKLM\software\TrendMicro
2. Удалить файлы логов, если пользователь согласился на их архивирование ( кстати, почему в *.zip, а не в *.7z ?)
3. Нужно ли повторное сканирование AVZ после перезагрузки? Вносит ли скрипт AVZ в процессе работы изменения в систему?
4. Обилие всплывающих окон пугает ))))
 

Phoenix

Ветеран
Сообщения
2,107
Реакции
2,049
Баллы
503
Да, лог будет не правильный. По умолчанию AVZPM выключен.
После его включения и для получения полной картины о всех запущенных процессах необходима перезагрузка системы.
После его выключения перезагрузка системы не требуется.
+
А зачем AVZPM включать? И без него лог достаточно информативен, а его включение может вызывать BSOD
=
#6.png 4.32.png 4.41.png delpm.png error.png
Скрины не по порядку. (проверка при активных драйверах версий 4.32, 4.42; выгрузка через меню; по скрипту 6).
PHP:
var
  S : string;
begin
//avzpm test
if GetAVZPMStatus then begin
ExecuteStdScr(6); SaveLog(GetAVZDirectory+'avz_status.log'); ShowMessage('Внеплановая Перезагрузка !! требуется выгрузить драйвер !'); Sleep(5); RebootWindows(true);
end
else begin
// Влючить ведение протокола времени и хешей базы обновлений
  SetupAVZ('ExtUpdates=Y');
  // Обновление
  if ExecuteAVUpdate then
    S := 'Update is successful.'
  else
    S := 'Error with updating.';
  // Протоколирование
  AddLineToTxtFile(GetAVZDirectory + 'avz_upd.log',  DateTimeToStr(Now)+' '+S);
  // Завершение работы AVZ
  ExitAVZ;
end;
end.
Скрипт проверяет установлен ли avzpm, if установлен then begin выполняет ExecuteStdScr(6); и RebootWindows(true);
если нет else begin dragokas (script); :)
Только после перезагрузки надо в автостарт добавить или написать оповещение - ShowMessage('Внеплановая Перезагрузка !! требуется выгрузить драйвер ! После перезагрузки повторите запуск утилиты :(');
Проверил, скрипт работает. Если драйвер не установлен, всё штатно продолжается.
 
Последнее редактирование модератором:

Dragokas

Very kind Developer
Команда форума
Супер-Модератор
Разработчик
Клуб переводчиков
Сообщения
6,133
Реакции
5,908
Баллы
648
Phoenix,

if GetAVZPMStatus then beginExecuteStdScr(6); ... RebootWindows(true);
А перезагрузка зачем? Судя из слов shestale, и приведенной выдержки из мануала, она не требуется.

Только после перезагрузки надо в автостар добавить или написать оповещение - ShowMessage('Внеплановая Перезагрузка !! требуется выгрузить драйвер !'
Что опять перезагрузка? :)

Да, лог будет не правильный. По умолчанию AVZPM выключен.
Столкнулся с проблемой на одном компе не смог распаковать 7z поэтому теперь SITLog.zip
akok, я понял - речь о том, что кто-то до запуска ViruLogs мог заниматься самодеятельностью и вручную запустив AVZ, включил драйвер защиты. Но какова вероятность? И зачем перезагрузка при выключении AVZPM?

И вопрос от sov44 интересен мне:
Вносит ли скрипт AVZ в процессе работы изменения в систему?
- если да, мне хотелось бы откатить его действия.

Странно. У меня сейчас на часах 2.30,
а у Олега в файле уже:
<AVZ CurVer="4.41" MinVer="4.41" BuildDate="28.10.2013 4:00:07">
Разобрался. Я время перевел назад по-раньше + разница на час между UTC зон.

На полную отладку времени не хватило, поэтому вариант ещё не до конца рабочий.
Спасибо большое Наиль за начальную отладку кода.
Я действительно с запуском из сетевой шары на Вы. Благодаря тебе, теперь знаю, как правильно должно выглядеть.

Протестировать до конца не получилось, т.к. положил в папку, имя которой начинается с восклицательного знака.
Думаю, это решу довольно просто.
Без DelayedExpansion обойдусь. Буду включать только там, где это нужно.
Exit /B - я понял, что без этого ключа возникнут сложности в режиме отладки,
только я в подпрограммах заменю на двойной Exit (call :sub || exit /B ..... :sub ... Exit /B 1), т.к. выйти нужно и из основной ветви кода тоже.

На счет HTA: не знал, что driverpacksolution написан на нем. Вы мне открыли глаза. Пробы пера у меня были, но знаний WEB-а, к сожалению не хватает.
Предложение принимается. Как до конца внесу пожелания по консольной версии, можно будет подумать о HTA-интерфейсе.
Еще раз спасибо.

RebootWindows(false); - так вернее.
Да. Это аналог shutdown /R /T 0
А RebootWindows(true); аналог shutdown /R /F /T 0
cmd написал(а):
/f Принудительное закрытие запущенных приложений без предупреждения
пользователей.
Но Вы и сами знаете :)
 
Последнее редактирование:

akok

Команда форума
Администратор
Сообщения
17,856
Реакции
13,544
Баллы
2,203
akok, я понял - речь о том, что кто-то до запуска ViruLogs мог заниматься самодеятельностью и вручную запустив AVZ, включил драйвер защиты. Но какова вероятность? И зачем перезагрузка при выключении AVZPM?
Это драйвер расширенного мониторинга процессов, на системах х64 не работает, в остальных случаях может давать как не информативный лог (см выше примеры) или тупо кидать систему в BSOD.... насчет вероятности включения, ситуация довольно редкая, но все может быть.
Перезагрузка рекомендуется иначе опять будет хлам в логе.

Вносит ли скрипт AVZ в процессе работы изменения в систему?
3 стандартный скрипт удаляет все, что нашел сигнатурный поиск (ооочень редко и ооочень старых зловредов). Остальные изменения при помощи скриптов вносим после анализа логов.
если да, мне хотелось бы откатить его действия.
Файл сохраняется в карантине, следы в реестре чистятся без бекапа.
 

Phoenix

Ветеран
Сообщения
2,107
Реакции
2,049
Баллы
503
Dragokas, Ну вот скрит выгрузил драйвера, но они активны ! Лог будет красный без перезагрузки.

На счёт вероятности - согласен она не велика, но cкрипт будет отрабатывать только , если обнаружит активные драйвера AVZ.
Что мы теряем ? Ничего. Зато утилита будет универсальнее, да и лог о выгрузке драйверов пишется.

akok написал(а):
, RebootWindows(false); - так вернее.
Ну, да.. юзера жалеть надо. :)

Zaitsev Oleg написал(а):
Есть более простой и документированный путь - стандартный скрипт номер 6 (он униточножает все следы присутствия AVZ и рекомендован в качестве завершающего этапа проверки и лечения)
pruflink
 

Dragokas

Very kind Developer
Команда форума
Супер-Модератор
Разработчик
Клуб переводчиков
Сообщения
6,133
Реакции
5,908
Баллы
648
Скрипт проверяет установлен ли avzpm, if установлен then begin выполняет ExecuteStdScr(6); и RebootWindows(true);
если нет else begin dragokas (script); :)
Немного не так. Мой скрипт должен сам принимать решение о перезагрузке.
Проверите "мой" скрипт, пожалуйста:

PHP:
var
  S : string;
begin
  // Проверка наличия активного драйвера AVZPM
  if GetAVZPMStatus then
    begin
      ExecuteStdScr(6);
      S := 'AVZPM Alert';
    end
  else
  // AVZPM не включен: начинаю обновление баз
    begin
      // Влючить ведение протокола времени и хешей базы обновлений
      SetupAVZ('ExtUpdates=Y');
      // Обновление
      if ExecuteAVUpdate then
        S := 'Update is successful.'
      else
        S := 'Error with updating.';
      // Протоколирование
      AddLineToTxtFile(GetAVZDirectory + 'avz_upd.log',  DateTimeToStr(Now)+' '+S);
      // Завершение работы AVZ
      ExitAVZ;
    end;
end.
Заковыристый дельфей, еле разобрал синтаксис. Редактор вроде сказал "Ошибок нет": http://z-oleg.com/secur/avz/avz_se.php
 
Последнее редактирование:

Гимаев Наиль

Активный пользователь
Сообщения
59
Реакции
98
Баллы
248
Я действительно с запуском из сетевой шары на Вы.
Я не знал для чего в начале скрипта chdir /d "%~dp0", поэтому воткнул вычисление localpath до этой строки. А надо после, т.к. если "Запустить от имени Администратора", то путь будет задан не правильно.
 

Phoenix

Ветеран
Сообщения
2,107
Реакции
2,049
Баллы
503
Dragokas,
Немного не так. Мой скрипт должен сам принимать решение о перезагрузке.
Проверите "мой" скрипт, пожалуйста:
Всё нормально, висит.. :rolleyes:
(!)Редактор скриптов проверяет синтаксис, а не логику. А повис он, потому что запущено отложенное удаление, после чего по логике идёт перезагрузка.
busy.png
После закрытия AVZ, скрипт создал точку восстановления и закрылся..
 
Последнее редактирование:
Сверху Снизу