03.10.2015

Повышение привилегий через приложения, предназначенные для управления клиентами. Часть 2

image

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

Автор: Matthias Deeg

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

Введение

В первой части данного цикла было рассказано об уязвимостях, касающихся управления учетными записями в приложении FrontRange DSM [1]. Эксплуатируя найденные бреши, злоумышленник может получить административные права ко всему домену в ОС Windows.

В еще одном приложении, предназначенном для управления клиентами, под названием Empirum от компании Matrix42 [3] и в особенности в компоненте Empi­rum Inventory злоумышленникам тоже есть чем поживиться, поскольку учетные записи пользователей защищаются неудовлетворительным образом.

Бреши, касающиеся управления учетными записи, не являются чем-то новым и регулярно эксплуатируются специалистами компании SySS, начиная с 2009 года, во время множества пентестов. Весьма вероятно, что злоумышленники тоже в курсе дела и успешно проводят атаки, которые зачастую приводят к получению административных прав к целым Windows-доменам. Насколько известно, в компании Matrix42 знают об этой проблеме, начиная с конца 2009 года. Кроме того, 14 февраля 2013 года информация о данных уязвимостях была обнародована независимым исследователем под именем otr в рассылке Full Disclosure [4]. Несмотря на это, бреши до сих пор не исправлены.

Оценка уровня угрозы

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

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

Empirum поддерживает следующие 4 формата для хранения информации о паролях в зашифрованном виде в различных конфигурационных файлах и реестре:

  1. SETUP - пример: *SKZjk`&gp2
  2. SYNC – пример: 12B65B9A30D4237D0A5F8D50 341581B64207CE74CDE2ED76328D55 EDE775EF4A71631812F2E4E39BD951 E26991F307F
  3. EIS – пример: A“z!‘ |-%-*),$„!&(xiYJ| +./‘(=&)+#$,#%./*X
  4. MD5 – пример: 8a24367a1f46c141048752f2 d5bbd14b

При хранении паролей в форматах SETUP, SYNC и EIS используется обратимое шифрование с использованием утилиты EmpCrypt.exe. Обычно, только администраторы имеют доступ к этому приложению, которое, к тому же, не устанавливается в управляемых системах. Однако в некоторых компонентах (например, Empirum Inventory) и модулях (например, EmpInventory.exe, ShowInventory.exe), которые устанавливаются на управляемых системах, есть функции для дешифровки паролей, хранящихся в вышеупомянутых форматах. При хранении паролей в формате MD5 используются несоленые голые MD5-хеши.

Конфигурационные файлы, содержащие зашифрованные пароли в форматах SETUP, SYNC, EIS или MD5, хранятся либо локально в управляемых системах (например, файл Agent­Config.xml), либо в общих сетевых каталогах (INI-файлы).

Пользователь с ограниченными правами имеет доступ на чтение к локальным XML-файлам и к INI-файлам, которые обычно хранятся в следующих каталогах:

  • \\<EMPIRUM SERVER>\Configurator$
  • \\<EMPIRUM SERVER>\Values$

Анализ показал, что для форматов SETUP, SYNC и EIS используются различные алгоритмы шифрования. В каждом случае предусмотрен свой жестко заданный криптографический ключ или шифровальная таблица (permutation table).

Затем специалисты компании SySS выяснили, что процесс EmpInventory.exe, запускаемый от имени пользователя с ограниченными привилегиями, дешифрует и использует учетные записи, которые хранятся в конфигурационных файлах. Следовательно, злоумышленник или вредонос тоже может получить доступ к этим паролям, если получит контроль над процессом EmpInventory.exe.

Так же как и в случае с FrontRange DSM (см. первую часть) доступ к паролям через процесс EmpInventory.exe можно получить в режиме реального времени при помощи отладчика OllyDbg [5].

Другой способ – расшифровать пароли, хранимые в конфигурационных файлах. Для этого необходимо разобраться с алгоритмами шифрования форматов SETUP, SYNC и EIS. Злоумышленник может проанализировать компоненты на стороне клиента, например, файл EmpInventory.exe или библиотеку Cryptography.dll, и использовать полученные знания для расшифровки.

Специалисты компании SySS разработали утилиту Empirum Password De­cryptor под Windows и Linux, способную расшифровывать пароли, хранимые в форматах SETUP, SYNC и EIS. Ниже показано три примера работы утилиты под различные форматы паролей.

$ ./epd ‚*SKZjk`&gp2‘
____ ___ ___
|___ |__] | \
|___ | |__/
Empirum Password Decryptor v2.0 by Matthias Deeg - SySS GmbH (c) 2009-2015
[*] Read Empirum SETUP password
[+] The decrypted password is: P@ssw0rd!
$ ./epd 12B65B9A30D4237D0A5F8D50341581B64207CE74CDE2ED7632D8
D55EDE775EF4A­71631812F2E4E39BD951E26991F307F
____ ___ ___
|___ |__] | \
|___ | |__/
Empirum Password Decryptor v2.0 by Matthias Deeg - SySS GmbH (c) 2009-2015
[*] Read Empirum SYNC password
[+] The decrypted password is: P@ssw0rd!
E:\>epd.exe „A\“z!‘ ^|-%-*),$ \“!&(xiYJ|+./‘(=&)+#$,#%./*X“
____ ___ ___
|___ |__] | \
|___ | |__/
Empirum Password Decryptor v2.0 by Matthias Deeg - SySS GmbH (c) 2009-2015
[*] Read Empirum EIS password
[+] The decrypted password is: P@ssw0rd!

Найденные уязвимости присутствуют в следующих версиях Empirum:

  • v14.2.1
  • v15.1.0

Как описано в бюллетене по безопасности Empirum Pass­word Obfuscation Design Flaw [4], утилиту EmpCrypt.exe можно легко пропатчить посредством модификации инструкции условного перехода для того, чтобы расшифровать пароли в форматах SETUP, SYNC и EIS. Следовательно, злоумышленник легко сможет расшифровать пароли, не прикладывая особых усилий, если получит доступ к файлу EmpCrypt.exe, либо приложениям наподобие Empirum Password De­cryptor. Впрочем, Empirum Password De­cryptor не будет выкладываться во всеобщий доступ.

Заключение

Приложение Empirum защищает учетные записи пользователей неудовлетворительным образом. Пользователь с ограниченными привилегиями имеет доступ к зашифрованным паролям. Получив доступ к криптографическому ключу или шифровальной таблице, злоумышленник легко может расшифровать пароли, хранимые в форматах SETUP, SYNC и EIS. Кроме того, процесс EmpInventory.exe работает от имени пользователя с ограниченными привилегиями, что является еще одной брешью. Кроме того, злоумышленник легко может получить доступ к паролям посредством отладчика.

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

Разработчикам Ma­trix42 рекомендуется изменить архитектуру в части защиты учетных записей и разрешить доступ к этой информации только от имени пользователей с расширенными привилегиями. В этом случае злоумышленник или вредонос не сможет получить доступ к расшифрованным паролям.

На данный момент специалисты компании SySS не знают, исправлены ли найденные уязвимости. Если вы используете Empirum для управления клиентами, и эти бреши у вас присутствуют, свяжитесь с компанией Matrix42.

Ссылки

[1] SySS Security Advisory SYSS-2014-007, https://www.syss.de/fileadmin/dokumente/Publikationen/Advisories/SYSS-2014-007.txt

[2] Matthias Deeg, Privilege Escalation via Client Management Software, https://www.syss.de/filead min/dokumente/Publikationen/2015/Privilege_Esca lation_via_Client_Management_Software.pdf

[3] Matrix42 Website, https://www.matrix42.com/en/

[4] Full Disclosure Mailing List, Empirum Password Obfuscation Design Flaw, http://seclists.org/fulldis closure/2013/Feb/71

[5] OllyDbg Website, http://www.ollydbg.de/

[6] Microsoft Security Bulletin MS14-025, Vulnera­bility in Group Policy Preferences Could Allow Eleva­tion of Privilege (2962486), https://technet.microsoft.com/en-us/library/security/ms14-025.aspx