Обнаруженная в Linux уязвимость Shellshock может коснуться и Windows
Пока огромное количество профессионалов постигали серьезность и глубину проблем с обнаруженной в сентябре уязвимостью Shellshock в пользующейся популярностью командной оболочке Bash, затрагивающей Linux и Unix, стало известно о том, что удаленное выполнение кода (RCE), свойственное для Shellshock, может быть и на системах под Windows — сначала, на серверах: для их риск подвергнуться RCE-атакам в особенности велик, сообщает «Лаборатория Касперского».
Бельгийская ИБ-компания Security Factory нашла в интерпретаторе команд Windows уязвимость, открывающую возможность удаленного ввода команд. Она использует переменные окружения таким же образом, как и эксплойты для Bash.
«А что, если обычный пользователь в вашей сети мог бы захватить контроль над файловыми Windows-серверами, создав директорию под особенным именованием (что совершенно нетрудно) в одной из директорий, к которой у него есть доступ? – пишут специалисты Security Factory. — Все, что ему для этого необходимо, — это сделать папку под особенным именованием в окружении и пользоваться достаточно распространенной уязвимостью в скриптах, посылаемых для выполнения в командный анализатор».
Авив Рафф (Aviv Raff), технический директор Seculert, подтвердил, что проблема почти во всем идентична с Shellshock, и ей подвержены многие ОС Windows — даже Windows 10 Preview.
«Допустим, вы добавили новую переменную в окружение программы, а при ее использовании исполняется код, вписанный в ее имя, — отметил Рафф, анализируя размещенный отчет. — Может быть, проблема не настолько масштабна, как в Linuxили UNIX, но при всем этом имеет возможное воздействие на работу сред Windows Server, потому что они используют командные файлы и скрипты, в которых содержатся переменные окружения».
Росс Барретт (Ross Barrett), старший менеджер по системам безопасности в Rapid7, считает, что Windows и ее внутренние скрипты пока в безопасности, чего нельзя сказать о скриптах, написанных для Windows.
«Факт, на который стоит сначала направить внимание: добавить переменную окружения в Windows– это уже с самого начала привилегированная операция, так что если у вас есть такая возможность, считайте, что система ваша, — уточнил Барретт. — Админам стоит провести аудит своих скриптов на возможность изменения переменной %CD% и каких-то других переменных окружения, но Microsoft навряд ли будет выпускать патч для возможной бреши. Нам также известно, что Bash в средах Cygwin либо coLinu xпотенциально уязвим, но возможность возникновения экплойтов минимальна».
Клиент-системы Windows с большей долей вероятности не находятся под риском удаленного внедрения эксплойта, отметил Рафф. В случае с уязвимостью Shellshock это было может быть из-за особенностей использования командной строчки серверами Apache либо DHCP.
«Мне не удалось удаленно отправить исполняемый код для компрометации систем Windows, — подтвердил Рафф. — Эксплуатация бага вероятна только в локальной сети либо в отдельных средах Windows Server».
Microsoft новость о возможной бреши не прокомментировала, потому что не считает ее угрозой безопасности, и сказала SecureFactory, что не будет публиковать официальное оповещение. Еще в 2006 году компания опубликовала в блоге запись, где описала, как происходит расширение переменных при чтении команд — а это, по сути, и есть сущность Shellshock.
Рафф порекомендовал организациям, разрабатывающим коды с использованием переменных окружения Windows, провести проверку кода и убедиться в том, что он исполняется корректно.
«Ссылаясь на переменные окружения, необходимо использовать кавычки; если их не использовать, написанный код исполняется, — заявил Рафф. — Microsoft не считает ОС уязвимой для эксплойтов, потому что она уже предложила метод, при помощи которого реально избежать проблем. Если же специалисты фирмы убедятся в том, что написание переменной без кавычек не запустит выполнение кода, будет еще лучше. Но внесение изменений может спровоцировать сбои где-нибудь еще, и потому, наверняка, они предпочитают не вмешиваться».