AutoIt-Programme aufspüren

  • Hallo allerseits!

    Diesmal komme ich (ihr werdet es kaum glauben ;) ) mit einer Idee, statt einer Frage, die ich nirgendwo im Forum als passend befinden konnte:

    Da die "AutoIt-Kriminalität" zunimmt, heißt gerne Keylogger, Bots etc. geschrieben werden, dachte ich mir, ein "AutoIt-Antiviren-Programm" zu programmieren, dass halt auf dem Computer nach komiliereten Exes, die auf AutoIt zurückzuführen sind, in den Autostarts, Diessten etc. sucht, und darauf hinweist. Auf Wunsch kann das Skript dann Decompiliert und eingesehen werden. Eventuell sollte auch eine Art "Quarantäne" intengriert sein...

    Außerdem sollten Skripts zum Analysieren an Freiwillige "eingesendet" werden können...

    Was haltet ihr davon?

    Ich fand die Idee in sofern gut, als dass man sich dann besser vor fremden Exes schützen kann...

    • Offizieller Beitrag

    Deine Idee in allen Ehren, aber...
    1. wird ein AutoIt-Antiviren-Programm nicht sonderlich schnell sein
    2. gibt es keinen (legalen) Decompiler
    3. wird es wohl kaum Freiwillige geben, die solche Scripte (die möglichweise auch noch mit dem Obfuscator bearbeitet wurden) analysieren wollen
    und
    4. schützt man sich vor fremden EXEn am besten, indem man sie gar nicht erst startet. ;)

  • Ich würde für diesen Zweck die PE-Signatur der compilierten Exe-Dateien nutzen.
    Da der PE-Teil der AutoIt-Programme alle den Interpreter darstellen sollten alle AutoIt-Programme dieselbe bzw. eine sehr ähnliche PE-Signatur haben.
    Zum Testen ob der Ansatz funktioniert kannst du ja, bevor du eine eigene Funktion zum Auslesen der PE-Signatur schreibst das ganze mal mit PEID oder TrID testen.

  • Gut, das werde ich morgen sofort in Angriff nehmen!

    Ich bin nur auf die Idee gekommen, da ich schon auf meinem Computer 2 Keylogger als Dienste gefunden hab...

    Einen Freiwilligen hätte ich ja schon ;)

    Edit: Ich hab mir das angeschaut, verstehe es nur leider nicht ganz... :(

    Ich habe jetzt erst mal alles "strukturiert":

    Das Programm soll Downloads "abfangen", dann überprüfen, ob es sich um ein AutoIt-Projekt handelt.
    Wenn ja, soll es wie folgt verfahren:
    Eine Md5-Checksumme dürfte sich ja bei jedem veränderten Buchstaben auch verändern...
    Also sollte die Md5-Checksumme verglichen werden mit welchen aus der Datenbank.

    Wird kein Vergleich gefunden, bzw. einer der neagitv ist, wird eine Meldung ausgegeben, man sollte doch bitte das Programm einsenden.
    Das kommt dann an mich, ich frage den Autor, ob ich mehr Infos bekommen darf...
    Falls nicht, muss das Programm zwischen weiße und schwarze Liste aufgeschireben werden...

    Ist das so ein "gesundes" Konzept?

    Kann mir jemand wegen den einzelnen Punkten etwas "Starthilfe" geben?

    Einmal editiert, zuletzt von MatthiasG. (16. März 2009 um 21:38)

  • Ich möchte mich noch einmal genauer zu meiner Begründung äußern, damit klar wird, warum ich dieses Projekt verwirklichen will:

    Immer mehr Neulinge fragen nach Bots, Keyloggern usw. Sogar Trojaner sind möglich, was jeder AutoIt-Skripter mit etwas Erfahrung bestätigen kann! Von Viren wollen wir gar nicht erst sprechen! Mindestens 5% der Threats im Hilfeforum werden aus solchen Gründen gepserrt, das sind genau 5% zu viel!

    Warum tun es immer mehr Leute :?:

    Weil AutoIt die Möglichkeit bietet :!:

    Ich finde, auch wenn nicht jeder meine Meinung unterstützen wird, dass wir als Community mit dafür verantwortlich sind, was mit AutoIt gemacht wird.

    Schon aus reinen Gewissensgründen habe ich mich für dieses Projekt entschlossen. Immerhin geht jeder, der Fragen beantwortet, das Risiko ein, dass er bei so einem Programm mithilft... Ich habe vor dieses Projekt durchzubringen, wenn es sein muss, mach ich es alleine. Die exes werden nicht ohne Zustimmung des Autors dekompiliert! Es wird immer erst der Autor angeschrieben, und amn wird um Inforamtionen zum Skript gefragt...

    Ich würde mich über weitere Meinungen sehr freuen, auch wenn diese gegen meinen Vorschlag sind...

    • Offizieller Beitrag

    Prädikat: sinnlos.

    Gründe:
    - Die Lizenzbedingungen von AutoIt verbieten Dekompilierung
    - Legale Tools dafür gibt es nicht
    - Theoretisch Computersabotage
    - Kein böser Programmierer würde dich dekompilieren lassen
    - Jeder verwendet einen (im Zweifel modifizierten) Obfuscator, was den "Quellcode" wertlos macht
    - Jeder Virenscanner macht es besser als es in AutoIt möglich ist (Behavioural Blocking z.B.)
    - Jeder Virenscanner ist schneller als du

    Folge:
    Nutze deine Zeit sinnvoller und starte keine AutoIt-Exe-Dateien, die du nicht kennst oder selbst kompiliert hast (außer in einer virtuellen Maschine oder mit WINE).

    peethebee

  • Hallo!

    Erstmal danke für deine Atnwort! Ich erlaube mir mal, zwischen den Zeilen zu ziteieren!

    > Die Lizenzbedingungen von AutoIt verbieten Dekompilierung
    Wie geseagt, ich hole mir eine Genehmigung.

    > Theoretisch Computersabotage
    Wieso Computerabotage?

    > Kein böser Programmierer würde dich dekompilieren lassen
    Eben deshalb werden diese Programme dann auf die "Warn-Liste" bei konkretem Verdacht sogar auf die "Block-Liste" geschrieben

    > Jeder verwendet einen (im Zweifel modifizierten) Obfuscator, was den "Quellcode" wertlos macht
    Dann werde ich mit dem Autor genauer reden müssen...

    > Jeder Virenscanner macht es besser als es in AutoIt möglich ist (Behavioural Blocking z.B.)
    Ich benutze Eset NOD32, und der blockt jede AutoIt-Exe (es gibt einen sog. AutoIt-Wurm)
    Dieses Programm würde Klarheit verschaffen...

    > Jeder Virenscanner ist schneller als du
    Es geht nicht um Performance, sondern um Sicherheit.
    Außerdem kontrolliert das Programm nur kurz die Downloads...

    • Offizieller Beitrag

    > Die Lizenzbedingungen von AutoIt verbieten Dekompilierung
    Wie geseagt, ich hole mir eine Genehmigung.


    Ich weiß nicht, inwiefern dir die Grundlagen der Rechtssprechung vertraut sind. Aber: Es ist völlig unerheblich ob der Autor dir die Dekompilation erlaubt, da er gar nicht dazu ermächtigt ist!! Die Lizenzbedingeungen von AutoIt verbieten jedem Nutzer von AutoIt eine mit AutoIt(dem Lizenzprodukt) erstellte EXE zu dekompilieren.

    Um es mal als Vergleich zu bringen. Wenn ein Kumpel sagt: Hey, du darfst mein Auto fahren, so darfst du es trotzdem nicht, wenn du keinen Führerschein hast!

    Zitat

    > Jeder verwendet einen (im Zweifel modifizierten) Obfuscator, was den "Quellcode" wertlos macht
    Dann werde ich mit dem Autor genauer reden müssen...


    Was soll das? - Willst du ihm nahelegen, er soll seine sinnvolle Modifikation, die mehr Sicherheit bringt, sein lassen? ?(

  • Nein, mir den Source-Code zusenden lassen, eine Lösung wird sich finden...

    Edit: Sonst kommt mir folgende Idee, den Source Code kompiliere ich auch und vergleiche dann die Md5-Checksummen...

    Wie gesagt, durch solche illegalen Programme verliert AutoIt Tag für Tag an "Ansehen". Mein Virenscanner blockt alles was mit AutoIt zu tun hat ab, sogar Gandela...

    Ich versuche dem entgegenzuwirken...

    Achso, und wenn das Decompilieren verboten ist, warum ist dann im AutoIt-Paket ein Decompilierer enthalten, wenn auch nicht für die aktuelle Version?

    • Offizieller Beitrag

    Es war früher (!) möglich zu dekompilieren, wenn man das beim Kompilieren ermöglicht hat.

    Wenn du den Quelltext hättest, kannst du doch einfach neu kompilieren, dann brauchst du keine vorhandenen Exe-Dateien vergleichen.
    Bei jedem guten Virenscanner kannst du außerdem das Verzeichnis mit deinen Exe-Dateien (oder diese selbst) von der Prüfung ausnehmen, weil du ja weißt, dass diese sauber sind.

    peethebee

  • Ja, das mit dem Ausnehmen ist klar, aber wer garantiert mir, dass da doch nicht was ist?

    Wenn ich eine exe testen will, dann gehe ich immer ein Risiko ein...

    Das meine Idee auf solchen Widerstand stößt wusste ich nicht, ich wollte nur eine Maßnahme gegen die illegallen "Produkte" machen. Was ist, wenn ich mir eine exe ganz wo anders her ziehe? Es kann isch trotzdem um einen Keylogger etc. handeln...

    • Offizieller Beitrag

    Und jeder, der Dir nicht den Quellcode zusendet, kommt dann auf die "schwarze Liste"? LOL :rofl:
    Entschuldige, aber langsam übertreibst Du...
    Und AutoIt ist nunmal eine Programmiersprache. Was man damit anstellt, liegt einzig und allein beim Programmierer (Vergleich: Axt = Werkzeug oder Waffe?).
    Wer eine Programmiersprache "verteufelt", nur weil damit schonmal Viren, Keylogger, Bots, etc. erstellt wurden, hat IMHO eine falsche Einstellung zu Programmiersprachen.

    P.S.: Wenn Dein AntiViren-Programm alles blockt, was mit AutoIt zu tun hat, dann ist es an der Zeit das AntiViren-Programm in die Tonne zu kloppen und sich ein anderes zuzulegen. ;)

  • Nein, sie würden nicht auf die schwarze Liste kommen....

    Ich übertreibe keineswegs.

    Außerdem ist mein Antivirenprogramm nicht das einzige. Ich denke, dass die Betreiber nur schlechte Erfahrung mit AutoIt-Programmen gemacht haben...

    Aber wenn ihr diese Idee für so unötig haltet, könnt ihr den Thraet ja löschen...

    Es war nur eine Idee...

  • Hallo MatthiasG,

    Zitat

    Was haltet ihr davon?
    Ich fand die Idee in sofern gut, als dass man sich dann besser vor fremden Exes schützen kann...


    wenn Du gerne Scripte / Programme von Dir fremden Leuten testen willst, dann laß diese doch in einer Sandbox laufen, oder installier Dir einen virtuellen PC.

    Ich kann Deinen Denkansatz ja durchaus verstehen.
    Ich glaube aber, dass Du Dich da in eine Idee verrannt hast ...

    Sorry,
    Verständnis Ende ....

    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 ! lauffähiges ! Script, 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. ;)

  • Also, die Sandbox hatte ich bereits installiert, die hat aber leider zu unsichere Schutzmechnamismen, die man umgehen kann (soweit habe ich es verstanden, wenn ich falsch liege, tut mir Leid :) )

    Virtuelle Pcs hab ich auch (Virtual Box), doch leider funktioniert da nichts, was die CPU stark beanspruchen würde, da der Arbeitsspeicher ja nur ein Drittel so groß ist, wie der echte und eine gute Grafikkarte wird auch nicht imitiert...

    • Offizieller Beitrag

    Hi,

    wie soll der dein Ablauf sein?

    1) alle exe Dateien untersuchen und feststellen ob es ein AutoitSkript ist. (sollte klappen)
    Man muss daran denken, dass unter Windows das Skript auch hugo.autoit heißen kann und trotzdem ausgeführt werden kann. auch ohne .exe.

    2) Du hast nun die Liste aller Dateien die Autoit Quellcode enthalten. Und nun?

    Mega

  • Naja, eigentlich hat sich das Thema ja mehr oder weniger erledigt...

    1) alle exe Dateien untersuchen und feststellen ob es ein AutoitSkript ist. (sollte klappen)
    Man muss daran denken, dass unter Windows das Skript auch hugo.autoit heißen kann und trotzdem ausgeführt werden kann. auch ohne .exe.


    Das könnte dann ja ausgeweitet werden

    2) Du hast nun die Liste aller Dateien die Autoit Quellcode enthalten. Und nun?


    Dann würde die Md5-Checksumme ermittelt werden und mit der aus der Datenbank verglichen werden, falls das mit der Md5-Checksumme geht...

    Ansonsten würde dann eine Meldung ausgegeben werden...

  • Theoretisch ja, nicht alles würde auch sofort auf die Blacklist kommen, sondern mehr auf die Grey-List, beid er nur eine Warnung ausgegeben wird.