Eine beliebte Möglichkeit, die Prozesse vor dem Benutzer zu verbergen, ist die Iterate-Funktion für das/Proc-Verzeichnis zu hijacken. Dies kann wie folgt dar:Linux-Kernel-Modul: Re-Hijacking der Iterate-Funktion des virtuellen Dateisystems
struct file *filep = filp_open("/proc", O_RDONLY, 0));
filep->f_op->iterate = p // We swap the pointer with our hacked iterate
ich auf einem Nachweisverfahren arbeite, wo Ich mag würde die ursprüngliche Iterierte Funktion wiederherzustellen (vorausgesetzt, es wurde bereits entführt worden). Gibt es eine Möglichkeit, die ursprüngliche Iterate-Funktion zu finden, die für das Verzeichnis/proc verwendet wird?
Sie können [proc_map_files_readdir] (http://lxr.free-electronics.com/source/fs/proc/base.c#L1841) direkt verwenden. Wenn der Angreifer Schreibzugriff auf den Kernel hat, kann er das natürlich auch ändern. – zch
@zch Können Sie mir sagen, wie ich auf diese Funktion zugreifen kann? Es ist nicht in der sysmap vorhanden. – AlexSee
Richtig, es ist eine statische Funktion, also bin ich mir nicht sicher, ob dieses Symbol überhaupt im resultierenden Kernel vorhanden sein wird. Sie können versuchen, zweite 'procfs' zu mounten und vielleicht können Sie dort einige einfache Angriffe dieser Art entdecken. – zch