Comments 20
То ли статья обрывается, то ли я не понял: какой вывод и зачем это надо?
+3
Тоесть вы только что нашли критичную ошибку ядра линукс(стандартные ps/psmisc не видят процесс, запущенный стандартным образом) и вот так свободно об этом на всеобщее обозрение выложили статью?
Замечательный метод для руткитов.
А побочные эффекты есть? Выделение памяти/ресурсов? renicing/schedulering? top что показывает при 100% загрузки ядра этим процессом например?
Замечательный метод для руткитов.
А побочные эффекты есть? Выделение памяти/ресурсов? renicing/schedulering? top что показывает при 100% загрузки ядра этим процессом например?
-3
Чтобы это провернуть, надо сначала этот кастомный модуль ядра загрузить. А для этого уже нужны особые привилегии. Критической ошибкой не является.
+4
Не особые, а рутовые. Но вопрос не в доступе к руту, есть куча других експлоитов. Вопрос в том, что процесс невидим после этого хака.
0
Если вы можете загрузить любой модуль ядра — считайте, что все в ваших руках. У вас есть тысяча и одна способов обмануть стандартные приложения, системы защиты, пользователей и получить полный контроль над системой.
+3
Если вы можете загрузить модуль ядра, то вы уже можете всё. Вам даже не обязательно скрывать какой либо процесс, можно все желаемые действия выполнять из самого модуля.
0
Интересно, а это будет работать от имени простого пользователя? (Это же как нелегальная эскалация на кольцо 0 получается. Если PID/PPID можно изменить на 0. (Хотя в обоих случаях могу ошибаться.))
0
Никак, обычный пользователь не сможет загрузить такой модуль ядра.
0
Имеется ввиду после загрузки модуля рутом.
0
Зависит от прав, выставленных на устройство /dev/test. Если читать можно(модуль работает на чтение) то pid изменится. В планах реализовать смену pid через запись, найти бы нужную функцию для преобразования в число. Процесс в пользовательском пространстве, так и останется.
0
Ну если рут грузит в ядро код, который позволяет делать с ядром что угодно и кому угодно…
Никакой дополнительной защиты тут нет. Разработчики ядра считают что вы знаете что делаете.
Никакой дополнительной защиты тут нет. Разработчики ядра считают что вы знаете что делаете.
0
Знаете, я несколько сомневаюсь, что подобные эксперименты стоит выставлять на показ общественности, даже под тэгом 'ненормальное программирование'. Я уже молчу о большом количестве неточностей в матчасти, и сомнительном выборе в сторону модуля в качестве реализации.
-3
А kill убивает невидимый процесс или нет?
0
Он его просто не находит
-bash: kill: (12345) - No such process
+1
Вот это дыра :) Я понимаю, что если получен рут доступ — это считай компроментация всей системы. Но теперь можно его получить, затереть все следы и скрыть своё присутствие практически навсегда + сделать невозможным своё уничтожение.
0
Любопытное наблюдение, на ядре 4.13 (ubuntu) это сработало, а на ядре 4.9 (arch) нет. PID просто не поменялся.
0
Sign up to leave a comment.
Меняем PID процесса в Linux с помощью модуля ядра