Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Лечение систем от вредоносных программ (http://forum.oszone.net/forumdisplay.php?f=87)
-   -   Непонятное отключение обновлений (http://forum.oszone.net/showthread.php?t=191100)

nikel76 13-11-2010 15:29 1541751

Непонятное отключение обновлений
 
Вложений: 1
Здравствуйте, по непонятным причинам отключилась загрузка обновлений, при попытке обновиться вываливает с ошибкой 80246008, о проблеме отписывался здесь и эту проблему решили. Дело в том, что пропала полностью (из диспетчера служб) "Фоновая интеллектуальная служба передачи (BITS)" и есть подозрение на "работу" вирусов, возможно. В остальном вроде других подозрений не заметил, единственное что еще странное, что с загрузкой системы слишком все тормозит, антивирус KIS 2011 загружается вообще в последнюю очередь, это все с момента, когда появляется рабочий стол и еще проходит где-то 2 минуты как появляется значок антивируса. Автозагрузка у меня чистая, т.е. ничем лишним не загромождено что так может мешать загрузке системы, так что это действительно странно.
Сделал все согласно инструкции, вернее подготовил только логи AVZ, HijackThis и RSIT, сейчас еще запустил полную проверку CureIt-ом, но этот процесс будет долгим. Одно только но, не получилось мне в AVZ установить "драйвер расширенного мониторинга процессов", не знаю, опция вообще никак не реагирует... может из-за того что система 64-битная Win7?
Логи прикрепляю:

zirreX 13-11-2010 19:48 1541959

• Выполните скрипт AVZ
Перед выполнением скрипта отключите защитное ПО (антивирус, файрволл)

AVZ, меню "Файл -> Выполнить скрипт" -> Скопировать ниже написанный
скрипт -> Нажать кнопку "Запустить".
Код:

var
 DescriptionTextWuauServ, DispayNameTextWuauServ, DescriptionTextBITS: String;
 DispayNameTextBITS, FullPathSystem32, NameFolderSystem32, FileServiceDll: String;
 ImagePathStr, RootStr, SubRootStr, LangID: string;
 AllRoots, AllKeys, RootsRestored, KeysRestored, KeysFixed: integer;
 FinishMsg, RestoreMsg, FixMsg, CheckMsg: String;
 RegSectMsg, ParamMsg, ParamValueMsg, InRegSectMsg, CorrectMsg, RestMsg: String;

procedure CheckAndRestoreSection(Root: String);
begin
 Inc(AllRoots);
 if RegKeyExistsEx('HKLM', Root)
  then RegKeyResetSecurity('HKLM', Root)
  else
  begin
        Inc(RootsRestored);
        RegKeyCreate('HKLM', Root);
        AddToLog(RegSectMsg + Root + RestMsg);
  end;
end;

procedure CheckAndRestoreSubSection;
begin
 CheckAndRestoreSection(SubRootStr);
end;

procedure RestoredMsg(Root, Param: String);
begin
 AddToLog(ParamMsg + Param + InRegSectMsg + Root + RestMsg);
 Inc(KeysRestored);
end;

procedure FixedMsg(Root, Param: String);
begin
 AddToLog(ParamValueMsg + Param + InRegSectMsg + Root + CorrectMsg);
 Inc(KeysFixed);
end;

procedure RestoreStrParam(Root, Param, Value: String);
begin
 RegKeyStrParamWrite('HKLM', Root, Param, Value);
 RestoredMsg(Root, Param);
end;

procedure CheckAndRestoreStrParam(Root, Param, Value: String);
begin
 Inc(AllKeys);
 if not RegKeyParamExists('HKLM', Root, Param)
  then RestoreStrParam(Root, Param, Value);
end;

procedure CheckAndRestoreIntParam(Root, Param: String; Value: Integer);
begin
 Inc(AllKeys);
 if not RegKeyParamExists('HKLM', Root, Param) then
  begin
  RegKeyIntParamWrite('HKLM', Root, Param, Value);
  RestoredMsg(Root, Param);
  end;
end;

procedure CheckAndRestoreMultiSZParam(Param, Value: String);
begin
 Inc(AllKeys);
 if not RegKeyParamExists('HKLM', RootStr, Param)
  then
  begin
        ExecuteFile('REG ADD HKLM\' + RootStr + ' /v ' + Param + Value, '', 0, 10000, true);
        RestoredMsg(RootStr, Param);
  end;
end;

// Исправление значения параметра ImagePath для служб 'wuauserv' и 'BITS'
procedure ImagePathFix(Node, Srv: String);
var RegStr: String;
begin
 RegStr:= 'SYSTEM\' + Node + '\Services\' + Srv;
 if RegKeyExistsEx('HKLM', RegStr) then
  begin
  Inc(AllKeys);
  RegKeyResetSecurity('HKLM', RegStr);
  RegKeyStrParamWrite('HKLM', RegStr, 'ImagePath', ImagePathStr);
  FixedMsg(RegStr, 'ImagePath');
  end;
end;

{ Выполнение исправление всех ключей в ветках -
  'HKLM\SYSTEM\CurrentControlSet\Services\BITS' и 'HKLM\SYSTEM\CurrentControlSet\Services\wuauserv'}
procedure CorrectRegistryRoot(DescriptionText, DisplayNameText, Srv: String);
var FileServiceDll, CCSNumber: string;
        i : integer;
begin
 if Srv = 'BITS'
  then FileServiceDll := FullPathSystem32 + 'qmgr.dll'
  else FileServiceDll := FullPathSystem32 + 'wuauserv.dll';
 RootStr:= 'SYSTEM\CurrentControlSet\Services\' + Srv;

 CheckAndRestoreSection(RootStr);

 CheckAndRestoreStrParam(RootStr, 'Description', DescriptionText);
 CheckAndRestoreStrParam(RootStr, 'DisplayName', DisplayNameText);
 CheckAndRestoreStrParam(RootStr, 'ObjectName', 'LocalSystem');

 Inc(AllKeys);
 if not RegKeyParamExists('HKLM', RootStr, 'ImagePath')
  then RestoreStrParam(RootStr, 'ImagePath', ImagePathStr)
  else
  begin
        Dec(AllKeys);
        if LowerCase(RegKeyStrParamRead('HKLM', RootStr, 'ImagePath')) <> LowerCase(ImagePathStr)
        then
          for i:= 0 to 999 do
          begin
                if i > 0
                then CCSNumber:= FormatFloat('ControlSet000', i)
                else CCSNumber:= 'CurrentControlSet';
                ImagePathFix(CCSNumber, Srv);
                end;
  end;

 CheckAndRestoreIntParam(RootStr, 'ErrorControl', 1);
 CheckAndRestoreIntParam(RootStr, 'Start', 2);
 CheckAndRestoreIntParam(RootStr, 'Type', 32);

 if Srv = 'BITS'
  then
  begin
        CheckAndRestoreMultiSZParam('DependOnService', ' /t REG_MULTI_SZ /d RpcSs');
        CheckAndRestoreMultiSZParam('DependOnGroup', ' /t REG_MULTI_SZ');
  end;

 SubRootStr:= RootStr + '\Enum';
 CheckAndRestoreSubSection;

 CheckAndRestoreStrParam(SubRootStr, '0', 'Root\LEGACY_' + UpperCase(Srv) + '\0000');
 CheckAndRestoreIntParam(SubRootStr, 'Count', 1);
 CheckAndRestoreIntParam(SubRootStr, 'NextInstance', 1);

 SubRootStr := RootStr + '\Security';
 CheckAndRestoreSubSection;

 Inc(AllKeys);
 if not RegKeyParamExists('HKLM', SubRootStr, 'Security') then
  begin
  RegKeyBinParamWrite('HKLM', SubRootStr, 'Security', '01,00,14,80,78,00,00,00,84,00,00,00,14,00,00,00,30,00,00,00,02,00,1c,00,01,00,00,00,02,80,14,00,ff,00,0f,00,01,01,00,00,00,00,00,01,00,00,00,00,02,00,48,00,03,00,00,00,00,00,14,00,9d,00,02,00,01,01,00,00,00,00,00,05,0b,00,00,00,00,00,18,00,ff,01,0f,00,01,02,00,00,00,00,00,05,20,00,00,00,20,02,00,00,00,00,14,00,ff,01,0f,00,01,01,00,00,00,00,00,05,12,00,00,00,01,01,00,00,00,00,00,05,12,00,00,00,01,01,00,00,00,00,00,05,12,00,00,00');
  RestoredMsg(SubRootStr, 'Security');
  end;

 SubRootStr:= RootStr + '\Parameters';
 CheckAndRestoreSubSection;

 Inc(AllKeys);
 if not RegKeyParamExists('HKLM', SubRootStr, 'ServiceDll')
  then
  begin
  RegKeyParamWrite('HKLM', SubRootStr, 'ServiceDll', 'REG_EXPAND_SZ', FileServiceDll);
  RestoredMsg(SubRootStr, 'ServiceDll');
  end
  else
        if LowerCase(RegKeyStrParamRead('HKLM', SubRootStr, 'ServiceDll')) <> LowerCase(FileServiceDll)
        then
          begin
          RegKeyParamWrite('HKLM', SubRootStr, 'ServiceDll', 'REG_EXPAND_SZ', FileServiceDll);
          FixedMsg(SubRootStr, 'ServiceDll');
          end
end;

{ Главное выполнение }
begin
 ClearLog;
 ExpRegKey('HKLM', 'SYSTEM\CurrentControlSet\Services\wuauserv', 'wuauserv.reg');
 ExpRegKey('HKLM', 'SYSTEM\CurrentControlSet\Services\BITS', 'BITS.reg');
 LangID:= RegKeyStrParamRead('HKLM', 'SYSTEM\CurrentControlSet\Control\Nls\Language', 'InstallLanguage');
 if LangID = '0419'
  then
  begin
        DescriptionTextWuauServ:= 'Включает загрузку и установку обновлений Windows. Если служба отключена, то на этом компьютере нельзя будет использовать возможности автоматического обновления или веб-узел Центра обновления Windows.';
        DispayNameTextWuauServ:= 'Автоматическое обновление';
        DescriptionTextBITS:= 'Обеспечивает передачу данных между клиентами и серверами в фоновом режиме. Если служба BITS отключена, такие возможности, как Windows Update, не могут правильно работать.';
        DispayNameTextBITS:= 'Фоновая интеллектуальная служба передачи (BITS)';
        AddToLog('Операционная система - русская');
        FinishMsg:= '–––– Восстановление завершено ––––';
        RestoreMsg:= 'Восстановлено разделов\параметров: ';
        FixMsg:= 'Исправлено параметров: ';
        CheckMsg:= 'Проверено разделов\параметров: ';
        RegSectMsg:= 'Раздел реестра HKLM\';
        ParamMsg:= 'Параметр ';
        ParamValueMsg:= 'Значение параметра ';
        InRegSectMsg:= ' в разделе реестра HKLM\';
        CorrectMsg:= ' исправлено на оригинальное.';
        RestMsg:= ' восстановлен.';
  end
  else
  if LangID = '0409'
        then
        begin
          DescriptionTextWuauServ:= 'Enables the download and installation of Windows updates. If this service is disabled, this computer will not be able to use the Automatic Updates feature or the Windows Update Web site.';
          DispayNameTextWuauServ := 'Automatic Updates';
          DescriptionTextBITS:= 'Transfers data between clients and servers in the background. If BITS is disabled, features such as Windows Update will not work correctly.';
          DispayNameTextBITS:= 'Background Intelligent Transfer Service';
          AddToLog('Operation system - english');
          FinishMsg:= '–––– Restoration finished ––––';
          RestoreMsg:= 'Sections\parameters restored: ';
          FixMsg:= 'Parameters corrected: ';
          CheckMsg:= 'Sections\parameters checked: ';
          RegSectMsg:= 'Registry section HKLM\';
          ParamMsg:= 'Parameter ';
          ParamValueMsg:= 'Value of parameter ';
          InRegSectMsg:= ' in registry section HKLM\';
          CorrectMsg:= ' corrected on original.';
          RestMsg:= ' restored.';
        end;
 AddToLog('');

{ Определение папки X:\Windows\System32\ }
 NameFolderSystem32:= RegKeyStrParamRead('HKLM', 'SYSTEM\CurrentControlSet\Control\Windows', 'SystemDirectory');
 ImagePathStr:= NameFolderSystem32 + '\svchost.exe -k netsvcs';
 Delete(NameFolderSystem32, 1, pos('\', NameFolderSystem32) - 1);
 FullPathSystem32:= GetEnvironmentVariable('WinDir') + NameFolderSystem32 + '\';

 AllRoots:= 0;
 AllKeys:= 0;
 RootsRestored:= 0;
 KeysRestored:= 0;
 KeysFixed:= 0;

 CorrectRegistryRoot(DescriptionTextBITS, DispayNameTextBITS, 'BITS');
 CorrectRegistryRoot(DescriptionTextWuauServ, DispayNameTextWuauServ, 'wuauserv');

 AddToLog('');
 AddToLog(FinishMsg);
 AddToLog('');
 AddToLog(RestoreMsg + IntToStr(RootsRestored) + ' \ ' + IntToStr(KeysRestored));
 AddToLog(FixMsg + IntToStr(KeysFixed));
 AddToLog(CheckMsg + IntToStr(AllRoots) + ' \ ' + IntToStr(AllKeys));
 SaveLog(RegKeyStrParamRead('HKEY_CURRENT_USER', 'Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders', 'Desktop') + '\Correct_wuauserv&BITS.log');
end.

После выполнения скрипта на рабочем столе появится текстовый файл Correct_wuauserv&BITS. Его необходимо прикрепить к следующему посту в теме где вам оказывает помощь.

Данный скрипт распространяется свободно и может быть модицифирован по согласованию с авторами - представителями VirusNet.Info
При публикации скрипта данный комментарий обязателен.


Скачайте Malwarebytes' Anti-Malware или с зеркала, установите, обновите базы, выберите "Perform Full Scan", нажмите "Scan", после сканирования - Ok - Show Results (показать результаты) - Откройте лог и скопируйте в блокнот и прикрепите его к следующему посту.

nikel76 13-11-2010 21:36 1542062

Вложений: 1
Все выполнил, сначала в AVZ скрипт, потом просканировал с пом. Malwarebytes, где в общем-то нашлось 13 зловредов... по окончанию нажал все на удаление, кроме KMService
Выкладываю логи:

zirreX 13-11-2010 23:30 1542178

Что с вашей проблемой?

nikel76 15-11-2010 07:33 1542893

Fedin, нет, все уже, большое спасибо, все работает нормально, в том числе и обновления, проверился еще вот CureIt-ом и ничего не нашлось.
А Касперского удалил, поставил Есет, после загрузки системы никаких зависаний, хотя конечно не в Касперском было дело.
Еще раз большое спасибо!

zirreX 15-11-2010 13:53 1543114

Создайте новую контрольную точку восстановления и удалите зараженную:
1. Нажмите Пуск - Программы – Стандартные – Служебные – Очистка диска, выберите системный диск, на вкладке Дополнительно - Восстановление системы нажмите Очистить
2. Нажмите Пуск- Программы – Стандартные – Служебные – Восстановление системы, выберите Создать точку восстановления, нажмите Далее, введите имя точки восстановления и нажмите Создать.

Скачайте ATF Cleaner, запустите, поставьте галочку напротив Select All и нажмите Empty Selected.
если вы используете Firefox, нажмите Firefox - Select All - Empty Selected
нажмите No, если вы хотите оставить ваши сохраненные пароли
если вы используете Opera, нажмите Opera - Select All - Empty Selected
нажмите No, если вы хотите оставить ваши сохраненные пароли.

Для предотвращения заражения рекомендую вам придерживаться этих правил:
1.Всегда работайте только под обычным пользователем!
2.Используйте браузер Firefox с дополнением NoScript
Если вы используете браузер Internet Explorer, отключите в нем ActiveX (Сервис -> свойства обозревателя -> безопасность -> другой -> запуск элементов ActiveX и модулей подключения
3.Устанавливайте обновления и патчи Windows.
4.Ежедневно обновляйте антивирусные базы.
5.Никогда не устанавливайте два антивируса или сетевых экрана (файрвол).

Помимо антивируса, проверяйте систему на присутствие вредоносных программ утилитой Dr.Web Cureit


Время: 02:50.

Время: 02:50.
© OSzone.net 2001-