• Внимание. Восстановление баз 1С7, 1C8 и Mssql после атаки шифровальщика, подробности и отзывы читайте в профильной теме.

Решена Подозрение на скрытую работу руткита.

Terrarian51

Новый пользователь
Сообщения
24
Реакции
0
Баллы
1
Здравствуйте, товарищи! Я нахожусь в некотором замешательстве, надеюсь на Вашу помощь.
В течение пары месяцев я наблюдаю, как мой ноутбук в простое, время от времени самопроизвольно передает данные по сети, производит какие-то операции, получая неслабую нагрузку на процессор. При попытке заглянуть в диспетчер задач или Process Explorer вредоносные процессы автоматически сворачиваются, а нагрузка на процессор, соответственно, тут же уменьшается. Антивирусные программы ничего не находят.
Также была замечена работа "служб" антиотладки и отправка данных на сервера где-то в Москве...
Прикрепляю логи AutoLogger'а.
 

Вложения

Последнее редактирование:

Terrarian51

Новый пользователь
Сообщения
24
Реакции
0
Баллы
1
Упс! Исправил. Прогнал новым логгером, со стандартными настройками AVZ сканера. Вот логи:
 

Вложения

Последнее редактирование:

akok

Команда форума
Администратор
Сообщения
17,698
Реакции
13,493
Баллы
2,203
Закройте все программы, временно выгрузите антивирус, файрволл и прочее защитное ПО.

Выполните скрипт в АВЗ (Файл - Выполнить скрипт):

Код:
{Исправление в службах в реестре, значения ImagePath.
Данный скрипт распространяется свободно и может быть модицифирован по согласованию с авторами - представителями SafeZone.cc
При публикации скрипта данный комментарий и ссылка на VirusNet.Info обязателена. }
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');
RebootWindows(false);
end.
Компьютер перезагрузится.


Для повторной диагностики запустите снова AutoLogger. В первом диалоговом окне нажмите "ОК", удерживая нажатой клавишу "Shift".
 

akok

Команда форума
Администратор
Сообщения
17,698
Реакции
13,493
Баллы
2,203
Скачайте Farbar Recovery Scan Tool и сохраните на Рабочем столе.

Примечание: необходимо выбрать версию, совместимую с Вашей операционной системой. Если Вы не уверены, какая версия подойдет для Вашей системы, скачайте обе и попробуйте запустить. Только одна из них запустится на Вашей системе.
Запустите программу. Когда программа запустится, нажмите Yes для соглашения с предупреждением.

Нажмите кнопку Scan.
После окончания сканирования будут созданы отчеты FRST.txt, Addition.txt в той же папке, откуда была запущена программа. Прикрепите отчеты к своему следующему сообщению.
Подробнее читайте в этом руководстве.
 

Terrarian51

Новый пользователь
Сообщения
24
Реакции
0
Баллы
1
Программа завершила сканирование. Вот отчеты :)
 

Вложения

akok

Команда форума
Администратор
Сообщения
17,698
Реакции
13,493
Баллы
2,203
TDSSKiller что-то находил?
Ваш?
1 (S-1-5-21-2795884277-2199534907-2370398262-1000 - Administrator - Enabled) => C:\Users\1
  • Отключите до перезагрузки антивирус.
  • Выделите следующий код:
    Код:
    Start::
    CreateRestorePoint:
    File: C:\Windows\Windows\SysWOW64\qmgr.dll;C:\Windows\Windows\SysWOW64\wuauserv.dll
    FirewallRules: [{3DDFC277-A0F7-4A9F-A19B-D570A16F7901}] => (Allow) C:\Programs\Steam\bin\cef\cef.win7\steamwebhelper.exe No File
    FirewallRules: [{07D07BDC-0F5F-4A96-8E86-297405ECD03A}] => (Allow) C:\Programs\Steam\bin\cef\cef.win7\steamwebhelper.exe No File
    EmptyTemp:
    Reboot:
    End::
  • Скопируйте выделенный текст (правой кнопкой - Копировать).
  • Запустите FRST (FRST64) от имени администратора.
  • Нажмите Fix и подождите. Программа создаст лог-файл (Fixlog.txt). Прикрепите его к своему следующему сообщению.
Компьютер будет перезагружен автоматически.

Подробнее читайте в этом руководстве.
 

Terrarian51

Новый пользователь
Сообщения
24
Реакции
0
Баллы
1
TDSSKiller нашел семь угроз, пять удалил, две вылечил после перезагрузки. Антивирус не использую, ПК весьма слабый.
C:\Users\1 - Да, этот профиль мой... Только не пойму при чем здесь Steam :)
 

akok

Команда форума
Администратор
Сообщения
17,698
Реакции
13,493
Баллы
2,203
Только не пойму при чем здесь Steam :)
Просто мусор.

TDSSKiller нашел семь угроз, пять удалил, две вылечил после перезагрузки.
Зайдите в папку C:\KVRT_Data\ (C:\ это обычно раздел, где установлена работающая версия Windows) и упакуйте папку Reports в архив и прикрепите к теме
 

Terrarian51

Новый пользователь
Сообщения
24
Реакции
0
Баллы
1
Выкладываю Reports от KVRT и карантин с логами от TDSSKiller.
Скрипт интересный, папка Windows дважды указана в пути...
 

Вложения

Последнее редактирование:

Terrarian51

Новый пользователь
Сообщения
24
Реакции
0
Баллы
1
Скрипт выполнен, выкладываю лог.
 

Вложения

akok

Команда форума
Администратор
Сообщения
17,698
Реакции
13,493
Баллы
2,203
Кстати да. Что-то пошло не так.
Какое у вас значение ключа реестра SystemDirectory, по пути
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Windows
 

Terrarian51

Новый пользователь
Сообщения
24
Реакции
0
Баллы
1
Какое у вас значение ключа реестра SystemDirectory
Значение ключа следующее:
C:\Windows\SysWOW64
Я так полагаю, его и надо прописать.
 
Последнее редактирование:

akok

Команда форума
Администратор
Сообщения
17,698
Реакции
13,493
Баллы
2,203
Хорошо, продолжим уже завтра, на свежую голову.
 

Terrarian51

Новый пользователь
Сообщения
24
Реакции
0
Баллы
1
Я смогу этим заняться только в понедельник, так как на выходных буду в селе, без интернета вообще :)
 

Terrarian51

Новый пользователь
Сообщения
24
Реакции
0
Баллы
1
Судя по всему, TDSSKiller уже удалил и qmgr.dll, и wuauserv.dll... Но это только мои догадки.
 

regist

гоняюсь за туманом
Ассоциация VN/VIP
VIP
Разработчик
Сообщения
12,336
Реакции
5,961
Баллы
998
текстовый файл Correct_wuauserv&BITS.log с рабочего стола прикрепите.

Windows стоит сборка?
 

regist

гоняюсь за туманом
Ассоциация VN/VIP
VIP
Разработчик
Сообщения
12,336
Реакции
5,961
Баллы
998
+ Перед запуском TDSSKiller-а как понимаю меняли его настройки?
 

Terrarian51

Новый пользователь
Сообщения
24
Реакции
0
Баллы
1
Настройки менял с целью лечения. В отношении Windows могу сказать, что это изначально чистая англоязычная версия Windows 7 x64 SP1, но c пакетом обновлений от "Васи Пупкина":
UpdatePack7R2 для обновления Windows 7 SP1 и Server 2008 R2 SP1
Грешу на этот пакет. Остальные утилиты ставил сам, ручками (Драйвера, Framework, XNA и т.д.)
 
Последнее редактирование:
Сверху Снизу