Security Week 12: опасная фича в Windows, китайские хакеры сломали все вокруг, инспектировать HTTPS надо с умом

3187b7c72cf540dda067ccbc8ae32fbd.jpgПорой плохую фичу сложно отличить от хорошего бага. В каком-то смысле она даже хуже бага — фиксить-то ее не будут. Вот и Microsoft уже шестой год знает о симпатичной возможности перехвата сессии любого пользователя локальным администратором. Погодите, это же админ, ему все можно! Однако давайте разберемся что здесь не так.

Началось все с того, что исследователь Александр Корзников опубликовал в своем блоге пост о найденной им возможности перехвата чужой сессии. Все рассказал и показал в видеороликах, доступно и наглядно. Если коротко, утилита Windows tscon.exe позволяет подключаться к чужой сессии. Возможность штатная. Пароль пользователя знать надо. Но если запустить tscon из-под пользователя SYSTEM, пароль другого юзера уже не запрашивается! Ты просто заходишь в чужую сессию like a boss. Для выполнения этого трюка, правда, нужна дополнительная админская утилита вроде psexec или аналогичной, словом, установить такое локальному админу не составит труда.

Автор эксплойта не стал оповещать Microsoft до публикации, так как проблема глубинная, и фикса пришлось бы ждать минимум полгода, а прославиться не терпелось. Однако неожиданно он обнаружил пост от 2011 года, где исследователь Бенджамин Делпи описывает все ту же проблему. Получается, Microsoft давно в курсе дела. Кстати, представитель компании добровольно подтвердил журналисту Threatpost, что «это вообще не уязвимость, так как эксплуатация требует прав администратора».

eb4dfe60a8d54942a5c9b5ffe397d1c4.jpgКак же так, ребята? Если я локальный администратор на компьютере, это вовсе не значит, что мне можно шастать по всей сети и заглядывать во все ее потаенные места. К тому же, в реальных сетях серьезных организаций нередко бывает так, что КТО НАДО работает под локальным админом. Просто потому, что иначе криво пашет какой-нибудь критический для бизнеса софт. Ну, или юзер — закадычный друг сисадмина.

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

Так что отчасти Microsoft права: да, это не уязвимость. Это зияющая дыра в модели безопасности Windows. И нам, кстати, с этим жить. На десерт — список версий, в которых квартирует наша гостеприимная фича:

— Windows 2016
 — Windows 2012 R2
 — Windows 2008
 — Windows 10
 — Windows 7.

Китайская команда сбежала из виртуальной машины
Заголовок получился неоднозначный — никто, конечно, не запирал китайцев в виртуальном пространстве, до этого техника пока не дошла, а жаль. Просто ребята из команды Qihoo«s 360 Security отхватили $105 тыс. на хакерском конкурсе Pwn2Own, который прошел на конференции CanSecWest в Ванкувере. Они сумели разработать метод выхода за границы виртуальной рабочей станции VMware, для чего им хватило трех конкурсных дней.

1874aa2e876a4d00a30f12abe3a30c5d.jpgЭксплойт коварные азиаты сварганили на основе цепочки из трех багов: переполнение динамической области (heap overflow) в Microsoft Edge, некорректная проверка типа (type confusion) в ядре Windows и ошибка неинициализации буфера у VMware. Между прочим, в прошлом году эта номинация осталась без победителя, ввиду чего приз вырос с $75 тыс. до $100 тыс.

Разогнавшись, китайцы уже не могли остановиться — они походя взломали Adobe Reader с Adobe Flash и оттоптались на MacOS, разработав метод эскалации привилегий. В итоге парни получили первый приз Master of Pwn. Вспомните об этом, если вдруг захочется пошутить на тему квалификации китайских хакеров.

Контроль за HTTPS может сделать канал небезопасным
Капитан Очевидность вновь пришел на помощь недогадливым. US-CERT выпустил бумагу, в которой ответственно заявил, что использование средств исследования HTTPS-трафика снижает защищенность канала. Э-хе-хе, а для чего ж они нам, как не для этого самого?

Посыл US-CERT на самом деле в том, что при наличии в сети такого инструмента пользователь не может контролировать валидность сертификата сервера и стойкость шифрования канала. Железка, инспектирующая HTTPS-трафик, ставится на позицию «человек посередине». Пользователь может проверить сертификаты этого самого шпионского аппарата, а уж сам аппарат — сертификаты сервера. Теоретически схема работает.

На практике средство контроля HTTPS может быть устаревшим и плохо настроенным, и пользователь со своей стороны никак не сможет узнать, что его трафик идет, к примеру, по уязвимому протоколу SSL3, или что сертификат сервера выдан непонятно кем. Это создает возможность для хакера стать тем самым «человеком посередине» и перехватывать весь якобы защищенный траф.

Авторы исследования, послужившего основой для оповещения US-CERT, выявили пониженный уровень безопасности в 62% контролируемых TLS-каналов. Давайте пошлем немножко лучей здравомыслия всем тем, кто отвалил за брендовую железку много долларов США и считает себя неуязвимым.

1a3d8477c94641beaa19694292d10b54.png

Древности


«Perfume»

Резидентный очень опасный вирус, стандартно поражает .COM-файлы (COMMAND.COM поражается при старте вируса). Создает свою TSR-копию, ничего не изменяя в блоках MCB, чем может вызвать зависание системы. Периодически стирает случайные секторы на диске A:. При 80-й попытке заражения уже инфицированного файла начинает какой-то диалог с оператором (в моем образце вируса текст стерт). Перехватывает int 21h.

Цитата по книге «Компьютерные вирусы в MS-DOS» Евгения Касперского. 1992 год. Страницa 78.

Disclaimer: Данная колонка отражает лишь частное мнение ее автора. Оно может совпадать с позицией компании «Лаборатория Касперского», а может и не совпадать. Тут уж как повезет.

Комментарии (34)

  • 24 марта 2017 в 20:41

    +11

    Я давно не имел дела с виндой, так что поправьте меня, если я не прав. Но насколько я помню, код выполняющийся под SYSTEM имеет достаточно прав что бы перечислить все процессы всех пользователей, замапить себе их память, положить туда любой код и делать другие интересные штуки. Так что возможность штатными средствами подключиться к сессии уже не выглядит такой ужасной.
    • 24 марта 2017 в 21:09

      +1

      все что вы описали могут люди, хоть немного понимающие си и подобное. А сабж могут пользовать кулхацкеры и просто продвинутые пользователи обычными утилитами, если я все верно понял.
      • 24 марта 2017 в 21:34

        +8

        Ну окей, пользуясь уже упомянутой psexec пользователь с локальными админскими правами может запустить в чужой сессии кейлоггер и украсть все пароли. Для этого не надо знать системное программирование.

        Просто найденная «уязвимость» звучит как «о ужас, пользователь с админскими правами может творить что угодно с компьютером!»

        • 25 марта 2017 в 22:57

          0

          Все таки получается, что человек с правами локального админа (в домене он может быть обычным пользователем) может сотворить что угодно в сети.
          А это да, не есть гуд.
          • 25 марта 2017 в 23:27

            0

            Так и есть. Человек может, например, принести свой собственный ноут (он там админ), и делать в сети что угодно. Доменных прав не будет, да.
            • 26 марта 2017 в 22:21

              0

              Что за чушь?
      • 24 марта 2017 в 21:55

        +1

        Ну 90% «хакеров» — это просто пользователи, знающие список «хакерских» утилит… так что для этого не надо знать си и подобное, просто почитывать всякие «стань хакером за 20 минут, скачав хакерские тулзы» =)
      • 24 марта 2017 в 23:38

        +1

        Человек, знающий си, напишет эксплойт…
    • 24 марта 2017 в 22:40

      +1

      Да, откровенно жёлтая статья.

  • 24 марта 2017 в 21:07

    +4

    Давно хочу спросить, вы аудиторию с сайтом хакер.ру не путаете? А то картинки да и слог вообще как-то диссонируют с хабром.
  • 24 марта 2017 в 21:53 (комментарий был изменён)

    +8

    Если я локальный администратор на компьютере, это вовсе не значит, что мне можно шастать по всей сети и заглядывать во все ее потаенные места.

    Нет, просто это значит, что на этой машине вы можете всё.


    А если вы root на unix-машине, и кто-нибудь зашёл на неё по ssh с пробросом agent, то, пока его сессия активна, вы можете пробросить себе его SSH_AUTH_SOCK и логиниться на все сервера, где он может. Более того, вы можете это делать со всеми ключами в его ssh-агенте, а не только с тем, которым он заходил на сервер.


    Ужас-ужас, галектеко опасносте.

  • 24 марта 2017 в 21:59

    +1

    Как же так, ребята? Если я локальный администратор на компьютере, это вовсе не значит, что мне можно шастать по всей сети и заглядывать во все ее потаенные места
    Членство в группе «локальные администраторы компьютера» — ну совсем не означает, что он имеет хоть какие-то права в доменной сети.
    То бишь деревенский староста — конечно фигура у себя в деревне, но в соседнем ПГТ — так, кандидат на в морду дать просто так =)
  • 24 марта 2017 в 23:33

    +2

    По поводу «бага» в Windows…

    Если закрыть этот «баг» то завершение сеансов неквалифицированных пользователей, которые не закрывают RDP-сессии превратиться в сущий ад. Кто не в теме, просто дропать сеансы не всегда можно, там может потребоватьcя еще сохранить мегаважный Excel.

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

    Microsoft, пожалуйста, не латай этот «баг» :)

    • 25 марта 2017 в 10:27

      0

      А зачем вообще нужно завершать RDP-сессии? Ну висят они и пусть себе висят.

      • 25 марта 2017 в 10:31

        +1

        В зависшей сессии может быть, например, открыта база 1С, и повторно подключиться не получится. Когда-то это было актуально.
        • 25 марта 2017 в 18:59

          +1

          это всё ещё актуально D:
      • 25 марта 2017 в 13:13

        0

        Бывает, что они зависают, и пользователь не может переподключиться или наблюдает чёрный экран. Если бы не было возможности их закрывать, приходилось бы перезагружать весь сервер.
        • 25 марта 2017 в 15:55

          0

          Ctrl+Alt+End этому чёрному экрану (аналог Ctrl+Alt+Del, но через RDP) и попробовать подключиться ещё раз.
          Обычно спасает от необходимости перезагрузки.
    • 25 марта 2017 в 22:58

      –1

      Но не с правами же локального админа! Ну ё-мое…
  • 25 марта 2017 в 00:06

    0

    Членство в группе «локальные администраторы компьютера» — ну совсем не означает, что он имеет хоть какие-то права в доменной сети.

    Если на том же компьютере есть доменный пользователь, то делегируем права локальному, запускаем PSHELL и хоть какие-то права права в домене, не только чтение. О подробностях умолчу, тут не хакер, ру .Прочтите и домыслите.

    • 25 марта 2017 в 08:53

      0

      В нормальной корпоративной сети пользователи не имеют прав локального администратора. А если это не так, то перехват чужой сессии — не самое страшное.
      • 25 марта 2017 в 12:27

        0

        Они могут его получить в любое время, имея физический доступ к своему компьютеру.

        • 25 марта 2017 в 20:41

          –1

          Для этого BitLocker есть. Комп загружается только при наличии специального ключа.

          Хотя всё равно, наверняка, можно проломать: эксплоитов подобного сорта в Linux’е обнаруживают по десятку за неделю, не думаю что ядно Windows сильно надёжнее.

      • 25 марта 2017 в 23:01

        0

        В «нормальной» корпоративной сети может оказаться туча старого софта, который какого-то фига нормально не работает без полных прав.
      • 26 марта 2017 в 08:16

        0

        Помнится из соображений безопасности удалили локальных админов на всех машинах, далее на одной машине пользователь поменял DNS адреса на гугловские по советам из интернетов, в результате у него компьютер не смог залогиниться в домене, а локального пользователя мы не оставили…
        • 26 марта 2017 в 16:48 (комментарий был изменён)

          0

          А мне чего-то вспомнилось, как в конторе с доменом, сложными паролями и запретом разглашения паролей, чтобы никто не мог войти под чужим пользователем, мой друг, с которым мы там работали в полях, сел за комп техподдержки и от скуки зашел под учеткой «администратор» по энтеру…

          Админам после этого случая дали небольшой втык)

        • 26 марта 2017 в 20:31

          0

          Простите. Расскажите мне, пожалуйста:
          1. как Вы удалили не удаляемого build-in Администратора.
          2. как с пользовательскими правами поменять DNS-адреса на гугловские?
          3. и почему имея физический доступ к машине у Вас не получилось материализовать сколь угодное количество локальных учеток с любыми правами в считанные минуты используя WinPE?

          У меня такое ощущение, что Вы пи… приукрашиваете.

          • 26 марта 2017 в 22:01

            0

            Думаю, там все наоборот было. Сначала с правами локального админа подхачили dns… Правда, в этом месте должна сломаться доменная политика…
            Или это 2 разных эпизода слились в 1 рассказ.
        • 26 марта 2017 в 21:44

          0

          Вы фееричны!

          Достаточно навесить IP-адрес гугловского DNS-сервера на локальный DNS-сервер (ну, может, ещё пошаманить с роутингом), и всё прекрасно работает.

          • 26 марта 2017 в 21:57

            0

            Шаманить с роутингом и DNS можно без прав администратора?
  • 25 марта 2017 в 12:41 (комментарий был изменён)

    0

    Так в нашем HTTPS трафике кроме АНБ ещё копается операционка, антивирус и комутатор провайдера?

    • 26 марта 2017 в 17:55

      0

      Провайдер не копается.

  • 26 марта 2017 в 12:34

    0

    Поясните про перехват сессии.
    Вот давайте представим, у нас есть сервер с какой нибудь «АРМ Фиалка для рассчётам смет согласно приказу Минстроя № 895–9494/2001 и отправки отчётности» — за админство этого сервака отвечает подрядчик, поэтому у него есть админские права на этот сервер и доступ через VPN. Это абсолютно нормально.

    И вот на этот сервер заходит самый главный админ нашей корпорации из-под админской учётки с правами администратора домена.

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

    • 26 марта 2017 в 17:23

      0

      Может запустить mimikatz.

© Habrahabr.ru