Exe digital Signieren

  • Hallo Zusammen,

    es gab im Forum schon einige Ansätze zum Signieren einer in Autoit geschriebenen Exe.

    Da mich unser Antiviren Tool immer mal nervt, habe ich folgenden Lösungsansatz gefunden. Dieser funktioniert für unseren Einsatzzweck bisher problemlos.

    Ich habe mir das signtool installiert und füge folgende Zeile an den Anfang des Scriptes:

    AutoIt
    #AutoIt3Wrapper_Run_After=""%ProgramFiles(x86)%\Windows Kits\10\bin\10.0.26100.0\x86\signtool.exe" sign /tr http://timestamp.digicert.com/scripts/timestamp.dll /td SHA256 /fd SHA256 /a "%out%""


    Die entsprechende Exe ist dann digital Signiert.


    Wie binde ich aber hier ein Zertifikat ein oder ist das nicht nötig, da dies ja auch nur 1 Jahr gültig ist?

    Gruß gmmg

  • ich fürchte, das ist schon wieder in klassisches (wie ich von Andy gelernt habe ^^) X/Y-Problem

    Zitat

    Da mich unser Antiviren Tool immer mal nervt

    Vielleicht gibt es ja ganz andere Lösungsansätze. Dazu müsstest du uns aufzeigen, was du sachlich genau mit "nervt" meinst.

    I.d.R. sind das falsepositive, die man durch Eingabe und Prüfung des Tools bei diversen Virenschutz ANbietern beheben kann.

    Es gibt auch lokale Ansätze, (wenn das Tool das Haus nicht verläßt), indem man eine Ausnahmeregel in der AV Software hinzufügt, etc etc

    Für das signieren gibt es hier einen Beitrag im engl. Forum der sich ganz gut liest:

    Sign your exe with a Digital Signature / Signtool.exe
    If someone gets offended by this, because he knows already 200 posts about it. Do not reply. Yes, some wrote already here some words what to do. Yes, you are…
    www.autoitscript.com

    MfG Schnuffel

    "Sarkasmus ist die niedrigste Form des Witzes, aber die höchste Form der Intelligenz."
    Val McDermid

    ein paar Infos ...

    Wer mehr als "nur" Hilfe benötigt, kann sich gern im Forum "Programmieranfragen" an uns wenden. Wir helfen in allen Fällen, die die Forenregeln zulassen.

    Für schnelle Hilfe benötigen wir ein ausführbares Script ("as is"), dass wir als Demonstration des Problems testen können. Wer von uns erwartet ein Teilscript erstmal lauffähig zu bekommen, der hat
    1. keine wirkliche Not
    2. keinen Respekt vor Menschen die ihm in ihrer Freizeit Ihre Hilfe anbieten
    3. oder ist einfach nur faul und meint wir coden das für ihn

    In solchen Fällen erlaube ich mir, die Anfrage einfach zu ignorieren. ;)

    Man möge mir verzeihen, wenn ich nicht perfekten und ideal lesbaren Code zur Verfügung stelle.
    Ich möchte Hilfe zur Selbsthilfe leisten und denke dass eine gewisse Transferleistung erwartet werden kann.

  • Schnuffel,

    die Antivieren Software blockiert die Anwendung, obwohl diese vorher gescannt wurde und es hier keine Probleme beim scannen gab.

    Nach mehrmaligem neu kompilieren funktioniert das Ausführen dann auch irgendwann. Wenn ich hingegen beim kompilieren direkt Signiere, tritt das Problem überhaupt nicht auf.

    Deshalb die Aussage das es "Nervt".

    Die Seite aus dem engl. Forum ist mir bekannt.

    Danke

    Gruß Marcel

  • Hallo!

    Auch bei mir in der Arbeit ist das Ausführen von Programmen ganz streng geregelt. Zum Virenscanner, kommt noch Applocker und jetzt seit kurzen der MS Defender mit ERD,... dazu.

    Ausnahmen gibt es so gut wie keine...Aber da ich eine Signatur besitze darf ich Programme schreiben und auch ausführen. Nicht nur auf meinen ArbeitsPC sondern auch bei allen anderen Benutzer.

    Leider ist es so das die Art wie AutoIT ein lauffähiges Programm erzeugt eine Technik die auch die bösen Leute nutzen und darum schlagen immer wieder die Sicherheitsprogramme an.

    Ich habe das Signtool von Windows 10 so lange bearbeitet bis es eine "portable App" geworden ist und rufe das nur via Link und Batchjob auf. Wichtig ist auch der Timestamp! Allerdings wenn kann zu oft den Timestamp vom Internet holt verweigert das Service für eine gewissen Zeit den Zugriff. Daher ist meine Erfahrung das gleich beim Compilieren zu machen eher schlecht.

    lg

    Racer

  • Zitat

    Ich habe das Signtool von Windows 10 so lange bearbeitet bis es eine "portable App" geworden ist und rufe das nur via Link und Batchjob auf.

    Racer Lass uns teilhaben ... ^^

    MfG Schnuffel

    "Sarkasmus ist die niedrigste Form des Witzes, aber die höchste Form der Intelligenz."
    Val McDermid

    ein paar Infos ...

    Wer mehr als "nur" Hilfe benötigt, kann sich gern im Forum "Programmieranfragen" an uns wenden. Wir helfen in allen Fällen, die die Forenregeln zulassen.

    Für schnelle Hilfe benötigen wir ein ausführbares Script ("as is"), dass wir als Demonstration des Problems testen können. Wer von uns erwartet ein Teilscript erstmal lauffähig zu bekommen, der hat
    1. keine wirkliche Not
    2. keinen Respekt vor Menschen die ihm in ihrer Freizeit Ihre Hilfe anbieten
    3. oder ist einfach nur faul und meint wir coden das für ihn

    In solchen Fällen erlaube ich mir, die Anfrage einfach zu ignorieren. ;)

    Man möge mir verzeihen, wenn ich nicht perfekten und ideal lesbaren Code zur Verfügung stelle.
    Ich möchte Hilfe zur Selbsthilfe leisten und denke dass eine gewisse Transferleistung erwartet werden kann.

  • gmmg,

    es gibt heutzutage in AntiVirenSoftware mehrere Bausteine, die versuchen "böse" Software zu identifiziren.

    Dein "Scanner" ist nur eine davon. I.d.R. erstellen diese AntiVirenProgramme "Logs" in denen steht, welches Modul aus welchem Grund diese Anwendung blockiert hat.
    Wenn wir diese Information haben, können wir weiter über "false positive" diskutieren und die Möglichkeiten, wie diese verhindert werden.

    Zitat

    Nach mehrmaligem neu kompilieren funktioniert das Ausführen dann auch irgendwann. Wenn ich hingegen beim kompilieren direkt Signiere, tritt das Problem überhaupt nicht auf.

    Dieses Verhalten ist ja auch nicht wirklich aussagekräftig.

    I.d.R. wird der "Packer, der beim compilieren verwendet wird als "böse" erkannt. Wie Racer geschrieben hat, verwenden die "bösen Jungs" auch autoit um Ihre DInge zu tun. AntiVirenSoftware-Hersteller tun sich inzwischen schwer, Signaturen für jedes "böse" Programm zu generieren.
    Daher wird verallgemeinert und man bedient sich des Packers, der diese exe-Dateien erstellt. Der ist erkennbar und wird pauschal geblockt.

    Dafür gibt es mehrere "Umgehungsmöglichkeiten", die jede für sich Vor- und Nachteile hat.

    Daher muss man immer erstmal wissen, wer will was womit warum tun.
    Dann kann man die vermeintlich "Beste" Lösung anbieten.

    MfG Schnuffel

    "Sarkasmus ist die niedrigste Form des Witzes, aber die höchste Form der Intelligenz."
    Val McDermid

    ein paar Infos ...

    Wer mehr als "nur" Hilfe benötigt, kann sich gern im Forum "Programmieranfragen" an uns wenden. Wir helfen in allen Fällen, die die Forenregeln zulassen.

    Für schnelle Hilfe benötigen wir ein ausführbares Script ("as is"), dass wir als Demonstration des Problems testen können. Wer von uns erwartet ein Teilscript erstmal lauffähig zu bekommen, der hat
    1. keine wirkliche Not
    2. keinen Respekt vor Menschen die ihm in ihrer Freizeit Ihre Hilfe anbieten
    3. oder ist einfach nur faul und meint wir coden das für ihn

    In solchen Fällen erlaube ich mir, die Anfrage einfach zu ignorieren. ;)

    Man möge mir verzeihen, wenn ich nicht perfekten und ideal lesbaren Code zur Verfügung stelle.
    Ich möchte Hilfe zur Selbsthilfe leisten und denke dass eine gewisse Transferleistung erwartet werden kann.

  • nachdem ich etwas OT war, jetzt zurück zu deiner Frage:

    Zitat

    Wie binde ich aber hier ein Zertifikat ein oder ist das nicht nötig, da dies ja auch nur 1 Jahr gültig ist?

    Zertifikate sind solange gültig, wie man bei der Erstellung angibt. Ein Zertifikat kann auch 100 Jahre gültig sein. ^^

    Warum willst du "dieses" Zertifikat wo einbinden um was zu erreichen?
    Willst du diese Anwendung innerhalb oder außerhalb der eigenen "Hoheit" (Domäne / Unterehmen) verteilen?
    Hast du eine "offizielle" Zertifizierungsstelle für die Erstellung deines Zertifikates?
    Soweit die ersten Fragen zu dem Thema, die mir einfallen...

    MfG Schnuffel

    "Sarkasmus ist die niedrigste Form des Witzes, aber die höchste Form der Intelligenz."
    Val McDermid

    ein paar Infos ...

    Wer mehr als "nur" Hilfe benötigt, kann sich gern im Forum "Programmieranfragen" an uns wenden. Wir helfen in allen Fällen, die die Forenregeln zulassen.

    Für schnelle Hilfe benötigen wir ein ausführbares Script ("as is"), dass wir als Demonstration des Problems testen können. Wer von uns erwartet ein Teilscript erstmal lauffähig zu bekommen, der hat
    1. keine wirkliche Not
    2. keinen Respekt vor Menschen die ihm in ihrer Freizeit Ihre Hilfe anbieten
    3. oder ist einfach nur faul und meint wir coden das für ihn

    In solchen Fällen erlaube ich mir, die Anfrage einfach zu ignorieren. ;)

    Man möge mir verzeihen, wenn ich nicht perfekten und ideal lesbaren Code zur Verfügung stelle.
    Ich möchte Hilfe zur Selbsthilfe leisten und denke dass eine gewisse Transferleistung erwartet werden kann.

  • Schnuffel, die Exe Tools laufen nur intern.

    Mit einem Zertifikat bzw. dem Signieren soll ja erreicht werden, dass diese nicht vom Antivierenprogramm geblockt werden. Deshalb war ja mein Gedanke, dass ich ein gekauftes Zertifikat nutze. Gekaufte Zertifikate sind aber max. nur 1 Jahr gültig. dann müsste man diese erneuern.

    Nach erstem Test so wie oben im Quelltext angegeben, funktioniert es ja. Das in Autoit erstellte Tool wird nicht mehr geblockt.

    Ich teste das einfach die nächsten Wochen/ Monate so und berichte die Erfahrungen daraus.

    Gruß gmmg

  • na siehste, wissen wir doch schon mehr. 😁

    Antiviren Programme können auf vielfältigste Weise Datei in Quarantäne stellen oder einfach blockieren. Welche Regel deine unsignierten Dateien blockt musst du selbst herausfinden anhand der client-log.

    In deinem Fall würde ich einfach den Namen der exe ( der sollte sich ja nicht ändern) in die Ausnahmen mit aufnehmen. Handbuch Antiviren Software Ausnahmen/Exclusion.

    Damit wird die Datei nicht mehr von der Antiviren-Software „angefasst“. Wenn es komplexere Programme mit vielen Dateien betrifft würde ich den ganzen ordner in die Ausnahme aufnehmen.

    MfG Schnuffel

    "Sarkasmus ist die niedrigste Form des Witzes, aber die höchste Form der Intelligenz."
    Val McDermid

    ein paar Infos ...

    Wer mehr als "nur" Hilfe benötigt, kann sich gern im Forum "Programmieranfragen" an uns wenden. Wir helfen in allen Fällen, die die Forenregeln zulassen.

    Für schnelle Hilfe benötigen wir ein ausführbares Script ("as is"), dass wir als Demonstration des Problems testen können. Wer von uns erwartet ein Teilscript erstmal lauffähig zu bekommen, der hat
    1. keine wirkliche Not
    2. keinen Respekt vor Menschen die ihm in ihrer Freizeit Ihre Hilfe anbieten
    3. oder ist einfach nur faul und meint wir coden das für ihn

    In solchen Fällen erlaube ich mir, die Anfrage einfach zu ignorieren. ;)

    Man möge mir verzeihen, wenn ich nicht perfekten und ideal lesbaren Code zur Verfügung stelle.
    Ich möchte Hilfe zur Selbsthilfe leisten und denke dass eine gewisse Transferleistung erwartet werden kann.

  • :klatschen:

    MfG Schnuffel

    "Sarkasmus ist die niedrigste Form des Witzes, aber die höchste Form der Intelligenz."
    Val McDermid

    ein paar Infos ...

    Wer mehr als "nur" Hilfe benötigt, kann sich gern im Forum "Programmieranfragen" an uns wenden. Wir helfen in allen Fällen, die die Forenregeln zulassen.

    Für schnelle Hilfe benötigen wir ein ausführbares Script ("as is"), dass wir als Demonstration des Problems testen können. Wer von uns erwartet ein Teilscript erstmal lauffähig zu bekommen, der hat
    1. keine wirkliche Not
    2. keinen Respekt vor Menschen die ihm in ihrer Freizeit Ihre Hilfe anbieten
    3. oder ist einfach nur faul und meint wir coden das für ihn

    In solchen Fällen erlaube ich mir, die Anfrage einfach zu ignorieren. ;)

    Man möge mir verzeihen, wenn ich nicht perfekten und ideal lesbaren Code zur Verfügung stelle.
    Ich möchte Hilfe zur Selbsthilfe leisten und denke dass eine gewisse Transferleistung erwartet werden kann.