Тестирование на проникновение (penetration testing) — метод оценки безопасности компьютерных систем или сетей средствами моделирования атаки злоумышленника. Для кого-то это хобби, для кого-то работа, для кого-то это стиль жизни. На страницах нашего журнала мы постараемся познакомить тебя с профессией настоящего «этичного хакера», с задачами, которые перед ним ставятся, и их решениями.

 

Intro

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

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

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

 

Слабая парольная политика

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

Уязвимые компоненты

Служба каталогов (Active Directory, Lotus Domino, LDAP, Novell и другие).

Рекомендации по устранению

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

 

Учетные записи по умолчанию

Учетные записи по умолчанию — проблема для больших корпоративных сетей. Очень легко оставить активной учетную запись к какому-нибудь МФУ, которое использует службу каталогов (например, Active Directory). Этичному хакеру не составляет труда выявить на этапе рекона все подобные устройства путем банального автоматизированного анализа ответов веб-сервера. После этого в полуавтоматическом режиме проверить валидность пар логин — пароль, которые могут остаться неизменными после установки устройства. При (не)удачном стечении обстоятельств атакующий, к примеру, может получить доступ к службе каталогов с правами пользователя или же узнать строку SNMP, которая на отдельных устройствах может иметь права RW. А уж чего только нельзя добиться, используя учетные записи по умолчанию в БД Oracle в связке с хранимыми процедурами!

Уязвимые компоненты

Сетевые устройства, базы данных.

Рекомендации по устранению

Отключить все неиспользуемые умолчательные учетные записи. В том случае, если отключение учетной записи невозможно, сменить пароль на стойкий, удовлетворяющий строгой парольной политике.

 

Управление локальными учетными записями через групповые политики

Использование учетной записи локального администратора на рабочих станциях и серверах, входящих в домен, — не лучшая идея. Использовать групповые политики для управления учетными записями локальных администраторов — ужасная идея. Злоумышленник, получивший доступ к службе каталогов Active Directory, получает доступ на чтение групповых политик, в том числе и тех, которые отвечают за создание и модификацию учетных записей локальных администраторов на узлах. Естественно, пароль локальной учетной записи зашифрован (по AES), но ключ, позволяющий расшифровать его, находится в публичном доступе. Таким образом, пентестер сразу обретает ключ от многих дверей, а также имеет все шансы получить расширенные привилегии в домене.

Уязвимые компоненты

Служба каталогов Active Directory, узлы на базе Windows.

Рекомендации по устранению

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

 

Проблемы архитектуры сетей на базе Windows

Особенности реализации некоторых функций Windows позволяют пентестеру повышать привилегии в рамках Active Directory. Пентест сводится к получению учетной записи привилегированного пользователя, которая применяется для того, чтобы добраться до других привилегированных учетных записей при помощи различных атак (например, SMB Relay) и утилит (например, mimikatz). Действия пентестера продолжаются до того момента, пока не получена заветная привилегированная учетная запись из группы Domain Admins и хеш.

Уязвимые компоненты

Узлы на базе Windows.

Рекомендации по устранению

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

 

Ошибка конфигурации Web Proxy Auto Discovery

Автоматическая настройка прокси — удобная функция браузера Internet Explorer. Все хорошо, если в сети действительно есть сервер, который отвечает за раздачу настроек прокси, он называется wpad.domain.name. Но в большинстве случаев такого сервера нет. Тогда на канальном уровне попытки поиска сервера WPAD выглядят следующим образом:

  • Узел пытается найти запись WPAD на сервере DNS, но такой записи, скорее всего, нет, если нет сервера.
  • Узел посылает широковещательный запрос по протоколу NBNS и запрашивает имя WPAD.
  • Если сервер не найден, узел продолжает его искать, в противном случае узел загружает настройки прокси с адреса http://wpad/wpad.dat.

Что самое интересное, по умолчанию функция автоматической настройки прокси включена. Этичный хакер в таком случае может либо зарегистрировать домен wpad.domain.name, если это возможно, либо, что намного проще, отвечать на все широковещательные запросы имени WPAD по протоколу NBNS своим адресом. Таким образом будет реализована атака MITM почти пассивными методами, не столь грубыми, как ARP Poisoning.

Уязвимые компоненты

Узлы на базе Windows.

Рекомендации по устранению

Следует отключить автоматическую настройку прокси там, где отсутствует серверная составляющая (сервер WPAD). Это реализуемо через групповые политики службы каталогов Active Directory. В редакторе объектов групповой политики: User configuration -> Windows Settings -> Internet Explorer Maintenance -> Connection -> Automatic Browser Configuration -> убрать галочку с Automatically detect configuration setting. После этого накатить изменения на все машины в домене.

 

Отсутствие/ошибки конфигурации антивирусной защиты

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

Уязвимые компоненты

Узлы на базе Windows.

Рекомендации по устранению

Использовать антивирусное программное обеспечение с активированной функцией самозащиты, предусматривающей как минимум обязательный ввод пароля для отключения системы антивируса.

 

Отсутствие сегментации сетей

Полное отсутствие сегментации внутренней сети — явление, которое не перестает меня удивлять изо дня в день. Этичный хакер, видя перед собой относительно плоскую топологию сети, предвкушает быстрое получение доступа. Конечно, отсутствие сегментации можно объяснить многими причинами, но любые из них — это обычные отговорки. Настоящая причина кроется в банальной лени. Разграничение прав доступа должно быть реализовано не только на уровне приложений, но и на уровне сети. В том случае, если сегментация реализована, скорость получения максимальных привилегий этичным хакером замедляется на глазах, а вероятность проявить свое присутствие в корпоративной сети возрастает.

Уязвимые компоненты

Топология сети.

Рекомендации по устранению

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

 

Отсутствие процессов обновления ПО

Устаревшее ПО — верный путь пентестера к триумфу. Комментарии здесь излишни.

Уязвимые компоненты

Узлы на базе Windows и Unix.

Рекомендации по устранению

Необходимо построить процесс обновления используемого ПО до актуальных версий. В том случае, если своевременная установка актуальных обновлений ПО невозможна, принять компенсационные меры — такие как регистрация и мониторинг событий безопасности. Помимо этого рекомендуется удалить из систем все неиспользуемое и не предназначенное для работы программы.

 

Outro

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

Оставить мнение

Check Also

WWW: Netsim — игра, которая поможет изучить работу сетей и принципы атак

Тем, кто только начал разбираться с хакерской кухней, не помешает узнать, как работают сет…