В продължение на седмици той обещаваше, че 14 юли ще разтърси из основи Microsoft. Вторникът на корекциите (Patch Tuesday) дойде, Microsoft отстрани рекорден брой от 622 уязвимости, а часове по-късно той пусна LegacyHive – zero-day уязвимост в Windows, която позволява на обикновен потребител да проникне в администраторския акаунт. Все още няма корекция за сигурност, нито CVE идентификатор, а самата атака се оказа далеч по-тиха от обещаното. 🧐
Ако сте следили публикациите ми тази година, знаете кой е той. Nightmare-Eclipse – изследователят, който прекара 2026 г. в публикуване на работещи експлойти за Windows, насочени срещу Microsoft, след като според думите му компанията си е присвоила заслугите му и не му е платила нищо за откритите грешки. Microsoft наистина изтри акаунта, през който той докладваше за уязвимости. Разказах цялата история, когато броят им достигна шест, така че тази публикация се фокусира върху новата уязвимост.
Още през юни той се отказа от масовото пускане на уязвимости на 14 юли, като заяви, че вместо това ще публикува по-малки експлойти. И на 14 юли се случи точно това. Нямаше манифест, нито подигравки, скрити в кода, каквито имаше в предишните му публикации с открити нападки срещу Microsoft. Само три връзки към негови собствени сървъри и подпис – нищо друго. Много по-скромно от момента, който беше подготвил.
Но уязвимостта, която стои зад това, все още работи на напълно обновена машина и засяга място, за което малко хора изобщо се замислят.
LegacyHive се намира в услугата за потребителски профили на Windows (Windows User Profile Service) – частта от Windows, която зарежда вашите настройки в момента на влизане в системата. Всеки акаунт на дадена машина има своя собствена системна област (hive) – дял от регистъра, който съхранява настройките на съответния потребител, включително малки, но важни неща, като например коя програма кой тип файл отваря. Обикновено само на самия Windows е разрешено да зарежда системната област на друг потребител. Вашият акаунт няма достъп до настройките на друг акаунт и тази бариера е от ключово значение. LegacyHive я заобикаля директно, позволявайки на обикновен потребител да зареди системната област на друг потребител (включително на администратор) в собственото си пространство. Уязвимостта работи на Windows 10, Windows 11 и Windows Server с инсталирано обновяване от юли 2026 г.
Това не е начин за проникване в машина, а начин за повишаване на привилегиите в нея.
Атакуващият вече е влязъл като обикновен потребител чрез инсталиран преди това зловреден код или откраднат стандартен акаунт. LegacyHive е стъпката, която го издига от обикновен потребителски профил към администраторски.
Тук нищо не се отваря насила. Експлойтът разчита на времеви интервали (timing) и на доверието, което Windows гласува на вече проверен файлов път.
Услугата User Profile Service вече се изпълнява с права SYSTEM – най-високото ниво на привилегии на машината, а зареждането на потребителската област при влизане в системата е нейната обичайна задача. Киберпрестъпникът разполага с втори обикновен акаунт, който служи за помощник, и знае паролата му. Той стартира нормален процес на влизане за този акаунт, така че услугата съвестно започва да зарежда неговата системна област като SYSTEM, точно както е предвидено. До този момент нищо не е компрометирано.
Капанът е заложен в самия път. Преди влизането атакуващият променя настройките на помощния акаунт така, че мястото, където Windows търси системната му област, да бъде фалшив маршрут, изграден от символни връзки (симлинкове). Една от връзките е примамка, която изглежда нормално. Втора, скрита връзка сочи към профила на администратора, където се намира целевата област. Върху примамката атакуващият поставя механизъм за заключване на файлове (oplock), който може да замрази процеса на зареждане в точно желания момент.
Услугата започва да зарежда това, което смята за областта на помощния акаунт. Тя достига до примамката, механизмът я замразява в средата на процеса и в този замразен момент злонамереният субект променя символния път така, че той вече да сочи към системната област на администратора. След това той освобождава заключването. Услугата, която все още работи с права SYSTEM и е сигурна, че върши нормалната си работа, завършва зареждането на администраторската област и я монтира под акаунта на атакуващия.
Ето и недостатъка в едно изречение: Windows проверява пътя веднъж, а между тази проверка и момента на отваряне на файла атакуващият тихомълком насочва пътя към друга област. Windows никога не би заредил съзнателно администраторската област за обикновен потребител – той бива измамен в пролуката между проверката и използването.
Тази пролука се нарича "time-of-check to time-of-use" (време на проверка спрямо време на използване) и е от същото семейство като предишната му уязвимост RoguePlanet, която разчиташе на същия тип състезание за подмяна на указателя в точния момент.
Тази врата е била отваряна и преди. През януари 2015 г. Microsoft коригира уязвимост в същата тази услуга (User Profile Service), след като локален потребител намери начин да я накара да зареди областта на друг акаунт. Тогава те коригираха начина на проверка на привилегиите и я затвориха. Единадесет години по-късно същият тип слабост се завръща в същата услуга, а малцина са тези, които го заявяват открито.
Публикуваната от него версия е умишлено ограничена. Тя изисква три неща – помощен акаунт, паролата му и целевия потребител:
В този си вид публичният вариант позволява единствено четене на системната област на другия потребител – частта, съдържаща данни за приложенията и историята на File Explorer. Не се извличат хешове на пароли и не се изпълнява самостоятелен код. Авторът на заплахата твърди, че оригиналният експлойт е бил по-мощен и не е изисквал допълнителен акаунт...