Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка1_new.doc
Скачиваний:
5
Добавлен:
06.05.2019
Размер:
1.63 Mб
Скачать

Перелік лабораторних робіт Лабораторна робота №1

Тема. Захист індивідуального ПК.

Мета: вивчити види загроз і методики захисту індивідуальних робочих станцій.

Короткі теоретичні відомості

М етою даної лабораторної роботи є оволодіння навичками парольного захисту персонального комп’ютера під керуванням OC Windows XP. Звичайно захист операційної системи без захисту апаратної частини ПК не буде досить надійним. Тому першочергово розглянемо захист BIOS та можливі варіанти його подолання.

BIOS (англ. Basic Input-Output System – базова система вводу-виводу, БСВВ) – невелика програма, що перебуває на ПЗП й відповідає за базові функції інтерфейсу й настроювання обладнання, на якому вона встановлена.

Система безпеки BIOS на прикладі AwardBIOS

Опції безпеки BIOS дозволяють обмежити доступ сторонніх осіб до BIOS або комп'ютера, щоб вони не внесли яких-небудь змін. Оскільки налаштування BIOS критичні для правильної роботи ПК, багато адміністраторів у компаніях блокують BIOS паролем.

Security Option (опція безпеки): ця опція дозволяє захистити внесення змін в BIOS паролем (опція "Setup"). Крім того, тут можна вказати, щоб пароль запитувався щоразу при завантаженні ПК (опція "System").

Set Supervisor Password (установити адміністративний пароль): якщо ви вкажете адміністративний пароль, він буде запитуватися при вході в BIOS (при

Рис. 1 – Вікно системи безпеки AwardBIOS

виборі вище опції "Setup"). Якщо ж у пункті вище ви вказали опцію "System", то пароль потрібен й для "холодного" завантаження.

Set User Password (установити пароль користува): тут можна вказати пароль, що буде запитуватися в користувачів при завантаженні ПК. Якщо зазначено й Supervisor Password, то в BIOS користувачеві можна буде міняти тільки час і дату.

Основне завдання зловмисника отримати пароль до самої системи BIOS, маючи його він матиме можливість змінювати всі налаштування безпеки.

Методи подолання парольного захисту BIOS зловмисником

1. Метод "Струму". Як відомо, струм іде за шляхом найменшого опору, тому нам легше всього скористатися можливостями, закладеними розробниками материнських плат. Кожна материнська плата ПК має джампер, що відповідає за встановлення налаштувань BIOS в стан "за замовченням". Для зняття парольного захисту та всіх налаштувань потрібно переключити джампер і протримати 3-5 секунд, після чого повернуті його в початкове положення. Така процедура призведе до встановлення заводських налаштувань.

2. Метод "Сокирний". Ідея методу полягає у відключенні BIOS від енергопостачання. Чіп отримує живлення від невеликої батареї, розташованої поблизу. Для відміни дії паролю необхідно вийняти батарею на 3-5 секунд. Такий метод стане в нагоді у випадку, якщо важко віднайти потрібний джампер на платі, чи його перемикання не дає бажаних результатів.

3. Метод "Брутфорс". У розглянутих вище методах є декілька суттєвих недоліків: по-перше, при "скиданні" пароля такими методами, втрачаються всі налаштування системи, що може призвести до конфліктів апаратної частини чи недоступності деяких пристроїв; по-друге, для реалізації таких маніпуляцій необхідно мати доступ до материнської плати, проте зазвичай системний блок закрито та ще й запломбовано фірмою-продавцем. Отже методика "Брутфорс" полягає в банальному переборі заводських паролів BIOS. На даний час використовуються два типи базової системи вводу-виводу: Award Bios та Ami Bios. Основні паролі для кожної системи наведені в таблиці 1.

4. Метод DEBUGBios. Для реалізації цієї методики необхідно завантажити систему MS-DOS. Зробити це можливо з допомогою завантажувальної дискети, CD чи DVD диску, USB Flash-card, як варіант варто спробувати завантаження командної строки в меню завантаження F8 Windows XP. Після отримання запиту системи запустіть DEBUG.EXE. В отриманому вікні введіть наступні рядки:

-o 70 17

-o 71 17

-q

Після цього BIOS матиме заводські налаштування.

Ω УВАГА: Помилка при вводі описаних вище команд може призвести то пошкодження BIOS та материнської плати.

З вищесказаного випливають наступні рекомендації:

– встановити завантаження за замовченням тільки з HDD;

– відключити можливість вибору пристрою при завантаженні;

– встановити паролі Security Option, Supervisor Password, User Password;

– закрити та опломбувати корпус системного блоку.

Таблиця 1. Заводські паролі Award Bios та Award Bios.

Award Bios

AMI Bios

AWARD?SW

AWARD SW

AWARD_SW

AWARD_WG

AWARD_PW

BIOSTAR

CONCAT

CONDO

HELGA-S

2.51G

2.51U

HEWITT RAND

HLT

KDD

PASSWORD

SKY_FOXS

SWITCHES_SW

TTPTHA

ZAAADA

ZBAAACA

256256

5895894.5x ZJAAADC

ChEck_a

Ikwpeter

Syxz

TzqF

Wodj

aPAf

alfarome

award_ps

шість пробілів

вісім пробілів award.sw

?award

award_?

bios*

biostar

biosstar

condo

efmukl

g6PJ

2.51

h6BB

j64

j09F

j256

j262

j322

t0ch20x

t0ch88

01322222

1EAAh

2.50

AMI

A.M.I.

AMI~

AMI?SW

AMI!SW

AMI_SW

AMI.KEY

AMIPSWD

BIOSPASS

CMOSPWD

HEWITT RAND

SER

aammii

ami.kez

ami°

amiami

amipswd

amidecod

bios310

Після встановлення надійного захисту з боку апаратної частини перейдемо до парольного захисту в Windows XP. Операційні системи Windows 2000 і Windows XP фірми Microsoft, засновані на ядрі Windows NT, одержали дуже широке поширення. Відсоток цих ОС серед всіх Windows-систем дуже великий і продовжує зростати, тому проблема їхньої безпеки є одним із важливих аспектів сучасної комп'ютерної безпеки.

Зберігання паролів в Windows 2000/XP

Безсумнівно, головним аспектом при аналізі безпеки Windows 2000/XP є збережність паролів облікових записів із правами Адміністратора, тому що знання пароля дозволяє одержати повний доступ до цього комп'ютера як локально, так і по мережі, тому ми почнемо з опису того, як Windows 2000/XP працює з паролями на вхід у систему.

Інформація про облікові записи користувачів зберігається у гілці "HKEY_LOCAL_MACHINE\SAM" (SAM – Security Account Manager) реєстру. А тому що в Windows 2000/XP всі вітки реєстру "фізично" розташовані на диску в каталозі %SystemRoot%\System32\Config у декількох файлах, та й ця вітка – не виключення. Вона розташовується у файлі SAM. Відзначимо, що цей файл за замовчуванням недоступний для читання нікому, навіть Адміністраторові, але все-таки до нього можна одержати доступ. До файлу SAM (а також до інших файлів без розширень у цій директорії – system, software й ін.) немає доступу з тієї причини, що Windows 2000/XP використають реєстр "на льоту" – тобто при внесенні до реєстру змін вони стають доступне відразу ж і перезавантаження комп'ютера не потрібно, але для цього системі потрібно мати монопольний доступ до файлів реєстру. Нагадаємо, що в операційних системах Windows 95/98/ME реєстр зберігається у файлах system.dat і user.dat, які завантажуються одноразово при завантаженні системи й при змінах у реєстрі потрібне перезавантаження комп'ютера для того, щоб ці зміни набутили чинності.

Windows 2000/XP зберігає паролі користувачів не в "явному" виді, а у вигляді хешів (hash), тобто фактично у вигляді "контрольних сум" паролів. Розглянемо зберігання паролів користувачів докладніше. Серед складної структури SAM-файлу нам цікава структура, названа V-блок. Вона має розмір 32 байта й містить у собі хеш пароля для локального входу – NT Hash довжиною 16 байт, а також хеш, що використовується при аутентифікації доступу до загальних ресурсів інших комп'ютерів – LanMan Hash або просто LM Hash, довжиною також 16 байт. Алгоритми формування цих хешів наступні.

Формування NT Hash:

1. Пароль користувача перетворюється в Unicode-рядок.

2. Генерується хеш на основі даного рядка з використанням алгоритму MD4.

3. Отриманий хеш шифрується алгоритмом DES, причому як ключ використається RID (тобто ідентифікатор користувача). Це необхідно для того, щоб два користувачі з однаковими паролями мали різні хеші. Нагадаємо, що всі користувачі мають різні RID-и (RID вбудованого облікового запису Адміністратора дорівнює 500, убудованої облікового запису Гостя дорівнює 501, а всі інші користувачі послідовно одержують RID-и, рівні 1000, 1001, 1002 і т.д.).

Формування LM Hash:

1. Пароль користувача перетвориться у верхній регістр і доповнюється нулями до довжини 14 байт.

2. Отриманий рядок ділиться на дві половинки по 7 байт і кожна з них окремо шифрується алгоритмом DES, на виході якого одержуємо 8-байтний хеш – у сумі ж маємо один хеш довжиною 16 байт.

3. Далі LM Hash додатково шифрується так само, як і в кроці 3 формування NT Hash.

Для підвищення безпеки зберігання паролів, починаючи з 3-го Service Pack'a в Windows NT (й у всіх наступних NT-системах, аж до Windows 2003), отримані хеші додатково шифруються ще одним алгоритмом за допомогою утиліти syskey. Тобто до вищеописаних алгоритмів додається ще 4-й крок – одержання за допомогою syskey нового хеша від хеша, отриманого на кроці 3.

Методи доступу до SAM-файлу й імпорт хешей

Як уже було сказано, ні прочитати SAM-файл, ні відредагувати його немає ніякої можливості – при спробі читання цього файлу Windows повідомляє про порушення спільного доступу, тому що для системи цей файл завжди відкритий і запис у нього робить тільки сама Windows. Однак, одержати як дані із цього файлу, так і доступ до нього, все-таки можна. Інформацію з нього можна витягти навіть у працюючій системі, але тільки з-під облікового запису Адміністратора. Тут є два методи одержання даних – метод програми PWDUMP (який використається в програмах PWDUMP, LC4, LC+4 й ін.) і метод з використанням планувальника завдань (використається в програмі SAMInside).

Метод PWDUMP – програма підключається до системного процесу LSASS і з його правами (і його ж методами) витягає хеші з вітки SAM реєстру, тобто фактично з SAM-файлу.

Метод планувальника – за замовчуванням в Windows 2000/XP системна утиліта Scheduler має права користувача SYSTEM, тобто повний доступ до системи. Тому, якщо призначити Планувальникові завдання зберегти певну вітку реєстру у файл, наприклад, то він у призначений час збереже її на диск. Після чого із цього файлу витягаються хеші всіх користувачів цього комп'ютера.

А що робити, якщо пароля Адміністратора немає й, відповідно, його прав теж? Тоді зловмисникові залишається наступне – якщо на комп'ютері встановлено кілька операційних систем, то завантажуючись у кожну з них (навіть в Linux) можна одержати доступ до системного диску Windows 2000/XP і скопіювати SAM-файл в інший каталог, щоб потім "у спокійній обстановці" завантажити його в потрібну програму для відновлення з нього паролів.

Більше того, існують програми, здатні змінювати інформацію прямо в SAM-файлі, міняючи й додаючи користувачів, а також їхні паролі. Правда, для цього також необхідно завантажуватися в іншу ОС і мати повний доступ до системного диску Windows 2000/XP. Навіть якщо системний диск Windows має файлову систему NTFS, то все одно можна одержати до нього доступ, використовуючи завантажувальну дискету, створену в програмі NTFSDos Pro. Потім, після завантаження з неї, примонтувати потрібний NTFS-розділ і скопіювати з нього потрібні файли. Якщо ж ви адмініструєте сервер мережі на основі Windows 2000/XP, то враховуйте, що крадіжка вашого SAM-файлу може привести до того, що в руках зловмисника виявляться не тільки ваш пароль, але й паролі всіх користувачів мережі (тобто їхні паролі на вхід в Windows), тому що всі ці користувачі мають свої облікові записи на сервері.

Як описувалося вище, у сучасних NT-системах застосовується додаткове шифрування хешів алгоритмом syskey. Донедавна хеші з SAM-файлу, скопійованого із цих ОС, розшифровці не піддавалися, тому що цей алгоритм досить складний, ніде не публікувався й практично не аналізувався. Але тепер можна витягати хеші, навіть із зашифрованих цим алгоритмом SAM-файлів, використовуючи програму SAMInside. Правда, для декодування хешів цій програмі необхідний ще й файл SYSTEM, розташований там, де й SAM, тому що в ньому зберігаються деякі ключі реєстру. необхідні для дешифрування хешів алгоритмом syskey. Цей файл також відкритий тільки для системи, але, як ми з'ясували вище, якщо можна одержати доступ до SAM-файлу, то й файл SYSTEM копіюється тими ж способами.

З вищесказаного випливають наступні рекомендації:

– на вашому комп'ютері не повинно бути встановлено ніяких інших систем (Windows 98/ME, Linux та ін.), крім тієї ОС, що ви використовуєте в роботі (Windows 2000 або Windows XP);

– системний диск обов'язково повинен мати файлову систему NTFS;

– потрібно заборонити завантаження з будь-яких пристроїв, крім системного диску;

– на мережних серверах максимально знизити кількість перезавантажень комп'ютера й позбавити права на перезавантаження всіх груп користувачів, крім облікового запису Адміністратора.

Відновлення паролів користувачів

Програм, призначених для відновлення паролів Windows 2000/XP, на ринку ПО небагато й всі вони досить відомі. Це LC4 від @stake (www.atstake.com), LC+4 від nh (www.lcp.da.ru), AdvancedNTExplorer від Elcomsoft (www.elcomsoft.com) і утиліта SAMInside від InsidePro Software (www.insidepro.com). Microsoft не поспішає міняти принципи аутентифікації користувачів і наочний приклад цьому Windows 2003, тому що паролі до неї відновлюються цими ж утилітами й навіть версією алгоритму syskey у ній не змінилась. Алгоритми MD4 і DES (застосовувані для формування LM Hash і NT Hash) уважаються необоротними, точніше скажемо так – їхню оборотність математично ще не довели. Тому одержання паролів з хешів прямими математичними методами неможливо. Залишається тільки одне – перебирати паролі, формувати хеші на основі цих паролів і порівнювати хеші з тими, які отримані з SAM-файлу. Якщо хеші збігаються, то й пароль, що сформував такий же хеш – вірний. Таким чином, для одержання пароля Адміністратора, потрібно одержати доступ до SAM-файлу, а потім за допомогою програми-переборщика паролів, спробувати відновити потрібний пароль.

Рис. 2 – Головне вікно утиліти SAMInside

І тут ми зіштовхуємося з одним неприємним для користувачів (і приємним для зломщиків) моментом – як пам'ятаємо, LM Hash формується на основі "половинок" по 7 символів вихідного пароля й має максимальну довжину вихідного пароля в 14 символів. Тому для відновлення 14-символьного пароля з алфавітом в N символів потрібно перебрати не N14 варіантів, а 2 * (N7) варіантів, що незрівнянно менше! Наприклад, при спробі відновити пароль "MARGARITA", використовуючи як алфавіт тільки латинські букви, у програмі SAMInside (наприклад), ми моментально знайдемо другу частину пароля – "TA", а потім через деякий час – і першу частину пароля – "MARGARI", тому що ця програма шукає обидві половинки пароля одночасно!

Тому "складний" (на перший погляд) 14-символьний пароль по LM Hash відновлюється як два "простих" паролі по 7 символів. Більше того, при формуванні LM Hash пароль переводиться у верхній регістр, тому хеші від паролів "ADMIN", "Admin" і "admin" будуть однаковими!

Інша справа – NT Hash. Тут пароль не "розбивається" на частині й максимальній довжині пароля становить 128 символів. Так ще й ураховується регістр букв пароля. Тому вищенаведені паролі дадуть різні хеші!

Відповідно, для відновлення пароля з латинських букв потрібно використати як алфавіт уже 52 символи (26 заголовних латинських символів і 26 рядкових), а не тільки 26 заголовних, як при відновленні пароля по LM Hash.

Важливе зауваження: якщо пароль користувача більше 14 символів, то Windows 2000/XP автоматично відключають формування LM Hash, залишаючи тільки NT Hash, відновити пароль по NT Hash набагато складніше. Відключити формування LM Hash також можна через реєстр.

В Windows XP, наприклад, для цього потрібно в гілці HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa створити параметр "NoLMHash" типу DWORD зі значенням 1.

Дотримуйтеся наступних рекомендацій:

– ваші паролі на вхід в Windows повинні бути довші за 14 символів або ж вимкніть формування LM Hash, тобто залишіть потенційному зломщикові можливість відновлювати ваш пароль тільки по NT Hash;

– паролі повинні мати символи як у верхньому, так і в нижньому регістрах.

Звичайно ж, крім повного перебору всіх варіантів пароля, застосовуються й інші методи – гібридна атака або атака по масці, а також атака по словнику. Ці методи більш ефективні, ніж повний перебір і в деяких випадках дозволяють набагато швидше знаходити паролі.