Ja aber bei den anderen 7 AVs von denen es detected wird nur mit Payload.
Ja aber bei den anderen 7 AVs von denen es detected wird nur mit Payload.
Ich würde erstmals die Dropper-Detection behandeln. Die ist halt sehr generell und kann von vielen Sachen kommen (u.A. auch zu große Ressourcen, aber auch von RunPEs usw). Leider beantwortest du essentielle Fragen nicht, wie ob du eine eigene RunPE verwendest und somit sind Fragen wie ob du "API-Encryption" verwendest, welche Calls du verwendest, welche Encryption du verwendest, usw. auch eher sinnlos.
Bei der Speichermethode kannst du auf die Sections zugreifen. Natürlich geht es mit .data, allerdings wird das höchstwahrscheinlich auch eine Detection auslösen. Du könntest den Payload aber in die Code-Section einfügen (PE-Header nachträglich ändern). Auch kannst du deine RunPE zu Shellcode umschreiben. Wenn in der IAT "LoadLibrary" und "GetProcAddr" steht, führt das auch öfters zur Dropper-Detection. Praktisch hierbei wäre, dass du deine RunPE dann komplett verschlüsseln könntest und diese dann einfach an Ort und Stelle entschlüsseln und direkt aufrufen. Sollte es am Ende dann tatsächlich nach all den Versuchen am Payload scheitern, kannst du dieses auch in der .code-Section speichern und mittels push auf den Stack schieben (und dann die RunPE aufrufen). Eine Weiterentwicklung davon wäre dass du dann zu den Pushes verschiedene Jumps einfügst und ein wenig Trashcode (nur Berechnungen). Das würde dein Payload allerdings auf das 2- bis 4-fache aufblasen.
Danke, werde versuchen einige deiner Vorschläge umzusetzen.