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
 Братани
Карта сайту
Добавити у вибране

:: Друзі ::

--

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

 

 

 

 

 


Розширення привілеїв

У вас може виникнути питання: "Чи варто читати, що може відбутися, коли хтось отримає права адміністратора на моєму комп'ютері? І так все ясно!" Не поспішаєте з виводами — відформатувати жорсткий диск і переустановити систему з настановних дисків ви завжди встигнете. Набагато важливіше спробувати встановити, які ресурси були використані зломщиком і як далеко йому вдалося просунутися. Зломщик міг призначити привілеї адміністратора локальної системи якому-небудь користувачеві, що не має практично ніяких прав для доступу до інших комп'ютерів мережі. Тому йому, швидше за все, знадобиться встановити в мережі додаткові засоби, за допомогою яких він міг би розширити свої повноваження. Виявити зломщика на цьому етапі і зупинити його проникнення не тільки можливо, але і життєво необхідно. У даному розділі ви знайдете докладний опис деяких основних засобів і методів, використовуваних в цій надзвичайно важливому "фінальному поєдинку" зломщика і системного адміністратора.

Злом бази даних SAM


Отримавши привілеї адміністратора, зломщик, швидше за все, відразу ж попрямує до диспетчера SAM системи NT (SAM — Security Accounts Manager). У базі даних SAM містяться імена і зашифровані паролі всіх користувачів локального вузла або домена, якщо зламувана система є контроллером. Тому дані SAM — найбільш жадана мета для завдання завершуючого удару, подібна до файлу /etc/passwd зі світу UNIX. Навіть якщо база даних SAM отримана з автономної станції NT, існує шанс отримання з її допомогою доступу до контроллера домена. Таким чином, злом диспетчера SAM — це один з найбільш могутніх методів розширення привілеїв і використання довірчих стосунків.
Стоп, скаже уважний читач, а як же зашифровані паролі? Невже шифрування не зможе звести нанівець всі спроби хакерів? Теоретично — так, проте на практиці справи йдуть не зовсім так. На жаль, для забезпечення зворотної сумісності компанія Microsoft значно ослабила безпеку SAM, використовуючи алгоритм хешування (одностороннього шифрування), що залишився в спадок NT від мереж Lan Manager. Хоча підтримується і новий алгоритм NT, операційна система вимушена зберігати разом з новим хэш-кодом і хэш-код, що обчислюється по старому алгоритму Lanmanager, щоб забезпечити сумісність з клієнтами Windows 9х і Windows for Workgroups. Простіший алгоритм хешування Lanmanager вже давно був вивчений, тому в більшості випадків паролі сервера NT можна отримати досить просто. Все залежить лише від їх довжини і набору символів. Наприклад, loplncrack, одна з найпопулярніших утиліт злому файлів SAM, дозволяє зламати будь-який буквено-цифровий пароль за 24 години на комп'ютері з процесором Pentium II 450 Мгц (версія 2.5; докладніша за див. http://www.10pht.com/10phtcrack). Технічне обгрунтування слабкості підходу, вживаного при хешуванні паролів в NT, приведене за адресою http://www. l0pht.com/l0phtcrack/rant.html а також міститься нижче в розділі "Строгі Правила Вибору Пароля" цього розділу.
Утиліти злому паролів, не дивлячись на складність вирішуваного ними завдання, що здається, насправді не що інше, як швидкі і оптимізовані інструменти автоматизованого підбору паролів. Спочатку за заданими вхідними даними (список слів із словника або випадковим чином рядки, що генеруються) і з використанням алгоритму шифрування вони отримують результат, а потім порівнюють його з хэш-кодом призначеного для користувача пароля. Якщо обидва значення збігаються, значить, пароль вгаданий, тобто "зламаний". Даний процес зазвичай виконується в автономному режимі з використанням перехопленого файлу паролів, тому блокування облікового запису в таких випадках взагалі не виникає, а процес підбору пароля може продовжуватися скільки завгодно довго. Як правило обробка зашифрованих даних виявляється вельми ресурсоємним процесом. Проте, як ми вже згадували, знання тих або інших недоліків зламуваної системи, до яких, наприклад, відноситься добре вивчений алгоритм хешування Lanman, дозволяє значно прискорити цей процес. Таким чином, отримання пароля — це лише питання продуктивності процесора і розміру словника (деякі приклади словників і списків слів можна знайти за адресою http://coast.cs.purdue.edu).
He чи хочете скористатися цими інструментами, щоб перевірити, наскільки хороші вибрані вашими користувачами паролі? Що ж, тоді приступимо.

Отримання бази даних SAM


При здійсненні будь-яких спроб злому перший етап полягає в отриманні файлу паролів, який у разі NT називається файлом даних SAM.
Система NT зберігає дані SAM у файлі з ім'ям (ні за що не здогадаєтеся!) SAM, який міститься в каталозі %systemroot%\system32\config (під час роботи операційної системи доступ до цього файлу заблокований). Файл SAM є одним з п'яти основних вуликів системного реєстру NT і є фізичним місцем зберігання даних з групи параметрів системного реєстру Hkey_local_machine\sam. Ця група параметрів недоступна для зміни, навіть після реєстрації як адміністратор. (Проте, використовуючи деякі хитрощі і службу Schedule, це все ж таки можна здійснити. Для отримання про це докладнішої інформації читайте розділ "Аудит Доступу До Бази Даних SAM?" нижче в цьому розділі).
Існує чотири способи отримання даних SAM: перезавантаження комп'ютера за допомогою дискети з альтернативною операційною системою і подальше копіювання файлу SAM на знімний носій; копіювання резервної копії файлу SAM, створеною утилітою відновлення системи NT; витягання хешированних паролів безпосередньо з SAM. Четвертий метод грунтується на перехопленні даних про імена користувачів і паролях, передаваних по мережі (такий підхід вже розглядався в розділі "Перехоплення паролів, передаваних по мережі" вище в цьому розділі).

Перезавантаження за допомогою альтернативної операційної системи


Для того, щоб перезавантажитися з використанням іншої операційної системи, досить підготувати системну дискету з DOS. Якщо на жорсткому диску комп'ютера, що цікавить вас, встановлена файлова система NTFS, то на цю дискету необхідно помістити відповідний драйвер NTFS, званий NTFSDOS, від компанії Systems Internals (http://www.sysinternals.com/ ). За допомогою цього драйвера всі розділи NTFS будуть змонтовані як логічні диски DOS, після чого не залишиться ніяких перешкод для копіювання файлу SAM.

Витягання резервної копії файлу Sам з каталога Repair


При кожному запуску утиліти NT Repair Disk Utility (rdisk) з параметром /s, який активізує режим резервного копіювання важливої системної інформації, створюється стисла версія бази даних SAM, яка поміщається в каталог %systemroot%\repair під ім'ям Sam._. Після завершення копіювання важливих даних на аварійну дискету багато системних адміністраторів не утрудняють себе завданням видалення цього файлу.
Для того, щоб скористатися стислим файлом Sam._, його потрібно спочатку розпакувати, як показано в наступному прикладі. (Остання версія утиліти L0phtcrack дозволяє виконати цю операцію автоматично після вибору команди import.)

С:\>expand sam._sam
Microsoft (R) File Expansion Utility Version 2.50
Copyright (C) Microsoft Corp 1990-1994.
All rights reserved.
Expanding sam._ to sam.
sam._: 4545 bytes expanded to
16384 bytes, 260% increase.

Витягання хэш-кодов з даних SAM


За наявності привілеїв адміністратора кеш-коди паролів можна легко отримати безпосередньо з системного реєстру у форматі, подібному до формату файлу /etc/passwd UNIX. Для цього можна скористатися утилітою pwdump, написаною Джеремі Аллісоном (Jeremy Allison). Початковий код цієї утиліти і її версії, що відкомпілювалися, для Windows можна знайти в архівах Internet. Нові версії утиліти Lophtcrack також мають подібний вбудований засіб. Проте ні pwdump, ні Lophtcrack не здатні подолати розширене шифрування файлу SAM з використанням ключа SYSKEY, що з'явилося після випуску сервісного пакету Service Pack 2 (для отримання докладнішої інформації читайте розділ "Контрзаходу: Захист Від Злому Пароля" нижче в цьому розділі).
Пізніша версія утиліти pwdump, написана Тоддом Сабіном (Todd Sabin) і названа pwdump2 (http://razor.bindview.com/tools/desc/pwdump2_readme.html), може обійти SYSKEY-защиту. Робота pwdump2 заснована на впровадженні бібліотеки DLL (див. вище опис утиліти getadmin), за допомогою чого вона записує свій код в простір іншого процесу, що володіє вищим рівнем привілеїв. Після цього упроваджений код викликає внутрішні функції інтерфейсу API, за допомогою яких утиліта дістає доступ до зашифрованих паролів, минувши необхідність їх розшифровки.
На відміну від pwdump утиліта pwdump2 повинна запускатися в просторі процесів зламуваної системи. Причому в даному випадку як і раніше потрібний процес з привілеями адміністратора, а також бібліотека samdump.DLL (яка розповсюджується разом з pwdump2).
Привілейований процес, використовуваний утилітою pwdump2, - це процес lsass.exe підсистеми захисту (Local Security Authority Subsystem — LSASS). Утиліта упроваджує свій код в адресний простір і призначений для користувача контекст процесу lsass.exe. Проте перед запуском утиліти необхідно уручну отримати ідентифікатор процесу (PID — Process ID).

Тодд Сабін написав оновлену версію утиліти pwdump2, після установки якої ідентифікатор РЮ процесу LSASS можна отримати автоматично. Тому користувачам оновленої версії виконувати цей крок уручну не потрібний. Проте зараз ми зосередимося на обговоренні основної концепції отримання ідентифікаторів процесів, яку потрібно буде використовувати в тих випадках, коли оновлена версія утиліти pwdump2 відсутня.

Скористаємося утилітою pulist з NTRK і, об'єднавши її з утилітою find, отримаємо ідентифікатор процесу lsass.exe, як показано в наступному прикладі.

D:\>pulist | find "lsass"
lsass.exe 50 NT AUTHORITYXSYSTEM

Тепер можна запустити утиліту pwdump2, передавши їй як параметр отриманий ідентифікатор PID 50. За умовчанням результати виводяться на екран (у приведеному вище прикладі вони показані в скороченій формі), проте їх легко перенаправити у файл. Пом-
ніті, що pwdump2 повинна виконуватися локально на видаленій системі. Інакше ви отримаєте дамп власних паролів! Обговорення методів видаленого запуску програм міститься нижче в розділі "Видалене Управління І Потайні Ходи" даного розділу.

D:\>pwdump2 50
A. Nonymous:1039:e52cac67419a9a22
4a3bl08f3fa6cb6d:8846f7eaee8fbll7..
Acmepdc1$:1000: 922bb2aaaobc07334d9al
60a08db3a33 : d2ad2ce86a7d90f d62..
Administrator: 500:48b48ef 5635d97b6f 513f
7c84b50c317 : 8a6a398a2d8c84f..
Guest:501:aoel50c75al7008eaad3b435b51404ee:
823893adfad2cda6ela414f..
Iusr_acmepdc1:1001:cabf272ad9e04b24af3
f5fe8cof 05078:e6f 37a4 69ca3f8..
Iwam_acmepdc1: 1038:3d5c22dobal7f25c2eb
8a6e701182677:d96bf5d98ec992..

З даного прикладу видно, що виводяться такі поля, як ім'я користувача, відносний ідентифікатор RID (див. розділ 3), хэш-код Lanman і кеш-код NT I останній виведено тільки частково). Всі поля відділяються один від одного двокрапкою. Направивши вивід у файл, можна отримати готові початкові дані для багатьох засобів злому паролів системи NT.

Найостанніша версія утиліти pwdump2 дозволяє також витягувати хэш-коды з бази даних активного каталога.

Перехоплення даних про призначені для користувача імена і паролі, передавані по мережі


Однією з сильних сторін утиліти Lophtcrack є можливість витягувати \эш-коды паролів прямо з SMB-пакетов, передаваних по мережі. Цей підхід вже розглядався в одному з попередніх розділів, присвячених підбору паролів.
Оскільки утиліта Lophtcrack здатна виконати велику частину з описаних вище завдань, давайте перейдемо до обговорення подробиць того, як це здійснити.

Злом паролів NT


У даному розділі ви познайомитеся з трьома утилітами, призначеними для злому паролів системи NT. Хоча найбільш відомою є утиліта L0phtcrack, тут ми розглянемо і деякі інші засоби.

L0phtcrack


Версію утиліти L0phtcrack з графічним інтерфейсом, поширювану дослідницькою лабораторією компанії ©stake за ціною S100, можна знайти за адресою http://www.atstake.com. Для збереження душевного спокою системного адміністратора це зовсім недорого. Під час написання цієї книги була випущена бета-версія 3 утиліти L0phtcrack — перше істотне оновлення програми за останні два роки.
Як уже згадувалося, утиліта L0phtcrack може імпортувати дані SAM з декількох джерел: з самого файлу SAM, з його резервної копії SAM._, з видаленого комп'ютера (використовуючи привілеї адміністратора і вбудовану функцію, що працює за принципом утиліти pwdump), а також безпосередньо з потоку даних, передаваних по мережі. Нижче показано просте діалогове вікно утиліти, використовуваної для отримання хэш-кодов паролів. Як видно з малюнка, потрібно просто ввести IP-адрес зламуваної системи.
Ще раз звертаємо вашу увагу на те, що вбудована утиліта останньої (на момент написання даної книги) версії L0phtcrack не володіє можливістю злому розширеного SYSKEY-шифрования бази даних SAM (див. нижче розділ "Шифрування Syskey"). Тому, якщо на зламуваній системі використовується SYSKEY-шифрование, необхідно користуватися описаною вище утилітою pwd'jzr\p2.
Потім за допомогою команди File>open Wordlist File потрібно вказати використовуваний файл словника (обширний словник, що містить слова англійської мови, що часто вживаються як пароль, розповсюджується разом з утилітою). І нарешті, за допомогою команди Tools>options потрібно встановити деякі параметри. Для злому пароля шляхом перебору необхідно встановити прапорець Enabled, що знаходиться в групі параметрів Brute Force Attack діалогового вікна Tools Options. Потім потрібно вибрати передбачуваний набір символів, з якого генеруватимуться паролі (чим більше набір, тим довше доведеться перебирати всі можливі комбінації). Утиліта L0phtcrack спочатку спробує підібрати пароль за допомогою словника і лише після цього перейде до перебору всіх можливих варіантів. Перерваний сеанс підбору пароля можна продовжити пізніше з того ж місця, в якому відбулася зупинка. Тому в загальному випадку питання тривалості роботи не є критичним. Підтримується також компромісний режим Dictionary/brute Hybrid, при використанні якого метод підбору пароля із словника об'єднується з перебором всіх можливих варіантів. Дійсно, враховуючи, що багато користувачів вибирають паролі виду password!23, не утрудняючи себе завданням запам'ятовування складного пароля, має сенс спробувати застосувати як пароль слова, що містяться в словнику, з додаванням до них заданої кількості символів. Приклад вибору параметрів у вікні Tools Options показаний на наступному малюнку.
Тепер просто виберіть команду Tools>run Crack, і утиліта L0phtcrack візьметься за справу. У файлі SAM, отриманому з великого домена NT, практично завжди вдається виявити нульовий пароль або слова із словника (мал. 5.6). Крім того, з даного малюнка видно, з якою легкістю вгадуються паролі Lanman, що робить надійніший захист за допомогою алгоритму хешування NT неефективним. Навіть у тих випадках, коли деякі паролі залишаються нерозгаданими (як, наприклад, пароль користувача Malta), алгоритм Lanman дозволяє дізнатися два останні символи таких паролів. Цього цілком достатньо, щоб протягом доби підібрати останні 7 символів, за умови, що пароль складається лише з букв і цифр.


Поточний стан процесу підбору пароля можна у будь-який момент зберегти у файлі з розширенням .1с. Тому робота утиліти L0phtcrack може бути безболісно припинена, а потім відновлена з того ж місця за допомогою команди File>open Password File.
Утиліта L0phtcrack з графічним призначеним для користувача інтерфейсом є кращим засобом злому файлу паролів системи NT з тих, що всіх є на ринку як за швидкістю роботи, так і по простоті використання. Проте є і один недолік: наявність графічного інтерфейсу не дозволяє використовувати цю утиліту в сценаріях і командних файлах. Для застосування в командному рядку на Web-узле http://www.atstake.com можна знайти лише застарілу версію 1.5 (lc_cli.exe), яка розповсюджується разом з початковим кодом. Отже, якщо говорити про утиліти злому паролів, що використовують інтерфейс командного рядка, краще звернути увагу на продукти інших розробників.




Мал. 5.6. Утиліта L0phtcrack за роботою. Менш надійні паролі Lanman зламати набагато легко, що робить непотрібним підбір добре захищених паролів NT

John-потрошитель


John — це програма злому паролів з використанням словника. Її можна отримати за адресою http://www.false.com . Спочатку ця утиліта командного рядка була створена для злому файлів паролів системи UNIX, а зараз її можна використовувати для підбору хэш-кодов Lanman системи Windows NT. Окрім того, що John сумісна з декількома платформами і дозволяє застосовувати декілька різних алгоритмів шифрування, ця утиліта відрізняється також високою швидкістю роботи і тим, що розповсюджується безкоштовно. З іншого боку, її широкі можливості і, відповідно,, великий набір параметрів командного рядка роблять цю утиліту складнішою в освоєнні, чим L0phtcrack. Крім того, оскільки утиліта John може зламувати лише паролі Lanman, то отримані результати необхідно перевіряти на відповідність прописних і рядкових букв (паролі Lanman завжди переводяться у верхній регістр, тоді як в паролях NT використовуються як прописні, так і рядкові букви).

Crack 5 з розширенням для NT


Утиліта crack, написана Аліком Маффетом (Alec Muffet), спочатку призначалася для злому файлів паролів системи UNIX. Проте з часом для неї було створено розширення, яке дозволило використовувати цю утиліту і для злому паролів NT (http://www.sun.rhbnc.ac.uk/~phacl07/c50a-nt-0.20.tgz ). Найбільша перевага використання утиліти crack полягає в дуже широкій різноманітності варіацій можливих паролів, що перевіряються нею (включаючи більше 200 варіантів, заснованих на імені користувача). Проте всі переваги утиліти crack будуть зведені нанівець, якщо у вас відсутній досвід роботи в системі UNIX, необхідний для її установки і запуску.

Контрзаходи: захист від злому пароля


Строгі правила вибору пароля


Ніякі технічні засоби не зможуть забезпечити гарантований захист від злому пароля. Вони необхідні для створення ефективного захисту, але одних лише технічних засобів недостатньо. Найефективнішим і разом з тим засобом, що важко реалізовується, був і залишається правильний вибір пароля. Користувачі, вгадувані паролі, що вибирають легко, або що записують їх на зворотному боці клавіатури, мабуть, ще довго залишатимуться джерелом головного болю адміністраторів. Сподіваємося, що приведений нижче опис деяких прихованих недоліків, наявних в алгоритмах захисту паролів NT, зможе допомогти вам в роз'ясненні користувачам необхідності строгого дотримання ваших вимог.
Як ми вже неодноразово згадували, в системі NT застосовується два разних алгоритму шифрування призначених для користувача паролів: сумісний з Lanmanager (LMH — Lanmanager Hash) і створений спеціально для NT (NTH — NT Hash) . Обидва представлення зашифрованого за допомогою цих алгоритмів пароля зберігаються в базі даних SAM. Як уже згадувалося, значення LMH обчислюється за допомогою алгоритму, що має внутрішні недоліки (в даному випадку не варто лаяти Microsoft — алгоритм Lanmanager спочатку був розроблений компанією IBM).
Найбільшим недоліком алгоритму LMH є розділення пароля на дві частини, кожна з яких складається з семи символів. Іншими словами, пароль, що має довжину 8 символів розділяється на два паролі, перші з яких складається з 7 символів, а другий — з 1 символу. Подібні до утиліти L0phtcrack засобу використовують цей недолік, перевіряючи одночасно обидві половини пароля саме так, неначебто вони були незалежними один від одного паролями. Розглянемо, наприклад, 12-символьний пароль, який повністю відповідає вимогам бібліотеки Passfilt, — l23456qwerty. По-перше, коли пароль шифрується по алгоритму LM, його символи перетворяться у верхній регистр— 123456qwerty. Потім до пароля додаються нульові символи (тобто символи з кодом 0, щоб отримати рядок, що складається з 14 символів): 123456qwerty_. Перед шифруванням цей рядок ділиться на дві частини — 123456q і Werty_. Після цього кожен рядок шифрується незалежно від іншої, а отримані результати об'єднуються. Зашифроване значення ДЛЯ 123456q — 6bf11e04afab197f, а ДЛЯ Werty_— 1E9FFDCC75-575В15. Таким чином, отриманий в результаті хэш-код матиме наступне значення: 6BF11E04AFAB197F1E9FFDCC75575B15.
Оскільки перша половина пароля, представленого хэш-кодом, містить і букви, і цифри, то на її злом шляхом перебору всіх можливих варіантів за допомогою утиліти L0phtcrack піде доба або біля того, залежно від обчислювальної потужності використовуваного комп'ютера. Проте друга половина пароля містить тільки символи, тому на її злом знадобиться всього лише 60 секунд при використанні комп'ютера з процесором Pentium. На мал. 5.7 показано, як за лічені секунди з використанням утиліти L0phtcrack була зламана друга половина пароля користувача waldo (повний пароль —строка 123456qwerty).
Кожна зламана половина пароля відображається у відповідному рядку вікна утиліти Lophtcrack. У даному прикладі була ідентифікована друга половина пароля користувача waldo. Тепер можна зробити деякі припущення про те, який може бути перша половина пароля. Рядок WERTY говорить про те, що як пароль користувач вибрав символи з верхнього ряду клавіш клавіатури. Отже, має сенс перевірити такі паролі, як QWERTYQWERTY, POIUYTQWERTY, ASDFGHQWERTY, YTREWQQWERTY І, нарешті, 123456qwerty. Ці варіанти можна додати в словник, підготовлений для утиліти Lophtcrack, а потім приступити до чергового штурму. Менш ніж через 5 секунд у вікні Lophtcrack з'являються і пароль Lanman, і пароль NT, як показано на мал. 5.8.



Мал. 5.7. Утиліта L0phtcrack зламала половину пароля користувача waldo менш ніж за хвилину на комп'ютері з процесором Pentium



Мал. 5.8. Утиліта L0phtcrack за допомогою оновленого словника справилася з підбором правильного пароля за лічені секунди

Даний приклад наочно демонструє, як відносно просто вгадати здавалося б досить складний пароль LMH, знаючи його другу половину. Таким чином, ми отримуємо парадокс: при даному підході 12- і 13-символьні паролі можуть виявитися менш надійними, чим 7-символьні, оскільки зломщик, знаючи другу половину довгого пароля, може здогадатися про те, з яких символів складається перша половина, як це було показано в розглянутому прикладі. Пароль, що складається з восьми символів, навряд чи дасть зломщикові багато інформації, проте він, хай тільки теоретично, не такий надійний, як 7-символьний пароль.
Для зниження вірогідності успішного злому вибирайте паролі в точності завдовжки 7 або 14 символів. (Не забувайте, що довгі 14-символьні паролі користувачі, швидше за все, записуватимуть і триматимуть ці записи під рукою. Тому переважно використовувати 7-символьні паролі.)
Якщо ж ви хочете збити з пантелику зломщика, озброєного утилітою L0phtcrack, використовуйте в кожній половині пароля хоч би один символ ASCII, що управляє. Такі символи (наприклад, символи з кодом 255 або 129) не відображаються на екрані утилітою L0phtcrack. Звичайно, щоденне введення таких паролів, що вимагають додаткових натиснень клавіш для введення символу за його кодом (<Аlt>+код символу на цифровій допоміжній клавіатурі в режимі <Numlock>), пов'язане з деякою незручністю і, мабуть, використовуватиметься тільки професійними користувачами, що мають широкі повноваження по адмініструванню робочих груп і облікових записів звичайних користувачів. Що стосується адміністраторів, то для них використання в паролях як можна більшої кількості символів, що не відображаються, повинно стати буденною практикою.
Нарешті, не забувайте про необхідність встановити за допомогою бібліотеки Passfilt мінімальну довжину пароля, як це описано в приведеному вище розділі "Контрзаходу: Захист Від Підбору Пароля".

Захист бази даних SAM


Обмеження доступу до файлу SAM — це також один з найважливіших методів зашиті. Фізичне обмеження доступу до сервера є єдиним методом перешкодити зловмисникові скопіювати файл SAM, завантажившись з дискети, або скопіювати резервну копію цього файлу з теки Repair. Сподіваємося, що про те, щоб контролювати всі випадки реєстрації на сервері під ім'ям Administrator, нагадувати не потрібно.

Шифрування SYSKEY


Розширене SYSKEY-шифрование даних SAM було розроблене незабаром після виходу сервісного пакету Service Pack 2. Такий алгоритм дозволяє встановити шифрування паролів за допомогою 128-бітового ключа (за умовчанням використовується 40-бітовий ключ). Для включення режиму шифрування необхідно вибрати команду Starts Run і ввести в поле введення діалогового вікна Run, що з'явилося, команду syskey. Режим шифрування SYSKEY можна набудувати з використанням декількох основних параметрів, як показано на наступних двох малюнках.


При включенні режиму SYSKEY ключ шифрування паролів, у свою чергу, кодується за допомогою системного ключа, який може зберігатися як локально (захищений паролем), так і на гнучкому диску. Якщо ви надзвичайно стурбовані забезпеченням безпеки, виберіть другий варіант, але врахуйте при цьому, що у великій мережі це зажадає додаткових витрат на збереження всіх ключів на гнучких дисках. Крім того, як ми побачимо декілька пізніше, існують засоби, що дозволяють обійти і режим шифрування SYSKEY. Проте навіть невеликий бар'єр, що опинився на шляху зломщика, підвищує безпеку мережі. Принаймні зловмисникові доведеться добре потрудитися, щоб зламати паролі.

Група дослідників RAZOR виявила ваду в реалізації алгоритму шифрування SYSKEY, опис якого можна знайти за адресою http://razor.-bindvi6w.com/publish/advisories/adv_WinNT_syskey.htinl. Якщо ви вирішили скористатися цим алгоритмом, то встановите також модуль оновлення, який можна отримати за адресою http://wvw.microsoft.com/teohnet/ security/bulletin/ms99-056.asp.

Якщо зломщики мають бездоглядний фізичний доступ до комп'ютера з системою Nt/2000, то вони без проблем можуть завантажитися з використанням іншої операційної системи і анулювати пароль облікового запису адміністратора, видаливши файл SAM, або додати пароль для будь-якого наявного облікового запису. Цей прийом дозволяє повністю обійти алгоритм шифрування SYSKEY. Лише при використанні режиму захисту з використанням пароля або при зберіганні системного ключа на гнучкому диску можна декілька підвищити рівень захисту. Докладніша інформація з цього питання міститься в розділі розділу 6, який присвячений утиліті chntpw.

Аудит доступу до бази даних SAM


Часто буває досить важко виявити факт витягання інформації про паролі з вашого вузла NT. Одній з можливостей, покликаних допомогти у вирішенні цієї проблеми, є аудит системи NT, що забезпечує спостереження за доступом до параметрів реєстру, пов'язаних з SAM. Проте на практиці це засіб мало що може зробити, оскільки до цих параметрів мають доступ дуже багато службових процесів (наприклад, диспетчер користувачів). Але не дивлячись на те, що само по собі рішення не дуже хороше, деякі технічні аспекти налаштування контролю доступу до SAM заслуговують на увагу.
Перш за все, переконаєтеся, що в диспетчерові користувачів встановлений прапорець Success для подій File and Object Access (Policies^audit). Потім потрібно включити режим контролю доступу до певних параметрів системного реєстру. На жаль, параметри, які необхідно контролювати, недоступні ні простому користувачеві, ні навіть адміністраторові. Для обходу даного обмеження потрібно відкрити вікно редактора системного реєстру, скориставшись контекстом облікового запису Local System.
Запустите агигст Services панелі управління, а потім в діалоговому вікні, що з'явилося, виберіть службу Schedule (на робочій станції — Task Scheduler). Клацніть на кнопці Startup і у вікні властивостей, що відкрилося, встановите режим System Account, а також Прапорець Allow Service to Interact with Desktop. Потім введіть в командному рядку наступну кому;нпу soon regedt32 /i
Утиліта soon, що входить до складу NTRK, призначена для взаємодії з командою AT і запуску тієї або іншої програми у нинішній момент. Параметр : npri пісиваєт програмі (в даному випадку редакторові системного peecn.w), що запускається, виконуватися в інтерактивному режимі.
Відразу ж після виконання команди буде відкрито вікно редактора системного реєстру. Проте цього разу параметри SAM і Security стануть доступними звичайному користувачеві. Будьте дуже обережні при роботі з цими параметрами — навіть мінімальні зміни можуть порушити нормальне функціонування операційної системи вашого комп'ютера.' Знайдіть параметр Hklm/security/sam/domains/account/users і клацніть на нім, а потім виберіть з меню команду Security ^Auditing. Встановите параметр Audit Permissions on Existing Subkeys, а потім клацніть на кнопці Add і додайте обліковий запис SYSTEM. Нарешті, для події Query Value встановите режим Success, а потім клацніть на кнопці ОК. Вийдіть з редактора системного реєстру і переконаєтеся в тому, що служба Schedule відключена. Тепер можна контролювати доступ до параметрів реєстру, здійснюваний, наприклад, за допомогою утиліти pwdump.
Незабаром журнал безпеки буде заповнений повідомленнями з ідентифікаторами 560 і 562, які пов'язані із зверненням до параметрів SAM. При аудиті найскладніше вибрати серед численних записів ті. які пов'язані з отриманням інформації про диспетчера SAM за допомогою різних утиліт сімейства pwdump, оскільки з погляду системи між такими подіями і подіями, пов'язаними з легітимним доступом до параметрів SAM, немає ніякої різниці. Крім того, журнал, в який будуть заноситься всі відповідні операції, дуже швидко досягне жахливих розмірів, а реєстрація подій спричинить додаткову витрату ресурсів. Ефективніший метод вирішення даної проблеми, мабуть, полягає у відстежуванні викликів утиліти pwdump на рівні інтерфейсу API. Проте поки дане завдання не реалізоване на практиці, контроль доступу до параметрів SAM залишається хоч і нізкоеффектівним, але все таки єдиним засобом.




:: Реклама ::

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


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

-


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

-


 

 

 

 


Copyright © Klab-F 2008