AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

MSN Messenger Exploit

Ein Thema von hedie · begonnen am 15. Dez 2007 · letzter Beitrag vom 15. Dez 2007
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#11

Re: MSN Messenger Exploit

  Alt 15. Dez 2007, 14:09
Zitat von hedie:
Ok gut dan mit deinem Anhang....
Vergiss es. Das war nur ein Scherz. Für einen Anfänger sollte das etwas zu schwer sein.

Grundsätzlich solltest du dich erstmal mit der Sprache auseinandersetzen, die du nicht kannst. Dann kann man sich daran machen etwas von einer Sprache in die andere zu übersetzen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
hedie

Registriert seit: 12. Dez 2005
Ort: Schweiz
1.024 Beiträge
 
Delphi XE6 Starter
 
#12

Re: MSN Messenger Exploit

  Alt 15. Dez 2007, 14:10
@ SubData

Sicher?
Woher weisst du da?

///////////////

@Luckie

Ja du hast recht
Claudio
Tu was du nicht lassen kannst
- http://endasmedia.ch
  Mit Zitat antworten Zitat
Benutzerbild von SubData
SubData

Registriert seit: 14. Sep 2004
Ort: Stuhr
1.078 Beiträge
 
Delphi 11 Alexandria
 
#13

Re: MSN Messenger Exploit

  Alt 15. Dez 2007, 14:11
Getestet...
Ronny
/(bb|[^b]{2})/
  Mit Zitat antworten Zitat
hedie

Registriert seit: 12. Dez 2005
Ort: Schweiz
1.024 Beiträge
 
Delphi XE6 Starter
 
#14

Re: MSN Messenger Exploit

  Alt 15. Dez 2007, 14:13
Cool

Wie kann man den eine DLL in einen Process Injecten

Das is nur ne Allgemeine Frage ich meine ich krieg ja nichtmal die DLL hin
Claudio
Tu was du nicht lassen kannst
- http://endasmedia.ch
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#15

Re: MSN Messenger Exploit

  Alt 15. Dez 2007, 14:17
Zitat von hedie:
Wie kann man den eine DLL in einen Process Injecten

Das is nur ne Allgemeine Frage ich meine ich krieg ja nichtmal die DLL hin
Dann solltest du dich erstmal mit DLLs beschäftigen: http://www.michael-puff.de/Developer...orte/Assarbad/

Und bitte benutzt die Forensuche und erstell für eine neue Frage einen neuen Thread.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von PaddyL
PaddyL

Registriert seit: 23. Nov 2007
Ort: Lautertal
34 Beiträge
 
#16

Re: MSN Messenger Exploit

  Alt 15. Dez 2007, 14:28
Zitat von hedie:
Cool

Wie kann man den eine DLL in einen Process Injecten

Das is nur ne Allgemeine Frage ich meine ich krieg ja nichtmal die DLL hin
Wieso immer gleich ne ganze DLL? Ich hab das mal aus Spaß per Thread gemacht:

InjectCode.pas
Delphi-Quellcode:
unit InjectCode;

interface

uses
  Windows, ShellAPI, Dialogs;

procedure Inject(ProcessHandle: longword; EntryPoint: pointer);
procedure FindAndInject(WindowTitle: PChar; EntryPoint: pointer);

implementation

procedure Inject(ProcessHandle: longword; EntryPoint: pointer);
var
  Module, NewModule: Pointer;
  Size, BytesWritten, TID: longword;
begin
  Module := Pointer(GetModuleHandle(nil));
  Size := PImageOptionalHeader(Pointer(integer(Module) + PImageDosHeader(Module)._lfanew + SizeOf(dword) +SizeOf(TImageFileHeader))).SizeOfImage;
  VirtualFreeEx(ProcessHandle, Module, 0, MEM_RELEASE);
  NewModule := VirtualAllocEx(ProcessHandle, Module, Size, MEM_COMMIT or MEM_RESERVE, PAGE_EXECUTE_READWRITE);
  WriteProcessMemory(ProcessHandle, NewModule, Module, Size, BytesWritten);
  CreateRemoteThread(ProcessHandle, nil, 0, EntryPoint, Module, 0, TID);
end;

procedure FindAndInject(WindowTitle: PChar; EntryPoint: pointer);
var
  ProcessHandle, PID: longword;
  Active : Integer;
begin
  Active := FindWindow(nil, WindowTitle);
  if Active = 0 then
    Exit;
  GetWindowThreadProcessId(Active, @PID);
  ProcessHandle := OpenProcess(PROCESS_ALL_ACCESS, False, PID);
  Inject(ProcessHandle, EntryPoint);
  CloseHandle(ProcessHandle);
end;

end.
GTADelphi.dpr
Delphi-Quellcode:
program GTADelphi;

{$IMAGEBASE $13140000}

{$R 'GTADelphi.res' 'GTADelphi.rc'}

uses
  Windows, InjectCode;

{ This is the function which get's injected
  so add all your neat stuff here           }

function Main(EntryPoint: Pointer): LongWord; stdcall;
var
  ClearWantedLevel: procedure;
begin
  ClearWantedLevel := ptr($00438E40);
  ClearWantedLevel;
  
  Result := 0;
end;

begin
  // Inject Code
  FindAndInject('GTA: San Andreas', @Main);
  // Our Job is done
end.
Injected sich in San Andreas und ruft die Funktion zum reseten des Wanted Levels auf (sodas die Polizei einen nicht weiter sucht). Dannach beendet sich das ganze.
Patrick
  Mit Zitat antworten Zitat
hedie

Registriert seit: 12. Dez 2005
Ort: Schweiz
1.024 Beiträge
 
Delphi XE6 Starter
 
#17

Re: MSN Messenger Exploit

  Alt 15. Dez 2007, 14:30
Coool Danke....

Hätt ich jetzt ne brauchbare zu Injectende DLL würd ich das glatt Testen

Claudio
Tu was du nicht lassen kannst
- http://endasmedia.ch
  Mit Zitat antworten Zitat
Benutzerbild von PaddyL
PaddyL

Registriert seit: 23. Nov 2007
Ort: Lautertal
34 Beiträge
 
#18

Re: MSN Messenger Exploit

  Alt 15. Dez 2007, 14:34
Zitat von hedie:
Coool Danke....

Hätt ich jetzt ne brauchbare zu Injectende DLL würd ich das glatt Testen

Wie ich bereits sagte benutze ich keine DLL. Schreib deinen Code in die Main-Funktion. Sei allerdings gewarnt, dass 90% aller Delphi-Codes hier nicht gehen, da du hier im fremdem Addressraum arbeitest und nicht mal annähernd alles geladen ist was die VCL benötigt. Probiere ein paar einfache Win32-Calls wie CopyFile() und DeleteFile() oder such dir ein paar inGame oder inApp Addressen die du, wie ich im Beispiel, callen kannst um zu sehen ob es funktioniert hat.
Patrick
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#19

Re: MSN Messenger Exploit

  Alt 15. Dez 2007, 16:36
Hallo, ich hab den Code mal mit Notepad testen wollen.
Leider funktioniert folgendes nicht:
Delphi-Quellcode:
program Project2;

{$IMAGEBASE $20000} //Imagebase mit HxD rausgekriegt

uses
  windows,
  InjectCode in 'InjectCode.pas';

function Main(EntryPoint: Pointer): LongWord; stdcall;
begin
  MessageBoxA(0,'Hallo Welt','meep',MB_OK);
  result := 0;
end;

begin
  FindAndInject('Unbenannt - Editor', @Main);
end.
Statt eine Messagebox anzuzeigen stürzt Notepad einfach ohne Fehlermeldung ab. Am Code in der function Main scheint es nicht zu liegen, weil Notepad sogar bei einer leheren Main-Funktion abstürzt.
  Mit Zitat antworten Zitat
Neotracer64

Registriert seit: 27. Okt 2004
292 Beiträge
 
Delphi 7 Professional
 
#20

Re: MSN Messenger Exploit

  Alt 15. Dez 2007, 17:04
Ich weiss ja nicht genau, was PaddyL da genau machen wollte.
Zum Beispiel holt er sich die Base des eigenen MainModules und Freed diesen Addressbereich im fremden Prozess ohne zu wissen was sich dort befindet. Hää
Die Idee ist, die Funktion in den gleichen Addressbereich zu stopfen um nicht relocaten zu müssen.
Dass das funktionieren wird, ist aber sehr vage. Eigentlich muss man sogar viel Glück haben, dass es klappt.

http://msdn2.microsoft.com/en-us/library/aa366890.aspx
Zitat von MSDN:
VirtualAllocEx Function
[...]
lpAddress

The pointer that specifies a desired starting address for the region of pages that you want to allocate.

If you are reserving memory, the function rounds this address down to the nearest multiple of the allocation granularity.

If you are committing memory that is already reserved, the function rounds this address down to the nearest page boundary.
[...]
Dann quetsch er dort das gesamte MainModule rein. Warum eigentlich?

Insgesamt also eigentlich eine sehr unsichere Methode.
Besser ist es, die beiden Addressen der Funktionen GetProcAddress und LoadLibraryA mit rüberzukopieren.
Dann ist man unabhängig.
Natürlich darf man dann nicht auf globals zugreifen oder die RTL. Man beginnt in diesem Thread sozusagen von 0 mit GetProcAddres und LoadLibrary
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:47 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz