Перейти к содержанию

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
      ---------------------------------------------------------
       4.11.9
      ---------------------------------------------------------
       o Твик #39 теперь дополнительно включает отслеживание командных строк завершенных процессов, командные строки отображаются в окне информации.
         Только для Windows 8.1/Windows Server 2012 R2 и старше.  o WLBSCTRL.DLL теперь автоматически получает статус подозрительного файла.  o В окне информации сетевого адаптера (в разделе DNS) теперь отображается поле DHCP Domain при его наличии.  
    • PR55.RP55
      https://habr.com/ru/post/214953/ На подобное событие антивирус также может реагировать - если сервер будет в чёрном списке. Да и уязвимости...  
    • demkd
      а вот это странно, надо будет почитать может еще что-то отключать надо
    • SQx
      В моем случае я кажется нашел этот - DhcpDomain папаметр: HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Tcpip\Parameters\Interfaces\{64846981-4885-4d8b-af0b-1097a90e00f6} EnableDHCP REG_DWORD 0x1 Domain REG_SZ NameServer REG_SZ DhcpServer REG_SZ 192.168.2.1 Lease REG_DWORD 0x3f480 LeaseObtainedTime REG_DWORD 0x6145e5fe T1 REG_DWORD 0x6147e03e T2 REG_DWORD 0x61495bee LeaseTerminatesTime REG_DWORD 0x6149da7e AddressType REG_DWORD 0x0 IsServerNapAware REG_DWORD 0x0 DhcpConnForceBroadcastFlag REG_DWORD 0x0 DhcpNetworkHint REG_SZ 8616070797 RegistrationEnabled REG_DWORD 0x1 RegisterAdapterName REG_DWORD 0x0 IPAddress REG_MULTI_SZ SubnetMask REG_MULTI_SZ DefaultGateway REG_MULTI_SZ DefaultGatewayMetric REG_MULTI_SZ DhcpIPAddress REG_SZ 192.168.2.103 DhcpSubnetMask REG_SZ 255.255.255.0 DhcpDomain REG_SZ home DhcpNameServer REG_SZ 192.168.2.1 DhcpDefaultGateway REG_MULTI_SZ 192.168.2.1 DhcpSubnetMaskOpt REG_MULTI_SZ 255.255.255.0 DhcpInterfaceOptions REG_BINARY FC00000000000000000000000000000043880400790000000000000000000000000000004388040077000000000000000000000000000000438804002F000000000000000000000000000000438804002E000000000000000000000000000000438804002C000000000000000000000000000000438804002B0000000000000000000000000000004388040021000000000000000000000000000000438804001F000000000000000000000000000000438804000F000000000000000400000000000000C339F780686F6D6506000000000000000400000000000000C339F780C0A8020103000000000000000400000000000000C339F780C0A8020101000000000000000400000000000000C339F780FFFFFF0033000000000000000400000000000000C339F7800003F48036000000000000000400000000000000C339F780C0A8020135000000000000000100000000000000C339F78005000000 DhcpGatewayHardware REG_BINARY C0A8020106000000B8D94D42ED7E DhcpGatewayHardwareCount REG_DWORD 0x1 также я могу его пинговать. >ping -a home Pinging home.home [192.168.2.1] with 32 bytes of data: Reply from 192.168.2.1: bytes=32 time=1ms TTL=64 Reply from 192.168.2.1: bytes=32 time=1ms TTL=64  
    • SQx
      Мне ЛК, также написали:
        Но пользователь сказал, что не было галочки на "Автоматически определять настройки".
×