Главная Обратная связь

Дисциплины:






Windows v4.0 (windows 95) (старий формат PWL файлу)



...

23A: Зсув у файлі початку ресурсу F, відносно початку файлу

23C: Зсув першого байта за кінцем файлу (дорівнює довжині файлу).

023E: Ресурс 0

Ресурс 1

Ресурс 2

...

Ресурс F

У "новому" форматі:

 

За адресою 0x208 знаходиться DWORD (у нас він дорівнює 0x00000252), що визначає зсув CryptoSign.

З адреси 0x20C по 0x24C розташовується масив CryptoSeed[16], необхідний для декодування всіх 16 ресурсів.

З адресою 0x24C розташовується CheckSeed (DWORD), з якого і починається декодування PWL- файлу.

Далі по адресах 0x250і0x251йдуть два нульових байти. Яку вони несуть функцію - невідомо.

За адресою 0x252 розташовується масив CryptoSign (16 байт).

За адресою 0x262 розташовується масив CheckSign (16 байт) - цей масив разом з CryptoSign є "контрольним значенням" для визначення правильності пароля.

За адресою 0x272 розташовується масив з 15 WORD'ов - це адреси 15 ресурсів, починаючи з другого. Адреса ж першого ресурсу завжди та сама і складає 0x290. Ці адреси вже є зашифрованими.

Як ми бачимо - дійсно там знаходяться адреси! Ці адреси ніколи не можуть бути однаковими і виходить, якщо ресурс порожній, то він усе рівно займає 2 байти - це ми бачимо на початкових адресах: 0x292, 0x294 - ці значення посилаються на "сміття", ресурси ж у цьому файлі знаходяться по адресах 0x296 ... 0x2B2 і 0x2C4...0x2D8 - це видно по тому, що різниця між цими сусідніми адресами більше двох байт і тому що ми вже відзначали вище (у нас 3-й і 13-й блок мають ресурси).

А з адреси 0x290 починаються безпосередньо ресурси. Ці дані також зашифровані.

Якщо ж у файлі ресурси відсутні, то починаючи з адреси 0x290 у PWL-файлі розміщаються нульові слова для кожного з 16 ресурсів так само, як і в Windows 95. Такий файл буде мати довжину, що разраховується за формулою 290h + 16*2 = 2B0h = 688байт.

 

6. Принципи шифрування, які використовуються у файлі парольного кешу WINDOWS 9x.

Для більшої важливості вся інформація у файлі парольного кеша зашифрована із застосуванням досить криптостійких алгоритмів RC4 і MD5.

Алгоритм RC4 є алгоритмом потокового шифрування і вважається цілком стійким, MD5 - алгоритм створення дайджестів (згорток) повідомлень, досить швидкий у реалізації, розроблювач R.Rivest.

Процедура шифрування/дешифрування парольного кеша зберігається в бібліотеці, що динамічно підключається, MSPWL32.DLL. Крім того, керуванням локальними ресурсами машини, наданими в мережу, займається VSERVER.vxd, а обміном інформацією з віддаленими серверами VREDIR.vx.Безумовно, у зв'язці працюють так само MSNET32.dll, MSNP32.dll та інші.



RC4

Алгоритм RC4, как и любой потоковый шифр, строится на основе параметризованного ключом генератора псевдослучайных битов с равномерным распределением. Длина ключа может составлять от 40 до 256 бит.

Основные преимущества шифра — высокая скорость работы и переменный размер ключа. RC4 довольно уязвим, если используются не случайные или связанные ключи, один ключевой поток используется дважды. Эти факторы, а также способ использования когут сделать криптосистему небезопасной (например WEP).

MD5

MD5 (англ. Message Digest 5) — устаревший, криптографически взломанный, 128-битный алгоритм хеширования, разработанный профессором Рональдом Л. Ривестом из Массачусетского технологического института (Massachusetts Institute of Technology, MIT) в 1991 году. Предназначен для создания «отпечатков» или дайджестов сообщения произвольной длины и последующей проверки их подлинности. Программистам, владельцам веб-сайтов, пользователям следует избегать использования MD5 в любых целях. Одной из альтернатив являются алгоритмы семейства SHA-2.

7. Порівняйте захист файлу парольного кешу у WINDOWS v4.0 та Windows v4.1. З якої причини перша вважається менш захищеною?

Windows v4.0 (windows 95) (старий формат PWL файлу)

PWL – PassWord List.

У PWL-файліWindows 95 для шифруваннявикористовуєтьсяпростегамування, де гама генерується алгоритмом RC4. Незважаючи на удаванунадійністьцьогоалгоритмурозшифровкаможебутивиконанадосить легко навіть тими, хто в про нього не чув.

Справавтім, щоцим алгоритмом зашифровуєтьсяйім'якористувача, щорозміщуєтьсявPWL-файлівдіапазоніадресз0208 по 021B. Ім'я ж, у свою чергу, практичнозавждивідомоабозназви самого PWL-файлу, абозвідповідноїсекціїконфигурючогофайлу SYSTEM.INI.

Далімивикористовуємовідомувластивістьоборотностілогічноїоперації XOR, по якійнакладається гама: (X XOR Y) XOR Y = X

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

Якщо пощастить, то ми можемо довідатися більше число байт, що належать гамі. Справа в тім, що PWL-файл має надлишкову інформацію - є покажчики на початок ресурсів (021E, 0220, 0222 і т.д.), але є і довжина записів у ресурсах, тому знаючи один з параметрів, можна обчислити інший.

Якщо в ресурсах не більш одного запису, то довжина ресурсу є перше слово ресурсу плюс два (довжини першого запису ресурсу плюс довжина нульового слова). Визначаючи по початку і довжині даного ресурсу початок наступного, розраховується вся таблиця покажчиків на початки ресурсів у полі 21Ch-23Dh. У результаті ще 2*17 = 34 байти додаються до розрахованої гами. Якщо в ресурсах більше одного запису, то початок наступного ресурсу все рівно можна знайти з деякою часткою імовірності (після накладення гами другий байт ресурсу буде дорівнює другому байту гами, тому що довжина записів у ресурсі рідко перевищує 255, а 0 XOR X = X ). Цей алгоритм реалізований у відомій програмі Glide, що розраховує 54 перших байта гами і розшифровує по 54 перших байта кожного ресурсу.





sdamzavas.net - 2018 год. Все права принадлежат их авторам! В случае нарушение авторского права, обращайтесь по форме обратной связи...