1.2, Wormik (ok), 20:40, 01/08/2012 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Давно уже не было root-уязвимостей в драйвере NVIDIA! Никто не знает, с какой версии появилась эта уязвимость, и уязвимость с зависанием на 2 месяце аптайма для 32-битных систем?
| |
|
|
3.21, Аноним (-), 22:10, 01/08/2012 [^] [^^] [^^^] [ответить]
| +/– |
Да уж, проблема зависания чьего-то компьютера неизвестно по какой причине - должна быть равносильна проблеме использования конкретного продукта абсолютно у всех.
| |
|
|
3.23, Wormik (??), 22:37, 01/08/2012 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Почти целый месяц.
Внимательно посмотри на даты "похожих новостей".
| |
|
|
1.3, Аноним (-), 20:41, 01/08/2012 [ответить] [﹢﹢﹢] [ · · · ]
| +5 +/– |
Аноним негодуэ! Почему нет скриншота со средним пальцем дяди Линуса?!
| |
1.6, Аноним (-), 20:59, 01/08/2012 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
Одному из open source разработчиков из Intel мы показываем результат работы этой программы
:~> gcc 86747-001.c
:~> ./a.out
[*] IDT offset at 0xffffffff81da2000
[*] Abusing nVidia...
[*] CVE-2012-YYYY
[*] 64-bits Kernel found at ofs 0
[*] Using IDT entry: 220 (0xffffffff81da2dc0)
[*] Enhancing gate entry...
[*] Triggering payload...
[*] Hiding evidence...
callsetroot returned fffffffffffffffe (-2)
[*] Failed to get root.
Ну что это за новость? Где захват рута?
| |
1.7, Аноним (-), 21:13, 01/08/2012 [ответить] [﹢﹢﹢] [ · · · ]
| –3 +/– |
> на свой страх и риск - в прошлом уже была ситуация,
> когда под видом экплоита распространялся троян
Это opennet трояны раздавал?
| |
|
2.9, Аноним (-), 21:22, 01/08/2012 [^] [^^] [^^^] [ответить]
| +/– |
> Это opennet трояны раздавал?
Были шуточки с троянами замаскированными под патчи и эксплойты.
| |
|
3.41, Аноним (-), 23:49, 01/08/2012 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Урод ты мне все стер. Вычислю по ip и кости переломаю.
Не надо ему кости ломать. Для начинающих и продолжающих дебилов делающих неизвестно что и зачем по чужим советам у нас есть и другие годные рецепты улучшения настроения. Ну вон ниже - пример использования контактного провода электричек (там 3kV) в качестве турника. И пантограф как гимнастический снаряд. Не хочешь повторить такую "гимнастику"? Подсказываю: если это делать безбашенно - мгновенно станешь похож на шашлык из соседних роликов.
| |
|
2.16, sam002_tmp (?), 21:57, 01/08/2012 [^] [^^] [^^^] [ответить]
| +3 +/– |
Аккуратнее с такими шутками... Сейчас много новых людей приходят на тематические ресурсы. Не все застали времена этой подставы, так что лучше давайте предупреждение, народ сам сделает выводы, не теряя данные.
| |
|
3.19, Сергей (??), 22:05, 01/08/2012 [^] [^^] [^^^] [ответить]
| +2 +/– |
Дык, учить надо, а то потом таким и впаривают такую вирусню, какую и вирусом назвать стыдно.
| |
3.38, Аноним (-), 23:43, 01/08/2012 [^] [^^] [^^^] [ответить]
| +/– |
> Аккуратнее с такими шутками...
Да они потом спасибо скажут. Такой урок "не работай под рутом" запоминается на всю жизнь и дает хорошие предпосылки для излечивания от доверчивости
| |
|
|
1.17, Сергей (??), 21:59, 01/08/2012 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Я правильно понял, что там еще /dev/mem необходим доступный на запись?
А то у меня
crw-r----- 1 root kmem 1, 1 Июл 30 20:25 /dev/mem
| |
1.20, Artificial_Thought (?), 22:08, 01/08/2012 [ответить] [﹢﹢﹢] [ · · · ]
| +3 +/– |
artifth@whiteblade ~/src » whoami
artifth
artifth@whiteblade ~/src » ./expl
[*] IDT offset at 0xffffffff81dd7000
[*] Abusing nVidia...
[*] CVE-2012-YYYY
[*] 64-bits Kernel found at ofs 0
[*] Using IDT entry: 220 (0xffffffff81dd7dc0)
[*] Enhancing gate entry...
[*] Triggering payload...
[*] Hiding evidence...
[*] Have root, will travel..
sh-4.2# whoami
root
| |
|
|
3.28, Artificial_Thought (?), 23:03, 01/08/2012 [^] [^^] [^^^] [ответить]
| +/– |
> У вас чё, действительно /dev/mem на запись для юзера открыт?
» ls /dev/mem -lh
crw-r----- 1 root kmem 1, 1 авг. 1 21:04 /dev/mem
| |
|
4.30, Сергей (??), 23:07, 01/08/2012 [^] [^^] [^^^] [ответить]
| +/– |
Оно ж отваливать должно тогда, судя по исходникам, т.к. там
static int devmem_fd(void)
{
int fd = open("/dev/mem", O_RDWR|O_SYNC);
if (fd < 0)
perror("/dev/mem");
return fd;
}
и потом везде отваливает, если вернуло -1
| |
|
5.31, Artificial_Thought (?), 23:12, 01/08/2012 [^] [^^] [^^^] [ответить]
| +/– |
> Оно ж отваливать должно тогда, судя по исходникам, т.к. там
> static int devmem_fd(void)
> {
> int fd = open("/dev/mem", O_RDWR|O_SYNC);
> if (fd < 0)
> perror("/dev/mem");
> return fd;
> }
> и потом везде отваливает, если вернуло -1
Может оно делается уже после получения рута?
| |
|
6.32, Сергей (??), 23:20, 01/08/2012 [^] [^^] [^^^] [ответить]
| +/– |
Никак не позже, т.к. в начале main() есть
handle = nvidia_handle(devmem_fd(), res);
if (!getuid()) {
setgid(1000);
setuid(1000);
}
if (handle == MAP_FAILED)
return -1;
, где окончательный отвал.
А начало
volatile uint32_t *nvidia_handle(int fd, uint64_t res) {
// access 4 bytes at a time or things go weird
volatile uint32_t *m;
if (fd < 0)
return MAP_FAILED;
к нему приводит.
| |
|
7.34, exception13 (?), 23:29, 01/08/2012 [^] [^^] [^^^] [ответить]
| +/– |
глаза разуй. там код для работы с /dev/mem завернут в условия. ну и каменты в коде хоть почитай.
| |
|
6.35, Сергей (??), 23:34, 01/08/2012 [^] [^^] [^^^] [ответить]
| +/– |
> Может оно делается уже после получения рута?
Да, так и есть. Только по исходникам не понял.
| |
|
|
|
|
|
|
2.33, ВовкаОсиист (ok), 23:22, 01/08/2012 [^] [^^] [^^^] [ответить]
| +/– |
Поставил невидию, и:
[vova7890@localhost ~]$ ./exploit
[*] IDT offset at 0xffffffff8196b000
[*] Abusing nVidia...
[*] CVE-2012-YYYY
[*] 64-bits Kernel found at ofs 0
[*] Using IDT entry: 220 (0xffffffff8196bdc0)
[*] Enhancing gate entry...
[*] Triggering payload...
Убито
[vova7890@localhost ~]$ nvidia-xconfig -v
nvidia-xconfig: version 295.53
[vova7890@localhost ~]$ uname -r
3.5.0-1-ARCH
Нисудьба...
| |
|
3.42, Сергей (??), 23:54, 01/08/2012 [^] [^^] [^^^] [ответить]
| +/– |
> [vova7890@localhost ~]$ nvidia-xconfig -v
> nvidia-xconfig: version 295.53
Не так.
cat /proc/driver/nvidia/version
| |
|
4.51, ВовкаОсиист (ok), 12:13, 02/08/2012 [^] [^^] [^^^] [ответить]
| +/– |
[vova7890@localhost ~]$ cat /proc/driver/nvidia/version
NVRM version: NVIDIA UNIX x86_64 Kernel Module 295.53 Fri May 11 23:28:10 PDT 2012
GCC version: gcc версия 4.7.1 (GCC)
| |
|
3.57, Денис (??), 07:22, 03/08/2012 [^] [^^] [^^^] [ответить]
| +/– |
> Поставил невидию, и:
> [vova7890@localhost ~]$ uname -r
> 3.5.0-1-ARCH
Уже 3.5 ? откуда ?
| |
|
|
1.25, Аноним (-), 22:55, 01/08/2012 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
ваще, очково запускать. отрыл файл и ничего не понял. пол файла байты тасуют, остальная половина асм вставки.
| |
|
2.45, Аноним (-), 00:07, 02/08/2012 [^] [^^] [^^^] [ответить]
| +/– |
> ваще, очково запускать. отрыл файл и ничего не понял. пол файла байты
> тасуют, остальная половина асм вставки.
На первый взгляд ничего особо подозрительного там нет. В отличие от мутотени от acidbitchez с бинарной вставкой сплойта в виде массива байтов без сорца породившего этот блоб делающей хзчто, тут сплойт аккуратненько на асме выписан, в виде сорца. Откровенного деструктива не вижу. Ну кроме раздачи себе правов на все и вся и получения рута под конец :)
| |
|
1.48, edwin (ok), 10:22, 02/08/2012 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
В свете этих всех событий малось по иному оцениваеш слова Линуса а адрес Nvidia ....
| |
|
2.49, Ваня (??), 10:40, 02/08/2012 [^] [^^] [^^^] [ответить]
| –3 +/– |
Разве? Сравни:
В программе Блокнот.exe найдена уязвимость, позволяющая пользователю получить root-доступ к системе.
В gnome3 найдена уязвимость, позволяющая пользователю получить root-доступ к системе.
В драйвере мыши найдена уязвимость, позволяющая пользователю получить root-доступ к системе.
В драйвере видеоадаптера найдена уязвимость, позволяющая пользователю получить root-доступ к системе.
---
Только я один вижу что контроль root-доступа - это прямая обязанность ОС?
| |
|
3.53, Руслан Зиганшин (?), 16:12, 02/08/2012 [^] [^^] [^^^] [ответить]
| +/– |
Драйвер - часть ядра ОС (хоть и отделяемая). Его действия сложнее контролировать (особенно если код закрыт)
| |
|
4.59, Ваня (??), 10:46, 03/08/2012 [^] [^^] [^^^] [ответить]
| –1 +/– |
Вы не понимаете о чём говорите.
> Драйвер - часть ядра ОС
Нет. Драйвер - отдельная программа, такая же как и напр. скачанная с хакерского сайта.
> Его действия сложнее контролировать
А чем контроль программы А отличается от контроля программы Б? Если архитектура ОС построена правильно, то никакой.
> (особенно если код закрыт)
Да будет вам известно, что после компиляции открытый и закрытый код выглядят одинаково, и процессор, исполняющий бинарный код, об открытости, закрытости, СПО и человеке-столе ничего не знает.
| |
|
3.55, Аноним (-), 22:58, 02/08/2012 [^] [^^] [^^^] [ответить]
| +/– |
> Только я один вижу что контроль root-доступа - это прямая обязанность ОС?
Ну так драйвер работает в режиме ядра (как минимум частично). По поводу чего становится как часть ОС. По поводу чего да, драйвер обязан быть без багов позволяющих эскалировать привилегии.
| |
|
4.58, Ваня (??), 10:42, 03/08/2012 [^] [^^] [^^^] [ответить]
| +/– |
> драйвер работает в режиме ядра
Это архитектурная ошибка реализации. В Windows драйвер НЕ работает в режиме ядра и даже преднамеренное нарушение работы системы невозможно.
> драйвер обязан быть без багов позволяющих эскалировать привилегии
А программы не должны быть вирусами и троянами. А пользователи не должны обращаться к данным к которым у них нет доступа, даже если доступ у них есть. Если бы все ОБЯЗАНЫ выполнялись - никаких привилегий не было бы в принципе.
| |
|
5.60, edwin (ok), 10:50, 03/08/2012 [^] [^^] [^^^] [ответить]
| +/– |
> В Windows драйвер НЕ работает в режиме ядра и даже преднамеренное нарушение работы системы невозможно.
Друг мой, а HAL где работает, напомнить ? На 0-м уровне .... с соот. последсвиями. .... кроме того есть понятия "Kernel mode drivers" ... Вам ЭТО ничего не говорит ?
| |
|
6.61, Ваня (??), 11:39, 03/08/2012 [^] [^^] [^^^] [ответить]
| +/– |
Речь о драйвере видеоадаптера, "друг мой", или вы предпочли сменить тему? HAL - не драйвер, а неотделимая часть ОС.
| |
|
7.62, edwin (ok), 11:46, 03/08/2012 [^] [^^] [^^^] [ответить]
| +/– |
> Речь о драйвере видеоадаптера, "друг мой", или вы предпочли сменить тему? HAL
> - не драйвер, а неотделимая часть ОС.
К сожалению Вы не дочитали до конца мое сообщение.
Потому, что тему я не менял, иначе с чего бы я у Вам спрашивал про "Kernel mode drivers" ? Теперь по поводу HAL .... вопрос в том, что сам HAL можено рассматривать как один мега драйвер, который также работает в kernel mode.
| |
|
|
5.66, Xaionaro (ok), 08:57, 28/08/2012 [^] [^^] [^^^] [ответить]
| +/– |
>> драйвер работает в режиме ядра
> Это архитектурная ошибка реализации. В Windows драйвер НЕ работает в режиме ядра
> и даже преднамеренное нарушение работы системы невозможно.
Вы о чём? А в каком же CPU-ring-е оно работает? Скажите, пожалуйста. Да, есть ещё 1-ое и 2-ое кольцо, которые были придуманы специально для драйверов, но по своим причинам они обычно не используются (и которые, кстати, тоже слишком излишне привилегированы для избежания подобных эксплойтов). Никогда не задумывались, почему кривые драйвера в вашем любимом "Windows" приводят частенько к синим окнам? Я в курсе что в windows есть возможность запускать драйвера в user-mode. Но как вы себе представляете работу _видеодрайвера_ вынесенного в user-space. Насколько большой будет overhead, чтобы выполнялись операции требующие ring0?
И ещё момент, что такое правильная архитектура? Когда там уже этот MINIX или что там микроядерное станет целесообразным для использования? Разве что QNX показался забавным, но для моих целей бесполезным.
| |
|
|
|
2.50, Andrey Mitrofanov (?), 10:47, 02/08/2012 [^] [^^] [^^^] [ответить]
| –1 +/– |
> В свете этих всех событий
>оцениваеш слова Линуса а адрес Nvidia ....
Если Вы думаете, что Линус говорил что-то про локал рута _или проприертарные дырверы нВ, то Вы ничего не поняли.
Если Вы думаете, что наличие, "качество" или некачественность проприертарных дырверов нВ _могут или должны как-то влиять на оценку эскапады гр.Т., то ...
Не, ну, мож и я, конечно, чего не пониаю.
| |
|
|
|
3.67, Xaionaro (ok), 09:12, 28/08/2012 [^] [^^] [^^^] [ответить]
| +/– |
> это вообще не релевантно монолитности/микроядерности
Ну почему? Никто не мешает драйвер вынести в отдельный user-mode-процесс и обрабатывать в CPU ring3, постоянно обмениваясь сообщениями с микроядром. Будет контроль над действиями в сообщениях и подобные баги будет менее вероятны. С другой стороны кто будет выносить драйвер видеокарты в user-mode?
| |
|
2.56, Аноним (-), 22:59, 02/08/2012 [^] [^^] [^^^] [ответить]
| +/– |
> Монолитное ядро - приглашение для трояна.
Да уж. Микроядерные ОС обычно настолько недопилены и обкоцаны что там ничего не работает. Ни трояны, ни нормальные программы.
| |
|
1.63, Xaionaro (ok), 08:46, 28/08/2012 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
debian/wheezy
ii nvidia-kernel-dkms 302.17-3
[xaionaro@sandbox ~]$ ./a.out
[*] IDT offset at 0xffffffff8172b000
[*] Abusing nVidia...
[*] CVE-2012-YYYY
[*] 64-bits Kernel found at ofs 0
[*] Using IDT entry: 220 (0xffffffff8172bdc0)
[*] Enhancing gate entry...
[*] Triggering payload...
Killed
| |
|
2.64, Xaionaro (ok), 08:51, 28/08/2012 [^] [^^] [^^^] [ответить]
| +/– |
additional info:
[xaionaro@imperium ~]$ cat /proc/driver/nvidia/version
NVRM version: NVIDIA UNIX x86_64 Kernel Module 295.59 Wed Jun 6 21:19:40 PDT 2012
GCC version: gcc version 4.6.3 (Debian 4.6.3-1)
[xaionaro@imperium ~]$ cat /proc/version
Linux version 3.2.0-2-amd64 (Debian 3.2.20-1) (debian-kernel@lists.debian.org) (gcc version 4.6.3 (Debian 4.6.3-7) ) #1 SMP Mon Jun 11 17:24:18 UTC 2012
| |
|
|