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

Статус
В этой теме нельзя размещать новые ответы.

Terrarian51

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

Вложения

  • CollectionLog-2019.10.04-00.40.zip
    62.7 KB · Просмотры: 1
  • report1.log
    517 байт · Просмотры: 0
  • report2.log
    1.6 KB · Просмотры: 0
Последнее редактирование:
Упс! Исправил. Прогнал новым логгером, со стандартными настройками AVZ сканера. Вот логи:
 

Вложения

  • CollectionLog-2019.10.04-01.47.zip
    45 KB · Просмотры: 2
Последнее редактирование:
Закройте все программы, временно выгрузите антивирус, файрволл и прочее защитное ПО.

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

Код:
{Исправление в службах в реестре, значения 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".
 
Скрипт выполнил, автологгером просканировал. Прикрепляю логи.
 

Вложения

  • CollectionLog-2019.10.04-02.27.zip
    45.1 KB · Просмотры: 3
Скачайте Farbar Recovery Scan Tool и сохраните на Рабочем столе.

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

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

Вложения

  • Addition.txt
    23.7 KB · Просмотры: 1
  • FRST.txt
    17.1 KB · Просмотры: 3
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). Прикрепите его к своему следующему сообщению.
Компьютер будет перезагружен автоматически.

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

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

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

Вложения

  • Reports.zip
    637 байт · Просмотры: 1
  • TDSSKiller.3.1.0.28_03.10.2019_23.43.34_log.txt
    1 MB · Просмотры: 8
  • TDSSKiller_Quarantine.zip
    1.1 MB · Просмотры: 7
Последнее редактирование:
Скрипт выполнен, выкладываю лог.
 

Вложения

  • Fixlog.txt
    1.9 KB · Просмотры: 1
Кстати да. Что-то пошло не так.
Какое у вас значение ключа реестра SystemDirectory, по пути
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Windows
 
Какое у вас значение ключа реестра SystemDirectory
Значение ключа следующее:
C:\Windows\SysWOW64
Я так полагаю, его и надо прописать.
 
Последнее редактирование:
Хорошо, продолжим уже завтра, на свежую голову.
 
Я смогу этим заняться только в понедельник, так как на выходных буду в селе, без интернета вообще :)
 
Судя по всему, TDSSKiller уже удалил и qmgr.dll, и wuauserv.dll... Но это только мои догадки.
 
текстовый файл Correct_wuauserv&BITS.log с рабочего стола прикрепите.

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