[Перевод] Конференция DEFCON 19. Начальство любит Excel, хакеры тоже
Приветствую всех! Кто из присутствующих говорит на испанском? Замечательно! Мы завоевали этот приз, потому что утром наша команда, команда Испании, приняла участие в футбольном турнире и получила этот трофей, так что я извиняюсь перед Аргентиной и Южной Африкой за то, что этот приз выиграли мы. Благодарю всех, что пришли на нашу презентацию. Прежде всего, разрешите представить вам моего друга Хуана Корридо, а — я Чема Алонсо. Мы работаем в маленькой испанской компании Informatica64, и перед тем, как начать разговор по теме, я хочу представить нашу страну.
Испания — это маленькая страна посередине всего, она расположена между Европой, Африкой и Южной Америкой, потому что это наша история. Если вы никогда не были в Испании, то должны туда поехать. Я из Мадрида, это красивый город, он был столицей большой империи 500 лет назад. Если вы приедете в Мадрид, то не почувствуете себя иностранцем, потому что если вы приехали в Мадрид, значит вы уже мадридец. Хуанито из другого города, из Севильи. Этот город был столицей арабской империи в 7 веке, когда Испания была арабской страной. На слайде вы видите Золотую Башню, она построена из золота, которое привезли в Европу из Южной Америки.
Севилья очень известна благодаря фламенко, фестивалям и своим памятникам — на этом слайде один из самых больших памятников архитектуры, площадь Испании, вероятно, вы все её знаете. Вы должны посетить этот памятник, и вы влюбитесь, потому что если Анакин Скайвокер влюбился в Севилье, вы тоже сможете это. Так что не забудьте посетить нашу страну.
Хуанито из Трианы, это маленькая независимая республика в Севильи, очень известная благодаря Страстной Неделе, потому что её жители очень религиозны и тысячи из них устраивают религиозные представления в это время, и конечно, после этого выпивают.
Итак, мы работаем в Informatica64 и, вероятно, многие из вас слышали о разработанном нами инструменте под названием Foca. Это бесплатный инструмент, который вы можете использовать для взлома информации, тестирования на проникновение и так далее. Завтра мы собираемся разместить в нашей интернет-мастерской в 8 часов новую, третью версию этой программы, так что любой из вас может принять участие в её тестировании.
Тема нашего сегодняшнего выступления — это удалённые приложения, использующие Citrix и Windows Terminal Service. Компании размещают их в «облаках». В нашем выступлении мы расскажем, как использовать приложения с расширением .ica и файлы Terminal Service, автоматизируя анализ данных с помощью FOCA. Это позволяет злоумышленнику идентифицировать внутреннее программное обеспечение, внутренние сети и комбинировать информацию при сканировании PTR и во время вредоносных атак, осуществляемых с помощью файлов Excel. В итоге мы воспользуемся хитрой функцией политики безопасности удалённых приложений Excel, которая дает хакерам возможность обойти ограничения макросов и добраться до конфиденциальной информации компаний.
Предварительно мы выполнили большой объём работы по этой теме, по теме Citrix и Windows Terminal Service, но до сих пор верим, что это важно, потому что до сих пор никто серьёзно не озаботился этим вопросом. Мы покажем, с какой легкостью хакер может проникнуть в данные компаний, воспользовавшись этими инструментами.
Очень легко обнаружить точку входа компании, которая ищет удаленные приложения или удалённые соединение через Google. Они ищут файлы .rdp. Можно обнаружить почти две тысячи мест, 2000 серверов, публикующих такие приложения. Можно обнаружить также правительственные сайты, использующие удаленные «облачные» приложения, вы просто можете кликнуть по ним и увидеть, что при этом произойдёт.
Примерно тоже самое вы можете проделать в BING. Вы не сможете использовать модификатор расширения файлов, зато сможете использовать тип файла .txt и совершить поиск любых модификаторов, которые отображаются во всех файлах в тысячах найдённых вами удалённых приложений.
Некоторые из мест, которые мы обнаруживаем с помощью этих удалённых приложений — это правительственные сайты. На слайде вы видите систему управления заказами на патрулирование, находящуюся на домене .mil в США, это сайт военных.
Мы собирались сделать демо на основе этого сайта и поговорили с Джефом, но сегодня он это пофиксил, и мы не знаем, зачем. Но мы готовы продемонстрировать вам эксперимент с другим правительственным сайтом — сайтом Департамента транспорта Калифорнии.
Просто прочитав эту страницу, внизу можно найти удалённое приложение RouteCleaning, которое является файлом с расширением .ica, и скачать его, нажав на ссылку. Посмотрим, что у нас получится. Уверяю вас, 5 минут назад это работало. Ну что же, у нас не получилось, но не волнуйтесь, у нас есть другое демо.
В этой среде, как мы увидим, существует очень много вещей, о которых нужно беспокоиться, и очень сложно обеспечить безопасность всех приложений. Этот слайд с Леонардо Ди Каприо не имеет смысла, так как он относится к не удавшейся демонстрации. Так что ещё раз извините, но 5 минут назад это действительно работало.
Вы настаиваете, чтобы мы снова повторили попытку? Хорошо, набираем в браузере снова «Департамент транспорта Калифорнии». Нет, опять не работает. Они починили это! Но поверьте мне, 5 минут назад у нас всё получалось. Ну ничего, не беспокойтесь.
Продолжим. Самая большая проблема с этими файлами конфигурации заключается в их многословности. Можно просто прочесть файлы в формате .txt и найти в них множество всякой информации, такой как внутренний IP-адрес и зашифрованные пароли пользователей. Вы можете взломать эти зашифрованные пароли, но не сможете получить доступ к системе с использованием анонимной учетной записи или учетной записи пользователя. Здесь упоминается внутреннее программное обеспечение. Так что эти файлы идеально подходят для целевых кибератак типа APT для людей, которые собирают информацию для организации таких атак. Простой поиск файлов .ica в интернете даёт возможность обнаруживать файлы с паролем для Oracle просто в тексте.
Для этого вам не нужно делать ничего специального, в этих файлах и так достаточно информации. Поэтому мы решили добавить этот вид файлов в наш инструмент FOCA, который служит для сбора информации и идентификации сайтов компаний. Вы видите уже новую версию программы, которая будет доступна завтра для тех парней, которые ищут такого рода файлы и извлекают из них информацию.
Вторая большая проблема состоит в том, что это всё текстовые файлы с расширением .txt, поэтому атакующий свободно может модифицировать конфигурационные файлы и так добраться до других частей операционной системы. Он может генерировать сообщения об ошибках на сервере, поэтому при использовании Citrix вы получите сообщение, что данного файла или приложения нет на сервере. Хакер так же сможет достать весь список приложений, установленных на вашем компьютере.
Сделать это с помощью Terminal Services очень просто — в режиме удалённых приложений команда -0 даст доступ ко всему рабочему столу, а команда -1 только к приложениям. Версии с номером < 6 для протоколов RDP создают альтернативную оболочку, хотя и не работают с Terminal Services младше 2008 года. Например, вы получаете различные сообщения об ошибках, типа «Доступ запрещён», потому что этой файл относится к ОС. Но то, что вы не можете получить доступ к данному файлу, означает, что он не находится на сервере, а расположен в компьютере.
Положительным является то, что вы можете сделать то же самое в Citrix, и здесь не существует никакой защиты для предотвращения одного соединения, другого соединения, ещё одного и так далее, вам даже не нужно вводить капчу.
Вы можете оптимизировать эту процедуру с помощью созданной нами программы, которая называется C.A. C.A. («КАКА»), это аббревиатура фразы «Приложения Citrix для компьютера».
Нужно просто открыть «КАКА», выбрать один файл .ica, сбоку в блокноте вы видите перечень параметров настройки «не превышать», «вычислить», «количество угроз» и так далее, вы нажимаете кнопку Start и можете выпить чашечку кофе, пока C.A. C.A. делает за вас работу. Она старается открыть приложение, делая при этом снапшоты, так что когда она закончит работу, вы сможете просмотреть сообщения об ошибках. Таким образом, вы сможете узнать, существует ли данное приложение на сервере или нет. Вы сможете использовать очень большой список приложений. Запустив «КАКА» на своём компьютере в начале дня, вы в конце дня получите перечень приложений в «КАКА».
Еще одну вещь, которую можно проделать с Terminal Services, мы назвали «Игра на пианино». В среде Terminal Services и Citrix имеются множество ссылок, особенно в Windows 2008, слишком много переменных, таких как %SystemRoot%, %ProgramFiles%, %SystemDrive%, слишком много сочетаний клавиш и много функций, позволяющих хакеру добраться до таких частей системы, до которых не добирается даже системный администратор.
Нам очень нравится Windows Server 2008, потому что он поможет во всём! Если вы запросите приложение, которого нет в ОС, Windows Server 2008 выдаст вам окно с ошибкой и кнопкой помощи. Почему бы не воспользоваться такой любезностью? Так вот, когда вы кликнете по кнопке Help, программа предложит вам прочесть руководство со множеством ссылок, позволяющих вам открыть IE, активировать панель «Открыть файл», запустить какую-то команду и так далее.
«Игра на пианино» позволяет использовать множество сочетаний клавиш, позволяющих добраться до различных частей операционной системы.
При их использовании мы получаем всё больше и больше новых сочетаний клавиш.
Интересную возможность даёт функция залипания клавиш. Если нажать клавишу SHIFT три-четыре раза подряд, операционная система выдаст вам меню настройки функции залипания клавиш с контрольной панелью. Так что даже если у вас нет доступа к контрольной панели через залипшие клавиши, вы сможете сконфигурировать все контрольные панели операционной системы, просто кликая «Save».
Сейчас мы покажем вам демо с сайта Citrix. Это веб-сайт «Ситрикс», но данная страничка предназначена для демонстрации возможностей серверов, так что наше демо совершенно легально.
Мы вносим имя пользователя и пароль и попадаем в среду Citrix. Вы видите здесь множество приложений. Мы собираемся использовать Excel, потому что тема нашей презентации — именно Excel. Так что давайте зайдём в приложение и запустим Excel.
Сейчас система загружает клиентские компоненты. Всё готово, теперь используем IE. Поверьте мне, Excel работает, просто скорость интернета невысока. Вот наконец-то появилось окно Windows Server 2008, мы подсоединяемся к удалённому «Экселю». Очень медленно…если кто-то осуществляет в этой сети атаку «человек посередине», пожалуйста, перестаньте это делать (смех в зале). Что случилось с интернетом?
Очень, очень медленно…ну наконец-то! Мы открыли Excel! Как видите, на экране появились конфиденциальные финансовые данные компании.
Этот файл должен быть защищён средой Citrix, давайте попробуем использовать переменные среды для подключения к корневому каталогу. Как видите, при попытке открыть библиотеку «Мои документы» мы получаем сообщения «Доступ запрещён», но вы можете проделать множество трюков.
Один из таких трюков — это создать ярлык для команды cmd, затем запустить его… не работает! Они это пофиксили. Не страшно, тут очень много консолей. Создадим ярлык для powershell и запустим его. Как видите, это сработало! Теперь мы можем получить доступ ко всему, что нужно.
Для нас это очень сложно, потому что с каждым днём операционные системы становятся всё сложнее, и приложения, которые публикуют на сервере, тоже становятся сложнее. Таким образом, каждое приложение, которое вы публикуете в Terminal Services, служит путём доступа к вашей операционной системе. Кроме того, каждое приложение — это путь для повышения привилегий доступа. Комплексные приложения являются оптимальными для таких операций, и Exсel является таким комплексным приложением, которое компании публикуют через сервисы для удалённых приложений.
Это очень мощный инструмент, и боссы любят Excel, потому что вы можете сделать много смешных графиков и диаграмм, проанализировать кучу данных, подключить Excel к базам данных, выполнить интеллектуальный анализ данных и проделать много других полезных для бизнеса вещей.
Но для того, чтобы всё это сделать, вам нужна среда Visual Basic. Вы можете удалить Visual Basic из вашего Excel, но при этом он станет совсем другим приложением, он не останется «Экселем».
Таким образом, идея заключается в том, что благодаря возможностям Visual Basic с помощью Excel можно проделать множество вещей. Давайте мы это продемонстрируем.
Итак, у нас имеется Windows 2008 с терминальными службами, и в этой среде мы публикуем Excel 2007. Мы используем его потому, что политики безопасности, политики ограниченного использования приложений более-менее одинаковы. Основное отличие безопасности MS Office 2010 и 2007 заключается в «песочнице», то есть в отношении к файлам, которые вы загружаете из небезопасного источника в интернете. Но как только вы загрузили файл в компьютер, групповые политики безопасности будут одинаковыми по отношению к макросам. Вы сможете использовать неподписанные макросы и макросы третьих сторон.
Таким образом, в этой среде мы можем исполнять Excel с макросами. По умолчанию политики безопасности дают пользователю возможность выбрать, разрешить исполнение макросов или нет. Однако при запуске Excel на удалённом сервере такой выбор является дополнительной опцией и по умолчанию макросы включены, так как Visual Basic для приложений работает не на локальном компьютере, а на сервере. Это большая разница.
В этом примере мы создадим панель, и вы видите, что в сообщении политики безопасности это опция работы с макросом выбирается пользователем — разрешить использовать данный контент или нет. Конечно, мы кликаем «Разрешить», после чего на экране появляется диаграмма с финансовыми показателями компании.
С таким отношением к приложению вы можете проделать много вещей, например, просмотреть выполняемые процессы. Через инструментарий управления Windows можно с помощью команд получить результаты и отобразить их в файле Excel.
Мы закроем это окно и вернёмся к презентации. После просмотра этого демо становится ясно, что вы должны позаботиться о безопасности Excel в удаленной среде. Первое, о чем должен позаботиться системный администратор — это блокировка некоторых специальных консолей, таких как -cmd.exe, -powershell, -script, -cscript. Но там имеется слишком много консолей, и резервное копирование в Windows Server 2008 создаёт копии всех этих панелей управления. Это создаёт двойную проблему, потому что консоли дублируются. В этой среде все консоли находятся под запретом, для этого мы использовали списки управления доступом ACL и политики безопасности, но мы можем использовать консоли даже от другой операционной системы.
Эту идею выдвинул Стивенс и она заключается в том, что вы можете внедрить dll в файл excel и что этот dll является широко распространённым интерпретатором. Поэтому просто вызвав интерпретатор из вашего dll, вы получите доступ к серверу. Так что давайте посмотрим второе демо, которое касается запрещённых консолей. Мы зайдем в Windows Server 2008 и попытаемся исполнить cmd.exe, которая запрещена. Вы видите, что у нас ничего не получается, потому что эта консоль запрещена — появляется надпись, что данная программа заблокирована групповыми политиками безопасности.
Но в файле Excel, который мы собираемся открыть, имеется .dll из ReactOS и .dll для редактора реестра, тоже из ReactOS. Поэтому мы открываем командную строку нажатием кнопки «Command line», и сейчас файл Excel извлекает .dll, чтобы выполнить его. В действительности мы собираемся получить интерпретатор команды ReactOS.
Вы видите на экране, что мы получили интерпретатор команд ReactOS, который практически ничем не отличается от интерпретатора команд Windows 2008. Так что это хороший трюк.
При этом в диспетчере задач не видно никаких cmd.exe, потому что это .dll внутри файла Excel и в диспетчере задач можно увидеть только работу приложения EXCEL.EXE, так что атакованная вами компания ничего не заподозрит.
Вернёмся назад к нашим слайдам. Просмотрев последнее демо, вы можете сказать — ок, я отключу все макросы для своего компьютера. Но дело в том, что согласно политикам безопасности, отключение Visual Basic означает запрет его использования для всех офисных приложений, а не только для Excel, то есть это затронет Word, PowerPoint, Access и так далее.
В настройках Excel имеются 4 опции безопасности макросов: не использовать макросы, использовать только подписанные макросы, использовать макросы на усмотрение пользователя для каждого конкретного случая и использовать все макросы. Если пользователем является хакер, он выберет 3 опцию. Сейчас мы покажем вам демо Excel, для которого мы выбрали первую опцию — вообще не использовать макросы.
Мы снова используем файл Excel, опубликованный через удалённую среду, поэтому возвращаемся в Windows 2008 и выходим из бездействующего интернет-соединения. Далее мы идём к политикам, выбираем чекбокс «Enable», чтобы включить политики безопасности и в выпадающем меню выбираем третий параметр «Без предупреждений для всех макросов, но с запретом всех макросов».
Затем мы кликаем по кнопкам «Применить» и «ОК», ждём изменения параметров, возвращаемся к клиенту и открываем файл Excel. Это один из моих любимых трюков. Когда вам удаётся открыть документ, вы видите, что ничего не возможно выполнить, потому что всё запрещено. Щелкаем по любой ячейке документа и видим, что у нас ничего не получается, потому что всё запрещено.
Но в Excel есть одна особенность — здесь имеются доверенные места нахождения trusted locations. Доверенные места нахождения — это то, к чему не применяются политики безопасности, поэтому вам достаточно просто сохранить документ в таком месте. И конечно же, доверенное место нахождения имеется в профиле пользователя. Доверенное место нахождения файлов может распологаться на компьютере пользователя или на компьютере сервера, не имеет значения — если документ открыт в доверенном месте, никакие политики безопасности к нему не применяются. Так что давайте сохраним документ в одном из самых доверенных мест по умолчанию, которое предлагается при открытии нового файла — в Книге Excel. Затем мы закрываем документ, с которым не смогли работать, и открываем его сохранённую копию из доверенного места нахождения. Как видите, документ открылся, всё работает!
Ну что же, без макросов — значит без макросов! Как следует из этого демо, решение есть — вообще никаких доверенных мест нахождения файлов! Возможно, просмотрев это демо, системный администратор сделает вывод, что для безопасности нужно использовать только подписанные макросы из доверенных мест нахождения. То есть использовать другую опцию безопасности. Что ж, давайте посмотрим демо на эту тему.
Итак, в этом демо мы будем выбирать из 4 опций. Вы помните: 1 опция — все макросы, 2- для каждого конкретного случая, третий — без макросов, и 4 — использовать только макросы с цифровой подписью. Мы опять заходим на вкладку групповой политики безопасности и включаем параметр «Доверять только макросам с цифровой подписью».
Кликаем «Применить», «ОК» и наблюдаем за изменением политики безопасности.
Итак, у нас есть файл Excel с цифровой подписью, и у нас на экране появилось предупреждение безопасности, потому что этот подписанный файл не из доверенного места нахождения. Здесь отмечена опция «Защитить меня от неизвестного контента», а выше неё расположена ссылка «Показать детали цифровой подписи».
Щелкаем по этой ссылке, и на экране появляется цифровой сертификат. Если мы пройдём дальше, кликая на иконку сертификата, то перейдём в корень сертификата и сможем просмотреть сам сертификат. Ага, мы можем установить этот сертификат, потому что здесь даже имеется помощник установки Certificate Import Wizard!
Итак, мы устанавливаем сертификат, и сообщение на странице меняется — добавляются две строчки «Разрешить контент» и «Доверять всем документам из этого источника» (аплодисменты зала).
Это очень важно, потому что используя эту опцию, можно начать Третью Мировую войну. Предположим, вы сможете устанавливать цифровые сертификаты в любые документы. В деталях этих сертификатов есть ссылки на списки аннулированных сертификатов CRL, а CRL ссылки могут быть ссылками на HTTP и LDAP, причем HTTP ссылки могут использоваться для атак типа SQL Injection, то есть для внедрения SQL кода. Так что если вы установите СА и вышлите файл Excel с цифровой подписью кому-то, кто имеет отношение к вашей компании, и он его откроет, то, в конечном счёте, документ попытается подключиться к CRL.
Так что если вы найдёте уязвимость для внедрения SQL, например, на сайте Верховного суда Китая, вы можете установить какой-нибудь посторонний сертификат CA на один из DHS компьютеров, послав пользователю такого компьютера свой файл. Вы можете узнать, кто именно работает за таким компьютером, с помощью FOCA.
Так что для начала войны нужно:
- найти уязвимость в компьютере DHS;
- добраться до ОС;
- вставить в файл Excel посторонний CA;
- создать атакующий URL в CRL для атаки, например, Китая;
- отправить на компьютер DHS файл Excel с цифровой подписью.
Мы, конечно, шутим, но на следующем демо вы видите результат того, как можно использовать данный приём на компьютере пользователя с помощью удалённого приложения.
Так что если вы используете удалённые приложения, во избежание подобных проблем, вам нужно, во-первых, пересмотреть надёжность соединений с удалёнными приложениями и пересмотреть безопасность всех документов, получаемых из удалённых источников. Вы должны вообще не использовать оповещения безопасности для файлов Excel и всех остальных приложений, которые вы публикуете. Вы не должны никому доверять, не должны использовать доверенные места нахождения файлов в профилях пользователей и не должны пользоваться совместным доступом с удалёнными пользователями.
Мы обнаружили ещё одну интересную вещь в терминальных службах TS Web Access — большинство администраторов используют опцию «Скрыть в TS Web Access». Это означает, что если у вас есть удалённое приложение, опубликованное в терминальных службах, то это приложение хочет появиться в панели HTTP. Но поскольку это приложение все еще опубликовано, то вы, зная его название, можете к нему подключиться.
На этом всё, спасибо, что оставались с нами!
Немного рекламы :)
Спасибо, что остаётесь с нами. Вам нравятся наши статьи? Хотите видеть больше интересных материалов? Поддержите нас, оформив заказ или порекомендовав знакомым, облачные VPS для разработчиков от $4.99, уникальный аналог entry-level серверов, который был придуман нами для Вас: Вся правда о VPS (KVM) E5–2697 v3 (6 Cores) 10GB DDR4 480GB SSD 1Gbps от $19 или как правильно делить сервер? (доступны варианты с RAID1 и RAID10, до 24 ядер и до 40GB DDR4).
Dell R730xd в 2 раза дешевле в дата-центре Equinix Tier IV в Амстердаме? Только у нас 2 х Intel TetraDeca-Core Xeon 2x E5–2697v3 2.6GHz 14C 64GB DDR4 4×960GB SSD 1Gbps 100 ТВ от $199 в Нидерландах! Dell R420 — 2x E5–2430 2.2Ghz 6C 128GB DDR3 2×960GB SSD 1Gbps 100TB — от $99! Читайте о том Как построить инфраструктуру корп. класса c применением серверов Dell R730xd Е5–2650 v4 стоимостью 9000 евро за копейки?