LU.NET.UA - Захист інформації в інтернеті

:: Меню ::

Головна
Введення

Частина I.
Вивчення мети

1. Попередній збір даних
2. Сканування
3. Інвентаризація

Частина II.
Уразливість систем

4. Уразливість Windows 95/98/me
5. Уразливість Windows NT
6. Уразливість Windows 2000

Частина III.
Уразливість мереж

9. Уразливість видалених з'єднань, РВХ, Voicemail і віртуальних приватних мереж
10. Мережеві пристрої
11. Брандмауери
12. Атаки DOS

   Частина IV.
Уразливість програмного забезпечення

13. Вади засобів видаленого управління
14. Розширені методи
15. Уразливість в Web
16. Атаки на користувачів Internet
 Братани
Карта сайту
Добавити у вибране

:: Друзі ::

--

:: Статистика ::

 

 

 

 

 


Основні контрзаходи проти атак, направлених на розширення привілеїв

Як же позбавитися від всіх програм, встановлених в ході вивчення вами даного розділу, і "залатати" "дірки", що все залишилися, в захисті? Оскільки багато хто з них був створений з доступом на рівні адміністратора, що дозволяє використовувати всі аспекти архітектури NT, а більшість потрібних нам файлів могли бути перейменовані і (або) настроєні десятками різних способів, це завдання досить нетривіальне. Ми пропонуємо наступні вирішення загального характеру, що зачіпають чотири основні області, до яких так чи інакше відносяться описувані в даному розділі питання: імена файлів, параметри системного реєстру, процеси і порти.

Для ознайомлення з деякими додатковими контрзаходами проти описаних атак ми настійно рекомендуємо прочитати про "потайні ходи" в розділі 14.

Якщо зломщикові вдалося отримати привілеї адміністратора, то кращим виходом з ситуації є повне переустановлення системного програмного забезпечення з використанням перевірених носіїв. Досвідчений зломщик може настільки добре приховати певні "потайні ходи", що їх не вдасться виявити навіть досвідченим дослідникам. Ця рада дана в основному для створення повноти картини. Його не рекомендується застосовувати при організації подібних атак.

Імена файлів


Контрзаходи, побудовані на використанні імен файлів, видно, найменш ефективні, оскільки будь-який хоч трохи міркуючий зломщик або перейменує файли, або зробить інші заходи, щоб приховати їх (див. нижче розділ "Заховання слідів"). Проте, забезпечивши себе в цьому відношенні, ви зможете ще на "дальніх підступах" виявити хоч би найменш винахідливих зломщиків.
Ми вже перераховували імена файлів, на які необхідно звернути увагу насамперед: remote.exe, пс.exe (netcat), rinetd.exe, Nbsvr.exe і patch.exe (сервери Netbus), WINVNC.exe, Vnchooks.dll і omnithread_rt.dll. Якщо ви виявите, що дані файли з'явилися на сервері без вашого відома, тут же почніть розслідування — за гарячими слідами" легко встановити, хто і навіщо це зробив.
Крім того, будьте дуже уважні до будь-яких файлів, які знаходяться в різних каталогах виду Start Menu\programs\startup\%username% (розташованих в каталозі %SYSTEMROOT%\PROFILES). Всі програми, поміщені в такі теки, автоматично запускатимуться в процесі завантаження (пізніше ми ще повернемося до цього питання).
Хорошою превентивною мірою, що дозволяє ідентифікувати зміни файлової системи, є використання засобів підрахунку контрольних сум, подібних тим, яким присвячений розділ "Набор Rootkit — Повний Злом Системи" нижче в цьому розділі.

Параметри системного реєстру


На відміну від утомливого пошуку файлів з певними іменами в надії, що вони не були змінені, пошук параметрів системного реєстру може виявитися особливо ефективним, оскільки більшість з розглянутих програм перешкодить строго певні параметри в строго певні місця системного реєстру. Хорошим местомом для початку пошуку є групи параметрів Hklm\software і Hkey_users\ .DEFAULT\Software, у яких більшість встановлюваних застосувань поміщають свої параметри. Зокрема, утиліти Netbus Pro і WINVNC зберігають свої параметри таким чином.

  •  Hkey_users\.DEFAULTASoftware\ORL\WinVNC3
  •  Hkey_local_machine\software\netsolutions\netbus Server
За допомогою утиліти командного рядка REG.EXE, що входить до складу NTRK, видалити дані параметри з реєстру досить просто, у тому числі і на видалених комп'ютерах. При цьому використовується наступний синтаксис.
reg delete [параметр] \\компьютер
Наприклад: С:\>reg delete Hkey_users\.DEFAULT\Sofware\ORL\WinVNC3 \\192.168.202.33

Параметри системного реєстру, керівники запуском програм в процесі завантаження


Грунтуючись на своєму досвіді, можемо відзначити, що практично всі зломщики поміщають параметри своїх програм в стандартну групу параметрів системного реєстру, керівників запуском додатків при завантаженні Windows. Тому на предмет наявності шкідливих або підозрілих параметрів потрібно регулярно перевіряти відповідні області системного реєстру, перераховані нижче.

  •  Hklm\software\microsoft\windows\currentversion\run, а також Runonce, Runonceex, Runservices.
Крім того, необхідно якомога жорсткіше обмежити доступ користувачів до цих груп параметрів. За умовчанням група EVERYONE має дозволи Set value до групи параметрів Hklm\ . . \. . \Run. Для того, щоб відмінити ці привілеї, скористайтеся командою Security>permissions в редакторові системного реєстру regedt32.
Розглянемо невеликий приклад. На приведеному нижче малюнку показано вікно редактора системного реєстру, в якому відображається інформація про програму netcat, що запускається при кожному завантаженні Windows (група параметрів Hklm\ . . \ . . \Run) для прослуховування порту 8080.


В даному випадку зломщик у будь-який момент може скритно підключитися до системи, принаймні до тих пір, поки адміністратор, узявшись за розум, не перевірить системний реєстр і не видалить з нього відповідний параметр.
Крім того, не забудьте перевірити також каталоги %systemroot%\profiles\ %sername%\Start Menu\programs\startupv Будь-які поміщені в них виконувані файли автоматично запускатимуться при кожному завантаженні!

Процеси


Для виявлення тих хакреських інструментів, які не можна перейменувати або приховати яким-небудь іншим способом, можна проаналізувати список процесів, що виконуються на комп'ютері. Наприклад, за допомогою команди AT можна запланувати завдання, яке проглядає список процесів і видаляє з нього такі виявлені процеси, як remote.exe або пс.ехе. Оскільки для використання сервера remote в системному адмініструванні немає особливих причин (особливо, якщо врахувати, що ця утиліта не виконує аутентифікації), то для періодичного видалення її із списку процесів можна використовувати команду kill.exe з набору NTRK. У наступному прикладі показано, як за допомогою команди AT запланувати завдання, яке виконуватиметься щодня в шість годинників ранку і видаляти процес remote. Це трохи грубо, та зате ефективно — вам залишається лише набудувати час запуску відповідно до своїх переваг.

C:\>at 6а /е:1
""kill remote.exe""

Added а new job with job ID = 12
C:\>at Status ID Day Time Command Line
12 Each 1 6:00 AM kill remote.exe
C:\>kill remote.exe
process #236 [remote.exe] killed

Для цих же цілей можна використовувати утиліту rkill.exe з набору NTRK. Вона відрізняється від kill. exe тим, що може виконуватися на видаленому комп'ютері, а також тим, що на відміну від утиліти kill.exe, потребує надання нею як параметр ідентифікатора процесу, що видаляється (PID — Process ID). PID процесу видаленого комп'ютера можна отримати за допомогою утиліти pulist.exe, яка також входить до складу NTRK. Можна створити цілу автоматизовану систему, в якій регулярно запускається утиліта pulist і збирає інформацію про тих, що виконуються на вузлах мережі заборонених процесах з подальшою передачею цій інформації rkill. Звичайно, ще раз потрібно обмовитися, що таку систему дуже легко обійти, привласнивши виконуваному файлу remote.exe яке-небудь інше, що не викликає підозр ім'я, наприклад WINLOG.EXE. Проте вона зможе ефективно протистояти процесам, які не можна перейменовувати, наприклад winvnc. EXE.

Порти


Навіть якщо такі утиліти, як remote або пс, були перейменовані, утиліта netstat допоможе виявити їх присутність по наявності портів, що знаходяться в стані очікування або з'єднання. Періодичний запуск netstat з метою перевірки подібних з'єднань — це іноді якнайкращий спосіб знайти їх. У наступному прикладі показано, як утиліта netstat, запущена на цільовому сервері в той час, коли зломщик підключився до нього за допомогою утиліт remote, nc і встановив з'єднання з портом 8080, відображає результати опиту портів (опис параметра -an можна дізнатися, ввівши в командному рядку команду netstat /?). Звернете увагу, що в з'єднанні remote використовується порт TCP 139, а утиліта netcat знаходиться в стані очікування і має одне встановлене з'єднання з портом TCP 8080 (решта даних, netstat, що відображаються, видалена для наочності).

С:\> netstat -an
Active Connections
Proto Local Address Foreign Address State
TCP 192.168.202.44:139 0.0.0.0:0 LISTENING
TCP 192.168.202.44:139 192.168.202.37:1817 ESTABLISHED
TCP 192.168.202.44:8080 0.0.0.0:0 LISTENING
TCP 192.168.202.44:8080 192.168.202.37:1784 ESTABLISHED

З приведеного фрагмента лістингу команди netstat видно, що якнайкращим захистом проти використання утиліти remote є блокування доступу до портів 135-139 потенційних цілей або на рівні брандмауера або відключення прив'язки NETBIOS для незахищених адаптерів, як описувалося в розділі "Контрзаходу: Захист Від Підбору Пароля" вище в даному розділі.
За допомогою конвеєра, організованого між командами netstat і find, можна отримати дані про певні порти. Так, за допомогою наступної команди виконується пошук серверів Netbus, що прослуховують порт за умовчанням netstat -an| find "12345"
Утиліта fport від компанії Foundstone (http://www.foundstone.com) дозволяє отримати комбіновану інформацію про процеси і порти. Вона надає перелік всіх активних сокетів і ідентифікаторів процесів, що використовують з'єднання. Ось приклад її результатів.

FPORT - Process port mapper
Copyright (с) 2000, Foundstone, Inc.
http://www.foundstone.com
PID NAME TYPE PORT
184 IEXPLORE UDP 1118
249 OUTLOOK UDP 0
265 Mapisp32 UDP 1104
265 Mapisp32 UDP 0




:: Реклама ::

>Страница статей


:: Посилання ::

-


:: Рекомендуємо ::

-


 

 

 

 


Copyright © Klab-F 2008