| |
|
|
| Hallo alle zusammen...
Innerhalb von Windows sind einige Zaubereien möglich, die normalerweise gar nicht funktionieren sollten. Eine davon ist die DLL Einschleusung in fremde Prozesse. Ich denke, das ich eine weitere Möglichkeit der DLL-Injektion auch mit Profan hinbekomme. Sollte man das hier posten??? |
|
|
| |
|
|
|
Michael Wodrich | Und wer ist dann schneller: - die Bösen, die das mißbrauchen? - oder die Guten, die einen Flicken draufsetzen.... |
|
|
| Programmieren, das spannendste Detektivspiel der Welt. | 30.08.2006 ▲ |
|
|
|
|
| Es gibt bereits Quelltexte zu diesem Thema für MASM. Möglich wird es weiterhin und immer sein - aber nur für Administratoren, denn das ist durch Rechtevergabe sehr leicht einzuschränken. Wichtig ist das deshalb eher nicht für Leute, die Viren schreiben wollen, sonder vielleicht für Leute, die Programme entwickeln. Vielleicht sollten die wissen, was alles möglich ist und wie einfach das ist ... |
|
|
| |
|
|
|
| Mmmh..., die Gefahren, die ein solcher Quelltext bergen könnte sind doch zu groß, um ihn hier einfach zu posten. Wenn meine Idee wirklich funktioniert, könnte jeder Schwachkopf durch einen Trojaner Daten an einer Firerwall vorbeischleusen, da ja fast jeder als Admin im Internet surft. Also weiterhin keine Quelltexte dazu von mir - aber (wenn ich die Sache zum Laufen bekomme ), ein Programm. Also ein Programm, mit dem man eigene DLLs als Administrator in fremde Prozesse laden kann - setze mich nach meiner Nachtwache dran. Die Möglichkeiten, die so etwas bietet, sind einfach zu groß um davon die Finger zu lassen. |
|
|
| |
|
|
|
| Scheint zu gehen, die Sache - wenn es keine Einwände dazu gibt, wird es sehr bald wohl in einem meiner Freewareprogramme eine Möglichkeit geben, unter NT-basierenden Systemen (2000/XP) eigene DLLs in fremde Prozesse einzuschleusen.
Was bedeutet das unter anderem: - Über diese DLLs könnten von außen APIs ausgeführt werden, die eigentlich nur innerhalb des Prozesses funktionieren. - Die Möglichkeiten, Vorgänge in andren Prozessen (Betriebssystemprozessen) zu überwachen, könnten fast grenzenlos sein.
Interesse an so einem Programm? Birgt so etwas eher Gefahren, bringt es neue Möglichkeiten oder wäre das nur kalter Kaffee, weil das sowieso schon jeder kann? |
|
|
| |
|
|
|
| Nein - kein kalter Kaffee aber dennoch wird das ganze glaub ich überbewertet.
Was glaubst Du wo soll der Mißbrauch sein?
Ich wüsste auf Anhieb keine gefährliche Injection deren Aufgabe als solche nicht auch einfacher/anders möglich wäre.
Aber vielleicht bin ich auch nur stumpf? |
|
|
| |
|
|
|
| [quote:e8a6387a3c=iF]Nein - kein kalter Kaffee aber dennoch wird das ganze glaub ich überbewertet.
Was glaubst Du wo soll der Mißbrauch sein?
Ich wüsste auf Anhieb keine gefährliche Injection deren Aufgabe als solche nicht auch einfacher/anders möglich wäre.
Aber vielleicht bin ich auch nur stumpf?[/quote:e8a6387a3c] Mmh... - als Quelltext sehe ich da schon eine Gefahr. ´Weil es so einfach ist, könnte jeder Hirni in seine Profanprogramme Quelltext einbauen, die sich z.B. in den Internet Explorer einschleusen und damit evtl. gefährliche Dinge an einer Firerwall vorbeischummeln.
In einem Programm eingebaut sehe ich da nicht ganz so viel Probleme - eher mehr Möglichkeiten. Es gibt da einiges an APIs, die nur innerhalb eines Prozesses ausgeführt werden können. Außerdem könnte innerhalb eines (System-) Prozesse wesentlich mehr möglich sein, als außerhalb dieses Prozesses (wenn z.B. die ID überprüft wird). Evtl. könnte man dann aber auch nicht mehr sehr viel geheimhalten... |
|
|
| |
|
|
|
| PS: Das man Gefahren gewaltig unterschätzen kann, hat mir die Shatter Attack gezeigt. Selbst der Autor dieser Attacke hat scheinbar gar nicht gewußt, was da im Endeffekt wirklich alles möglich ist. Ich möchte nicht gerne irgendetwas tun, was ich nachher gewaltig bereue - Möglichkeiten sausen lasse dazuzulernen will ich aber auch nicht... |
|
|
| |
|
|
|
| Hm - naja wollen wir mal nicht Gott spielen ich denke nicht das es unsere Aufgabe sein kann zu entscheiden ob die Möglichkeiten fatal oder toll sind - sowas kann nur die Geschichte zeigen. |
|
|
| |
|
|
|
| Eigentlich ist es garnicht so schwer entsprechende Codes zu finden [quote:bf982ed307]if a process calls the api-Procedure (for example MessageBoxEx@16, the first 5 Bytes in the Api-Procedure are Codes to save some registers. You can test severals Apis, and you get the same results
The trick to redirect is now to replace those 5 Bytes with a JMP- condition. Regular, all JMP-Condition with FAR-Pointers have 6 Bytes. Only the relative JMP-Condition has 5 Bytes. The First Opcode for this relative JMP is then the magic $E9. (see INTEL-x86 Books or just google for E9 and JMP the $C3 is only for saveness, its a Exception-Call. so if any error occurs, your own exceptionhandler (maybe OnError) will be called.[/quote:bf982ed307] Erforderliche API: ReadProcessMemory WriteProcessMemory
Die erforderlichen Infos sind jetzt da, bzw. damit kann man bisher nur sein eigenes Programm hooken, was nicht wirklich sinnvoll ist.. Ob Andreas seine Routine darauf aufbaut weiß ich natürlich nicht |
|
|
| |
|
|
|
| Geht noch wesentlich einfacher... |
|
|
| |
|
|
|
| Du sprachst ja auch von DLL-Injection, da wird es ausgenützt, das auf jeden Fall Aufrufe für Kernel32 enthalten sind. Vermute ich mal |
|
|
| |
|
|