31.12.2009

Пять способов взломать (и защитить) сети «by Microsoft»

В этой статье я постарался скомпилировать наиболее распространенные угрозы  безопасности сетей, построенных на основе решений Microsoft, и описать методы защиты от связанных атак.

Владимир Тигров

Существует множество инструкций и рекомендаций по защите сетей. Но зачастую им недостает одной малости: привязки к реальным угрозам. В этой статье я постарался скомпилировать наиболее распространенные угрозы  безопасности сетей, построенных на основе решений Microsoft, и описать методы защиты от связанных атак. Число пять было выбрано с помощью сертифицированного ФСБ генератора случайных чисел.

Кто пасется на лугу?

Сетевой периметр – основа безопасной информационной системы, т.к. фильтрация трафика является  базовым защитным механизмом.  Не смотря на то, что эта технология развивается с 1988 года, основная проблема, связанная с фильтрацией трафика, была и остается неизменной со времен DEC'овских пакетных фильтров.

Давайте попробуем угадать, в чем она заключается. Сложности с обработкой IP-фрагментации? Сбор и контроль TCP-сессий? Обработка протоколов прикладного уровня? Сложности работы с зашифрованным трафиком?... Нет, нет и еще раз нет!
Главная проблема межсетевых экранов заключается в неадекватной реализации политики фильтрации трафика. Зачастую на периметре сети можно встретить сетевые службы, о которых не подозревают ИТ- и ИБ- специалисты, и демонстрация их наличия взывает многочасовые разборки на тему «Где эта ..? (C)».

Что это у нас там торчит на порту 23523? Служба Remote Desktop или Radmin, «прокинутая» администратором для «подкрутки» контролера домена в случае «падения» VPN? «Забытый» разработчиком SQL-сервер с пустым паролем SA? «Недозакрытый» 1026/445/UDP, через который в сеть проползет «специально обученный» вариант Kido?

Рисунок 1 Вот какие шутки встречаются на периметре сети

Кажется нереальным? Удел «школоты»? Ошибаетесь! Эти примеры взяты из реальной жизни и были  обнаружены автором в 2009 году в больших и серьезных корпоративных сетях.

Защитой от подобных проблем является постоянный мониторинг правил межсетевого экранирования.  Можно, конечно, пытаться вручную анализировать сотни правил в ACL, но гораздо более адекватную картину можно получить с помощью сетевых сканеров.

Рисунок 2 Сканирование портов, определение ПО – не так уж много. Но для взлома хватит

Сетевые сканеры позволяют быстро определить реально доступные из Интернета сетевые службы, их версии, а иногда и уязвимости. Более того, большинство современных программ подобного класса поддерживают функцию дифференциальных отчетов, т.е. могут формировать картину изменений в сети. Например,  вновь открытые сетевые службы, изменения в версиях и конфигурациях, и .т.д.Причем эта информация может просто приходить на почту в ситуациях, когда что-то меняется.

Рисунок 3 Администратор «закрыл» порт 199. И правильно сделал.

Сегодня существует огромное количество разнообразнеых сетевых сканеров, от бесплатных до совсем наоборот. Разнообразие потрясает: Nmap (в пятой версии появился diff!), Nessus (придется поработать руками), MaxPatrol Pentest (скриншоты сняты с него), EEYE Retina (ностальгия, мой первый сканер) и многие другие.

Уж сколько раз твердили миру?

Наметившаяся тенденция широко использовать удаленный доступ к корпоративным ресурсам через протоколы HTTP/HTTPS кроме удобства порождает и ряд проблем с безопасностью. Прежде всего,  повышаются требования к парольной политике. У удобной и приятной технологии Single-Sing-On есть и обратная сторона: как только внутренние службы становятся доступными снаружи, подбор пароля к внутренней учетной записи превращается в тривиальную задачу.

Считаете, что пароль P@ssw0rd встречается только на курсах Microsoft, а 12345678 или пустой пароль у «Domain Admin» – это просто нонсенс? Отнюдь нет. Позвольте привести исследование, в котором, кроме других, встречается один интересный факт: администраторы используют менее стойкие пароли, чем пользователи.

Рисунок 4. Вот такие они, корпоративные пароли

И что мы имеем в результате? Подобранный за пять минут с помощью Hydra пароль P@ssw0rd сервисной учетной записи sqlserver, на которую не распространяются правила смены пароля, но у которой есть доступ к SharePoint, Outlook Web Access и … VPN. Думаете, этого недостаточно, чтобы порезвится во внутренней сети? Более чем! Особенно, если подумать о том, для чего может использоваться учетная запись sqlserver :).

Рисунок 5 Подбор паролей по хэшам в SQL Server. Быстро и эффективно

Что делать? Ответы простые, но их много:

  1. Введите строгую политику паролей и обучите пользователей как им жить с этим.
  2. Контролируйте соблюдение политик с помощью автоматизированных сканеров, таких как l0phtcrack, SAMInside, MaxPatrol . Многие из них имеют возможность подбирать пароли по хэшам, что позволяет часто проводить проверку.
  3. Откажитесь от принципа «все и всем». Ограничивайте круг пользователей, которые имеют доступ к Sharepoint, OWA, VPN из Интернета. Делать это можно и путем настройки служб, и ограничивая доступ к ISA/Forefront.
  4. Если генеральный директор и бухгалтер не в состоянии ввести свой пароль, купите им смарткарту или USB-token. Уверяю, что для своего удобства они будут готовы потратить тысячу рублей.

Заплатка на заплатку

Кто в 21-м веке ставит патчи? Правильно. Не кто, а что. Патчи для Windows ставит WSUS. А нормальные администраторы попивают чай/кофе/пиво и занимаются более важными делами. Но что делать, если патчи вдруг не встали? Так не бывает, скажете вы? А откуда тогда массовые эпидемии Kido и прочего зловредного безобразия? Видимо, недоработки на местах.
Итак, кроме установки обновлений нужен своевременный контроль того, что они действительно были установлены. И помочь в этом нам может огромное количество программ, например бесплатный MBSA. Но у него есть один существенный недостаток: он не позволяет проверять компьютеры, на которых вы не являетесь администратором. Откуда они берутся? Это те компьютеры, которые были исключены из домена, или где не в меру ретивые пользователи выкинули «Domain Admins» из группы администраторов.

Для решения этой проблемы могут использоваться сканеры, работающие в режиме PenTest. С их помощью можно проверять отсутствие патчей даже с минимальными привилегиями. Перечислять подобные продукты снова не буду (выше уже писал), обращу внимание на бесплатные утилиты Positive Technlogies, очень быстрые и очень полезные программки.

Рисунок 6 Кто не поставил патчи?

Заплатка на заплатку для заплатки

Предположим, с обновлениями Windows все нормально, и Kido не пройдет. И все, можно спать спокойно? К сожалению – нет. Попробуйте зайти по ссылке http://www.surfpatrol.ru. Появились «красненькие» строчки? Что там? Adobe Reader, Flash, Java? Неужели их тоже нужно патчить?!

Нужно! Более того, именно это программное обеспечение сейчас наиболее активно используется злоумышленниками для взлома.  Дошло до того, что F-Secure предлагает вообще отказаться от Adobe Reader.  Может быть и перебор, но у меня в сети все давно уже сидят на FoxIt.

Рисунок 7 Вчера обновлялся через WSUS :(

К сожалению, не смотря на все обещания, Microsoft WSUS до сих пор не поддерживает установку обновлений для сторонних продуктов, поэтому и обновлять весь этот зоопарк придется с помощью сторонних продуктов, например Shavlik.

На уколы становись!

Предположим, вчера вы опубликовали в Интернете новый корпоративный портал/сервер биллинга/домашнюю страничку. Безопасна ли она? Патчи поставлены, фаервол настроен?

А что вы думаете на предмет уязвимостей Web-приложений? Таких, как SQL Injection/Cross-Site Scripting и прочие?
Недавно на глаза попадался интересный документ, авторы которого утверждают, что больше чем в половине всех Web-сайтов можно найти подходящие для «взлома» дырки.

Рисунок 8 Вот такая неутешительная статистика

Т.е. любой школьник с Античата, обладающий уникальными знаниями заклинания 1’ OR ‘1’=’1, при должном желании и прилежании может навести хаос в Интернете. Что иногда и случается, когда через SQL Injection взламывается по 130 000 сайтов за раз.
Чтобы обезопасить себя от подобных напастей, необходимо искать и закрывать уязвимости в Web-приложениях. Искать их можно с помощью специализированных сканеров, таких как Acunetix, MaxPatrol, HP WebInspect и другие.

С закрытием дело обстоит сложнее. Ведь не всегда есть возможность исправить исходный код приложения, где обнаружена ошибка. Здесь нам на помощь приходят специализированные варианты фаерволов, так называемые Web Application Firewall. Это специализированные системы, которые позволяют путем глубокого анализа протокола HTTP обнаруживать и блокировать атаки, связанные с Web-приложениями.

Для ознакомления с этой темой могу порекомендовать презентацию Дмитрия Евтеева, а в качестве практического пособия - «How IAG 2007 Can Mitigate Against SQL Injection Attacks».

А дальше?

А дальше еще непаханое поле различных интересных проблем и задач, о которых я могу рассказать в следующих статьях. Если это будет интересно уважаемым читателям!
С новым годом!

или введите имя

CAPTCHA
Страницы: 1  2  3  
Дэн
31-12-2009 07:55:13
Автор, тебя тоже с наступающим, неплохая статья. Пиши продолжение, будет полезно.
0 |
Winner
31-12-2009 08:10:29
Всус вообще странная штука. Непонятно упоминание в статье о уязвимостях флеш-плера? Что ему делать на корпоративных серверах? Вы с серваков по инету бродите чтоли? Офис тоже на сервере никуда не впился. Статья начинается рассмотрением портов в серверах а кончает(ся) проблемами мс оффеза и флешплеера -_-
0 |
Михаил
31-12-2009 08:35:41
А пользователи в корпоративной сети в инет не ходят?
0 |
Dime
12-01-2010 09:28:44
Наличие флеш-плеера на сервере явно указывает на уязвимость сервера и косвенно - на уязвимость мозга его админа.
0 |
Михаил
31-12-2009 08:34:41
А ссылку, откуда содрали статью? Рисунок №... где?
0 |
Гость
31-12-2009 14:52:12
> Рисунок №... где? Отключи банерорезалку или добавь туда исключение для http://www.securitylab.ru/_Article_Images/analytics/*
0 |
Что-в-имени-тебеб...
31-12-2009 09:13:36
Дочитал до "строгой парольной политики". Верю, что при большом желании её можно "внедрить", но как всякая неудобоваримая для пользователей вещь система эта даст дыры в других местах - листочки под клавиатурами, например, и т.п. Обучить жить с этим, ха... Ценность такой рекомендации близка к 0, подозреваю.
0 |
Ziben
31-12-2009 13:47:07
Да, пользователи возмущаются, но через пару месяцев привыкают (проверено на более чем 2000 юзеров в компании). Бумажки и прочие записи - это вопрос службы ИБ, которые пару человек за подобное конкретно наказали с выговорами и лишением премий и вопрос решился сам собой...
0 |
GoodWin
01-01-2010 12:42:26
>Бумажки и прочие записи - это вопрос службы ИБ... Неверная позиция. Плодит ненужные сущности. Пароли должны быть безопасны и удобны. Нужно не "стращать и наказывать", а обучать. Например: пароль ";Bdfuk0n" легко запоминается как "жИвагл0т", при этом является вполне стойким. Или, скажем, наличие _двух_ почтовых ящиков (один для работы и второй для частной переписки), или привычка проверять от кого именно пришло письмо ПЕРЕД тем, как его открывать. Вообще - "грамотно обученый юзер может быть приравнен к грамотно настроенному серверу"
0 |
Евгений Ваганович
31-12-2009 09:21:53
Статья неплохая для начинающих. Но возмутила фраза:Кто в 21-м веке ставит патчи? Правильно. Не кто, а что. Патчи для Windows ставит WSUS. А нормальные администраторы попивают чай/кофе/пиво и занимаются более важными делами. Но что делать, если патчи вдруг не встали? Так не бывает, скажете вы? А откуда тогда массовые эпидемии Kido и прочего зловредного безобразия? Видимо, недоработки на местах.1. в большинстве более-менее крупных серьезных конторах никто так не работает. Обычно делают так: выходит обновление, его тестируют и только через несколько дней в лучшем случае ставят юзверям. 2. особо радует фраза: "если патчи вдруг не встали? Так не бывает, скажете вы? А откуда тогда массовые эпидемии Kido и прочего зловредного безобразия?". Для аффтара специально поясню - а) на грамотно настроенной и не заср.ной системе патчи встают как влитые б) эпидемия кидо от того, что юзвери не ставят патчи (как правило - стоит голый сервиспак и все)
0 |
Евгений Ваганович
31-12-2009 09:25:14
Всех с Новым Годом! ЗЫ - работа кончилась - все идем бухать!
0 |
Ziben
31-12-2009 13:50:14
Тестирование обновлений - ересь. Т.е. вот штат тестировщиков в МС не обнаружил чего-то, а те несколько человек в службе ИБ некоей серьезной конторы вдруг отдекомпилят и обнаружат ошибку... или оттестируют её на своих компах? По собственному опыту: 1. тестирование реально можно провести только на рабочей среде 2. патчи не становятся гладко иногда даже на только что проинсталлированные станции (не единичный случай)
0 |
Евгений Ваганович
02-01-2010 08:36:12
Т.е. вот штат тестировщиков в МС не обнаружил чего-то, а те несколько человек в службе ИБ некоей серьезной конторы вдруг отдекомпилят и обнаружат ошибку...похоже, ваши знания очень слабые. Во первых, мелкие уже несколько раз выпускали "патчи на патчи", официально признавая ошибки. Во вторых, смысл внутреннего тестирования - совместимость установленных приложений и сервисов с новым патчем, а не поиск ошибок в самих патчах 1. тестирование реально можно провести только на рабочей средевот за эти слова увольнять нужно сразу админов, если они работают в компании с хотя бы парой десятков компов. В крупных компаниях с кучей компов (>1000) все тестят либо на виртуалках, с воссозданным окружением, либо на отдельных компах тестовой группы
0 |
Евгений Ваганович
02-01-2010 08:36:44
2. патчи не становятся гладко иногда даже на только что проинсталлированные станции (не единичный случай)БРЕД!!! конечно, если только "свежеинсталлированная" операционка - не г@вносборка а-ля "Зверь" По собственному опытуМне жаль контору, на которую ты работаешь. Хотя... если директор решил взять за "почти бесплатно" эникейщика - то он сам виноват
0 |
esbi
02-01-2010 15:28:31
про стенды не слыхали? моделирование рабочей среды хотя и оно не на 100% спасает =(
0 |
фетиш-мастер [Малиновые штаны]
31-12-2009 10:07:42
статья больше похожа на памфлет но в целом даже в таком виде гораздо лучше того кала, который публиковал секлаб до этого пытался найти что-то об авторе - гугль выдал: Владимир Тигров - человек еще совсем мальчик. Был перенесен в будущее в результате аннигиляционного взрыва. Жил на Земле до времени первого нападения армии ...
0 |
Страницы: 1  2  3