Серьезная уязвимость Windows угрожает безопасности Web3, Хакер может полностью контролировать систему

Анализ серьезной уязвимости системы Microsoft Windows: полное управление системой и угроза безопасности Web3

В прошлом месяце в обновлении безопасности, выпущенном Microsoft, был исправлен уязвимость повышения привилегий в системе Windows, которая использовалась хакерами. Эта уязвимость в основном присутствует в ранних версиях Windows и не может быть вызвана в Windows 11.

Такие уязвимости в операционных системах Windows существуют уже долгое время. В этой статье мы проанализируем, как хакеры могут продолжать использовать эту уязвимость на фоне постоянно усиливающейся безопасности. Наш анализ будет проводиться в среде Windows Server 2016.

Эта уязвимость относится к нулевым уязвимостям, то есть к нераскрытым и неисправленным уязвимостям. Нулевые уязвимости могут быть использованы злоумышленниками без ведома пользователя, что делает их крайне разрушительными. С помощью этой уязвимости в системе Windows хакеры могут получить полный контроль над системой.

Серьезные последствия контроля системы хакерами, включая кражу личной информации, сбой системы и потерю данных, финансовые потери, внедрение вредоносного ПО и т.д. Для частных пользователей приватные ключи к криптовалюте могут быть украдены, цифровые активы могут быть перемещены. В более широком плане эта уязвимость может угрожать проектам Web3, которые зависят от инфраструктуры Web2.

Numen эксклюзив: уязвимость 0day от Microsoft может перевернуть Web3 на системном и физическом уровнях

Анализируя код патча, проблема, похоже, заключается в том, что счетчик ссылок на объект был обработан один раз слишком много. Согласно комментариям к исходному коду win32k, изначальный код блокировал только объект окна, не блокируя объект меню внутри объекта окна, что могло привести к неправильной ссылке на объект меню.

Numen эксклюзив: уязвимость 0day Microsoft может разрушить Web3 на системном и физическом уровнях

При реализации концептуального доказательства уязвимости ( PoC ) мы обнаружили проблему с обработкой объекта меню в функции xxxEnableMenuItem. Возвращаемое меню может быть основным меню окна, подменю или даже подподменю. Мы сконструировали специальную четырехуровневую структуру меню для активации уязвимости.

Numen эксклюзив: уязвимость Microsoft 0day может подорвать Web3 игру на системном и физическом уровнях

Перед использованием (Exp) мы в основном рассматривали два направления: выполнение кода shellcode и использование примитивов чтения и записи для изменения адреса токена. Учитывая целесообразность, мы выбрали последнее. Весь процесс эксплуатации делится на два этапа: эксплуатация уязвимости UAF для контроля значения cbwndextra, а затем создание стабильных примитивов чтения и записи.

Numen эксклюзив: уязвимость 0day от Microsoft может разрушить Web3 на системном+физическом уровне

Для реализации первой записи данных мы используем объект имени окна в классе окна WNDClass, занимающий освобожденный объект меню. Тщательно конструируя макет памяти, мы можем контролировать данные памяти соседних объектов, чтобы изменить значение cb-extra в HWNDClass.

Numen эксклюзив: уязвимость 0day Microsoft может разрушить игру Web3 на системном и физическом уровнях

Мы разработали макет памяти для трех последовательных объектов HWND, который занимает объект HWNDClass после освобождения среднего объекта. Предыдущий объект HWND используется для проверки через функцию, а следующий - для окончательной записи и чтения примитивов. С помощью утекшего адреса дескриптора ядра мы можем точно контролировать порядок размещения объектов.

Numen эксклюзив: уязвимость 0day от Microsoft может разрушить Web3 игры на системном и физическом уровнях

В отношении чтения и записи原语 мы используем GetMenuBarInfo() для произвольного чтения, а SetClassLongPtr() для произвольной записи. Кроме записи токена, все остальные записи осуществляются с использованием смещения объекта класса первого окна.

Numen эксклюзив: уязвимость 0day от Microsoft может разрушить Web3 на системном и физическом уровне

В целом, хотя в предварительной версии Windows 11 началась переработка кода win32k с использованием Rust, такие уязвимости все еще представляют собой угрозу безопасности для старых систем. Процесс эксплуатации уязвимости относительно прост и в основном зависит от утечки адреса дескриптора кучи рабочего стола. Открытие этой уязвимости, возможно, стало возможным благодаря более совершенной проверке покрытия кода. При обнаружении уязвимостей, помимо внимания к ключевым точкам вызова функций, также следует обращать внимание на аномальную компоновку памяти и операции чтения/записи данных.

Numen эксклюзив: уязвимость 0day от Microsoft может вскрыть Web3 игры на системном + физическом уровне

TOKEN5.79%
Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
  • Награда
  • 6
  • Поделиться
комментарий
0/400
FlashLoanLordvip
· 8ч назад
Снова пришло время менять яблоки.
Посмотреть ОригиналОтветить0
LightningSentryvip
· 9ч назад
Не обновляясь на win11, вы всё ещё смеете быть неудачниками? Вас должны обобрать.
Посмотреть ОригиналОтветить0
StakeHouseDirectorvip
· 9ч назад
Скоро поднимется 11, не спрашивай, просто иди!
Посмотреть ОригиналОтветить0
StablecoinAnxietyvip
· 9ч назад
Круто, win11 довольно безопасен.
Посмотреть ОригиналОтветить0
fomo_fightervip
· 9ч назад
11 пользователи могут не волноваться?
Посмотреть ОригиналОтветить0
OnchainDetectiveBingvip
· 9ч назад
Win11 действительно великолепен
Посмотреть ОригиналОтветить0
  • Закрепить