|
Hi,
immer wenn ich das Serverprogramm verschicke und das Opfer versucht es zu öffnen kommt ne Virenmeldung und es bleibt geschlossen
ich hab gehört mit einem "crypter" kann man das programm so bearbeiten das die Virenmelder nichts anzeigen.
Ihr wisst sicher genaueres oder?
|
|
08.08.2007 18:59 |
|
|
|
google stichwort stealthen
__________________ Alle sagten, es geht nicht, da kam einer, der wusste das nicht und tat es einfach...
|
|
08.08.2007 19:08 |
|
|
|
Auf was gescheites stoß ich da nicht.
Entweder komm ich auf Foren in denen steht "Nimm am Anfang einen Crypter, das ist leichter " oder ich komme auf irgenwelche Homepages auf denen nur unverwendbarer Müll steht...
Also bitte kurz sagen: Was brauch fafür ?
|
|
08.08.2007 19:43 |
|
|
|
ein gehirn
__________________ ?- god(X).
X = green.
|
|
08.08.2007 19:47 |
|
|
|
also die grundidee von stealthen sieht so aus.
ein antivirenprogramm scannt dateien nach bestimmten codeschnipseln, die eine datei als virus auszeichnen. zB eine infektionsroutine etc... (jedenfalls haben die av dies mal gemacht...ka ob die neuen immernoch so arbeiten...) also musst du es schaffen, den code so zu verändern, das ein av den virus/trojaner nichtmehr erkennt, dieser aber immernoch läuft.
du schnappst dir also ein av und einen hexeditor. dann scanst du den virus/trojaner mit dem av. er wird erkannt...jetzt öffnest du den virus/trojaner mit dem hexeditor und löschst die hälfte vom code, speicherst diese änderung in einem neuen virus zB virus2.exe.
jetzt scannst du diesen halbe virus wieder mit dem av. wenn er erkannt wird, weist du, das die zu ändernden codeschnipsel in dieser hälfte des codes sind. wenn nicht im anderen.
jetzt nimmst du wieder den ganzen virus, und löschst die hälfte von der seite code, in der der zu ändernde schnipsel ist...und immer so weiter bis du zum eigentlichen teil kommst, der den virus als solchen auszeichnet. dann solltest du diesen einen wert ändern. dannach musst du schauen, ob der virus/trojaner immerncoh als solcher erkannt wird, und immernoch richtig läuft...
das ist die ganz simple grundlage..natürlich gibt es dabei einiges mehr zu beachten, aber ich bin mit der materie nicht wirklich vertraut...ich kenn nur den ungefähren ablauf
__________________ Alle sagten, es geht nicht, da kam einer, der wusste das nicht und tat es einfach...
|
|
08.08.2007 20:06 |
|
|
|
geht das auch indem man den code immer weiter unlesbar macht also immer wieder sprünge hin und her und alles verschachteln (oder wie das heist) und so
__________________ ?- god(X).
X = green.
|
|
08.08.2007 20:15 |
|
|
|
nein, weil der code ist dann immernoch da, ist egal wo er steht
__________________ Alle sagten, es geht nicht, da kam einer, der wusste das nicht und tat es einfach...
|
|
08.08.2007 20:19 |
|
|
|
aso ich dachte av´s untersuchen nur codesnips und nicht komplett
__________________ ?- god(X).
X = green.
|
|
08.08.2007 20:21 |
|
|
|
ich weis nicht wie es bei den neuen ist, aber sie untersuchen nicht codeschnipsel nach schadcode, sondern das ganze programm genau nach solchen codeschnipseln, also ist es wie gesagt egal wo der code steht
__________________ Alle sagten, es geht nicht, da kam einer, der wusste das nicht und tat es einfach...
|
|
08.08.2007 20:33 |
|
|
|
ne mehr oder minder einfache möglichkeit ist den ganzen code zu verschlüsseln
nen loader davor setzen ... und den code erst nach dem laden im RAM dechiffrieren ...
aber sowas traue ich den wenigsten hier zu ...
__________________ Gräten auf dem Sofakissen wird man wohl entfernen müssen.
|
|
08.08.2007 20:55 |
|
|
|
dann sag mal ungefähr wie man das macht
__________________ ?- god(X).
X = green.
|
|
08.08.2007 21:27 |
|
|
|
Aha...
Und wo find ich diesen "av" ?
Bei google hält er av für AntiVir
|
|
08.08.2007 22:08 |
|
|
|
isses ja auch, av ist die abkürzung für anti viren programm
__________________ Alle sagten, es geht nicht, da kam einer, der wusste das nicht und tat es einfach...
|
|
08.08.2007 22:32 |
|
|
|
Okay hab das mal gemacht... ich fand auf der ersten hälfte und auf der zweiten den selben trojaner...
|
|
08.08.2007 23:35 |
|
|
|
Zitat: |
Original von Tommy1000
dann sag mal ungefähr wie man das macht |
|
ein beispiel:
schreibe dir einen loader stub den du dem brogramm voranstellst, und trage ihn im PE header ein ... solltest du nun fragen wollen was ein stub, oder der PE header ist, kannst du dir das weiterlesen sparen, dir fehlen sämtliche relevanten grundlagen das hier beschriebene in die praxis umzusetzen
dein loader hat folgende aufgabe: auf irgend einem weg an einen dechiffrierungs schlüssel zu gelangen, sicherstellen dass der weitere programmcode in den speicher geladen wird, leseschreibzugriff auf den speicher erlangen, und die daten mithilfe des entschlüsselungs algorithmus und dem schlüssel wieder in ein ausführbares programm verwandeln.
die letzte aktion des loaders sollte es sein den einstiegspunkt des programms anzuspringen, zuvor aber sicherstellen dass der speicher wieder für datenausführung geflaggt ist (write or execute sperre).
als simple ver- und entschlüsselungs funktion eignet sich eine stromchifre wie RC4
den loader linkst du zusammen mit dem restlichen programmcode in eine datei, und sorgst dafür das der loader zu beginn ausgeführt wird.
dann generierst du mit RC4 den nötigen schlüsselstrom und addierst ihn bitweise modulo 2 auf den programmcode, so wie der loader es tun würde ...
das ergebnis ist eine datei die keine erkennbaren signaturen für einen virenscanner aufweißt, da der programmcode vor seiner ausführung geprüft wird ... nach der überprüfung wird das programm durch den loader dechiffriert und ausgeführt
zu schattens beschreibung: was du vorschlägst nennt sich binäre suche ... das mag ja so ganz fix gehen ... aber funktioniert nur wenn du lediglich EIN ziel innerhalb der daten suchst ... du hast aber keine ahnung, an welchen merkmalen der virenscanner den programmcode als trojaner xyz erkennt ... das können mitunter hunderte sein ...
__________________ Gräten auf dem Sofakissen wird man wohl entfernen müssen.
|
|
08.08.2007 23:49 |
|
|
|
ich sag ja dasses doof ist^^
also wenn ich diene ausführungen verstanden habe soll es ungefähr so ablaufen:
du schreibst einen trojaner. diesen kompilierst du. dann verschlüsselst du das programm zB mit RC4.
Das erste was der trojaner beim ausführen macht, ist einen loader zu laden. dieser läd dann den eigentlichen trojaner in einen speicher, beendet den "anderen" der loader dechifriert dann den in den speicher geladenen trojaner und läd ihn wieder in eine exe und führt ihn dann aus, wobei der trojaner dann nichtmehr geprüft wird, da er das ja schon wurde.
du steckst also den flüchtling in einen trabbi, bringst ihn über die grenze und holst ihn wieder raus
edit: was ich nur nicht ganz verstehe, läd der loader den programmcode oder das beeits kompilierte programm in den speicher, und wie packt er dieses dann wiede zusammen zu ner exe
edit2: ich glaub ich habs^^ also man programmiert einen trojaner. das erste was der trojaner beim start macht, ist den load laden. den fertigen trojaner nimmt man dann, und verschlüsselt die fertige exe datei offset für offset mit dem algorythmus. dannach packt man den trojaner zusammen mit dem loader in ne datei (binder) und verschickt sie. beim ausführen startet der trojaner den loader. dieser läd den trojaner offset für offset in einen virtuellen speicher. dort dechifriert er ihn dann. daraufhin startet er den entschlüsselten trojaner.
jedoch hat man meiner meinung nach das prob, das man dem trojaner beibringen muss, das er beim zweiten start den loader nichtmehr lädt...
ich hoffe ich habs jetzt richtig verstanden
aber das problem mit demrouter ist immernoch da...
__________________ Alle sagten, es geht nicht, da kam einer, der wusste das nicht und tat es einfach...
Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von Schatten: 09.08.2007 01:40.
|
|
09.08.2007 01:21 |
|
|
|
Zitat: |
Original von TheImaginator
EDIT: @Dark: Wie gebe ich den Programmspeicher zum schreiben frei?
|
|
kommt auf das os an ... unter xp bietet sich die API funktion "VirtualProtect" an ...
__________________ Gräten auf dem Sofakissen wird man wohl entfernen müssen.
|
|
09.08.2007 04:59 |
|
|
|
Zitat: |
Original von Th3 Cr4xX
Okay hab das mal gemacht... ich fand auf der ersten hälfte und auf der zweiten den selben trojaner...
|
|
dann mach das mit nem hex von 0-1024 und dann von 1040-2048 oder was weis ich und das suchste bei den dateien nach dem "fehlerhaften code" mach ich auch grad beim optix pro 1.33 server aber wie mach ich dann den "fehlerhaften code" so dass er nicht erkannt wird
__________________ ?- god(X).
X = green.
|
|
09.08.2007 15:14 |
|
|
|
ich hab jetz was bei wikipedia gefunden und ich will wissen wie man so was macht:
Zitat: |
Original von Wikipedia:
Demgegenüber gibt es auch Trojanische Pferde, welche die geheimen Funktionen in sich selbst bergen. Wird das Trojanische Pferd beendet oder gar gelöscht, so stehen auch die heimlichen Funktionen nicht mehr zur Verfügung. Ein Beispiel dafür sind zahlreiche Plugins. Bei einem Plugin handelt es sich um eine Art Erweiterungsbaustein für ein bestimmtes Programm, mit dem weitere Funktionen hinzugefügt werden. So kann ein als nützliches Browser-Plugin getarntes Trojanisches Pferd auf einem Internetbrowser laufen, um beispielsweise über den Browser mit dem Internet zu kommunizieren, wodurch es auf einfache Weise eine Firewall umginge. |
|
__________________ ?- god(X).
X = green.
|
|
09.08.2007 15:49 |
|
|
|
Ähm... Wie wärs mit löschen ?!?
|
|
09.08.2007 15:49 |
|
|
|
Zitat: |
Original von dddd
Ähm... Wie wärs mit löschen ?!? |
|
wenn ich lösche wird sicher auch irgendne funktion vom trojaner gelöscht oder wenn ich pech hab geht nix mehr
__________________ ?- god(X).
X = green.
|
|
09.08.2007 15:50 |
|
|
|
es wurde doch auch hier schon 5 mal gesagt, das es so nicht geht, weil du damit nur EINE stelle im code findest, es gibt aber mehrere wichtige...
aber ich galub es gab da ma n tool AVDevil oder so, damit konntest du nen virus/trojaner dann auf auffällige offsets scannen und diese dann geziel manipulieren...
__________________ Alle sagten, es geht nicht, da kam einer, der wusste das nicht und tat es einfach...
|
|
09.08.2007 23:48 |
|
|
|
Zitat: |
Original von Schatten
ich sag ja dasses doof ist^^
also wenn ich diene ausführungen verstanden habe soll es ungefähr so ablaufen:
du schreibst einen trojaner. diesen kompilierst du. dann verschlüsselst du das programm zB mit RC4.
Das erste was der trojaner beim ausführen macht, ist einen loader zu laden. dieser läd dann den eigentlichen trojaner in einen speicher, beendet den "anderen" der loader dechifriert dann den in den speicher geladenen trojaner und läd ihn wieder in eine exe und führt ihn dann aus, wobei der trojaner dann nichtmehr geprüft wird, da er das ja schon wurde.
du steckst also den flüchtling in einen trabbi, bringst ihn über die grenze und holst ihn wieder raus
edit: was ich nur nicht ganz verstehe, läd der loader den programmcode oder das beeits kompilierte programm in den speicher, und wie packt er dieses dann wiede zusammen zu ner exe
edit2: ich glaub ich habs^^ also man programmiert einen trojaner. das erste was der trojaner beim start macht, ist den load laden. den fertigen trojaner nimmt man dann, und verschlüsselt die fertige exe datei offset für offset mit dem algorythmus. dannach packt man den trojaner zusammen mit dem loader in ne datei (binder) und verschickt sie. beim ausführen startet der trojaner den loader. dieser läd den trojaner offset für offset in einen virtuellen speicher. dort dechifriert er ihn dann. daraufhin startet er den entschlüsselten trojaner.
jedoch hat man meiner meinung nach das prob, das man dem trojaner beibringen muss, das er beim zweiten start den loader nichtmehr lädt...
ich hoffe ich habs jetzt richtig verstanden
aber das problem mit demrouter ist immernoch da... |
|
bei den eisten av´s gibts nen guard der ständig überprüft ob ein schadcode da ist also wird es auch dann noch erkannt
__________________ ?- god(X).
X = green.
|
|
10.08.2007 17:18 |
|
|
|