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

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

Компания 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