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

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

Насколько я понял на тестовом вирусе построена проверка активности антивируса.
а оно нужно? Для размышлений https://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
 
Последнее редактирование:
Он намекает, что не все антивирусы видят eicar
Вы не ту тему смотрите ;) Обязаны все его "видеть".. там ситуация равносильна отключенному антивирусному монитору.
https://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
 
Последнее редактирование:
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); // и это тоже?
 
Dragokas,
http://z-oleg.com/secur/avz_doc/scr_demo9.htm - скрипт типовой blush.webp в принципе.. Читаю ваши скрипты..
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); // и это тоже?
этот не надо.
 
Последнее редактирование:
Для установки и снятия драйвера AVZPM нужна перезагрузка. Второй лог (после перезагрузки) нормальный.
Позвольте, чтобы я понял смысл этих действий.
Получается, что лог будет неправильный, если кто-то до запуска ViruLogs запускал ранее AVZ, не отключив AVZPM.
При этом, чтобы исправить ситуацию, нужно отключить AVZPM, перезагрузить комп, и только после этого стартовать первый этап скана? Я правильно понял?
Можно сразу, превентивно, это сделать.. Но надо пробовать..
Я хотел бы услышать еще мнения. За эту часть уже вроде отвечает сам Консультант.
 
Последнее редактирование:
Странно. У меня сейчас на часах 2.30,
а у Олега в файле уже:

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

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

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

sov44 написал(а):
потестил немного утилиту на семёрке. предложения:
1. послезавершения работы скрипта :
- убрать директорию rsit из корня системного диска
- убрать директорию trend micro из %programfiles%
- убрать ветку HKLM\software\TrendMicro
2. Удалить файлы логов, если пользователь согласился на их архивирование ( кстати, почему в *.zip, а не в *.7z ?)
3. Нужно ли повторное сканирование AVZ после перезагрузки? Вносит ли скрипт AVZ в процессе работы изменения в систему?
4. Обилие всплывающих окон пугает ))))
 
Да, лог будет не правильный. По умолчанию AVZPM выключен.
После его включения и для получения полной картины о всех запущенных процессах необходима перезагрузка системы.
После его выключения перезагрузка системы не требуется.
+
А зачем AVZPM включать? И без него лог достаточно информативен, а его включение может вызывать BSOD
=
#6.webp 4.32.webp 4.41.webp delpm.webp error.webp
Скрины не по порядку. (проверка при активных драйверах версий 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('Внеплановая Перезагрузка !! требуется выгрузить драйвер ! После перезагрузки повторите запуск утилиты :(');
Проверил, скрипт работает. Если драйвер не установлен, всё штатно продолжается.
 
Последнее редактирование модератором:
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, я понял - речь о том, что кто-то до запуска ViruLogs мог заниматься самодеятельностью и вручную запустив AVZ, включил драйвер защиты. Но какова вероятность? И зачем перезагрузка при выключении AVZPM?
Это драйвер расширенного мониторинга процессов, на системах х64 не работает, в остальных случаях может давать как не информативный лог (см выше примеры) или тупо кидать систему в BSOD.... насчет вероятности включения, ситуация довольно редкая, но все может быть.
Перезагрузка рекомендуется иначе опять будет хлам в логе.

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

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

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

Zaitsev Oleg написал(а):
Есть более простой и документированный путь - стандартный скрипт номер 6 (он униточножает все следы присутствия AVZ и рекомендован в качестве завершающего этапа проверки и лечения)
pruflink
 
Скрипт проверяет установлен ли 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
 
Последнее редактирование:
Я действительно с запуском из сетевой шары на Вы.
Я не знал для чего в начале скрипта chdir /d "%~dp0", поэтому воткнул вычисление localpath до этой строки. А надо после, т.к. если "Запустить от имени Администратора", то путь будет задан не правильно.
 
Dragokas,
Немного не так. Мой скрипт должен сам принимать решение о перезагрузке.
Проверите "мой" скрипт, пожалуйста:
Всё нормально, висит.. :rolleyes:
(!)Редактор скриптов проверяет синтаксис, а не логику. А повис он, потому что запущено отложенное удаление, после чего по логике идёт перезагрузка.
busy.webp
После закрытия AVZ, скрипт создал точку восстановления и закрылся..
 
Последнее редактирование:
Назад
Сверху Снизу