Вернуться   Компьютерный форум > Блоги > Помощь юзеру.
Все что помогает при глюках здесь.
Рейтинг: 3.40. Голосов: 5.

Как залатать уязвимости вашей системы!

Запись от winshelp размещена 13.11.2009 в 17:18

Работая на компьютере, мы, даже порой не подозреваем, что можем иметь лазейки, через которые проникают вирусы и хакера на компьютер.
-
Можно узнать, какие у нас на машине критические уязвимости, и их залатать простым способом:
Скачайте программу AVZ вот здесь: http://z-oleg.com/avz4.zip
Обязательно распакуйте архив с программой !!!
-
Далее нужно выполнить в программе AVZ скрипт, после выполнения которого на диске появиться файл отчёта о уязвимостях компьютера, со ссылками на описание и скачку самих заплаток! Файл найдёте в этом месте:
c:\avz_log.txt
-
Откройте программу AVZ и проделайте ->
Файл -> Выполнить скрипт - Проверить синтаксис -> Запустить.
И выполните вот этот скрипт:
Код:
{    Скрипт AVZ для обнаружения наиболее часто используемых уязвимостей. Версия 1.02
        Автор:  AndreyKa, участник форума virusinfo.info
Скрипт может свободно распространяться и использоваться, при условии сохранения данного комментария
}

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;

Procedure ScanWinVuln;
var
AOSVer, ASP, AResult : string;
IMinVer : integer;
IOSVer : integer;

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('Установите Service Pack 4 для Windows 2000')
    else IOSVer := 4;
  if AOSVer = '5.1' then 
    if ASP < 'Service Pack 2' then 
      AddToLog('Установите Service Pack 3 для Windows XP')
    else
      if ASP = 'Service Pack 2' then    IOSVer := 12
      else
    if ASP = 'Service Pack 3' then  IOSVer := 13;
  if AOSVer = '5.2' then 
    if ASP < 'Service Pack 2' then 
      AddToLog('Установите Service Pack 2 для Windows 2003')
    else
      if ASP = 'Service Pack 2' then IOSVer := 22;
  if AOSVer = '6.0' then 
  begin
    IOSVer := 30;
    if ASP = 'Service Pack 1' then  IOSVer := 31;
    if ASP = 'Service Pack 2' then  IOSVer := 32;
  end;

  if IOSVer = 0 then
     exit; // не удалось определить версию SP ОС или ОС не поддреживается
  if IsWOW64 then IOSVer := IOSVer + 100;

  AddToLog('Поиск критических уязвимостей');

  IMinVer := 0;
  case IOSVer of
  4  : IMinVer := 7203;
  12 : IMinVer := 3462;
  13 : IMinVer := 5694;
  22 : IMinVer := 4392;
  122: IMinVer := 4392;
  end;
  if IMinVer <> 0 then 
    if IsFileBuldLow('%System32%\Netapi32.dll', IMinVer) then 
  begin
    AddToLog('Уязвимость службы сервера делает возможным удаленное выполнение кода');
    AddToLog('http://www.microsoft.com/technet/security/bulletin/MS08-067.mspx');
  end;

  IMinVer := 0;
  case IOSVer of
  4  : IMinVer := 7222;
  12 : IMinVer := 3491;
  13 : IMinVer := 5725;
  22 : IMinVer := 4425;
  122: IMinVer := 4425;
  end;
  if IMinVer <> 0 then 
    if IsFileBuldLow('%System32%\drivers\Srv.sys', IMinVer) then 
  begin
    AddToLog('Уязвимости в протоколе SMB делают возможным удаленное выполнение кода');
    AddToLog('http://www.microsoft.com/technet/security/bulletin/MS09-001.mspx');
  end;

  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: IMinVer := 736;
    8: IMinVer := 893;
    9: IMinVer := 911;
    end;
    end;
  12 : IMinVer := 3580;
  13 : IMinVer := 5822;
  22 : IMinVer := 4523;
  122: IMinVer := 4523;
  end;
  if IMinVer <> 0 then 
    if IsFileBuldLow('%System32%\Quartz.dll', IMinVer) then 
  begin
    AddToLog('Уязвимости в Microsoft DirectShow делают возможным удаленное выполнение кода');
    AddToLog('http://www.microsoft.com/technet/security/bulletin/MS09-028.mspx');
  end;

  if (IOSVer=122) or (IOSVer<14) then
   if  NotKillBit('{011B3619-FE63-4814-8A84-15A194CE9CE3}') then 
   begin
      AddToLog('Уязвимость в элементе ActiveX программы Microsoft Video делает возможным удаленное выполнение кода');
      AddToLog('http://www.microsoft.com/technet/security/bulletin/MS09-032.mspx');
   end;

  if NotKillBit('{0002E543-0000-0000-C000-000000000046}') or
     NotKillBit('{0002E55B-0000-0000-C000-000000000046}') or
     NotKillBit('{0002E512-0000-0000-C000-000000000046}')
  then 
  begin
    AddToLog('Уязвимости в веб-компонентах Microsoft Office делают возможным удаленное выполнение кода');
    AddToLog('http://www.microsoft.com/technet/security/bulletin/MS09-043.mspx');
  end;
end;

Function NotKillBit(CLSID: string) : boolean;
begin
 Result:=RegKeyExists('HKCR','CLSID\'+CLSID) and not RegKeyExists('HKLM','SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility\'+CLSID);
end;

Procedure ScanAdobeFlashVuln;
var
AResult : string;
begin
  AResult := RegKeyStrParamRead('HKLM',
    'SOFTWARE\Microsoft\Active Setup\Installed Components\{D27CDB6E-AE6D-11cf-96B8-444553540000}','Version');
  if IsFlashOld(AResult) then 
  begin
    AddToLog('Уязвимости в Adobe Flash Player для Internet Explorer');
    AddToLog('http://get.adobe.com/flashplayer');
  end;
  AResult := RegKeyStrParamRead('HKLM',
    'SOFTWARE\MozillaPlugins\@adobe.com/FlashPlayer','Version');
  if IsFlashOld(AResult) then 
  begin
    AddToLog('Уязвимости в Adobe Flash Player для Firefox/Safari/Opera');
    AddToLog('http://get.adobe.com/flashplayer/otherversions');
  end;
end;

function IsFlashOld(AFlVer: string) : boolean;
var
AVer : string;
begin
  Result := false;
  if AFlVer = '' then exit;
  AVer := Copy(AFlVer, 1, 2);
  if AVer = '9.' then
  begin
     Delete(AFlVer, 1, 4);
      if ValidFloat(AFlVer) then 
    if StrToFloat(AFlVer) < 246.0 then   Result := true;
  end else
   if AVer = '10' then
   begin
      Delete(AFlVer, 1, 5);
       if ValidFloat(AFlVer) then 
     if StrToFloat(AFlVer) < 32.18 then   Result := true;
   end else Result := true;
end;

Procedure ScanAdobeReaderVuln;
var
ARes, AVer, AMinVer : 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 := '';
  ARes := Copy(AVer, 1, 1);
  if ValidInt(ARes) then 
    case StrToInt(ARes) of
     7: AMinVer := '7.1.4';
     8: AMinVer := '8.1.7';
     9: AMinVer := '9.2';
     end
  else exit;
  if AMinVer = '' then
    AddToLog('Установите Adobe Acrobat Reader 9.2 или удалите старый.')
  else
  begin
   ARes:=RegKeyStrParamRead('HKLM', 'SOFTWARE\Adobe\Acrobat Reader\'+ARes+'.0\Installer','ENU_GUID');
   AVer := RegKeyStrParamRead('HKLM','SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\'+ARes,'DisplayVersion');
   if AVer<AMinVer then
   begin
     AddToLog('Установлен Adobe Acrobat Reader версии '+ AVer + '. Необходимо обновить его до версии ' + AMinVer);
     AddToLog('http://www.adobe.com/support/downloads/product.jsp?product=10&platform=Windows');
   end;
  end;
end;

begin
  ScanWinVuln;
  ScanAdobeFlashVuln;
  ScanAdobeReaderVuln;
  SaveLog('c:\avz_log.txt');
end.
-----
Успехов!
Просмотров 8388 Комментарии 0 Отправить другу ссылку на эту запись

Текущее время: 07:45. Часовой пояс GMT +4. Powered by vBulletin® Version 5.8.9
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd.