Verwenden beide Module lsmod und / proc / denselben Mechanismus, um Module abzurufen?

4386
user61954

Ich kann eine Liste von Modulen mit lsmododer erhalten cat /proc/modules. Verwenden die beiden Ansätze den gleichen Mechanismus, um die Module abzurufen? Ich möchte das wissen, da wir damit verborgene Schadmodule finden könnten.

5

3 Antworten auf die Frage

4
bahamat

Beide lesen dieselbe Kernel-Schnittstelle, um die Liste zu erstellen. Ein Rootkit kann jedoch lsmod ändern, um Module auszublenden. Es gibt jedoch unzählige Möglichkeiten, / proc / modules zu lesen, die für ein Rootkit nahezu unmöglich sind, alle zu modifizieren.

Wenn Sie etwas Programmiertes tun, spielt es keine Rolle, welches Sie verwenden, aber lsmod ist viel lesbarer.

Update : Um Beispiele einzuschließen.

cat /proc/modules more /proc/modules less /proc/modules view /proc/modules uniq /proc/moduels uniq < /proc/modules grep . /proc/modules grep . < /proc/modules awk '' /proc/modules awk '' < /proc/modules sed 's/(.)/$1/' < /proc/modules echo "$(</proc/modules)" perl -p -e ";" < /proc/modules nc -l 11111 & nc localhost 11111 < /proc/modules 

Usw. usw. Alles, was Text lesen kann, kann den Inhalt anzeigen. Dies sind nur einige wenige, an die ich in weniger als einer Minute dachte. Wenn ich darüber nachdenke, könnte ich ein paar wirklich esoterische Wege finden.

`" es gibt unzählige Möglichkeiten, / proc / modules zu lesen "` Könnten Sie bitte näher darauf eingehen? user61954 vor 13 Jahren 0
Ich bin nicht sicher, ob Sie benachrichtigt werden, dass ich meine Antwort mit Beispielen bearbeitet habe, aber ich habe es getan. bahamat vor 13 Jahren 0
Außergewöhnlicher Mann. Danke für die Information user61954 vor 13 Jahren 0
1
Nico

Wenn das Rootkit auf der Kernel-Ebene arbeitet (beispielsweise als Modul), können Sie sich nicht auf die Informationen verlassen, die von bereitgestellt werden /proc/modules. Außerdem kann man sich nicht darauf verlassen, lsmodda es hübsch gedruckt wird /proc/modules.

1
Ciro Santilli 新疆改造中心 六四事件 法轮功

Wir könnten den Quellcode nachschlagen, aber wenn Sie so faul sind wie ich:

sudo strace lsmod |& grep -E '(proc|sys)' 

Zeigt interessante Treffer wie:

open("/proc/modules", O_RDONLY|O_CLOEXEC) = 3 open("/sys/module/ipt_MASQUERADE/refcnt", O_RDONLY|O_CLOEXEC) = 3 

Wir können also vermuten, dass die meisten Informationen von /proc/modulesund stammen /sys/module/*.