Обход ограничений безопасности в Windows

На днях в rss-ленте проскочил вектор обхода Software Restriction Policies (SRP), датированный аж 2008 годом. Судя по проявленному интересу в твиттере, даже уже ставшие известными методы обхода ограничений безопасности в интернет-киосках и терминалках (включая Citrix) по-прежнему вызывают интерес у аудитории. Это и побудило меня к написанию данной заметки. Речь пойдет о практических методах обхода излишней безопасности винды, воздвигнутой параноидальными силами администратора системы.

Для начала рассмотрим то, с чем приходится бороться.

Политики ограниченного использования программ являются функциональной возможностью операционных систем Microsoft® Windows®. Эта важная функция предоставляет администраторам основанный на управлении групповыми политиками механизм идентификации программ, выполняющихся на компьютере, и контролирует возможность их выполнения. Политики ограниченного использования программ могут существенно повысить целостность и управляемость системы, что в конечном счете снижает стоимость владения компьютером. Подробнее: http://technet.microsoft.com/ru-RU/library/hh831534 AppLocker – продолжение развития SPR, подробнее: http://technet.microsoft.com/ru-ru/library/dd548340(v=ws.10).aspx


Будь то интернет-киоск или терминальный сервер, политика ограниченного использования программ, как правило, используется совместно с сокрытием всего и вся в графическом интерфейсе пользователя. Например, сокрытие формы запуска программ через контекстное меню пуск.


Если же защита ограничена лишь принципом "спрятать все", без использования политики ограниченного использования программ, то подобная "защита" легко обходиться стопятсот способами. Хорошая подборка методов по данному направлению содержится тут: http://synjunkie.blogspot.com/search/label/Citrix 

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

Теперь вернемся к "хаку" 2008 года и предположим, что у нас задействована политика ограниченного использования программ близкая к настройкам по умолчанию т.е. возможен неограниченный запуск исполняемых файлов, расположенных в системных каталогах, в частности, выполнение исполняемых файлов, расположенных в корневом каталоге %SystemRoot%. Тогда магическая строка: "runas /trustlevel:Unrestricted <исполняемый файл>" позволяет без каких-либо дополнительных усилий и с правами непривилегированного пользователя обойти ограничения безопасности SRP. В случае если возникают затруднения с запуском "runas" по причине отсутствия соответствующих интерфейсов, достаточно выйти на диалог проводника, используя уже озвученные техники.

Приведенный пример с "runas" работает увы только в базовой сборке Windows XP (но зато до сих пор работает, http://downloads.ptsecurity.ru/runasxp.zip)). К слову, портированный "runas" с XP, отлично подходит и для обхода SRP на всех старших поколениях винды (в частности проверено на Windows 2003 и Windows 7). Разумеется, при этом должны быть соблюдены условия, позволяющие задействовать портированную сборку. Но, если ситуация удовлетворяет подобным условиям, можно смело ей пользоваться, не боясь алярмов аверов (ведь родная бинарь винды никогда не будет воспринята в качестве малвари).

Но это все были прелюдии. Теперь рассмотрим, что-же пользуют парни на настоящих пентестах.
Interactive Kiosk Attack Tool (iKAT) был разработан, чтобы помочь консультантам по безопасности при проведении работ по аудиту справиться с задачей выхода за пределы контролируемых сред, таких как Киоски, Citrix Terminals и WebTV's. iKAT предназначен для обеспечения доступа к функциям операционной системе из любого браузера. Подробнее: http://ikat.ha.cked.net/
Какие возможности предоставляет iKAT в части обхода ограничений безопасности в Windows?

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

Во-вторых, iKAT содержит целую пачку заранее собранных инструментов и эксплоитов, позволяющих обойти используемые ограничения безопасности (включая SRP/AppLocker/UAC) и повысить свои привилегии в системе.


И, наконец, в третьих, в составе iKAT доступны "заряженные" документы офисных форматов, которые в перспективе способствуют обходу политики ограниченного использования программ (разумеется, и тут не обошлось без эксплоитов). 

Наиболее ценным методом с точки зрения атакующего, как раз и является использование разрешенных офисных приложений, в адресном пространстве которых можно творить настоящее волшебство. Рассматривая многообразие доступных методов обхода политики ограниченного использования программ, стоит отметить наработку Didier Stevens, который с использованием макросов и магии реализовал доступ к командной строке и редактору реестра. Подробности тут.



Как защититься на примере терминального сервера:

- При настройке SPR/AppLocker придерживайтесь стратегии минимизации разрешенных приложений для пользователей (используйте правило запрета по умолчанию для всех приложений)
- Своевременно обновляйте компоненты операционной системы и всех имеющихся приложений
- Используйте превентивные защитные механизмы (например, антивирусные средства, EMET и пр.; хотя умные люди грят, что и это не спасет)
- Откажитесь в принудительном порядке от использования макросов без наличия цифровой подписи (если это возможно)

11 комментариев :

  1. В аэропорту Домодедово пару минут заняло в интернет киоске получить доступ к ОС. На терминалках от Sun, что был на CC -- минут 5. В магазине Юлмарт -- 20 минут. В терминалах ОСМП от Киви -- час (всё-таки с деньгами ребята работают, пытаются защищаться). В 2-х местах удалось испортить интерфейс, но не получить доступ к ОС.

    ОтветитьУдалить
  2. часовое зависание у киви подозрений не вызвало?)

    ОтветитьУдалить
  3. Так не было зависания. Паинт открыл, порисовал, на встроенном термопринтере распечатал.

    ОтветитьУдалить
  4. Ссылка http://ikat.ha.cked.net/ заражена трояном!

    ОтветитьУдалить
  5. @ser-storchak на ссылку действительно ругаются большинство аверов... там сплоетсы, троянов нет

    ОтветитьУдалить
  6. к теме, еще одно творение Didier Stevens, о котором я забыл упомянуть http://blog.didierstevens.com/2011/02/03/taskmanager-xls/

    с точки зрения практического применения, возможности данной разработки сильно ограничены

    ОтветитьУдалить
    Ответы
    1. Дмитрий, извините за глупый вопрос, но что дает использование, например, Unlocked Explorer??? Я запустил его на 2008 сервере, но никакой разницы не увидел.

      Удалить
    2. Я правильно понимаю, что эта тулза должна запустить проводник в режиме админа, или нет?

      Удалить
    3. Или она просто запускает проводник, если штатный его запуск заблокирован?
      Просто мне надо проверить один наш терминальный сервер. Я зашел туда как простой юзер и могу запускать всё - и шелл, и Инет. Но хотелось бы повысить привилегии. Это виртуальный Win2008 R2 64-bit.

      Удалить
    4. Именно. Это не локальная повышалка, а обход SRP.

      Удалить
    5. К сожалению, повышалки там тоже есть, но для 32-битных систем...

      Удалить