Рождественский эксплойт для Nvvsvc.exe Английский специалист по ИТ-безопасности Питер Винтер-Смит (Peter Winter-Smith) сделал рождественский подарок сообществу, опубликовав 25 декабря интересный эксплойт для Nvidia Display Driver Service (Nvvsvc.exe), в том числе подробное описание уязвимости и код самого эксплойта. В Nvvsvc.exe происходит переполнение буфера из-за некорректного проведения операции memmove. Эксплойт использует эту ошибку и позволяет обойти механизмы защиты памяти DEP и ASLR, после чего становится возможным выполнение произвольного кода со стороны любого авторизованного пользователя или удалённого пользователя в домене Windows. Некорректное проведение операции memmove происходит таким образом: эта функция переносит данные из буфера received-data в буфер response-buf, не проверяя их. При этом возможно определить, с какого места в буфере received-data начинается считывание данных, если внедрить строку переменной длины, которая одновременно является частью протокола и сообщает количество байтов, скопированных в буфер. Дело в том, что в именованный конвейер \pipe\nsvr поступает в точности такое же количество байтов, какое передаётся в буфер, а не фиксированное число с максимальным значением байтов, которые буфер способен принять. За счёт этой утечки данных становится возможным считывание стека, путём копирования данных с конца буфера received-data, через буфер received-data, который изначально имеет значение, равное нулю. Получается, что путём последовательного считывания можно получить всё содержимое стека: [locals] [received-data] [response-buf] [stack cookie] [return address] [arg space] [etc] Опубликованный эксплойт осуществляет последующую эксплуатацию уязвимости, внедряя в память исполняемый код, используя данные stack cookie. Эксплойт проверен под Win7/x64, на компьютере Dell XPS 15 с видеокартой NVidia GT540M и последней версией драйверов. 26.12.2012 http://www.xakep.ru/post/59877/
exploit Собрал - в локалке не работает. Точнее сказал что успешно выполнился на 1 из машин, но юзер не создался. После этого пайп соединения не принимает. На остальных двух рвемся на шаге 8, и больше подконектиться на эту машину не удается(сама машина локально жива). Win7/x64