Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   .exe Datei Entpack Test (https://www.delphipraxis.net/195053-exe-datei-entpack-test.html)

Fukiszo 29. Jan 2018 20:53

.exe Datei Entpack Test
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
anbei ein kleines beispiel programm + source. (messagebox + da dudelt nur eine melodie)
Ich teste etwas mit exe-packer und eigener stub aus um AntiVirus programme zufrieden zu stellen. (malware warnungen unterbinden)
Das funktioniert soweit auch schon ganz gut, ist bestimmt ein verpöntes thema hier,
aber dank profi's aus vielen bereichen würde ich gerne eure meinung hören ob die .exe datei die im anhang ist "einfach" entpackt/wiederhergestellt werden kann so das es mehr oder weniger einem original kompilat nahe kommt.
Alle Packer/Stub optionen die ein ausführen unter einem Debugger oder VM verhindern sind deaktiviert.

Grüße und viel Spass beim testen


edit: ACHTUNG, datei ist doch nicht AntiVirus stabil, siehe Zacherl's Anhang BEVOR ihr es runterladet!

Zacherl 29. Jan 2018 21:42

AW: .exe Datei Entpack Test
 
Liste der Anhänge anzeigen (Anzahl: 1)
Also ich wollte es grade herunterladen, aber der Windows Defender hat es noch im 7z Archiv als Virus erkannt :-D Ist zwar nicht ganz das was du wolltest, aber immerhin habe ich so zum ersten Mal gesehen, dass der Defender überhaupt auch nur auf irgendetwas anspringt :stupid:

Edit:
Virustotal Scan sieht auch eher nach dem Gegenteil aus, was du erreichen wolltest. Ich tippe mal auf die klassische RunPE Variante, die du in einem anderen Thread bereits mal angesprochen hattest?

Edit2:
Auf meinem Testsystem lässt sich die Datei leider nicht starten. Weder mit, noch ohne Debugger. Im Debugger sehe ich eine Stelle mit ganz vielen
Delphi-Quellcode:
LoadLibrary
und
Delphi-Quellcode:
GetProcAddress
Aufrufen, wobei die entsprechenden Strings aber ungültig sind und die APIs deshalb immer fehlschlagen (selbst dort, wo
Delphi-Quellcode:
TerminateProcess
dynamisch geladen werden soll, weil
Delphi-Quellcode:
hModule
0 ist).

Fukiszo 29. Jan 2018 22:04

AW: .exe Datei Entpack Test
 
Ja, habs auch grad mal hochgeladen und war überrascht, so viele böse meldungen.
Wenn ich's mit großen dateien probiere (mit Delphi IDE erstellte Programme) hab ich alles mit grünen haken.... mhhhh...
Obwohl der stub ja der gleiche ist, merkwürdig.
Nein kein RunPE, aber bestimmt nutz ich api's die auch in RunPE vorkommen. Diese aufrufe sind ja oftmals gleich. (CreateProcess)
Das bohrt mich jetzt das winapi dateien nun anscheinend nicht mehr funktionieren.
...Dummding...

Danke für Hinweis, ich arbeite daran und aktualisiere testdatei in ein paar tagen nochmal NACHDEM auf VTotal alles wieder schicki ist mit meiner .exe

Grüße


edit: ohhhh das wird ja immer verrückter, ich kann es unter winXPx32 win7x64 win10x64 ohne fehler aufrufen.
(gedanke: vielleicht liegts am fehlenden manifest, bei mir ist die extern gespeichert)
na ein glück das ich das hier mal zum testen hochlud um all sowas zu erfahren.
(meine api aufrufe sind ein wenig verschleiert im stub damit AntiViren software ruhig bleibt, jedenfalls war das mein grundgedanke)

Zacherl 29. Jan 2018 22:09

AW: .exe Datei Entpack Test
 
Zitat:

Zitat von Fukiszo (Beitrag 1392491)
Wenn ich's mit großen dateien probiere (mit Delphi IDE erstellte Programme) hab ich alles mit grünen haken.... mhhhh...

Glaube das habe ich auch schonmal irgendwo erwähnt, aber ob du die APIs direkt statisch lädst, oder über verschlüsselte Strings erst mühsam dynamisch importierst, wird keinen großen Unterschied machen. Die Scanner machen eh eine Laufzeitanalyse, also emulieren das Programm in einer Sandbox oä. und stoßen damit dann auch zwangsweise auf die entsprechenden Imports. Die Größe des Codes macht auf jeden Fall einen Unterschied, da die Emulation nach einer fest definierten Zeit einfach abgebrochen wird - der Nutzer soll ja nicht jedes Mal 30 Sekunden warten müssen, wenn er einen Prozess startet.

Fukiszo 30. Jan 2018 11:16

AW: .exe Datei Entpack Test
 
Zitat:

Zitat von Zacherl (Beitrag 1392487)
...
Delphi-Quellcode:
LoadLibrary
und
Delphi-Quellcode:
GetProcAddress
Aufrufen, wobei die entsprechenden Strings aber ungültig sind und die APIs deshalb immer fehlschlagen (selbst dort, wo
Delphi-Quellcode:
TerminateProcess
dynamisch geladen werden soll, weil
Delphi-Quellcode:
hModule
0 ist).

Oje, da lag ein Fehler vor der VM's aushebelt (also nicht ausführbar unter einer VM, unter VM sind meine Imports = NIL o.ä.)
War dein Testsystem eine VM? (damit ich weiß ob's daran liegt)

Grüße

Zacherl 30. Jan 2018 12:35

AW: .exe Datei Entpack Test
 
Zitat:

Zitat von Fukiszo (Beitrag 1392529)
War dein Testsystem eine VM? (damit ich weiß ob's daran liegt)

Ne, mein Analysesystem ist ein "ganz normales" Windows auf einem isoliertem physikalischen PC, den ich per Snapshots zurücksetzen kann. Ist auch nichts installiert, was fälschlicherweise als VM erkannt werden können sollte. VT-x ist deaktiviert.

Der schöne Günther 30. Jan 2018 12:42

AW: .exe Datei Entpack Test
 
Liste der Anhänge anzeigen (Anzahl: 1)
Bei mir auch. Gleich kommt die IT-Sicherheit des Unternehmens und verhaftet mich. :duck:

EWeiss 30. Jan 2018 13:34

AW: .exe Datei Entpack Test
 
Das Archiv konnte ich laden.
Jedoch beim entpacken kam die Meldung

gruss

Fukiszo 30. Jan 2018 13:59

AW: .exe Datei Entpack Test
 
Ich habe die Hauptnachricht jetzt mit Warnung versehen,

tut mir mehr als leid das ich die mini datei vorher nicht bei VirusTotal getestet habe, das kommt nicht nochmal vor!!

Der Anhang ist noch unverändert, also inklusive Fehlalarm von Scannern.
Sobald ich den Stub überarbeitet und ausführlicher getestet habe probiere ich es nochmal.

Grüße

Daniel 30. Jan 2018 14:24

AW: .exe Datei Entpack Test
 
Was ist eigentlich das Ziel Deines Feldversuches?
Warum versuchst Du, unter dem Radar von gängigen Antiviren-Programmen zu verschwinden?
Wenn es sich bei Deiner Datei um einen harmlosen Test handelt, verstehe ich hingegen Deine nachträglich hinzugefügte Warnung nicht.
Ich gewinne den Eindruck, dass wir gerade vor einem mehr als halbseidenen Projekt stehen. :?:

Fukiszo 30. Jan 2018 14:38

AW: .exe Datei Entpack Test
 
@Daniel:
Ziel soll sein, das man mit egal welchen Exe-Packer keine AntiVirus Fehlalarme auslöst. (Malware)
Das nervt mich schon ewig und mit diesem Projekt will ich halt erreichen das Exe-gepackte Dateien nicht mehr automatisch als "Böse" eingestuft werden. Exe-Packer können ja nichts direkt dafür.
Als Nebeneffekt soll natürlich auch ein HexEditing verhindert werden, da Datei ja komprimiert ist.

Oder gibt es bereits Lösungen für solch eine Situation?
Ich meine damit nicht das man auf einen bestimmten Exe-Packer (UPX z.Bsp) ausweichen muss da der von AntiViren programme ja meist nativ unterstützt wird. Es sollte eine universelle Lösung sein.

Deshalb Stub so designed das seine Entropy nicht extrem hoch ausfällt und die per Resource eingebundene PE-Datei hat meist eine Entropy nahe 8 (maximum)

Grüße

edit: ich will damit keinen ExePacker sind doof weil xyz sturm auslösen, ich will eine lösung schaffen für leute die ExePacker einsetzen wollen.

generic 30. Jan 2018 14:47

AW: .exe Datei Entpack Test
 
Schick doch das Programm einfach bei denen ein und lass es Whitelisten.
Ein weitere Reduzierung der Probleme bekommst du mit einer Code Signatur hin.

Neutral General 30. Jan 2018 15:49

AW: .exe Datei Entpack Test
 
Zitat:

Zitat von Fukiszo (Beitrag 1392572)
@Daniel:
Das nervt mich schon ewig und mit diesem Projekt will ich halt erreichen das Exe-gepackte Dateien nicht mehr automatisch als "Böse" eingestuft werden. Exe-Packer können ja nichts direkt dafür.
Ich meine damit nicht das man auf einen bestimmten Exe-Packer (UPX z.Bsp) ausweichen muss da der von AntiViren programme ja meist nativ unterstützt wird. Es sollte eine universelle Lösung sein.

Du denkst falsch rum. Falls du es schaffen solltest unter dem Radar von Antivirenprogrammen hindurchzufliegen werden Malware-Programmierer sich deine Methode abschauen und schon ist dein exe-Packer wieder auf der bösen Liste.
Ist ja nicht so als würde sich Malware-Programmierer freiwillig brav die Methoden aussuchen die von Antivirenprogrammen erkannt werden.

TiGü 30. Jan 2018 16:18

AW: .exe Datei Entpack Test
 
Warum zippst du deine Exe nicht einfach?

Zacherl 30. Jan 2018 16:29

AW: .exe Datei Entpack Test
 
Zitat:

Zitat von Neutral General (Beitrag 1392576)
Du denkst falsch rum. Falls du es schaffen solltest unter dem Radar von Antivirenprogrammen hindurchzufliegen werden Malware-Programmierer sich deine Methode abschauen und schon ist dein exe-Packer wieder auf der bösen Liste.

Das kann man so nicht sagen. Antiviren Programme arbeiten nach wie vor primär mit simplen Signaturen. Genau das ist aber auch der Grund, warum oftmals legitime Produkte (z.b. Themida, VMProtect, oder damals sogar UPX) generell als Malware erkannt werden, da diese Programme häufig verwendet werden, um tatsächliche Malware zu maskieren.

Dementsprechend einfach ist es aber auch eine bestehende Malware vor beliebigen Antivirenprogrammen zu verstecken. Man muss lediglich die Signatur tarnen und die spärliche Laufzeitanalyse / Emulation umgehen. Ersteres geht natürlich wunderbar mit einem Exe-Packer, der RunPE ähnliche Verfahren einsetzt. Hierbei wird eine beliebige Anwendung verschlüsselt und an eine Stub angehangen. Die Stub entschlüsselt die Payload dann zur Laufzeit und führt sie direkt im eigenen Prozess (oder in einem neu gestarteten Fremdprozess) aus - ohne, dass die entschlüsselte Datei zuerst wieder auf die Festplatte geschrieben wird. Dass dieses Verfahren schon lange missbraucht wird, ist vermutlich auch der Grund, warum die entsprechende Vorgehensweise in Fukiszos Test entsprechend hart erkannt wird.

Zitat:

Zitat von TiGü (Beitrag 1392577)
Warum zippst du deine Exe nicht einfach?

Auch wenn ich definitiv ebenfalls eher zu .zip tendiere, bitte nicht wieder die Diskussion pro/contra Packer anstoßen :lol::stupid: Ich glaube zudem möchte er sein Programm vor Manipulation schützen. Dass dafür die oben genannten professionellen Lösungen allerdings ausschließlich immer besser sind, als etwas Selbstgebasteltes (solange man nicht nochmal tausende Stunden in den Schutz investieren will) habe ich auf der anderen Seite auch schon des öfteren erwähnt und das kann ich auch nur nochmal ausdrücklich wiederholen.

Fukiszo 30. Jan 2018 18:39

AW: .exe Datei Entpack Test
 
Zitat:

Zitat von TiGü (Beitrag 1392577)
Warum zippst du deine Exe nicht einfach?

Der Anhang ist ein Archiv, 7-Zip nicht (PK)Zip. Falls du ein SFX-Archiv meintest, darauf wollt ich nicht hinaus.

Zitat:

Zitat von Zacherl (Beitrag 1392578)
Zitat:

Zitat von Neutral General (Beitrag 1392576)
Du denkst falsch rum. Falls du es schaffen solltest unter dem Radar von Antivirenprogrammen hindurchzufliegen werden Malware-Programmierer sich deine Methode abschauen und schon ist dein exe-Packer wieder auf der bösen Liste.

Das kann man so nicht sagen. Antiviren Programme arbeiten nach wie vor primär mit simplen Signaturen. Genau das ist aber auch der Grund, warum oftmals legitime Produkte (z.b. Themida, VMProtect, oder damals sogar UPX) generell als Malware erkannt werden, da diese Programme häufig verwendet werden, um tatsächliche Malware zu maskieren.

Absolut korrekt, die meisten scanner arbeiten entweder per signatur oder meckern generell wenn man funktionen wie "RunPE" nutzt (CreateProcess ist ein beliebtes "Böses" merkmal)

Nichtsdestotrotz hat es Neutral General dennoch auf den Punkt gebracht das so ein vorhaben sinnlos ist.
Sobald die ersten trojaner/würmer/viren etc in den umlauf gelangen, mit meinem stub ausgestattet = stub dann auto-böse auch wenn ich nichts dafür kann und normale programme mit blacklisted werden.

Ich stell dieses projekt ein.

Danke für Eure Ansichten und Meinungen!!!

ps:
mein projekt ist/war kein packer sondern ein wrapper.
"Sicherheit" anbieten ist/war nicht mein Ziel. Das sollte das programm bieten womit ich die .exe im vorfeld bearbeite.
ich pers. mag zum beispiel ASpack aber kann keine .exe verteilen die das nutzen weil auto-blacklist aus oben genannten gründen.

das thema hat sich damit für mich erledigt (-:


Grüße


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:05 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