Deutsch
Bücher & Tutorials

Direct Code Injection mit XProfan

 

Andre
Rohland
Liebe Community,

im Rahmen eines (meines) derzeitigen Projektes (Überwachung eines Prozesses) nutze ich die Möglichkeit, ausführbaren Code direkt in einen laufenden Prozess zu injizieren, der auch nach der Beendigung des aufrufenden Programmes weiter ausgeführt wird.

Da diese Routine in einem anderen Prozess läuft, ist sie so im XP-Taskmanager nicht sichtbar, angezeigt wird dort nur der (durch die Injection infizierte), d.h. übergeordnete Prozess.

Im angefügten Beispiel wird durch die Injector.exe zunächst das Programm Muttertier.exe gestartet. Danach wird der ausführbare Code in den Prozess Muttertier.exe injiziert, das aufrufende Programm Injector.exe beendet sich nach ca. 3 Sekunden. Der injizierte Code startet das Programm prozess2.exe und überprüft, ob es noch läuft.

Ist dies nicht der Fall, wird es neu gestartet. Die Routine teilt prozess2.exe auch mit, ob es sich beim Start um einen ersten und normalen Start, oder um einen Start nach Abschießen durch Beendigung oder Taskmanager handelt. Dies gibt prozess2.exe entsprechend aus.

Getestet ist dieses Programm bisher nur mit Win XP/SP3. Bei einem Fehler ( z.B. Muttertier.exe hat einen Fehler festgestellt und muss beendet werden - Problem auch an Microsoft senden ?) konnte ich bisher keine Beeinträchtigungen der Systemstabilität feststellen.

Trotzdem weise ich daraufhin, dass das wilde herumexperimentieren mit diesem Programm auf eigenes Risiko erfolgt.

Die konkrete Verfahrensweise der Programmierung solcher Dinge liegt in einer ( für mich ) sogenannten Grauzone. Die direkte Injizierung von ausführbarem Code in andere Prozesse hat sicherlich in Spezialfällen auch eine Berechtigung, liegt aber auch sehr stark in der Nähe des Missbrauchs durch Virenprogrammierung... .

Ich eröffne deshalb hiermit eine Diskussion über:

- Sinn und Unsinn solcher Programme...
- darf man wirklich allen ! Usern der Community solche Techniken nachvollziehbar erklären ?

Ich warte jetzt auf Eure Meinung. Bis die Mehrheit der Beiträge ein eindeutiges Votum abgibt, werde ich mich mit einschlägigen Offenlegungen, Quelltexten und weiteren Hilfen/Erklärungen zurückhalten.

Ihr seid jetzt dran...

Gruß André

1.065 kB
Hochgeladen:05.03.2009
Ladeanzahl498
Herunterladen
 
04.03.2009  
 



Also ein A-D-Plan:

a) per Quelltext erklärt und damit nachvollziebar
b) keine Binarys
c) keine Sicherheitslücke beschreibend
d) gegen kein Recht verstossend

Das Injizieren eines Codes in einen fremden Prozess kann grundsätzlich A-D-Plan-konform sein, jedoch nicht wenn in z.B. ein M$-Programm injiziert wird - weil es imho mindest gegen die Nubeds von M$ verstösst (wobei ich mich natürlich irren kann, nur ein Bauchgefühl).

Injizieren am Besten hier immer nur aus und in eigene Anwendungen per Quelltext.

Ich wäre schon alleine daran interessiert wegen der vielen Kleinigkeiten die sich einem dadurch erschliessen können.
Verschoben von Programme nach Kurse.
 
05.03.2009  
 




Andre
Rohland
@IF:
Ich habe den Download aktualisiert und meinen ersten Beitrag angepasst, um entsprechenden Bedenken bezüglich M$ von vornherein aus dem Weg zu gehen ( - auch auf Bauchgefühle sollte man durchaus hören...).

Zum A-D-Plan:
die Punkte b), c) und d) verstehen sich eigentlich von selbst,
b) ausgenommen der Download-Demo wird durch mich mit Sicherheit kein Programm geliefert, mit welchem irgendwer wild drauflos injizieren und vielleicht Malwarecode in fremde Prozesse einschleusen kann.
c) über Sicherheitslücken kann man im Netz schon genügend nachlesen, hier handelt es sich jedenfalls nicht um eine solche, da M$ die entsprechenden Funktionen und das KnowHow dafür selbst zur Verfügung stellt.
d) das ist schon ein wenig schwieriger, denn es liegt in der Hand dessen, der diese Programmiertechnik benutzt und steht damit im engsten Zusammenhang mit

a) nachvollziehbarer Quelltext
Genau deshalb habe ich ja die obigen Fragen zur Diskussion gestellt (und hoffe daher noch auf weitere Positionierungen zu diesem Thema).
Auch Rolands Meinung dazu würde mich brennend interessieren...

Gruß
André
 
05.03.2009  
 



Lediglich der kleine Einwand, dass a) per Quelltext erklärt und damit nachvollziebar nicht exakt gleich a) nachvollziehbarer Quelltext ist.
 
05.03.2009  
 



Die konkrete Verfahrensweise der Programmierung solcher Dinge liegt in einer ( für mich ) sogenannten Grauzone.

Grau und Tabuzonen gibt es nur, wo eine Vergehen/Straftat anfängt.

Ansonsten ist das Ding zum Programmieren da, also nur kein schiss haben.
 
05.03.2009  
 



Ein ONU (Otto Normaluser) erbittet Aufklärung:

Was ist ein A-D-Plan?
Was sind Nubeds von M$
Ist Injizieren irgendwie mit der TSR-Technik (Terminate and Stay Resident) unter DOS vergleichbar?
Was ist der Unterschied zwischen `per Quelltext erklärt und damit nachvollziebar und nachvollziehbarer Quelltext?
Was sind Tabuzonen in der EDV?

Gruß
 
05.03.2009  
 




Andre
Rohland
Hallo Peter (Bierbach),

bitte in der Formulierung:
Die konkrete Verfahrensweise der Programmierung solcher Dinge liegt in einer ( für mich ) sogenannten Grauzone. auch die Worte in den Klammern beachten.

Vielleicht habe ich mich ja etwas umständlich ausgedrückt, gemeint ist doch damit eigentlich nur, dass ein und diesselbe programmiertechnische Verfahrensweise zu guten Zwecken ( = Spezialfälle ), wie auch zu bösen Zwecken ( = injizieren von Malwarecode z.B. in explorer.exe, svchost.exe etc.) verwendet werden kann. Die von mir so bezeichnete Grauzone ist also sozusagen das Yin und Yang in der Programmierung.

Wenn ich von Anfang an nur von der Verwendung für Vergehen/Straftaten ausgegangen wäre, hätte ich dieses Thema doch wohl kaum aufgemacht und zur Diskussion gestellt, oder ???

Zu Deiner Empfehlung ( in Deinem zeiten Satz... ):
Du hast mich glatt erwischt! Tatsache, ich habe Schiss ( täglich morgens, pünktlich um 6.30 Uhr )
Und nun mal bitte Spaß beiseite !

Wenn es denn möglich wäre, bitte keine Fäkaliensprache mehr in Antworten auf meine Postings, das Thema ist mir einfach zu ernst... .

jmp @Next:
Ich habe keine Angst davor, einen ausführlichen Quellcode mit entsprechender Kommentierung zu posten.

jmp @Next:
Ich sitze auch nicht auf meinem Code herum wie eine Glucke, schließlich habe ich damit das Fahrrad nicht wirklich neu erfunden und bin eigentlich gerne bereit, meine Erfahrungen mitzuteilen.

Für mich geht es hier eher um eine gewisse Verantwortung...

Allein das ist der Grund für meine Fragen im ersten Beitrag zu diesem Thema !

Sei Dir bitte auch darüber im Klaren, dass nicht nur unsere Community diesen Beitrag lesen kann, sondern jeder, der irgendwo im Netz diesen Beitrag findet. Meiner Meinung nach gibt es eigentlich schon genug böse Script-Kiddies, die nur darauf warten, dass man in irgeneiner Weise ihre Wissenslücken für einen effektiveren Angriff schließt... .

Leider hat sich genau zu diesem Punkt, inwieweit es vertretbar ist allen und wirklich allen Lesern dieser Seite die erforderlichen Kenntnisse zu vermitteln, bisher keiner wirklich geäußert.

Ich werde mich deshalb auch weiterhin noch zurückhalten ( s. erster Beitrag...)

@IF

Na Gucke ma, da hat doch der Peter Specht dasselbe Problem wie ich gerade... .

Gruß
André
 
05.03.2009  
 



Andre Rohland
Für mich geht es hier eher um eine gewisse Verantwortung...


Verantwortlich im Sinne von mindestens mitverantwortlich ist man immer, so wie z.B. nach Interpretation Y Rechnung Gates äää Bill Tore, wenn M$s Spiele und Software für Unheil sorgen und so wie RGHs XProfan wenn damit mal Brunhildess_weltschlimmster_Virus alle Menschen verdrückt der eine Zeile nutzt die Du einmal gepostet hattest, die ich wiederum aber anzeigte, was Lilo bewegte sie aus Versehen auf eine Postkarte zu drucken welche sie an ihre Schwester absandte aber beim Nachbarn Brunhilde abgegeben wurde.

Ich würde sagen: Der Postbote hat Schuld, er hätte stolpern müssen wie er es statistisch gesehen sonst ja auch bravös vorschauspielert.

Die Teilnehmer der Ereigniskette werden sich in einem Kreis aufstellen und einsaargen lassen, aber die programmieren ja lieber.

Tatsächlich spielt es keine Rolle, drum um Dich zu beruhigen und zu ermutigen sei definiert: Es wird Dir hier nicht gelingen etwas A-D-Plan-mässig zu posten, was hier derart lange Bestand hat, dass es negativ relevant werden könnte, nach Besten wissen und Gewissen aller, welche hier bearbeiten können.

Ist und sei also - wie sonst ja auch - alles der Moral unterworfen weil Du hier ja eben nicht alleine bist - wenn es Dir hilft.

Im Sinne der Sicherheit also immer ran da, Unwissenheit will keine dauerhafte Alternative sein.
 
05.03.2009  
 



Sind alle A-D-Pläne grün?
 
05.03.2009  
 




Andre
Rohland
@Peter (Specht):

Frage 1.) Ungefähr so etwas wie Mach bitte keinen Mist...
Frage 2.) Das sind die sogenanten Nutzungsbedingungen von Microsoft
Frage 3.)Nein !!!, was Du vermutlich meinst sind die sogen. Terminate and Stay Resistent Programme, dieses hier überlebt mit Sicherheit keinen Reset... .
Frage 4.) habe ich an IF weitergeleitet, weiss auch nicht so genau, was er damit meint... .
Frage 5.) ganz trivial: wenn Du was Böses mit dem Code machst... .

Gruß André
 
05.03.2009  
 



Andre Rohland
@Peter (Specht):

Frage 5.) ganz trivial: wenn Du was Böses mit dem Code machst...


Geh doch einfach mal davon aus, dass er bereits jetzt schon viel bösere Codes schreiben könnte, als Du Dir vielleicht wiederum vorstellen kannst.

Es gibt keine Sicherheit (sicheren Betriebssysteme) und Aufklärung schadet selten.
 
05.03.2009  
 



@Andre: Vielleicht machen wir das zunächst an einem klaren Anwendungsbeispiel fest welches nützlich sein kann.

Hast Du hierzu eine Idee?
 
05.03.2009  
 




Zum Buch


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

26.346 Betrachtungen

Unbenanntvor 0 min.
p.specht17.06.2019
kustg10.05.2019
Walter30.10.2018
Ernst18.03.2016
Mehr...

Themeninformationen



Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie