Easy Hack. Hot Potato, SuperSerial и снова XSLT

LAS VEGAS, NV - SEPTEMBER 17: (L-R) Floyd Mayweather Jr. connects with a right to the face of Victor Ortiz during their WBC welterweight title fight at the MGM Grand Garden Arena on September 17, 2011 in Las Vegas, Nevada. (Photo by Al Bello/Getty Images)

Повышаем привилегии в Windows с помощью Hot Potato

Не так давно появилась «новая» атака, позволяющая повысить привилегии в Windows с обычного пользователя до SYSTEM. Причем работает она практически «из коробки» под всеми современными версиями Windows, впрочем, должна и под древними. Ее название — Hot Potato.

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

В основе данной атаки лежат результаты исследователя из Google. Как ты, наверное, помнишь, Windows поддерживает автоматическую аутентификацию, а также протокол NTLM (с помощью которого и аутентифицируется). То есть если мы можем заставить какой-то процесс попытаться подключиться по протоколу SMB, HTTP и так далее и используем аутентификацию NTLM, то процесс отправит нам свои креды. Когда-то можно было отправить эти креды обратно по тому же протоколу — на этом и была основана первая вариация атаки SMBRelay. Но в Microsoft выпустили патч, и теперь разрешено делать relay либо между разными хостами, либо между разными протоколами.

По итогам исследования Google был представлен proof of concept, который демонстрировал, как системный процесс можно заставить подключиться к локально поднятому серверу WebDAV с NTLM-аутентификацией, а потом он релеил полученные креды на SMB того же хоста. В результате появлялась возможность выполнять команды от имени системного процесса.

У PoC было две основные проблемы. Во-первых, работал он в основном на клиентских тачках, так как требовал предустановленный компонент в ОС — клиент WebDAV. Во-вторых, использовал возможность антивируса Microsoft проверять удаленные файлы, а она доступна только в определенных версиях.

Ребята из Foxglove Security исправили эти недостатки. Причем особо наркоманским образом — как раз как мы любим.

Как ты знаешь, в Windows есть автоматическое обнаружение прокси, которое включено по умолчанию. ОС систематически ищет в сети хост с именем WPAD и если находит, то скачивает с него настройки для прокси-сервера. Эти настройки ко всему прочему используются системными службами, в том числе и Windows Update.

Второй важный момент заключается в том, что ОС также автоматически пытается аутентифицироваться на прокси (если сервер этого требует). То есть WPAD-прокси решает первую проблему PoC — нам не требуется WebDAV-клиент в ОС, так как прокси и аутентификация на нем поддерживается из коробки всеми версиями Windows. Теперь наша задача сводится к тому, чтобы «представиться» хостом WPAD для нашей ОС. И для ее решения мы можем использовать локальный NBNS spoofing.

Опять-таки, NBNS spoofing — классическая атака. Windows сначала ищет WPAD, запрашивая его у DNS-сервера, но, не найдя на DNS, переходит к другим протоколам для поиска хоста по имени, включая NBNS (NetBIOS Name Service). Поэтому ОС систематически отправляет по UDP широковещательные запросы к NBNS. Но как нам на них ответить? Привилегий на сниф трафика у нас нет, а использовать сторонний хост мы не можем, так как в этом случае нам придет «пустая» учетка системного процесса.

Однако тут есть интересный момент. У запроса NBNS есть специальное поле — TXID. Это что-то вроде идентификатора, который нужен для того, чтобы соотносить запрос и ответ. Размер поля — 2 байта, то есть 65 536 значений. Локально мы можем послать множество NBNS-ответов со всеми возможными вариантами TXID. И так как сеть практически не задействуется (все происходит на lookback-интерфейсе), то мы можем это сделать очень быстро.

Продолжение доступно только участникам

Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», увеличит личную накопительную скидку и позволит накапливать профессиональный рейтинг Xakep Score! Подробнее

Вариант 2. Открой один материал

Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.


Алексей GreenDog Тюрин: Security Researcher