Архів для категорії 'Статті'

Використання XXE уразливостей для атак на інші сайти

22:45 19.06.2013

В статті Використання XML External Entities (XXE) для атак на інші сайти я вже розповідав про XXE уразливості, що можуть використовуватися для атак на інші сайти. І зараз я продовжу тему використання XXE уразливостей для DoS і DDoS атак.

В класифікації уразливостей WASC TC v2.0 є такий клас як XML External Entities (XXE) (WASC-43). Який ще називають XXE Injection.

Окрім використання даних уразливостей для читання вмісту локальних файлів, їх можна використати для з’єднання з зовнішніми серверами. Тобто можна робити запити до інших веб сайтів і через дані уразливості можна проводити CSRF і DoS атаки на інші сайти.

Атака відбувається через тег ENTITY. Якщо в ньому вказати зовнішній ресурс - “http://site/page”, то відбудеться запит до сторінки зовнішнього сайта. Що можна використати для атак на зовнішні сайти, як я писав в попередній статті.

<?xml version="1.0"?>
<!DOCTYPE foo [
  <!ELEMENT methodName ANY>
  <!ENTITY xxe SYSTEM "http://site/page" >]>
<methodCall>
  <methodName>&xxe;</methodName>
</methodCall>

XXE Injection уразливості були виявлені в багатьох продуктах. Окрім раніше згаданих продуктів, наведу нові програми з XXE уразливостями:

  • libraptor - уразливість в бібліотеці, що використовується багатьма програмами, зокрема офісними пакетами. Аналогічно її можуть використовувати й веб додатки (зокрема Ruby підтримує бібліотеку libraptor), які будуть вразливі для даних атак.
  • Advanced XML Reader - плагін для WordPress.
  • PHP 5.3 і 5.4 - дана уразливість була виправлена PHP 5.3.23 та PHP 5.4.13. В попередніх версіях PHP, веб додатки, що працюють з SOAP WSDL-файлами, можуть використовуватися для даних атак.
  • WordPress 3.5 і 3.5.1 - окрім плагінів для WP, XXE уразливість також є в самому движку.
  • Sybase EAServer - вразливі 6.3.1 та попередні весії.
  • Spring Framework - вразливі додатки, що використовують даний framework.

Для автоматизації атак на інші сайти можна використати такий інструмент як DDoS attacks via other sites execution tool (DAVOSET). Abuse of Functionality дірки передбачали відправлення як GET, так і POST запитів. DAVOSET був розроблений для GET запитів.

XXE Injection атака передбачає відправлення спеціального XML-запиту методом POST. Тому інструмент для проведення атак на інші сайти через XXE уразливості повинен підтримувати POST метод. І його підтримку я планую додати в DAVOSET.

Виконання коду в Internet Explorer

22:43 13.06.2013

Продовжуючи розпочату традицію, після попереднього відео про хакінг MMORPG для забави та прибитку, пропоную нове відео на веб секюріті тематику. Цього разу відео про виконання коду в Internet Explorer. Рекомендую подивитися всім хто цікавиться цією темою.

CVE-2013-1347 Microsoft Internet Explorer 8 Vulnerability Metasploit Demo

В даному відео ролику демонструється використання Metasploit Framework для проведення атаки на уразливість в Internet Explorer 8. В Metasploit створюється і запускається експлоіт для IE, який призводить до віддаленого виконання коду в Internet Explorer 8 при відкритті сторінки з кодом експлоіту. Що дозволяє нападнику отримати контроль над атакованим комп’ютером.

Атака відбувається при відвідуванні в IE спеціально створеного веб сайта, що містить код експлоіту. Рекомендую подивитися дане відео для розуміння векторів атак на браузери.

Використання тегів frameset та iframe для проведення XSS атак

22:39 11.06.2013

Про оригінальні методи проведення Cross-Site Scripting атак я писав неодноразово, зокрема в статті обхід фільтрів для проведення XSS атак. І зараз я розповім про нові мої розробки в галузі обходу XSS фільтрів.

Ще 08.09.2008, коли я досліджував уразливості у браузерах, я звернув увагу на можливість використання фреймів, яка на той момент не була широко відомою. Можливе використання тегів frameset та iframe для проведення XSS атак, причому в інший спосіб, ніж описано в найбільш відомому переліку технік XSS атак - XSS Cheat Sheet (що раніше розміщувався на сайті RSnake, а зараз він встановив редиректор на XSS Filter Evasion Cheat Sheet від OWASP, яка заснована на його матеріалах).

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

Якщо раніше при використанні тегів frameset та iframe XSS код розміщувався у властивості src і потрібно було вказувати URI (javascript, vbscript чи data), щоб виконати код. І захисні фільтри (веб додатка чи WAF) могли це виявити - по перевірці на src чи на наявність відповідних URI. То я придумав метод, що дозволяє виконати код іншим чином (і JS/VBS код можна вказати без URI), і це дозволяє обійти подібні захисні фільтри. Мій метод передбачає використання обробника onload для тегів frameset та iframe (тобто атака відбувається подібно до тега body).

Раніше відомі методи (згадані в XSS Cheat Sheet):

<frameset><frame src="javascript:alert(document.cookie)"></frameset>
<iframe src="javascript:alert(document.cookie)">

Працює в усіх моїх браузерах. Але в Mozilla 1.7.x, Chrome та Opera код виконується без доступу до кукісів (причому в Mozilla код виконується в домені null, а в Opera в about:blank).

Придумані мною методи (не згадані в XSS Cheat Sheet ні в 2008, ні в 2013 роках):

<frameset onload="alert(document.cookie)">
<iframe onload="alert(document.cookie)">

Працює в усіх моїх браузерах. Зокрема в Mozilla 1.7.x, Mozilla Firefox 3.0.19, 10.0.7 ESR, 15.0.1, Internet Explorer 6, 7, 8, Chrome 1.0.154.48, Opera 10.62. І з доступом до кукісів в усіх браузерах.

Хакінг MMORPG для забави та прибитку

22:42 05.06.2013

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

DEFCON 19: Hacking MMORPGs for Fun and Mostly Profit

Два роки тому на конференції DEFCON 19 відбувся виступ Josh Phillips та Mike Donnelly. В своєму виступі вони розповіли про взлом Massively multiplayer online role-playing game (MMORPG). Коли знаходяться уразливості на серверній чи клієнтській частини MMORPG, які використовуються для різних атак, зокрема фінансового характеру (як то для збільшення внутрішньо ігрової валюти, яку нерідко можна конвертувати в реальні гроші). Дане відео продовжує тему взлому онлайнових ігор.

Вони розповіли про реверсивну інженерію клієнтів та протоколів MMORPG на прикладі популярних ігор. Рекомендую подивитися дане відео для розуміння сучасних атак на Інтернет ігри.

Тестування сканерів бекдорів

23:50 25.05.2013

Пропоную ознайомитися з мою статтею про тестування різних сканерів бекдорів на веб сайтах, що я провів на цьому тижні.

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

Тестування сканерів бекдорів серед плагінів для WordPress

Мною були дослідженні наступні сканери:

1. WordPress Exploit Scanner (дві версії).
2. Belavir.
3. AntiVirus for WordPress.
4. WordPress File Monitor.

З результатами тестування можете ознайомитися в даній статті.

Фазінг онлайнових ігор

22:48 23.05.2013

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

DEFCON 20: Fuzzing Online Games

Торік на конференції DEFCON 20 відбувся виступ Elie Bursztein та Patrick Samy. В своєму виступі вони розповіли про фазінг онлайнових ігор, коли проводиться аналіз ігор, про внутрішню структуру яких нічого невідомо, шляхом відправлення спеціальних даних з метою виявлення уразливостей. Немає сумнів, що онлайнові ігри мають уразливості, які можуть бути використані для різних атак, зокрема фінансового характеру (як то для збільшення внутрішньо ігрової валюти, яку нерідко можна конвертувати в реальні гроші).

Вони розповіли про власні розробки для фазінга онлайнових ігор. Рекомендую подивитися дане відео для розуміння сучасних атак на Інтернет ігри.

DoS в онлайн інтерпретаторах

22:45 22.05.2013

В 2010 році я писав про Міжмовний XSS (Cross-Language Scripting) - XSS уразливості в онлайн інтерпретаторах, а зараз розповім про DoS уразливості в онлайн інтерпретаторах.

Denial of Service уразливості я знаходив у двох інтерпретаторах: в 2009 році в MustLive Perl Pascal Programs Interpreter та в 2012 році в TryRuby. В обох виявлених випадках, це були DoS атаки через споживання ресурсів (в даному випадку пам’яті сервера). Відповідно до класифікації DoS уразливостей у веб додатках - це DoS перенавантаження.

MustLive Perl Pascal Programs Interpreter

Коли я створив свій інтерпретатор в 2006 році, зокрема у версії Perl Pas Interpreter 1.2, коли я додав веб інтерфейс, я зробив надійних захист від DoS атак. Але у 2009 році я виявив можливості для обходу захисних механізмів та проведення DoS атак.

Тоді один відвідувач мого сайту виявив можливість DoS атаки на поглинання пам’яті сервера через функцію concat. Після перевірки, я підтвердив уразливість в цій функції, а також виявив ще інші функції через які можна провести подібну атаку. Що я виправив у своєму інтерпретаторі у березні 2009 року.

Код для проведення DoS атаки:

s := ‘Hello world!’;
for i:=0 to 25 do s := concat(s, s);

25.03.2009 у версії 1.4.8 я покращив захист від DoS, шляхом обмеження розміру строкових даних до 255 символів (бо з перших версій інтерпретатора я не робив обмежень на розмір строкових даних, хоча у класичному Паскалі вони обмежені 255 символами, і в цій версії я зробив їх розмір як у класичному Паскалі). Це обмеження розміру строкових даних я додав в оператор присвоєння та у функції concat та insert, а пізніше у версії 1.4.10 я додав це обмеження у функції pos, delete та copy (через pos атаку не проведеш, але для уніфікації функцій). Таким чином всі функції для роботи зі строковими даними захищені від DoS атак.

TryRuby

Даний інтерпретатор розміщений на сайті tryruby.org і доступний на різних уроках (http://tryruby.org/levels/1/challenges/0). Як я вияснив, він використовує JRuby Sandbox, тому DoS також стосуються цієї програми. При відправленні спеціального коду в інтерпретатор (наприклад, повторенні рядка на 1 мільйон або більше разів), відбувається сильне навантаження сервера.

"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" * 1000000

DoS уразливість наявна в строкових функціях: в операторі повтору (*), в операторах конкатенації (+, << і методі concat) та в insert.

str = "DoS"
for i in 1..50 do str.concat(str) end

Для атаки потрібно постійно слати подібний код (з оператором повтору, конкатенації чи включення) через спеціальний PUT запит веб додатку http://tryruby.org/levels/1/challenges/0/play, щоб тримати сервер недоступним.

Висновки.

Наведені приклади продемонстрували DoS уразливості через споживання ресурсів, зокрема пам’яті сервера. Такі уразливості мали місце при роботі з строковими даними.

Вони можуть бути використані для атак на сервери з онлайн інтерпретаторами. Так що такі уразливості трапляються в онлайн інтерпретаторах і розробникам подібних програм потрібно звертати на це увагу, щоб надійно захищати їх від DoS атак.

Протокол безпечних cookie

20:34 18.05.2013

В документі A Secure Cookie Protocol розповідається про протокол безпечних кукісів. Про його необхідність та про можливість створення такого протоколу.

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

В статті розглянуті наступні проблеми створення протоколу безпечних cookie:

1. Secure Cookie Protocol.
2. Протокол Fu та його проблеми.
3. Протокол авторів, що вирішує усі проблеми з безпекою протокола Fu.
4. Реалізація та швидкодія.
5. Інші проколи безпечних кукісів.

Враховуючи переваги протоколу розробленого авторами, вони рекомендують його для використання у веб додатках. Зокрема розробники WordPress використовують цей алгоритм для створення кукісів починаючи з версії WP 2.5.

Виконання коду в Mozilla Firefox

20:15 17.05.2013

Продовжуючи розпочату традицію, після попереднього відео про 0day eксплоіт для Internet Explorer, пропоную нове відео на веб секюріті тематику. Цього разу відео про виконання коду в Mozilla Firefox. Рекомендую подивитися всім хто цікавиться цією темою.

CVE-2011-3658 Firefox 7/8 nsSVGValue Vulnerability Metasploit Demo

В даному відео ролику демонструється використання Metasploit Framework для проведення атаки на уразливість в Mozilla Firefox 7 і 8. В Metasploit створюється і запускається експлоіт, який призводить до віддаленого виконання коду в Firefox при відкритті сторінки з кодом експлоіту. Що дозволяє нападнику отримати контроль над атакованим комп’ютером.

Атака відбувається при відвідуванні в Firefox спеціально створеного веб сайта, що містить код експлоіту. Рекомендую подивитися дане відео для розуміння векторів атак на браузери.

0day eксплоіт для Internet Explorer

22:45 10.05.2013

Продовжуючи розпочату традицію, після попереднього відео про атаки через JavaScript ботнети, пропоную нове відео на веб секюріті тематику. Цього разу відео про 0day eксплоіт для Internet Explorer. Рекомендую подивитися всім хто цікавиться цією темою.

Ethical Hacking: IE Zero Day Exploit

В даному відео ролику демонструється використання Metasploit Framework для проведення атаки на уразливість в Internet Explorer 7, 8 і 9. В Metasploit створюється і запускається експлоіт для IE, який призводить до віддаленого виконання коду в Internet Explorer при відкритті сторінки з кодом експлоіту. Що дозволяє нападнику отримати контроль над атакованим комп’ютером.

Атака відбувається при відвідуванні в IE спеціально створеного веб сайта, що містить код експлоіту. Рекомендую подивитися дане відео для розуміння векторів атак на браузери.