Одна из главных тайн, связанных с управлением безопасностью, - методы, используемые криминальными хакерами. Разве можно защититься от атак, если вы не знаете, как они осуществляются? Готовьтесь к просветлению.
В этой статье я не собираюсь учить, как взломать защиту, а хочу показать, как злоумышленники могут воспользоваться вашими оплошностями. Благодаря этому вы избежите многих распространенных ошибок, облегчающих задачу криминальным хакерам.
Для начала пара слов о тестировании на возможность проникновения в систему (penetration testing). Прежде всего неграмотное проведение этого тестирования может негативно сказаться на стабильности сети. Некоторые инструменты, применяемые хакерами (с любой целью, не только со злым умыслом), разработаны для проверки сети на предмет уязвимости. Инструменты хакеров и программы, использующие дыры в защите систем, не всегда работают корректно, могут дестабилизировать систему или всю сеть и привести к другим непредвиденным последствиям. Специалист знает, что можно сделать с сетью, не нарушив ее работу, и когда следует остановиться. Любитель обычно этого не чувствует.
При защите сети полезно быть слегка параноиком. Одной из грубейших ошибок, которые может допустить системный администратор, является предположение, что все в порядке. Не доверяйте заявлениям о том, будто сеть надежно защищена. Очень часто вы будете получать от консультантов по безопасности отчеты, содержащие именно такой вывод, и то лишь потому, что им не удалось обнаружить уязвимости. Разумеется, из этого не следует, что сеть на самом деле защищена! Это лишь означает, что конкретным людям не удалось взломать сеть, но кто­то другой может оказаться более удачливым.
Сеть-мишень
Большинство современных сетей создано по принципу яйца: окруженные надежной оболочкой, они практически беззащитны внутри. Это означает, что, если хакер сможет получить в сети "точку опоры", остальные компьютеры падут, как костяшки домино. После проникновения в сеть самой сложной задачей хакера часто является определение следующей мишени и хранилища по­настоящему "вкусной" информации. Так быть не должно. Опираясь на адекватные методики, сетевые администраторы могут достигнуть двух важнейших целей: значительно затруднить захват точки опоры и ее использование для взлома других компьютеров.
Как злоумышленник может проникнуть в вашу сеть

Автор:
Джеспер Йоханссон

Сеть-мишень
Диапазоны сетевых адресов и имена хостов
Доступные хосты и приложения
Информация о версиях ПО и пакетах исправлений
Структура приложений и внутренних серверов
Начальная атака
Расширение привилегий
Взлом других компьютеров
Получение контроля над доменом
Заключение
Одна из главных тайн, связанных с управлением безопасностью, - методы, используемые криминальными хакерами. Разве можно защититься от атак, если вы не знаете, как они осуществляются? Готовьтесь к просветлению.
В этой статье я не собираюсь учить, как взломать защиту, а хочу показать, как злоумышленники могут воспользоваться вашими оплошностями. Благодаря этому вы избежите многих распространенных ошибок, облегчающих задачу криминальным хакерам.
Для начала пара слов о тестировании на возможность проникновения в систему (penetration testing). Прежде всего неграмотное проведение этого тестирования может негативно сказаться на стабильности сети. Некоторые инструменты, применяемые хакерами (с любой целью, не только со злым умыслом), разработаны для проверки сети на предмет уязвимости. Инструменты хакеров и программы, использующие дыры в защите систем, не всегда работают корректно, могут дестабилизировать систему или всю сеть и привести к другим непредвиденным последствиям. Специалист знает, что можно сделать с сетью, не нарушив ее работу, и когда следует остановиться. Любитель обычно этого не чувствует.
При защите сети полезно быть слегка параноиком. Одной из грубейших ошибок, которые может допустить системный администратор, является предположение, что все в порядке. Не доверяйте заявлениям о том, будто сеть надежно защищена. Очень часто вы будете получать от консультантов по безопасности отчеты, содержащие именно такой вывод, и то лишь потому, что им не удалось обнаружить уязвимости. Разумеется, из этого не следует, что сеть на самом деле защищена! Это лишь означает, что конкретным людям не удалось взломать сеть, но кто­то другой может оказаться более удачливым.
Сеть-мишень
Большинство современных сетей создано по принципу яйца: окруженные надежной оболочкой, они практически беззащитны внутри. Это означает, что, если хакер сможет получить в сети "точку опоры", остальные компьютеры падут, как костяшки домино. После проникновения в сеть самой сложной задачей хакера часто является определение следующей мишени и хранилища по­настоящему "вкусной" информации. Так быть не должно. Опираясь на адекватные методики, сетевые администраторы могут достигнуть двух важнейших целей: значительно затруднить захват точки опоры и ее использование для взлома других компьютеров.
Прежде чем я начну атаковать сеть, давайте поговорим о том, с чем мне придется столкнуться. Ясно, что в реальных условиях у хакеров редко бывают в распоряжении полные схемы сетей, но в нашем случае рассмотреть конфигурацию сети­мишени лишним не будет (рис. 1).
Dd451059.01(ru-ru,TechNet.10).gif
Рис. 1. Сеть-мишень
Как показано на иллюстрации, моя сеть­мишень представляет собой стандартную подсеть с двумя межсетевыми экранами, отделяющими ее от Интернета и остальной сети. По периметру сеть сконфигурирована обычным образом: она включает Web­сервер, сервер баз данных и контроллер домена (DC) демилитаризованной зоны (DMZ). Во внутренней части имеется корпоративный контроллер домена, получение контроля над которым и является конечной целью хакера.
Единственный необычный аспект этой сети, пожалуй, в том, что Web­сервер и контроллер домена DMZ выполняют функции маршрутизаторов. Это объясняется особенностями модели сети. Я создал ее на основе виртуальных машин, выполняемых в среде Microsoft Virtual PC 2004, чтобы эту модель можно было брать с собой для проведения демонстраций. На одном компьютере реалистично запускать лишь две виртуальные машины, т. е. для "развертывания" всей сети нужно вдвое меньше хостов. Если бы я использовал отдельные маршрутизаторы, мне пришлось бы брать с собой три ноутбука, а делать это мне бы не хотелось. Таким образом, я возложил на Web­сервер и контроллер домена DMZ функции маршрутизаторов, чтобы уменьшить число необходимых компьютеров (хостов). Уверяю вас, что эта несколько необычная конфигурация никак не влияет на то, что мы будем здесь обсуждать.
На первом этапе взлома любой сети нужно определить объект атаки - точку опоры в сети­мишени. При этом злоумышленников, в частности, интересуют:
диапазоны сетевых адресов;
имена хостов;
доступные хосты;
приложения, доступные на этих хостах;
данные о версиях ОС и приложений;
сведения о пакетах исправлений, установленных на хостах;
структура приложений и внутренних серверов.

Давайте же обсудим, какую информацию хакер может получить и как он может это сделать.
Диапазоны сетевых адресов и имена хостов
Диапазоны сетевых адресов и имена хостов
Следующий этап взлома - определение логического расположения атакуемых сетей. Допустим, я хочу выполнить тестирование на возможность проникновения в системы домена contoso.com. Я начал бы пытаться взломать их с определения того, какие сети зарегистрированы в этом домене. Возможно, еще больший интерес представляют не открыто зарегистрированные диапазоны адресов contoso.com, а данные о сетях, связанных с сетью­мишенью, например об экстрасети или сетях деловых партнеров компании Contoso. Вполне вероятно, что легче будет взять под контроль домен poorsecurity.com и только потом атаковать contoso.com. Как прочность цепи определяется прочностью ее самого слабого звена, так и надежность защиты сети определяется связанной с ней сетью с самой слабой защитой (включая все подключенные к ней виртуальные частные сети).
Далее хакер должен узнать имена хостов. Иногда это удается сделать, выполнив запросы nslookup для крупных фрагментов сети, а в ряде случаев даже осуществить так называемую зонную передачу. Зонная передача (zone transfer) - это просто запрос, в результате которого DNS­сервер возвращает копию данных обо всей демилитаризованной зоне (список имен всех зарегистрированных в сети хостов). Хотя при большинстве атак знать имена хостов необязательно, это может значительно упростить атаку. Так, если вам известно имя сервера, на котором выполняется IIS, вы часто можете вычислить анонимную учетную запись IIS на этом хосте, так как обычно она называется IUSR_имя_хоста. Теперь предположим, что администратор настроил для Web­сервера блокировку учетных записей (account lockout). Для вывода Web­сервера из строя хакеру нужно лишь отправить ему большое число запросов на аутентификацию под учетной записью IUSR_имя_хоста. За считанные секунды серверу можно отправить столько неверных паролей, что этого будет достаточно для блокировки учетной записи анонимного пользователя. Продолжая отправлять достаточное число неверных паролей, хакер может добиться того, что Web­сервер не сможет обслуживать реальные запросы.