Открита „грешка в дизайна“ в Microsoft Azure може да бъде използвана от нападатели, за да получат достъп до акаунти за съхранение, да се движат странично в средата и дори да изпълняват отдалечен код.
„Възможно е да се злоупотребява и да се използват акаунти за съхранение на Microsoft чрез манипулиране на Azure Functions, за да се откраднат токени за достъп на идентичности с по-високи привилегии, да се придвижват странично, потенциално да получат достъп до критични бизнес активи и да изпълняват отдалечен код (RCE)“, се казва в нов доклад на Orca, споделен с The Hacker News.
Пътят на експлоатация, който е в основата на тази атака, е механизъм, наречен Shared Key authorization (оторизация на споделен ключ), който е активиран по подразбиране в акаунтите за съхранение.
Според Microsoft Azure генерира два 512-битови ключа за достъп до акаунт за съхранение при създаването на акаунт за съхранение. Тези ключове могат да се използват за оторизиране на достъпа до данни чрез Shared Key оторизация или чрез SAS токени, които са подписани със споделения ключ.
„Ключовете за достъп до акаунт за съхранение осигуряват пълен достъп до конфигурацията на акаунта за съхранение, както и до данните“, отбелязва Microsoft в своята документация. „Достъпът до споделения ключ предоставя на потребителя пълен достъп до конфигурацията на акаунта за съхранение, както и до неговите данни.“
Фирмата за облачна сигурност заяви, че тези ключове за достъп могат да бъдат откраднати чрез манипулиране на Azure Functions, което потенциално позволява на хакер с достъп до акаунт с роля Storage Account Contributor да увеличи привилегиите си и да поеме контрола над системите.
По-конкретно, ако управляваната идентичност бъде използвана за извикване на приложението Function, с нея може да се злоупотреби за изпълнение на всякакви команди. Това от своя страна е възможно поради факта, че при внедряването на приложение Azure Function се създава специален акаунт за съхранение.
„След като атакуващият открие акаунта за съхранение на приложението Function, на което е присвоена силна управлявана идентичност, той може да изпълни код от негово име и в резултат да придобие абонаментно повишаване на привилегиите (PE)“, заяви Рой Нисими, изследовател от Orca.
С други думи, чрез ексфилтриране на токена за достъп на приложението Azure Function, на което е присвоена управлявана идентичност, към отдалечен сървър, престъпникът може да повиши привилегиите, да се придвижи флангово, да получи достъп до нови ресурси и да изпълни обратна обвивка на виртуални машини.
„Чрез пренастройване на функционалните файлове в акаунти за съхранение атакуващият може да открадне и ексфилтрира идентичност с по-високи права и да я използва, за да се придвижи странично, да експлоатира и компрометира най-ценните бижута в короната на жертвите“, обяснява Нисими.
Като смекчаващи мерки на организациите се препоръчва да обмислят деактивиране на оторизацията на Azure Shared Key и вместо това да използват автентикацията на Azure Active Directory. В координирано разкритие Microsoft заяви, че „планира да актуализира начина, по който клиентските инструменти Functions работят с акаунти за съхранение“.
„Това включва промени за по-добра поддръжка на сценарии, използващи идентичност. След като връзките, базирани на идентичност, за AzureWebJobsStorage са общодостъпни и новите опити са валидирани, идентичността ще стане режим по подразбиране за AzureWebJobsStorage, който има за цел да се отдалечи от оторизацията със споделен ключ“, добави още технологичният гигант.
Констатациите идват седмици след като Microsoft поправи проблем с неправилна конфигурация, засягащ Azure Active Directory, който даваше възможност за подправяне на резултатите от търсенето в Bing, и отразена XSS уязвимост в Azure Service Fabric Explorer (SFX), която можеше да доведе до неавтентифицирано изпълнение на отдалечен код.