Remote DLL Injection
-
Hallo,
wieso kann ein Prozess A einen anderen Prozess B zwingen eine beliebige DLL zu laden? Das ist doch voll die Sicherheitslücke, oder nicht? Siehe: https://www.youtube.com/watch?v=g_Xx90wyk0c oder https://pentestlab.blog/2017/04/04/dll-injection/. Gibt es einen Grund dafür, dass das erlaubt ist?
-
Wenn du einen bösartigen Angreifer auf dem Rechner hast, der Debugprivilegien für fremde Prozesse hat (also Prozesse neben seinen eigenen Kindern), ist es ein bisschen spät für Sorgen um Sicherheit, oder? Da ist der Drops längst gelutscht, da man dafür Administratorprivilegien braucht. Die Technik macht es dem Angreifer dann bloß ein bisschen einfacher, sich als ein anderer Prozess auszugeben, wenn er das denn wollte. Das könnte er mit diesen Rechten aber sowieso auf viele andere Arten, dies ist bloß eine besonders einfache.
Warum es diese Möglichkeiten gibt: Nun, der Name Debugprivilegien sagt's eigentlich schon, wozu man das beispielsweise legitim nutzen kann. Überhaupt muss es diese Rechte ja irgendwo im Computer geben. Spätestens der Kernel muss ja irgendwann mal in einem anderen Prozess aufrufe tätigen können, sonst könnte nie ein Prozess gestartet werden. Danach ist das dann eine Rechtekette, dass ein Elternprozess gewisse Privilegien gegenüber seinen Kindern hat. Und halt allgemein Prozesse mit administrativen Privilegien gegenüber allen anderen Prozessen.