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

:: Друзі ::

--

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

 

 

 

 

 


Атаки проти IIS 5


По зростаючій популярності з атаками на протоколи NETBIOS або 8mb можуть порівнятися лише численні методології атак на US (Internet Information Server), оскільки це єдина служба, обов'язково присутня в підключених до Internet системах під управлінням Nt/2000. Ця служба вбудована в операційні системи сімейства Windows 2000. За умовчанням сервер IIS 5.0 і служби Web доступні у всіх серверних версіях. І хоча питання, пов'язані з хакингом в Web, будуть детальніше розглянуті в розділі 15, ми не можемо обійти своєю увагою атаку на Internet Information Server, широко обговорювану комп'ютерною громадськістю перед самим виходом в світ цієї книги.

Проблема US "Translate: f"


Проблема, пов'язана з розтином коди (showcode) не нова: вона була властива і ранішим версіям Internet Information Server. Вона отримала назву Translate: f і була описана Данієлем Дочкалом (Daniel Docekal) в бюлетені Bugtraq. Ця проблема є хорошим прикладом ситуації, коли зломщик направляє Web-серверу несподівані дані і тим самим примушує його виконувати неприйнятні в звичайних умовах дії. Це класичний вид атаки проти протоколів обробки документів типу HTTP.
Атака Translate: f полягає у відправці спотвореного запиту GET протоколу HTTP на виконання серверного сценарію або обробку іншого файлу аналогічного типу (наприклад, файлів з розширенням .ASP (Active Server Pages) або global.asa). Ці файли призначені для виконання на сервері, а не на клієнтському комп'ютері. Видозміна запиту приводить до того, що Internet Information Server направляє вміст файлу видаленому клієнтові, а не виконує його з використанням відповідного механізму обробки сценаріїв. Ключовою властивістю спотвореного запиту GET для протоколу HTTP є наявність спеціального заголовка, що завершується виразом Translate: f, і використання адреси URL, що завершується символом зворотною косою \. Нижче наводиться приклад такого запиту (рядок [CRLF] означає символ повернення каретки/перекладу рядка, який в шістнадцятиричній системі числення має код ODOA). Звернете увагу на зворотну косу після імені файлу global .asa і заголовок Translate: f.

Get/global.asa\ Http/1.0
Host: 192.168.20.10
User-agent: Sensepostdata
Content-type: application/x-www-form-urlencoded
Translate: f
[CRLF]
[CRLF]

Якщо шляхом конвеєрної обробки текстовий файл з цією інформацією направити (за допомогою утиліти netcat) на уразливий сервер IIS, то в командному рядку відобразиться вміст файлу /global, as а:

D:\type trans.txtI nc -nw 192.168.234.41 80
(UNKNOWN) [192.168.234.41] 80 (?) open
Http/1.1 200 OK
Server: Microsoft-iis/5.0
Date: Wed, 23 Aug 2000 06:06:58 GMT
Content-type: application/octet-stream
Content-length: 2790
Etag: "0448299fcd6bf1:bea"
Last-modified: Thu, 15 Jun 2000 19:04:30 GMT
Accept-ranges: bytes
Cache-control: no-cache
<!-Copyright 1999-2000 bigcompany.com—>
<object Runat=server Scope=session Id=fixit
Progid="bigco.object"x/object>
("Connectiontext") = "
Dsn=phone;UID=superman;Password=test;"
("Connectiontext") = "
Dsn=backend;UID=superman;PWD=test;"
("Ldapserver") = "Ldap://idap.bigco.com:389"
("Ldapuserld") = "cn=admin"
("Ldappwd") = "password"

Ми злегка модифікували вміст файлу global.asa, щоб продемонструвати найбільш характерну інформацію, яку може витягувати з нього злом-шик. На жаль, на багато вузлах до цих пір вбудовують паролі додатків в ASP і ASA-файлы, підвищуючи тим самим вірогідність подальшого проникнення хакерів в свої пенати. Як видно з цього прикладу, зломщик, що розкрив вміст файлу global.asa, отримує в своє розпорядження паролі багатьох серверів нижнього рівня, включаючи систему LDAP.
Готові сценарії злому на мові Perl, що спрощують описану вище процедуру використання команди netcat, можна знайти в Internet (автори цієї книги користувалися сценаріями tarans.pl Ройлофа Теммінга (Roelof Temmingh) і srcgrab.pl Смайлера (Smiler)).

Коріння проблеми Translate: f - протокол WEBDAV і канонізація


При першому виявленні цієї проблеми навколо її причин розгорілися бурхливі спори. Офіційна позиція компанії Microsoft зводилася до того, що причиною є некоректна поведінка внутрішнього обробника файлів в ядрі US (що у минулому дійсно приводило до деяких проблем). Ця позиція була обнародувана в розділі Msoo-58, присвяченому питанням безпеки за адресою http: //www.microsoft.com/technet/security/bulletin/fq00-058.asp.
Проте Данієль Дочкал (Daniel Docekal) вважає, що причиною проблеми є протокол WEBDAV (Web Distributed Authoring and Versioning) — протокол забезпечення стандартів Internet, підтримуваний переважно компанією Microsoft і що дозволяє видаленим авторам створювати, видаляти, переміщати, знаходити і змінювати атрибути файлів і каталогів на Web-серверах (відчуваєте, з якими проблемами це може бути зв'язано?). Протокол WEBDAV Web-сервером IIS 5 підтримується за умовчанням. І хоча заголовок HTTP Translate: не описаний в специфікації протоколу WEBDAV (RFC 2518) або інших відомих авторам документах, Данієль Дочкал стверджує, що зустрічав посилання на нього в бібліотеці мережі MSDN компанії Microsoft. За його словами, там розповідалося про використання цього заголовка для отримання файлового потоку шляхом вказівки значення F (false) в полі заголовка Translate.
В процесі обговорення цього питання з групою забезпечення безпеки продуктів Microsoft з'ясувалося, що це дійсно так. За їх словами протокол WEBDAV реалізований в динамічній бібліотеці httpext.dll у вигляді фільтру ISAPI, що інтерпретує Web-запросы до їх передачі ядру IIS. Заголовок Translate: f припускає обробку цього запиту, а зворотна коса вводить фільтр в оману, і він направляє цей запит безпосередньо операційній системі. Система Win 2000 благополучно повертає цей файл системі зловмисника, а не виконує його на сервері (як годиться по всіх правилах).
Тут ми впритул підійшли до питання канонізації (canonicalization). Це поняття описане фахівцями компанії Microsoft в розділі Msoo-57 за адресою http://www.microsoft.com/technet/security/bulletin/fq00-057.asp. Там мовиться наступне: "Канонізація — це процес приведення різних еквівалентних форм імені до єдиного стандартного імені, званого канонічним ім'ям (canonical name) . Наприклад, на даному комп'ютері імена c:\dir\test.dat і . . \. . \test.dat можуть посилатися на один і той же файл. Канонізація — це процес приведення таких імен до виду c:\dir\test.dat."
Використання однієї з різних еквівалентних форм канонічного імені файлу може привести до обробки запиту іншими засобами IIS або операційної системи. Хорошим прикладом проблеми канонізації є розтин початкової коди за допомогою виразу : :$DATA. Якщо до деякого файлу звернутися по спеціальному імені, то файл буде повернений броузеру в некоректному вигляді (Докладніша інформація про це міститься в розділі 15).
Так само працює і заголовок Translate: f. Значення f вводить службу WEBDAV в оману, внаслідок чого файловий потік повертається броузеру.

Контрзаходи: рішення для проблеми Translate: f


Щоб зменшити ризик, пов'язаний з проблемою Translate: f і іншими спробами розтину коди, досить просто мати на увазі, що будь-які виконувані на сервері файли можуть бути видимі користувачам Internet і ніколи не зберігати в них секретну інформацію. Невідомо, чи зв'язано це із спробами розтину коди, що почастішали, але компанія Microsoft пропонує такий підхід як "звичайну рекомендацію по безпеці" в розділі FAQ Ms00-58, вже згаданому раніше.
Ще один спосіб вирішення цієї проблеми зводиться до установки сервісного пакету Service Pack 1 до системи Win 2000, згаданого в тому ж розділі FAQ. При його установці IIS інтерпретуватиме серверні виконувані сценарії і схожі типи файлів за допомогою відповідного механізму обробки сценаріїв на сервері незалежно від типу заголовка.
Як указує Расі Купер (Russ Cooper) (бюлетень Ntbugtraq), проблема Translate: f істотно пов'язана з версією сервера IIS. Наприклад, модуль оновлення для 1IS4 успішно вирішує цю проблему. Таким чином, вирішення вказаної проблеми зводиться до наступного.
1. Аналогічна проблема для Iis4.0/iis5.0, а також проблема розміщення віртуальних каталогів на спільно використовуваних дисках з іменами UNC, вирішується за допомогою Msoo-019. Таким чином, після установки сервісного пакету системи з сервером IIS 4 стають невразливими для таких атак.
2. Системи на базі IIS 5.0 (із застосуванням Msoo-019 або без) необхідно відновити за допомогою сервісного пакету Sp1 або Ms00058.
Відмітимо також, що якщо для віртуального каталога IIS, що містить потрібний файл, встановлений дозвіл, відмінний від Read, то при атаці Translate: f буде повернена помилка "HTTP 403 Forbidden" (навіть якщо встановлений режим Show Source Code). Якщо ж для віртуального каталога, що містить вказані файли встановлений дозвіл Read, то ці файли можуть бути доступні зломщикові.
Сподіваємося, цей екскурс в країну 1is буде корисний читачеві і допоможе усвідомити один із способів проникнення в операційну систему. Докладніша інформація про атаки на IIS міститься в розділі 15.




:: Реклама ::

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


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

-


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

-


 

 

 

 


Copyright © Klab-F 2008