Windows 7 is coming... - Общий форум по информационной безопасности - Форумы Anti-Malware.ru Перейти к содержанию

Recommended Posts

dr_dizel

Нам всегда говорили, что работать под администратором - очень плохо. Писалось много софта для облегчения администраторской работы из под обычного пользователя или для урезания прав для некоторых приложений. Многие просто пользовались встроенным runas. В Vista даже нас принудительно пытались UAC-ом ущемить свои права во имя высшего блага.

Но стоят ли все эти старания выеденного яйца? Нисколько. Порочность Windows лежит в самой её основе и берёт своё каждый раз. Можно примарафетить, научить облаивать и даже засасывать насмерть злодеев, но в одно прекрасное солнечное утро вас всё-таки покусают чужие бездомные и голодные собаки. :D

С выходом Windows 7 от мелкомягких снова стал интересен вопрос безопасности этой ОС. Я быстро запрограммировал идею строго POC из оперы атак на систему сообщений windows. Что изменилось с тех давних времён? Проверил на x64 Windows 7 Beta 1, что представлено на скриншоте.

wm_poc.gif

Там происходит следующее:

Заходим в систему под пользователем test из группы Guests и запускаем консоль. Из этой консоли с помощью runas запускаем консоль от имени root из группы Administrators. В Guest консоли запускаем POC, который ищет все окна консолей и пишет туда команду "ipconfig /all" (для примера). В результате, команда была замечательно исполнена в консоли члена группы Administrators по хотению Guest. Полёт фантазии может нас тут завести далеко...

Есть ли какой-нибудь выход из сложившейся ситуации? На текущий момент только один - FUS.

post-4003-1232548038_thumb.png

  • Upvote 5

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Илья Рабинович

Выход есть, и он намного проще- песочницы с контролем сообщений.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
dr_dizel
Выход есть, и он намного проще- песочницы с контролем сообщений.

С распространением x64 и следовательно PatchGuard-а, появлением Vista, многие палевные методы отвалились. Но т.к. АВ-ы практически те же самые rootkit-ы, то соответственно и их возможности ограничились тоже. Поэтому всё больше стали поглядывать в сторону разделения привилегий по группам пользователей. Но и тут оказалась засада.

А какие это песочницы и сколько они стоят? :) Как эти песочницы чувствуют себя под x64?

Может даже можно попросить у вас скрин примера предотвращения таких атак?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Илья Рабинович

Могу отвечать только за свою HIPS. Она точно блокирует сообщения из недоверенной в доверенную зоны, причём на уровне драйвера. С x64 не дружит из-за PatchGuard.

Скрин от вендора? Это интересно. :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
dr_dizel
Могу отвечать только за свою HIPS. Она точно блокирует сообщения из недоверенной в доверенную зоны, причём на уровне драйвера. С x64 не дружит из-за PatchGuard.

Самое смешное, что начиная с Vista есть из коробки такая песочница - UIPI, но видно мелкомягкие столкнулись с некоторыми проблемами при разруливании сообщений.

Значит ваша HIPS беспроблемно "песочит" сообщения пользовательского ввода? Интересно.

Нет пока ресурсов тестировать ваш продукт... Но можно всё же скрин реакции на приведённый пример под x86? Вот вам даже готовый скомпилированный POC. :)

wm_poc.zip

wm_poc.zip

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Сергей Ильин
Заходим в систему под пользователем test из группы Guests и запускаем консоль. Из этой консоли с помощью runas запускаем консоль от имени root из группы Administrators.

dr_dizel, нужно ведь все равно знать пароль рута для команды runas или я что-то не понимаю?

На текущий момент только один - FUS.

Возможность действительно очень интересная, через FUS работа с несколькими эккаунтами становится куда более удобной.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
dr_dizel
dr_dizel, нужно ведь все равно знать пароль рута для команды runas или я что-то не понимаю?

Это же POC. Суть в чём. По вселенской идее нельзя работать под рутом, а надо под обычным пользователем. Для администрирования и изобрели всякие su, sudo, runas и т.п..

Так вот. В винде как только вы запускаете консоль для администрирования (например посредством MakeMeAdmin) - вы под угрозой. Малвара может ждать нужной консоли или у вас для админских целей может болтаться в таскбаре одна во время запуска зловреда.

А если вы понижаете привилегии для некоторых программ (например, DropMyRights), то есть шанс, что эта программа может вырваться из песочницы. Зайдите под админом, запустите админскую консоль, а потом POC от пользователя из группы Guest.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Сергей Ильин
Так вот. В винде как только вы запускаете консоль для администрирования (например посредством MakeMeAdmin) - вы под угрозой. Малвара может ждать нужной консоли или у вас для админских целей может болтаться в таскбаре одна во время запуска зловреда.

Спасибо за объяснение, теперь понял :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Илья Рабинович
Но можно всё же скрин реакции на приведённый пример под x86?

dw_poc.JPG

cmd.exe запускался как доверенный, wm_poc- недоверенным. На самом деле, там ещё идёт разделение и для изолированных программ, запущенными недоверенными.

post-34-1232446281_thumb.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
dr_dizel
cmd.exe запускался как доверенный, wm_poc- недоверенным.

Кстати, а почему poc засовывается в недоверенные? Автоматом или ручками засовывать надо?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Илья Рабинович

Если скачивается недоверенным браузером или приходит через недоверенный почтовик, то ничего никуда ручками пихать не надо. Атрибут наследуется.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
zzkk
А если вы понижаете привилегии для некоторых программ (например, DropMyRights)

Кто-нибудь использует DropMyRights для понижения привелегий IE в Windows 7?

Вообще говоря, хотелось бы понять:

1. Работоспособна ли DropMyRights под Windows 7?

2. Как можно проверить, что у запущенного IE привелегии действительно понизились?

Или под Windows 7 лучше действовать по иному алгоритму для достижения той же цели?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
dr_dizel
Кто-нибудь использует DropMyRights для понижения привелегий IE в Windows 7?

1. Сама идеология DropMyRights всегда подразумевала уязвимость. Лучше заведите беспарольного пользователя интернета в группе Гостей и переключайтесь на него. В 7-ке переключение сделано юзабельно.

2. Через Process Explorer посмотреть Security свойства. Можно до кучи добавить колонки с user и integrity level.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

  • Сообщения

    • demkd
      Да есть такой баг, выбор целого диска не предусмотрел.
    • PR55.RP55
      Сейчас попробовал добавить файлы и... E:\ [Error: 0x3 - The system cannot find the path specified. ] т.е. Файл > Добавить в список >  Все исполняемые файлы каталога. или пишет вышеуказанную ошибку или вешается. Это и на Win 7 и на Win 10 и с HDD дисками и с USB Диски нормально открываются т.е. доступны.
    • demkd
      А ничего с этим не сделать старые версии windows проблемные там система сама балуется внедрением потоков при очень низком уровне защиты системных процессов, а эцп вообще ничего не гарантирует когда речь заходит о внедренных потоках, зловред вполне может внедрить поток в системный процесс как с помощью подкинутой в правильное место "легитимной" dll, так и просто создав его, а тот уже в свою очередь внедрить в следующий системный и ищи концы среди вот этого вот всего.
      Все это усугубляется тем что тот же SVCHOST.EXE который был когда запущен может оказаться совсем не системным, хотя путь у него будет правильным как и файл будет иметь валидную эцп и запущен он будет якобы services.exe, в 10ке такое провернуть уже сложнее, а вот 7ке легко, потому урезать лог по принципу "оба файла имеют эцп" никак нельзя.
    • PR55.RP55
      uVS v5.0.6v x64 [http://dsrt.dyndns.org:8888]: Windows 7 Home Basic x64 (NT v6.1 SP1) build 7601 Service Pack 1 [C:\WINDOWS] (!) ПРЕДУПРЕЖДЕНИЕ: Ф зафиксировал внедрение потока C:\WINDOWS\SYSTEM32\SERVICES.EXE [428] внедрил поток [380] в процесс: C:\WINDOWS\SYSTEM32\SVCHOST.EXE [876]   C:\WINDOWS\SYSTEM32\SVCHOST.EXE [1060] внедрил поток [1276] в процесс: C:\WINDOWS\SYSTEM32\SVCHOST.EXE [336] и т.д.  А есть ли смысл выводить в лог десяток - другой аналогичных записей, если все эти файлы  в базе проверенных и у них легальная цифровая?  
    • demkd
      ---------------------------------------------------------
       5.0.6
      ---------------------------------------------------------
       o Добавлено 4 новых ключа автозапуска в список для проверки.

       o Добавлен новый статус "UWP".
         Его получают пакеты приложений универсальной платформы Windows (Universal Windows Platform Apps).

       o Добавлен новый твик #46: Отключить Windows Terminal и очистить реестр.
         Если Windows Terminal активен, в лог выдается предупреждение.
         При обнаружении подозрительных настроек Windows Terminal в конфигурационных файлах, реестре или в каталогах с фрагментами в лог выводится предупреждение.
         Если подозрительная строка найдена в JSON-файле настроек, то в список автозапуска добавляется этот файл с содержимым со статусом "подозрительный".
         В любом случае рекомендуется отключить Windows Terminal, а еще лучше немедленно удалить это из системы.
         Windows Terminal — крайне уязвимый и неоптимизированный кусок кода.

       o Улучшена функция масштабирования удаленного рабочего стола, повышено качество аппаратного апскейла, добавлен параметр "Резкость".
         (Требуется D2D и DX11 на клиентском компьютере)

       o Исправлена старая ошибка в функции отправки ответов серверной части uVS.
         Из-за ошибки в редких случаях могло происходить подвисание серверной и клиентской частей uVS при работе с удаленной системой.

       o Исправлена ошибка в функции завершения серверной части при выходе из удаленной системы.

       o Оптимизирована функция подключения к удаленной системе.

       o Оптимизирована функция сжатия фреймов для DDAL/DDAw режимов: шрифты теперь не теряют яркость, а картинка DDAL практически неотличима от DDA1/DDA2 на глаз, 
         при этом размер сжатого фрейма вырос лишь незначительно.

       o Добавлена x64 версия report_crash.

       o Обновалена функция сбора дампа при падении uVS, функция перенесена в утилиту report_crash, что позволит
         получить максимально точную информацию о произошедшей ошибке.

       o Временно добавлена аппаратная функция обнаружения разрушения списка автозапуска в памяти uVS, что позволит отлавливать сложные в обнаружении ошибки.
         Есть 5 дампов, по которым не удалось выяснить точное место ошибки и эта функция должна помочь найти проблемное место.
         Функция снижает скорость формирования списка на ~5% на современных процессорах.

       o Исправлена ошибка в функции подсчета удаленных ключей реестра.

       o Исправлена ошибка в функции записи параметров при выходе из uVS.

       o Исправлена ошибка разбора JSON-файлов.

       o Исправлена ошибка проверки переменных окружения загруженного пользователя.

       o Из списка доступных для подключения IP-адресов удалены адреса активных VPN.

       
×