Активная эксплуатация уязвимостей интерфейса Web Management User Interface программного обеспечения Cisco IOS XE

security

Компания Cisco выявила активную эксплуатацию ранее неизвестной уязвимости в функции Web User Interface (Web UI) программного обеспечения Cisco IOS XE (CVE-2023-20198) при выходе в Интернет или недоверенные сети. Эта уязвимость затрагивает как физические, так и виртуальные устройства под управлением ПО Cisco IOS XE, на которых также включена функция HTTP или HTTPS Server.

  • Успешная эксплуатация CVE-2023-20198 позволяет злоумышленнику получить доступ к устройству с уровнем привилегий 15, который он может использовать для создания локального пользователя и входа в систему с обычным пользовательским доступом.
  • Далее злоумышленник может использовать новую неавторизованную учетную запись локального пользователя для эксплуатации второй ранее неизвестной уязвимости (CVE-2023-20273) в другом компоненте WebUI. Это позволяет злоумышленнику выполнять команды с повышенными (root) привилегиями, что дает ему возможность запускать произвольные команды на устройстве.
  • Рекомендации Cisco по отключению функции HTTP-сервера в системах, выходящих в Интернет, соответствуют не только лучшим практикам, но и рекомендациям правительства США по снижению рисков, связанных с использованием интерфейсов управления, выходящих в Интернет.
  • Центры поддержки Cisco сотрудничали с группой безопасности после использования методов и процедур, которые позволили выявить аналогичные признаки в очень небольшом количестве случаев из нашего обычного значительного ежедневного объема.
  • Эти уязвимости относятся к критическим и уязвимостям высокой степени серьезности, и мы настоятельно рекомендуем пострадавшим организациям незамедлительно выполнить действия, описанные в PSIRT-сообщении Cisco.

Первоначальный доступ и доставка имплантата

Уязвимость CVE-2023-20198 получила наивысшую оценку Common Vulnerability Scoring System (CVSS) (10/critical). Успешная эксплуатация позволяет злоумышленнику получить доступ к устройству с полными правами администратора. После компрометации устройства мы наблюдали, как злоумышленник использовал вторую уязвимость (CVE-2023-20273), затрагивающую другой компонент Web UI, для установки имплантата. Это позволяет злоумышленнику выполнять произвольные команды с повышенными (root) привилегиями, тем самым фактически получая полный контроль над устройством. В данной конкретной атаке злоумышленник использовал возможность выполнения произвольных команд для записи имплантата в файловую систему. CVE-2023-20273 имеет CVSS-оценку 7,2 (высокая).

Анализ импланта

Имплантат основан на языке программирования Lua и состоит из 29 строк кода, облегчающего выполнение произвольных команд. Злоумышленник должен создать HTTP POST-запрос к устройству, который выполняет следующие три функции:

  • Первая функция диктуется параметром "menu", который должен существовать и быть непустым. Она возвращает строку чисел, окруженных прямыми слэшами, которая, как мы полагаем, представляет собой версию имплантата.
  • Вторая функция диктуется параметром "logon_hash", который должен быть равен "1". Он возвращает 18-символьную шестнадцатеричную строку, которая жестко закодирована в импланте.
  • Третья функция также диктуется параметром "logon_hash", который проверяет, совпадает ли параметр с 40-символьной шестнадцатеричной строкой, жестко закодированной в импланте. Второй параметр, используемый здесь, - "common_type", который должен быть непустым и значение которого определяет, выполняется ли код на системном уровне или на уровне IOS. Если код выполняется на системном уровне, то значение этого параметра должно быть равно "subsystem", а если на уровне IOS, то параметр должен быть равен "iox". Команды IOX выполняются на уровне привилегий 15.

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

Cisco также наблюдали вторую версию импланта, которая теперь включает предварительную проверку на наличие заголовка HTTP Authorization. Большинство основных функциональных возможностей этой версии остались такими же, как и у предыдущей. Вторая версия, скорее всего, начала разворачиваться еще 20 октября и была развернута с использованием более ранней версии имплантата.

Добавление злоумышленниками проверки заголовка в имплант, скорее всего, является реактивной мерой, направленной на предотвращение идентификации скомпрометированных систем. Данная проверка заголовка используется в основном для того, чтобы помешать идентификации компрометации с помощью предыдущей версии команды curl, предоставленной компанией Talos. Основываясь на информации, полученной на данный момент, мы считаем, что добавление проверки заголовка в имплант, скорее всего, привело к недавнему резкому снижению видимости зараженных систем, находящихся в открытом доступе. Мы обновили команду curl, приведенную в нашем руководстве, чтобы помочь идентифицировать варианты имплантов, использующих проверку HTTP-заголовков.

Организациям следует обратить внимание на необъяснимые или вновь созданные пользователи на устройствах как свидетельство потенциально вредоносной активности, связанной с этой угрозой. Одним из способов выявления наличия известных вариантов имплантата является выполнение следующих команд на устройстве, где часть "DEVICEIP" является заполнителем IP-адреса проверяемого устройства:

В результате будет выполнен запрос к Web-интерфейсу устройства на предмет наличия имплантата. Если запрос возвращает шестнадцатеричную строку, аналогичную той, что была описана в третьей функции выше, значит, известная версия имплантата присутствует. Отметим, что это будет свидетельствовать о компрометации только в том случае, если веб-сервер был перезапущен агентом после установки имплантата.

Кроме того, для идентификации систем с известными версиями имплантата можно выполнить общую команду curl, не взаимодействуя с основной функциональностью имплантата:

Если в ответ будет получен HTTP-ответ 404 с HTML-страницей, состоящей из сообщения "404 Not Found", это означает, что в системе присутствует известная разновидность имплантата. Система без импланта должна возвращать либо стандартный HTTP-ответ 404, либо HTTP-ответ 200 с JavaScript-перенаправлением.

Indicators of Compromise

IPv4

  • 154.53.56.231
  • 154.53.63.93
  • 5.149.249.74

User Name

  • cisco_tac_admin
  • cisco_support
  • cisco_sys_manager
Комментарии: 0