Скрытый бэкдор в Ivanti: случайность или намеренное заражение клиентов?

Скрытый бэкдор в Ivanti: случайность или намеренное заражение клиентов?

Незамеченная с 2014 года уязвимость позволяет взломать устройства через cookie-файлы.

image

Уязвимость Ivanti, которая была раскрыта 2 года назад, до сих пор вызывает беспокойство специалистов из-за своего загадочного происхождения.

Речь идет об уязвимости внедрения кода CVE-2021-44529 (оценка CVSS: 9.8) в устройстве Ivanti EPM Cloud Services Appliance (CSA), которая позволяет неаутентифицированному злоумышленнику выполнять произвольный код с ограниченными разрешениями (уровень прав «nobody”). После обнаружения уязвимости в 2021 году компания Ivanti выпустила рекомендации по безопасности, в которых говорится, что уязвимый код расположен в «/opt/landesk/broker/webroot/lib/csrf-magic.php», а целью атаки является — «/client/index.php».

Интерес к данной уязвимости возрос после того, как багхантер и сотрудник Viettel Cyber ​​Security Туан Ань Нгуен в 2020 году упомянул о наличии бэкдора в библиотеке csrf-magic, которая, по его словам, уже не поддерживается. Поиск дополнительной информации о бэкдоре в csrf-magic не принёс результатов, однако использование архива Way Back Machine позволило обнаружить скомпрометированный файл, последнее изменение в котором было сделано ещё в феврале 2014 года. Это означает, что уязвимость могла оставаться незамеченной на протяжении многих лет.

Дальнейший анализ кода привёл к обнаружению механизма бэкдора, который был спрятан в конце файла в обфусцированном коде. Процесс деобфускации кода выявил, что для активации бэкдора необходимо выполнение определённых условий, связанных с cookie-файлов браузера пользователя.

Примечательно, что код динамически генерирует функцию, которая позволяет достигнуть удаленного выполнения кода на основе куки (Cookie-based RCE), несмотря на то, что функция create_function() устарела в PHP 8 и выше. Эксплуатация уязвимости осуществляется через специально сформированные заголовки куки, содержащие base64-закодированный PHP код. Для выполнения атаки необходимо, чтобы количество пар куки было больше 3, а значение первой пары было «ab». Если эти условия выполняются, код из куки, соответствующий значению счётчика минус три, декодируется и выполняется.

Остаётся открытым вопрос о причинах добавления такого кода в программное обеспечение: является ли это остатком тестирования или скрытым методом доступа к аппаратуре. Поиск в Shodan показывает, что более 2 000 таких устройств всё ещё подключены к интернету, и около 15% из них работают на уязвимой версии.

Для дальнейшего повышения привилегий на устройстве можно воспользоваться уязвимостью CVE-2021-4034 (оценка CVSS: 7.8) в операционной системе CentOS, лежащей в основе Ivanti CSA. Эксплуатация ошибки позволяет получить права root.

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

Если вам нравится играть в опасную игру, присоединитесь к нам - мы научим вас правилам!

Подписаться