Добро пожаловать на независимую площадку Stop Malware.
Показано с 1 по 1 из 1

Тема: Профилактика после разблокировки Trojan.Winlock

Понравилась статья? Поделись с друзьями!
  1. #1
    Аватар для Александр
    Александр
    Александр вне форума

    Администратор
    Регистрация
    21.03.2011
    Адрес
    Казахстан
    Сообщений
    5,421
    Поблагодарил(а)
    3,531
    Благодарностей
    2,028
    Записей в дневнике
    23

    Профилактика после разблокировки Trojan.Winlock

    ВАЖНО!!!



    После того, как Вам удалось разблокировать рабочий стол и код разблокировки подошел, Вам необходимо выполнить следующее:
    1. Скачать утилиту AVZ с официального сайта, или с нашего файлового архива
    2. Распаковать архив в удобное для Вас место (к примеру на рабочий стол)
    3. Запустить avz.exe (находится в папке распаковки), выполнить обновление баз (Файл - Обновление Баз)
    4. После обновление выполнить команду: Файл - Стандартные скрипты и поставить галочки на подпункты:
      • 2. Скрипт сбора информации для раздела "Помогите" virusinfo.info
      • 3. Скрипт лечения/карантина и сбора информации для раздела "Помогите" virusinfo.info
        и нажать команду выполнить скрипты. В появившемся диалоговом окошке нажать "Ok"

    5. После успешного выполнения скриптов появится диалоговое окошко, говорящее что все скрипты выполнены. Теперь Вам необходимо:
    6. зарегистрироваться на форуме www.stopmalware.kz
    7. создать новую тему в разделе "Помогите!"
    8. кратко описать свою проблему
    9. И вложить логи, которые создала программа AVZ, для этого нажимаем "Управление вложениями" во время создания новой темы, и загрузить файлы virusinfo_syscheck.zip и virusinfo_syscure.zip, что находятся в папке LOG
    10. После создания новой темы с внимательно и правильно выполненными инструкциями, Вам ответят в самые кротчайшие сроки!



    ПРОВЕРКА УЯЗВИМОСТЕЙ!!!

    Также, не маловажной частью является проверка уязвимостей Вашей операционной системы. Это действие необходимо для того, что бы в автоматическом режиме найти дыры в защите Вашего компьютера (именно через них, Ваш компьютер чаще всего подвергается вирусным атакам).
    Для этого необходимо выполнить скрипт в AVZ представленный ниже (как выполнить скрипт в AVZ читать здесь):
    Код:
    {	Скрипт AVZ для обнаружения наиболее часто используемых уязвимостей. Версия 1.43
    		Автор: Андрей Кондауров, участник форума defendium.info (AndreyKa)
    	Скрипт может свободно распространяться, при условии сохранения данного комментария
    		Постоянный адрес скрипта: http://dataforce.ru/~kad/ScanVuln.txt
    }
    var
    ICounter : Integer;
    A00,A01,A02,A03,A04,A05,A06,A07,A08,A09,A10,A11,A12,A13,A14,A15,A16,A17,A18,A19,A20,
    A21,A22,A23,A24,A25,A26,A27,A28,A29,A30,A31,A32,A33,A34,A35,A36,A37,A38,A39,A40 : string;
    noSP : boolean;
    
    function IsFileBuldLow(VulnFileName: string; IMinVer: integer) : boolean;
    var
    ARes : string;
    IPos, IBuild : Integer;
    begin
      ARes := GetFileVersion(VulnFileName, 6);
      IPos := Pos('.', ARes);
      while IPos > 0 do
      begin
        Delete(ARes, 1, IPos);
        IPos := Pos('.', ARes);
      end;
      Result := False; 
      if ValidInt(ARes) then
      begin
        IBuild := StrToInt(ARes);
        if IBuild < IMinVer then
          Result := True
      end;
    end;
    
    function IsFileSubVerLow(VulnFileName:string; IMinSubVer:Extended):boolean;
    var
    ARes: string;
    IPos: Integer;
    begin
      ARes := GetFileVersion(VulnFileName, 6);
      IPos := Pos('.', ARes);
      Delete(ARes, 1, IPos);
      IPos := Pos('.', ARes);
      Delete(ARes, 1, IPos);
      Result := False; 
      if ValidFloat(ARes) then
        if StrToFloat(ARes) < IMinSubVer then
          Result := True;
    end;
    
    function RegKeyParamRead64(Key, Param: string) : string;
    var
     APar, Str: string;
     SL : TStringList;
     i : integer;
    begin
     Result := '';
     APar :='/c \\127.0.0.1\'+StringReplace(NormalFileName('%System32%\reg.exe'),':','$') + ' query "'+Key+'" /v "' + Param + '" > %TEMP%\tempfile';
     ExecuteFile('cmd.exe', APar, 0, 15000, true);
     SL := TStringList.Create;
     SL.LoadFromFile(NormalFileName('%TEMP%\tempfile'));
     DeleteFile(NormalFileName('%TEMP%\tempfile'));
     if SL.Count < 3 then
       exit;
     Str := Trim(SL[2]);
     SL.Free;
     i := 4 +Pos('    ', Str);
     Str := Copy(Str, i, 1+Length(Str)-i);
     i := 4 +Pos('    ', Str);
     Result := Copy(Str, i, 1+Length(Str)-i);
    end;
    
    Procedure WinVuln;
    var
    AOSVer, ASP, AResult, ID, AFName : string;
    IMinVer, IOSVer, IEVer : integer;
    IMinSubVer: Extended;
    FS : TFileSearch;
    SL : TStringList;
    begin
     if not IsNT then exit;
      // Определить версию ОС
      AOSVer := RegKeyStrParamRead('HKLM','SOFTWARE\Microsoft\Windows NT\CurrentVersion','CurrentVersion');
      if AOSVer < '5.0' then exit;
      IOSVer := 0;
      ASP := RegKeyStrParamRead('HKLM','SOFTWARE\Microsoft\Windows NT\CurrentVersion','CSDVersion');
      if AOSVer = '5.0' then
        if ASP <> 'Service Pack 4' then
          AddToLog(A01)
        else
        begin
    	IOSVer:=4;
    	AddToLog(A02);
    	AddToLog('http://support.microsoft.com/lifecycle/?p1=3071'+#13#10);
    	noSP:=true;
    	ICounter:=ICounter+1;
        end;
      if AOSVer = '5.1' then
        if ASP < 'Service Pack 3' then
         begin
    	AddToLog(A03+#13#10);
    	noSP:=true;
    	ICounter:=ICounter+1;
        end
        else
    	if ASP = 'Service Pack 3' then IOSVer := 13;
      if AOSVer = '5.2' then
        if ASP < 'Service Pack 2' then
        begin
          AddToLog(A04);
          noSP:=true;
          ICounter:=ICounter+1;
        end
        else
          if ASP = 'Service Pack 2' then IOSVer := 22;
      if AOSVer = '6.0' then
      begin
        ASP := RegKeyStrParamRead('HKLM','SOFTWARE\Microsoft\Windows NT\CurrentVersion','CurrentBuild');
        if ASP < '6002' then
        begin
          if ASP = '6000' then
           AddToLog(A05);
          if IsWOW64 then
            begin
    	if ASP = '6000' then
    	  AddToLog(A00+'86d267bd-dfcd-47cf-aa76-dc0626dcdf10')
    	else
    	  AddToLog(A32);
    	AddToLog(A00+'8ad69826-03d4-488c-8f26-074800c55bc3');
            end
          else
            begin
    	if ASP = '6000' then
    	  AddToLog(A00+'F559842A-9C9B-4579-B64A-09146A0BA746')
    	else
    	  AddToLog(A32);
    	AddToLog(A00+'891ab806-2431-4d00-afa3-99ff6f22448d');
            end;
          AddToLog('');
          noSP:=true;
          ICounter:=ICounter+1;
        end;
        if ASP = '6001' then  IOSVer := 31;
        if ASP = '6002' then  IOSVer := 32;
      end;
      if AOSVer = '6.1' then
      begin
        IOSVer := 40;
        if ASP = 'Service Pack 1' then IOSVer := 41;
      end;
    
      if IOSVer = 0 then
         exit; // не удалось определить версию SP ОС или ОС не поддреживается
      if IsWOW64 then IOSVer := IOSVer + 100;
    
      FS := TFileSearch.Create(nil);
    
      IMinVer := 0;
      case IOSVer of
      4  : begin IMinVer := 7203; ID := 'E22EB3AE-1295-4FE2-9775-6F43C5C2AED3'; end;
      13 : begin IMinVer := 5694; ID := '0D5F9B6E-9265-44B9-A376-2067B73D6A03'; end;
      22 : begin IMinVer := 4392; ID := 'F26D395D-2459-4E40-8C92-3DE1C52C390D'; end;
      122: begin IMinVer := 4392; ID := 'C04D2AFB-F9D0-4E42-9E1F-4B944A2DE400'; end;
      end;
      if IMinVer <> 0 then
        if IsFileBuldLow('%System32%\Netapi32.dll', IMinVer) then
      begin
    	AddToLog(A07);
    	AddToLog(A00+ID+#13#10);
    	ICounter:=ICounter+1;
      end;
    
      // MS11-020 / MS11-048
      IMinVer := 0;
      ID := '';
      case IOSVer of
       4  : begin IMinVer:=7365; ID:='267ce982-54a0-418f-ad52-e4963610f714'; end; // MS10-012
       13 : begin IMinVer:=6082; ID:='CCB08A8A-F4D9-4320-8FFB-3FD4FE217987'; end;
       22 : begin IMinVer:=4832; ID:='64C550D4-C927-4382-91E1-473ED6790819'; end;
       122: begin IMinVer:=4832; ID:='EF62DB94-4F72-4245-AC9F-6391035E2516'; end;
       32 : ID:='D6EDDFF4-A242-4DEC-9D84-72891DB2B754';
       132: ID:='2878C587-6544-40B4-9288-FC3B3CE1128D';
       40 : ID:='CF9E5ECD-68F7-4982-B4ED-BE80859B757C';
       41 : ID:='CF9E5ECD-68F7-4982-B4ED-BE80859B757C';
       140: ID:='2707650A-604C-4044-ACC4-07A30B5640D8';
       141: ID:='2707650A-604C-4044-ACC4-07A30B5640D8';
      end;
      AResult:='%System32%\drivers\Srv.sys';
      if not FileExists(AResult) then AResult:='\\127.0.0.1\'+StringReplace(NormalFileName('%System32%\drivers\Srv.sys'),':','$');
      if FileExists(AResult) and (ID<>'') then
        if FS.FindFirst(AResult) then
          if ((IMinVer=0) and (FS.FileTime<1044000000)) or ((IMinVer>0) and IsFileBuldLow(AResult, IMinVer)) then
           begin
    	AddToLog(A08);
    	AddToLog(A00+ID+#13#10);
    	ICounter:=ICounter+1;
           end;
    
      // MS10-013
      IMinVer := 0;
      case IOSVer of
      4:begin
          AResult := RegKeyStrParamRead('HKLM','SOFTWARE\Microsoft\DirectX','Version');
          AResult := Copy(AResult, 3, 2);
          if ValidInt(AResult) then
    	case StrToInt(AResult) of
    	7: begin IMinVer := 738; ID := '16787c93-2c95-4c13-8492-be1db9d18146'; end;
    	9: begin IMinVer := 913; ID := '59a8bc19-02bb-4800-bac1-464f59e1cb7b'; end;
    	end;
        end;
      13 : begin IMinVer := 5908; ID := '7ab53be3-3f42-4e61-a2bc-3ed41d8736ff'; end;
      22 : begin IMinVer := 4625; ID := '983c5484-6321-4765-97ec-8d42d42d1f70'; end;
      122: begin IMinVer := 4625; ID := '7dc20252-6091-407b-befc-c25e8f5d3fb0'; end;
      end;
      if IMinVer <> 0 then
        if IsFileBuldLow('%System32%\Quartz.dll', IMinVer) then
      begin
    	AddToLog(A09);
    	AddToLog(A00+ID+#13#10);
    	ICounter:=ICounter+1;
      end;
    
      // Уязвимость элемента ActiveX средства просмотра снимков Microsoft Access делает возможным удаленное выполнение кода 
      // MS08-041
      SetKillBit('{F0E42D50-368C-11D0-AD81-00A0C90DC8D9}');
      SetKillBit('{F0E42D60-368C-11D0-AD81-00A0C90DC8D9}');
      SetKillBit('{F2175210-368C-11D0-AD81-00A0C90DC8D9}');
    
      // Уязвимости в веб-компонентах Microsoft Office делают возможным удаленное выполнение кода
      // MS09-043
      SetKillBit('{0002E543-0000-0000-C000-000000000046}');
      SetKillBit('{0002E55B-0000-0000-C000-000000000046}');
      SetKillBit('{0002E541-0000-0000-C000-000000000046}');
      SetKillBit('{0002E559-0000-0000-C000-000000000046}');
      SetKillBit('{0002E512-0000-0000-C000-000000000046}');
      SetKillBit('{0002E510-0000-0000-C000-000000000046}');
      SetKillBit('{0002E511-0000-0000-C000-000000000046}');
      SetKillBit('{0002E533-0000-0000-C000-000000000046}');
      SetKillBit('{0002E530-0000-0000-C000-000000000046}');
    
      // MS11-018 (ссылки на MS12-023)
      AResult := RegKeyStrParamRead('HKLM','SOFTWARE\Microsoft\Internet Explorer','Version');
      AResult := Copy(AResult, 1, 1);
      ID := '';
      if ValidInt(AResult) then
      begin
       IEVer:=StrToInt(AResult);
       case IEVer of
       8: case IOSVer of
          13: ID := '74ce0e29-046b-4ac3-89a1-b292a177972f';
          22: ID := '3289a80a-d1b1-4494-bede-03d0be579acf';
          122:ID := 'dff4fb63-b319-49ed-8a9d-6b15e43d5bfd';
          32: ID := '44284277-06a7-405d-9187-8f50a042604d';
          132:ID := '19684033-ddeb-464f-9a22-f580a9c19f8e';
          40: ID := '9a58ca0b-fad7-418e-80ae-ca478168f887';
          41: ID := '9a58ca0b-fad7-418e-80ae-ca478168f887';
          140:ID := '7215f707-c536-4d81-ad66-e7bff592e400';
          141:ID := '7215f707-c536-4d81-ad66-e7bff592e400';
    	end;
       7: case IOSVer of
          13: ID := '81b28dd9-87aa-46cc-94c6-2da39d0298db';
          22: ID := '17b0c139-2709-424d-9d17-827af468e858';
          122:ID := '04656a93-e958-4764-afe8-27c476855506';
          32: ID := 'f598cad1-4d1a-40ce-a016-bb58778d5dc0';
          132:ID := '2717a997-2066-4a83-ae9b-4611a0851101';
    	end;
       6: case IOSVer of
          13: ID := '2a490c62-16c4-402a-b2d9-3e8cfb5bcebd';
          22: ID := '020e0d68-dd1c-4297-b565-fcc6dcf5f280';
          122:ID := '295292d3-01a3-4574-b994-8cdbcf5a0d2e';
    	end;
       end;
      end;
      if ID <> '' then
       if FS.FindFirst('%System32%\Mshtml.dll') then
        if FS.FileTime < 1032700000 then
         begin
    	AddToLog(A10);
    	AddToLog(A00+ID+#13#10);
    	ICounter:=ICounter+1;
         end;
    
      //http://www.microsoft.com/technet/security/advisory/2458511.mspx
      AResult:=NormalFileName('%USERPROFILE%\KB2458511.CSS');
      if FileExists(AResult) then
      begin
       DeleteFile(AResult);
       RegKeyParamDel('HKCU','Software\Microsoft\Internet Explorer\Styles','User Stylesheet');
       RegKeyIntParamWrite('HKCU','Software\Microsoft\Internet Explorer\Styles','Use My Stylesheet',0);
       AResult:=NormalFileName('%USERPROFILE%\CSS-backup.reg');
       if FileExists(AResult) then
       begin
        ExecuteFile('Regedit.exe','/c "'+AResult+'"',0,5000,true);
        DeleteFile(AResult);
       end;
      end;
    
      // MS10-034 (ссылки MS11-090)
      if (IOSVer=122) or (IOSVer<14) then
       if NoKillBit('{E0ECA9C3-D669-4EF4-8231-00724ED9288F}') then
       begin
        AddToLog(A11);
        case IOSVer of
          4:  ID := 'd3955983-0079-476e-a488-99713097259c'; // MS10-034
         13:  ID := '21b4b999-2dbf-4921-80bd-cc7ab2cd1190';
         22:  ID := 'dfb948c5-8aee-4bcd-babf-3564b78712dd';
         122: ID := '2d37a8cb-2316-4db4-980c-11b6dcbdc696';
        end;
        AddToLog(A00+ID+#13#10);
        ICounter:=ICounter+1;
       end;
    
      // MS10-042
      IMinVer := 0;
      case IOSVer of
      13 : begin IMinVer := 5997; ID := '7C2122BB-0ECF-4467-A3BA-6FB862F603C5'; end;
      22 : begin IMinVer := 4726; ID := 'CD4363B2-D7A7-4FFF-8BCD-6FD02BD1AC07'; end;
      122: begin IMinVer := 4726; ID := 'A6BAFD3B-C921-466D-BEE0-59A3FE126712'; end;
      end;
      if IMinVer <> 0 then
      begin
        if IsFileBuldLow('%SystemRoot%\PCHEALTH\HELPCTR\Binaries\Helpsvc.exe', IMinVer) then
        begin
    	AddToLog(A12);
    	AddToLog(A00+ID+#13#10);
    	ICounter:=ICounter+1;
        end
        else if not RegKeyExists('HKCR','HCP\shell') then 
    	RegKeyParamWrite('HKCR','HCP\shell\open\command','','REG_EXPAND_SZ',
    	'%SystemRoot%\PCHEALTH\HELPCTR\Binaries\HelpCtr.exe -FromHCP -url "%1"');
      end;
    
      // http://securitytracker.com/alerts/2007/Oct/1018843.html
      SetKillBit('{FDC7A535-4070-4B92-A0EA-D9994BCC0DC5}');
    
      // MS10-046
      ID := '';
      case IOSVer of
      40 : ID := '22E62B5C-E4C1-47D0-AE4A-8BD2D70D0A0A';
      140: ID := '9499F771-C388-4DE3-A5C7-8CC8B00B4395';
      end;
      if ID <> '' then
       if FS.FindFirst('%System32%\Shell32.dll') then
        if FS.FileTime < 1023000000 then
         begin
    	AddToLog(A13);
    	AddToLog(A00+ID+#13#10);
    	ICounter:=ICounter+1;
         end;
    
      // MS11-006
      ID := '';
      case IOSVer of
      13 : ID := 'BBEA7EAD-6C5C-4DA8-AA03-A40325FD2DE3';
      22 : ID := '2AA94528-5063-427B-97F7-2A0A55CBB6BF';
      122: ID := '6E740922-6CE4-46EC-A35E-E94201A9E398';
      32 : ID := '0C18ECCA-AFB9-4738-BC7B-76A0E815DFB8';
      132: ID := '62DC454F-4B1E-4AC0-8FFE-6C73112F8D4D';
      end;
      if ID <> '' then
       if FS.FindFirst('%System32%\Shell32.dll') then
        if FS.FileTime < 1042500000 then
         begin
    	AddToLog(A31);
    	AddToLog(A00+ID+#13#10);
    	ICounter:=ICounter+1;
         end;
    
      // MS10-061
      if IOSVer = 13 then
      begin
        if IsFileBuldLow('%System32%\Spoolsv.exe', 6024) then
        begin
    	AddToLog(A30);
    	AddToLog(A00+'93FABA6B-0A85-4ACC-B527-A012BBF56B13'+#13#10);
    	ICounter:=ICounter+1;
        end;
      end;
    
      // KB971029
      IMinVer := 0;
      ID := '';
      case IOSVer of
       13 : begin IMinVer:=5853; ID:='96ca61f6-8b16-4157-9635-8cfc0bbf4c35'; end;
       22 : begin IMinVer:=4559; ID:='edf9c049-bf1e-4130-87e6-0e64fa73f684'; end;
       122: begin IMinVer:=4559; ID:='b8df9256-cbb0-418d-a336-d29dc4415a65'; end;
       32 : ID:='dd6a61a3-b3c6-4b0a-a848-7b32be9f31c5';
       132: ID:='12e3fe0f-db79-4a27-aa7d-a456ee1c6ac4';
      end;
      AResult:='%System32%\Shsvcs.dll';
      if not FileExists(AResult) then AResult:='\\127.0.0.1\'+StringReplace(NormalFileName('%System32%\Shsvcs.dll'),':','$');
      if (ID<>'') and FileExists(AResult) then
        if FS.FindFirst(AResult) then
          if ((IMinVer=0) and (FS.FileTime<988400000)) or ((IMinVer>0) and IsFileBuldLow(AResult, IMinVer)) then
           begin
    	AddToLog(A33);
    	AddToLog(A00+ID+#13#10);
    	ICounter:=ICounter+1;
           end;
    
      // MS11-087 ссылки на MS12-018
      IMinVer := 0;
      ID := '';
      case IOSVer of
       13 : begin IMinVer:=6178; ID:='2922411c-9755-461b-9904-f6940322af19'; end;
       22 : begin IMinVer:=4938; ID:='599e5db1-3bf1-4d44-bc7c-81bc545c58ec'; end;
       122: begin IMinVer:=4938; ID:='482c2890-8d4c-4e13-820f-d5ff256b6a3a'; end;
       32 : ID:='f4e73a92-583b-4352-b19d-7a8e3ef162b7';
       132: ID:='ead9d29b-becf-448e-bff4-d5bb12d02c64';
       40 : ID:='75fd93ff-5be5-42b5-ab00-3378e545c271';
       41 : ID:='75fd93ff-5be5-42b5-ab00-3378e545c271';
       140: ID:='71ffba4c-d816-45a9-abef-131915885bc8';
       141: ID:='71ffba4c-d816-45a9-abef-131915885bc8';
      end;
      AResult:='%System32%\Win32k.sys';
      if not FileExists(AResult) then AResult:='\\127.0.0.1\'+StringReplace(NormalFileName('%System32%\Win32k.sys'),':','$');
      if (ID<>'') and FileExists(AResult) then
        if FS.FindFirst(AResult) then
          if ((IMinVer=0) and (FS.FileTime<1064000000)) or ((IMinVer>0) and IsFileBuldLow(AResult, IMinVer)) then
           begin
    	AddToLog(A35);
    	AddToLog(A00+ID+#13#10);
    	ICounter:=ICounter+1;
           end;
    
      // MS10-092
      ID := '';
      case IOSVer of
       32 : ID:='48F10251-34D8-4149-B4B2-BF3EC28F5846';
       132: ID:='099CCC5F-B92F-4D06-BCB5-92E35C49F613';
       40 : ID:='CF85CDB6-58C7-4144-82F6-F01A6A4F9C3A';
       41 : ID:='CF85CDB6-58C7-4144-82F6-F01A6A4F9C3A';
       140: ID:='0597018D-39F5-4CA9-B437-63D9E68F264D';
       141: ID:='0597018D-39F5-4CA9-B437-63D9E68F264D';
      end;
      if ID<>'' then
      begin
       AResult:='%System32%\Taskeng.exe';
       if not FileExists(AResult) then AResult:='\\127.0.0.1\'+StringReplace(NormalFileName('%System32%\Taskeng.exe'),':','$');
        if FileExists(AResult) then
         if FS.FindFirst(AResult) then
           if (FS.FileTime<1029000000) then
            begin
    	 AddToLog(A36);
    	 AddToLog(A00+ID+#13#10);
    	 ICounter:=ICounter+1;
            end;
      end;
    
      // MS11-011
      IMinVer := 0;
      ID := '';
      case IOSVer of
       13 : begin IMinVer:=6055; ID:='A511D33A-9AE0-46EE-A225-9D97390DE7D1'; end;
       22 : begin IMinVer:=4789; ID:='6BF2EEEC-8225-477F-A606-263D3EE434D6'; end;
       122: begin IMinVer:=4789; ID:='EC544894-EE98-4A2B-AC4D-33B0C3754213'; end;
       32 : ID:='66978514-BB7F-42CC-9360-2FD1C686F4E6';
       132: ID:='8FDB8C37-1B22-457B-BDC0-21F6A5061DD3';
       40 : ID:='E1224C90-B0BC-4E4B-999A-EFAE327213B4';
       140: ID:='DDCF352E-742C-485E-9ED5-19CDBA673562';
      end;
      AResult:='%System32%\Ntdll.dll';
      if not FileExists(AResult) then AResult:='\\127.0.0.1\'+StringReplace(NormalFileName('%System32%\Ntdll.dll'),':','$');
      if (ID<>'') and FileExists(AResult) then
        if FS.FindFirst(AResult) then
          if ((IMinVer=0) and (FS.FileTime<1028000000)) or ((IMinVer>0) and IsFileBuldLow(AResult, IMinVer)) then
           begin
    	AddToLog(A37);
    	AddToLog(A00+ID+#13#10);
    	ICounter:=ICounter+1;
           end;
    
      // MS12-004
      IMinVer := 0;
      ID := '';
      case IOSVer of
       13 : begin IMinVer:=6160; ID:='a142f7ba-4268-4453-a8eb-470213c028ac'; end;
       22 : begin IMinVer:=4916; ID:='3c266dfb-630d-4f32-b2ca-63955279b6a9'; end;
       122: begin IMinVer:=4916; ID:='8dd1c882-4ed1-4e47-a017-7d162bd94194'; end;
       32 : ID:='99d9b9fc-ed37-4a32-a20d-6604a1b9c4ca';
       132: ID:='44aa8d91-2b30-4191-8965-8aee2b860d50';
      end;
      AResult:='%System32%\Winmm.dll';
      if not FileExists(AResult) then AResult:='\\127.0.0.1\'+StringReplace(NormalFileName('%System32%\Winmm.dll'),':','$');
      if (ID<>'') and FileExists(AResult) then
        if FS.FindFirst(AResult) then
          if ((IMinVer=0) and (FS.FileTime<1060000000)) or ((IMinVer>0) and IsFileBuldLow(AResult, IMinVer)) then
           begin
    	AddToLog(A38);
    	AddToLog(A00+ID+#13#10);
    	ICounter:=ICounter+1;
           end;
    
    // MS12-027
      AFName := NormalFileName('%System32%\MSCOMCTL.OCX');
      if FileExists(AFName) and IsFileBuldLow(AFName,9833) then
        if RegKeyParamExists('HKLM','SOFTWARE\Microsoft\Office\11.0\Common\Internet','LocationOfComponents') then
        begin
          AddToLog(A40+#13#10+'http://www.microsoft.com/downloads/ru-ru/details.aspx?familyid=d0d34b4f-4bcd-4df7-8ebc-87367e889959'+#13#10);
          ICounter:=ICounter+1;
        end
        else
        if RegKeyParamExists('HKLM','SOFTWARE\Microsoft\Office\12.0\Common\Internet','LocationOfComponents') then
        begin
           AddToLog(A40+#13#10+'http://www.microsoft.com/downloads/ru-ru/details.aspx?familyid=17294713-5c03-4439-bcae-471e9b1e1ac9'+#13#10);
           ICounter:=ICounter+1;
        end;
    
      FS.Free;
    end;
    
    Function NoKillBit(CLSID: string) : boolean;
    begin
     Result:=RegKeyExists('HKCR','CLSID\'+CLSID) and
    	not RegKeyExists('HKLM','SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility\'+CLSID);
    end;
    
    Procedure SetKillBit(CLSID: string);
    begin
      if NoKillBit(CLSID) then
        RegKeyIntParamWrite('HKLM','SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility\'+CLSID,'Compatibility Flags', 1024);
    end;
    
    Procedure AdobeFlashVuln;
    var
    AResult : string;
    SL : TStringList;
    i : integer;
    begin
      SL := TStringList.Create;
      SL.Add(A06);
      AResult := RegKeyStrParamRead('HKLM',
    	'SOFTWARE\Classes\CLSID\{D27CDB6E-AE6D-11cf-96B8-444553540000}\InprocServer32','');
      AResult := GetFileVersion(AResult, 6);
      if IsFlashOld(AResult) then
      begin
        SL.Add(A14);
        SL.Add('http://fpdownload.macromedia.com/pub/flashplayer/current/licensing/win/install_flash_player_11_active_x_32bit.exe'); SL.Add('');
        ICounter:=ICounter+1;
      end;
      AResult := RegKeyStrParamRead('HKLM',
    	'SOFTWARE\MozillaPlugins\@adobe.com/FlashPlayer','Version');
      if IsFlashOld(AResult) then
      begin
        SL.Add(A15);
        SL.Add('http://fpdownload.macromedia.com/pub/flashplayer/current/licensing/win/install_flash_player_11_plugin_32bit.exe'); SL.Add('');
        ICounter:=ICounter+1;
      end;
      // x64
      if IsWow64 then
      begin
       AResult := RegKeyParamRead64('HKCR\CLSID\{D27CDB6E-AE6D-11cf-96B8-444553540000}\InprocServer32','');
       if AResult <> '' then
       begin
         AResult := GetFileVersion('\\127.0.0.1\'+StringReplace(AResult,':','$'), 6);
         if IsFlashOld(AResult) then
         begin
           SL.Add(A14 + ' x64');
           SL.Add('http://fpdownload.macromedia.com/pub/flashplayer/current/licensing/win/install_flash_player_11_active_x_64bit.exe'); SL.Add('');
           ICounter:=ICounter+1;
         end;
       end;
       AResult := RegKeyParamRead64('HKLM\SOFTWARE\MozillaPlugins\@adobe.com/FlashPlayer','Version');
       if AResult <> '' then
        if IsFlashOld(AResult) then
        begin
          SL.Add(A15 + ' x64');
          SL.Add('http://fpdownload.macromedia.com/pub/flashplayer/current/licensing/win/install_flash_player_11_plugin_64bit.exe'); SL.Add('');
          ICounter:=ICounter+1;
        end;
       ClearLog;
      end;
      for i := 0 to SL.Count - 1 do AddToLog(SL[i]);
      SL.Free;
    end;
    
    function IsFlashOld(AFlVer: string) : boolean;
    var
    AVer, ABuild : string;
    begin
      if AFlVer = '' then exit;
      Result := true;
      AFlVer := StringReplace(AFlVer, ',', '.');
      AVer := Copy(AFlVer, 1, 2);
      Delete(AFlVer, 1, 5);
      ABuild := AFlVer;
      Delete(ABuild, 1, 4);
      if ValidFloat(AFlVer) then
       case AVer of
       '10' : if StrToFloat(AFlVer) >= 183.15 then
    	if ValidInt(ABuild) then 
    	  if (StrToInt(ABuild) >= 15) or (AFlVer > '184') then Result:=false;
       '11' : if StrToFloat(AFlVer) >= 102.62 then
    	if ValidInt(ABuild) then 
    	  if (StrToInt(ABuild) >= 62) or (AFlVer > '103') then Result:=false;
       end
      else
       Result:=false;
    end;
    
    Procedure AdobeReaderVuln;
    var
    ARes, AVer, AMinVer, CVer, AKey, AExe : string;
    begin
      ARes:='';
      if RegKeyExists('HKLM',
    	'SOFTWARE\Microsoft\Windows\CurrentVersion\explorer\Browser Helper Objects\{06849E9F-C8D7-4D59-B87D-784B7D6BE0B3}')
      then ARes:='06849E9F-C8D7-4D59-B87D-784B7D6BE0B3'
      else if RegKeyExists('HKLM',
    		'SOFTWARE\Microsoft\Windows\CurrentVersion\explorer\Browser Helper Objects\{18DF081C-E8AD-4283-A596-FA578C2EBDC3}')
    	then ARes:='18DF081C-E8AD-4283-A596-FA578C2EBDC3';
      if ARes = '' then exit;
      ARes := RegKeyStrParamRead('HKCR','CLSID\{'+ARes+'}\InprocServer32','');
      AVer := GetFileVersion(ARes, 6);
      AMinVer := '';
      CVer := Copy(AVer, 1, 1);
      if ValidInt(CVer) then
        case StrToInt(CVer) of
         1:AMinVer := '10.1.2';
         9: AMinVer := '9.5';
         end
      else exit;
      if CVer='1' then CVer:='10';
      AExe := RegKeyStrParamRead('HKCR','Software\Adobe\Acrobat\Exe','');
    
      if Pos('acrobat.exe',LowerCase(AExe)) > 0 then
      begin
        if AMinVer = '' then
        begin
    	AddToLog(A16+#13#10);
    	ICounter:=ICounter+1;
        end
       else
       begin
        ARes:=RegKeyStrParamRead('HKLM','SOFTWARE\Adobe\Adobe Acrobat\'+CVer+'.0\Installer','ENU_GUID');
        AVer:=RegKeyStrParamRead('HKLM','SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\'+ARes,'DisplayVersion');
        if AVer<AMinVer then
        begin
    	AddToLog(A17 + AVer + A18 + AMinVer);
    	if CVer='9' then
    	begin
    	 if AVer < '9.1' then
    	 begin
    	  AddToLog('Pro/Standard - http://ardownload.adobe.com/pub/adobe/acrobat/win/9.x/9.1/misc/AcroProStdUpd910_T3T4_incr.msp');
    	  AddToLog('Pro Extended - http://ardownload.adobe.com/pub/adobe/acrobat/win/9.x/9.1/misc/AcroProExUpd910_all_incr.msp');
    	 end;
    	 if AVer < '9.1.2' then
    	  AddToLog('http://ardownload.adobe.com/pub/adobe/acrobat/win/9.x/9.1.2/misc/AcrobatUpd912_all_incr.msp');
    	 if AVer < '9.1.3' then
    	  AddToLog('http://ardownload.adobe.com/pub/adobe/acrobat/win/9.x/9.1.3/misc/AcrobatUpd913_all_incr.msp');
    	 if AVer < '9.2' then
    	  AddToLog('http://ardownload.adobe.com/pub/adobe/acrobat/win/9.x/9.2/misc/AcrobatUpd920_all_incr.msp');
    	 if AVer < '9.3' then
    	  AddToLog('http://ardownload.adobe.com/pub/adobe/acrobat/win/9.x/9.3/misc/AcrobatUpd930_all_incr.msp');
    	 if AVer < '9.3.2' then
    	  AddToLog('http://ardownload.adobe.com/pub/adobe/acrobat/win/9.x/9.3.2/misc/AcrobatUpd932_all_incr.msp');
    	 if AVer < '9.3.3' then
    	  AddToLog('http://ardownload.adobe.com/pub/adobe/acrobat/win/9.x/9.3.3/misc/AcrobatUpd933_all_incr.msp');
    	 if AVer < '9.4' then
    	  AddToLog('http://ardownload.adobe.com/pub/adobe/acrobat/win/9.x/9.4.0/misc/AcrobatUpd940_all_incr.msp');
    	 if AVer < '9.4.2' then
    	  AddToLog('http://ardownload.adobe.com/pub/adobe/acrobat/win/9.x/9.4.2/misc/AcrobatUpd942_all_incr.msp');
    	 if AVer < '9.4.5' then
    	  AddToLog('http://ardownload.adobe.com/pub/adobe/acrobat/win/9.x/9.4.5/misc/AcrobatUpd945_all_incr.msp');
    	 if AVer < '9.4.6' then
    	  AddToLog('http://ardownload.adobe.com/pub/adobe/acrobat/win/9.x/9.4.6/misc/AcrobatUpd946_all_incr.msp');
    	 if AVer < '9.5' then
    	  AddToLog('http://ardownload.adobe.com/pub/adobe/acrobat/win/9.x/9.5.0/misc/AcrobatUpd950_all_incr.msp');
    	end;
    	AddToLog(''); ICounter:=ICounter+1;
        end;
       end;
      end else
      begin
        if AMinVer = '' then
        begin
    	AddToLog(A19);
    	AddToLog('http://get.adobe.com/reader/otherversions'+#13#10);
    	ICounter:=ICounter+1;
        end else
        begin
         ARes:=RegKeyStrParamRead('HKLM','SOFTWARE\Adobe\Acrobat Reader\'+CVer+'.0\Installer','ENU_GUID');
         AVer:=RegKeyStrParamRead('HKLM','SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\'+ARes,'DisplayVersion');
         if AVer<AMinVer then
         begin
    	AddToLog(A20 + AVer + A18 + AMinVer);
    	if CVer='10' then
    	begin
    	  if AVer<'10.1' then
    	  begin
    		AddToLog(A19);
    		AddToLog('http://get.adobe.com/reader/otherversions/');
    	  end
    	  else
    		if (AVer = '10.1.0') or (AVer = '10.1.1') then
    		  AddToLog('http://ardownload.adobe.com/pub/adobe/reader/win/10.x/10.1.2/misc/AdbeRdrUpd1012.msp');
    	end
    	else
    	begin
    		AddToLog(A19);
    		AddToLog('http://get.adobe.com/reader/otherversions/');
    	end;
            AddToLog(''); ICounter:=ICounter+1;
         end;
        end;
      end;
    end;
    
    Procedure FireFoxVuln;
    var
    AResult,AVer,ASubVer:string;
    Ver,SubVer,Buld:integer;
    FFIsOut:boolean;
    begin
      if RegKeyExists('HKCU','SOFTWARE\Mozilla\Mozilla Firefox') then
       AResult:=RegKeyStrParamRead('HKCU','SOFTWARE\Mozilla\Mozilla Firefox','')
      else if RegKeyExists('HKLM','SOFTWARE\Mozilla\Mozilla Firefox') then
       AResult:=RegKeyStrParamRead('HKLM','SOFTWARE\Mozilla\Mozilla Firefox','')
       else exit;
      if AResult>'2' then exit;
      AVer := Copy(AResult, 3, 1);
      if ValidInt(AVer) then Ver:=StrToInt(AVer) else exit;
      AVer := Copy(AResult, 5, 1);
      if ValidInt(AVer) then SubVer:=StrToInt(AVer) else SubVer:=0;
      Delete(AResult, 1, 6);
      if ValidInt(AResult) then Buld:=StrToInt(AResult) else Buld:=0;
      FFIsOut:=false;
      if Ver < 9 then FFIsOut:=true else
       case SubVer of
       0: FFIsOut:=true;
       1: if Buld<15 then FFIsOut:=true;
       2: if Buld<12 then FFIsOut:=true;
       end;
      if FFIsOut then
      begin
        AResult:=RegKeyStrParamRead('HKLM','SOFTWARE\Mozilla\Mozilla Firefox','CurrentVersion');
        AddToLog('Firefox '+AResult+A22);
        AddToLog('http://www.mozilla.com/'+#13#10);
        ICounter:=ICounter+1;
      end;
    end;
    
    Procedure JavaVuln;
    var
    ARes,ABuld : string;
    JavaIsOut:boolean;
    begin
      ARes := RegKeyStrParamRead('HKLM','SOFTWARE\JavaSoft\Java Runtime Environment','CurrentVersion');
      if ARes='' then exit;
      JavaIsOut:=false;
      ABuld := RegKeyStrParamRead('HKLM','SOFTWARE\JavaSoft\Java Runtime Environment','BrowserJavaVersion');
      if ABuld='' then
    	ABuld := RegKeyStrParamRead('HKLM','SOFTWARE\JavaSoft\Java Web Start','CurrentVersion');
      case ARes of
       '1.7': if ABuld<'10.3.0'   then JavaIsOut:=true;
       '1.6': if ABuld<'1.6.0_31' then JavaIsOut:=true;
       '1.5': if ABuld<'1.5.0_34' then JavaIsOut:=true;
       '1.4': if ABuld<'1.4.2_36' then JavaIsOut:=true;
      end;
      if JavaIsOut then
      begin
        AddToLog(A23);
        AddToLog(A24+#13#10);
        ICounter:=ICounter+1;
      end;
    end;
    
    Procedure OperaVuln;
    var
    AResult,AVer:string;
    cVer:char;
    iPos:integer;
    begin
      AResult:=RegKeyStrParamRead('HKLM','SOFTWARE\Opera Software','Last CommandLine v2');
      if AResult = '' then
        AResult:=RegKeyStrParamRead('HKCU','SOFTWARE\Opera Software','Last CommandLine v2');
      if AResult = '' then exit;
      iPos := Pos('.exe', AResult);
      AResult := Copy(AResult, 1, iPos+4);
      AVer := GetFileVersion(AResult, 6);
      if AVer = '' then exit;
      cVer := Copy(AVer, 1, 1);
      if (cVer='1') or (AVer>'9.62') then exit;
      AddToLog('Opera '+AVer+A25);
      AddToLog('http://www.opera.com/browser/download'+#13#10);
      ICounter:=ICounter+1;
    end;
    
    Procedure QuickTimeVuln;
    var
    AResult, AVer :string;
    begin
      AResult:=RegKeyStrParamRead('HKCR','CLSID\{02BF25D5-8C17-4B23-BC80-D3488ABDDC6B}\InprocServer32','');
      if not FileExists(AResult) then exit;
      AVer:=GetFileVersion(AResult,3);
      Delete(AVer,7,7);
      if AVer<'7.6.8' then
      begin
       AddToLog('QuickTime '+AVer+A22);
       AddToLog('http://www.apple.com/quicktime/download'+#13#10);
       ICounter:=ICounter+1;
      end;
    end;
    
    begin
      if TranslateStr('$AVZ0075')='DLLs' then
      begin
       A00:='http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=';
       A01:='Install Service Pack 4 for Windows 2000';
       A02:='Windows 2000 lifecycle ended';
       A03:='Install Service Pack 3 for Windows XP';
       A04:='Install Service Pack 2 for Windows 2003';
       A05:='Install Windows Vista Service Pack 1 and 2';
       A06:='Search for critical vulnerabilities';
       A07:='Vulnerability in Server Service Could Allow Remote Code Execution';
       A08:='Vulnerabilities in SMB Server Could Allow Remote Code Execution';
       A09:='Vulnerability in Microsoft DirectShow Could Allow Remote Code Execution';
       A10:='Cumulative Security Update for Internet Explorer';
       A11:='Cumulative Security Update of ActiveX Kill Bits';
       A12:='Vulnerability in Help and Support Center Could Allow Remote Code Execution';
       A13:='Vulnerability in Windows Shell Could Allow Remote Code Execution';
       A14:='Vulnerabilities in Adobe Flash Player for Internet Explorer';
       A15:='Vulnerabilities in Adobe Flash Player for Firefox/Safari/Opera';
       A16:='Install Adobe Acrobat X or uninstall vulnerable';
       A17:='Adobe Acrobat ';
       A18:='installed. Too dangerous to use the version below ';
       A19:='Install Adobe Reader X (10.1) or uninstall vulnerable.';
       A20:='Adobe Reader ';
       A21:='Install Adobe X (10.1)';
       A22:=' vulnerable. Uninstall it or install actual one';
       A23:='Vulnerabilities in Sun Java JDK and JRE. Uninstall it and install actual one:';
       A24:='http://www.java.com/en/download/manual.jsp';
       A25:=A22;
       A26:='Frequently used critical vulnerabilities not found.';
       A27:='Vulnerabilities found: ';
       A28:='Log saved in subfolder Log';
       A29:='Log saved in c:\avz_log.txt file';
       A30:='Vulnerability in Print Spooler Service Could Allow Remote Code Execution';
       A31:='Vulnerability in Windows Shell Graphics Processing could allow remote code execution';
       A32:='Install Windows Vista Service Pack 2';
       A33:='Update to the AutoPlay functionality in Windows';
       A34:='Protected Mode for Adobe Reader X is disabled. Go to: Edit >Preferences >General and check "Enable Protected Mode at startup".';
       A35:='Vulnerability in Windows Kernel-Mode Drivers Could Allow Remote Code Execution';
       A36:='Vulnerability in Task Scheduler Could Allow Elevation of Privilege';
       A37:='Vulnerabilities in Windows Kernel Could Allow Elevation of Privilege';
       A38:='Vulnerabilities in Windows Media Could Allow Remote Code Execution';
       A39:='dozens.';
       A40:='Vulnerability in Windows Common Controls Could Allow Remote Code Execution';
      end else
      begin
       A00:='http://www.microsoft.com/downloads/details.aspx?displaylang=ru&FamilyID=';
       A01:='Установите Service Pack 4 для Windows 2000';
       A02:='Жизненный цикл Windows 2000 закончился';
       A03:='Установите Service Pack 3 для Windows XP. Возможно, потребуется активация.';
       A04:='Установите Service Pack 2 для Windows 2003';
       A05:='Установите Service Pack 1 и 2 для Windows Vista. Возможно, потребуется активация.';
       A06:='Поиск критических уязвимостей';
       A07:='Уязвимость службы сервера делает возможным удаленное выполнение кода';
       A08:='Уязвимости в протоколе SMB делают возможным удаленное выполнение кода';
       A09:='Уязвимости в Microsoft DirectShow делают возможным удаленное выполнение кода';
       A10:='Накопительное обновление безопасности для браузера Internet Explorer';
       A11:='Накопительное обновление для системы безопасности, устанавливающее флаг блокировки для элемента ActiveX';
       A12:='Уязвимость в Центре справки и поддержки Windows';
       A13:='Уязвимость оболочки Windows делает возможным удаленное выполнение кода';
       A14:='Уязвимости в Adobe Flash Player для Internet Explorer';
       A15:='Уязвимости в Adobe Flash Player для Firefox/Safari/Opera';
       A16:='Установите Adobe Acrobat X или удалите старый';
       A17:='Установлен Adobe Acrobat версии ';
       A18:='. Опасно использовать версии до ';
       A19:='Установите Adobe Reader X (10.1) или удалите старый.';
       A20:='Установлен Adobe Reader версии ';
       A22:=' устарел. Удалите его или установите новый';
       A21:='Установите Adobe Reader X (10.1)';
       A23:='Множественные уязвимости в Sun Java JDK и JRE. Деинсталлируйте старую версию и установите новую:';
       A24:='http://www.java.com/ru/download/manual.jsp';
       A25:=' устарела. Удалите её или установите новую';
       A26:='Часто используемые уязвимости не обнаружены.';
       A27:='Обнаружено уязвимостей: ';
       A28:='Протокол сохранён в под-папке Log';
       A29:='Протокол сохранён в файле c:\avz_log.txt';
       A30:='Уязвимость в службе диспетчера очереди печати делает возможным удаленное выполнение кода';
       A31:='Уязвимость обработки графики в оболочке Windows делает возможным удаленное выполнение кода';
       A32:='Установите Service Pack 2 для Windows Vista. Возможно, потребуется активация.';
       A33:='Обновление функции автозапуска в Windows';
       A34:='Зайдите в меню Adobe Reader X - Редактирование > Установки > Основные и отметьте "Включить защищённый режим при запуске"';
       A35:='Уязвимость драйверов режима ядра Windows, делает возможным удаленное выполнение кода';
       A36:='Уязвимость в планировщике заданий делает возможным несанкционированное получение прав';
       A37:='Уязвимости в ядре Windows могут привести к несанкционированному получению прав';
       A38:='Уязвимости в Windows Media делают возможным удаленное выполнение кода';
       A39:='очень много.';
       A40:='Уязвимость общих элементов управления Windows делает возможным удаленное выполнение кода';
      end;
      ICounter:=0; noSP:=false;
      AdobeFlashVuln;
      WinVuln;
      AdobeReaderVuln;
      FireFoxVuln;
      JavaVuln;
      OperaVuln;
      QuickTimeVuln;
    
      if (ICounter=0) then
      begin
       AddToLog(A26);
       MessageDlg(A26, mtInformation, mbOk, 0);
      end
      else
      begin
       if noSP then
         AddToLog(A27+A39)
       else
          AddToLog(A27+IntToStr(ICounter));
       SaveLog(GetAVZDirectory+'log\avz_log.txt');
       if FileExists(GetAVZDirectory+'log\avz_log.txt') then
         AddToLog(A28)
       else
       begin
        SaveLog('c:\avz_log.txt');
        AddToLog(A29);
       end;
      end;
    end.



    Для чего это делается?
    • Для того, что бы зачистить все остатки вредоносных программ оставшихся после разблокировки баннера.



    Лечение компьютера необходимо проводить в обязательном порядке!

  2. 2 пользователей сказали cпасибо Александр за это полезное сообщение:

    Aibolit (15.04.2012), orhidejya (23.02.2013)

 

 

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •