DLL Injection verhindern

04/03/2012 15:53 lautlosertot#1
Hallo ich wollt mal fragen ob es die Möglichkeit gibt was zu programmieren das er überprüft wenn jemand eine dll Injektet in meine eingebundene exe (z.b. metin2) das das Tool das Programm was injectet werden soll sofort schliest??

könnt ihr mir so ein Programm schreiben das ich es nur in meine exe einbinden muss?
04/03/2012 17:27 MrSm!th#2
Wie soll man denn ein Programm injizieren und wie soll das geschlossen werden?
Meinst du, dass das Programm (zb. Metin2) geschlossen wird, wenn eine Dll injiziert wird oder dass der Injector geschlossen wird?
Oder dass die Dll wieder rausgeschmissen wird?

Prinzipiell ist es schon möglich, Dll Injection zu erkennen, auch wenn es nicht unmöglich ist, so eine Detection zu umgehen.
04/03/2012 17:37 kingdeking#3
Hallo,

2 einfache Möglichkeiten:

- Hook auf CreateRemoteThread

- Evaluiere Modul-Liste deines Prozesses und sondere aus

Das kann man jedoch umgehen. Prinzipell ist es sehr schwer eine Injektion zu verhindern.
04/03/2012 17:56 xNopex#4
Quote:
Hook auf CreateRemoteThread
>> Über winhook injizieren

Quote:
Evaluiere Modul-Liste deines Prozesses und sondere aus
>> api funktionen hooken


Bringt eher nix.
04/03/2012 18:14 MrSm!th#5
Quote:
Originally Posted by xNopex View Post
>> api funktionen hooken
>> Manuell über den PEB iterieren, anstatt die API zu nutzen

Trotzdem, ein kleiner Handgriff und die Dll verschwindet ganz aus der Modulliste.
04/06/2012 12:27 lautlosertot#6
das das injizierte Programm (Metin2) geschlossen wird.
Leider bin ich kein profi dadrin könnt ihr das als exe oder so machen und ich verbinde das mit der exe
04/06/2012 14:06 Tyrar#7
nein. ein schutz der auch wirkung zeigt kostet, jemand der halbwegs ahnung hat kann simple hooks bzw. anti cheat module einfach raus patchen! da kommt man um nen guten crypter der 100wtf/min verursacht nicht drum rum. wenn allerdings auch die checks nicht (einfach) umgangen werden sollen, muss noch ein treiber ran!
04/06/2012 19:51 MrSm!th#8
Weil ein Reverser keine Ahnung vom Kernel Mode hat :rolleyes:
04/06/2012 22:46 Tyrar#9
Quote:
Originally Posted by MrSm!th View Post
Weil ein Reverser keine Ahnung vom Kernel Mode hat :rolleyes:
das habe ich nie gesagt! :facepalm:
einfach nur mehr arbeit, die unter umständen mit bluescreens unterbrochen werden könnte :awesome:
04/06/2012 23:46 MrSm!th#10
Mehr Arbeit als im Usermode ist es nicht, eher weniger, weil man Treiber i.d.R. nicht packt, anders als normale usermode Binaries.
04/07/2012 13:10 XxharCs#11
wärs nicht leichter die injizierte DLL zu entladen ?
FreeLibrary ftw
04/07/2012 13:37 xNopex#12
Quote:
wärs nicht leichter die injizierte DLL zu entladen ?
FreeLibrary ftw
:facepalm:
04/07/2012 14:05 Tyrar#13
wenn einfach das modul entladen wird, würde mein hakk sich einfach manuell (von der DllMain aus) neu laden -> ohne eintrag im peb = versteckt, win? :awesome:

@MrSm!th: hab garnicht dran gedacht, dass treiber normal im klartext (bzw. in kompilierter form) gelassen werden :|

trotzdem kann man wenn man es richtig anstellt damit relativ guten erfolg haben, user mode hooks lassen sich einfach umgehen, kernel mode ist normalerweise schon etwas komplizierter (es sei denn man pfuscht in der binary rum) ;)
04/07/2012 14:28 MrSm!th#14
Jo mag sein, wollte nur damit sagen, dass man mit dem Kernel Mode kleine Kiddies abschreckt, aber versierte Reverser werden es sich nicht nehmen lassen, ihren Kernel Debugger anzuschmeißen und den Treiber unter die Lupe zu nehmen.
04/08/2012 17:59 lautlosertot#15
und wie mache ich das jetzt? oder ist das doch garnicht mäglich?