Как создать неубиваемый процесс с привилегиями без полномочий root?

Я пытаюсь создать процесс, который не может быть уничтожен даже "kill -9", который может быть полезен в режиме защиты от атак CTF, я попробовал это https://unix.stackexchange.com/questions/134888/simulate-an-unkillable-process-in-d-state но кажется, что оно исправлено в ядре после 2.6.25 http://www.ibm.com/developerworks/library/l-task-killable/ так что мне интересно, есть ли способ создать неубиваемый процесс с привилегиями без полномочий root в Linux? благодарю вас. (впервые задать вопрос в stackru... Я немного нервничаю...)

2 ответа

Это ни в коем случае не должно быть возможным, такая возможность - не просто ошибка, но и важная уязвимость.

Теоретически root может убить любой процесс. Все остальные процессы могут быть уничтожены только их владельцем. Если вы не хотите, чтобы процесс мог быть уничтожен, создайте пользователя, у которого есть и невозможный пароль (который никто не должен помнить), а затем получите root, чтобы запустить процесс с чем-то вроде этого: (root не попросят предоставить пароль, но 'su' изменится для этого пользователя)

su newacct ksh -c "/home/newacct/bin/theProcessToStart.ksh and its parameters"
su - newacct ksh -c "/home/newacct/bin/theProcessToStart.ksh and its parameters"

Тире говорит, что вы должны выполнить.profile этого пользователя. Это зависит от того, хотите вы этого или нет. (Вам не нужно выполнять скрипт, но я предположил, что вы, скорее всего, в этом примере.)

Таким образом, никто кроме root не может убить этот процесс, потому что никто не может стать этим пользователем.

Возможно, вы захотите узнать, как создать незашифрованный пароль в / etc / shadow. Это просто.

Другие вопросы по тегам