1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Prozess nicht beenden lassen

Dieses Thema im Forum "Support & Discussion" wurde erstellt von ahv2j5dc, 25. Oktober 2017.

  1. ahv2j5dc

    ahv2j5dc New Member

    Registriert seit:
    6. September 2017
    Beiträge:
    2
    Zustimmungen:
    0
    Punkte für Erfolge:
    1
    Geschlecht:
    männlich
    Hey liebe Community,

    lange nicht mehr hier aktiv gesehen, bzw. garnicht seit dem Relaunch. :)

    Habe letztens mich an ein kleines AutoIt Script gesetzt, welches auch soweit fertig ist.
    Dieses installiert per FileInstall ein Programm samt exe und startet dieses dann auch. Das AutoIt Script ist somit terminiert und viel mehr macht es eigentlich auch garnicht, außer zu prüfen ob das vorher erwähnte Programm schon läuft, denn dann startet er es nicht ein 2. mal und eine Verknüpfung die auf sich selbst zeigt in den Autostart Ordner zu tun.

    Dieses Script ist compiled als exe, ich habe es auf mehreren Rechnern schon getestet und alles läuft wunderbar.
    Es gibt nur mittlerweile mehrere Edge Cases wo auf bestimmten Rechnern eine Art ProcessMonitor/Cleaner läuft (welchen ich noch nicht identifizieren konnte), der jede 10 Minuten oder so, alle Prozesse bis auf die Essentials und ein oder zwei (ich denke diese sind vorher definiert) terminiert.

    Nun meine Frage:
    Gibt es eine Möglichkeit zu verhindern, dass mein Prozess beendet wird?

    Sorry für die spärlichen Informationen. Bei Fragen, fragt einfach.

    P.S. Habe keine Admin-Rechte auf den besagten Computern
    P.P.S. Es handelt sich natürlich nicht um Schadware ;);)

    Liebe Grüße
    ahv2j5dc
     
  2. krusty

    krusty Moderator Mitarbeiter Moderator

    Registriert seit:
    1. Juli 2017
    Beiträge:
    28
    Zustimmungen:
    23
    Punkte für Erfolge:
    3
    Geschlecht:
    männlich
    Ort:
    Wadiya
    Ja, gibt es, ist aber umständlich. Generell macht Maleware sowas, nennt man "Melt Server".

    1. Methode: du schreibst ein zweites Programm, welches prüft, ob dein erstes Programm noch läuft. Beide Programme überwachen sich gegenseitig und starten sich, wenn sie geschlossen werden.
    (Braucht keine Adminrechte, kann man in Autoit implementieren, ist aber leicht auszuhebeln)

    2. Methode: Du injizierst Code in einen anderen Prozess. Ist eigentlich genau wie Möglichkeit 1, nur dass du keinen Prozess startest, sondern deine Funktion in einen bestehenden Prozess injizierst.
    (Braucht Adminrechte, außer du startest den Prozess in den du injizierst selbst (Vater-Prozess kann Kind-Process editieren) . Der zu injizierende Code kann NICHT in Autoit geschrieben werden)

    3. Methode: Mit einem sogenannten RunPE injizierst du dein ganzes Programm in einen anderen Prozess. Ein RunPE startet einen Prozess, z.B. Firefox, hält diesen an, und überschreibt den Speicher des Firefox mit deinem Programm. So heißt der Prozess noch Firefox, eigentlich wird aber dein Programm ausgeführt. Nennt man auch Process injection.
    (Braucht keine Adminrechte, bin mir aber nicht sicher, ob Autoit-Exe-Dateien injiziert werden können)

    4. Methode: Du schreibst ein Rootkit, welches im Kernel Mode alle API Aufrufe hookt, welche eine Prozessliste erstellen. In diesem Hook entfernst du dein Programm dann einfach aus der Liste. Oder du blockierst das Beenden deines Prozesses.
    (Braucht nicht nur Adminrechte, es muss ein neuer Treiber im Kernel installiert werden)

    5. Methode: eigentlich wie Möglichkeit 4, nur dass du nicht global hookst, sondern direkt im Taskmanager/Processmanager, benötigt keinen Kernel Mode.
    (Braucht Adminrechte, der Code des Hooks kann nicht in Autoit geschrieben werden)

    viel bla bla, einfach mal um ein bisschen Wissen zu vermitteln.

    Methode 1 ist am einfachsten, aber auch einfach zu entdecken und auszuhebeln.
    Methode 2 kommt nicht ohne nativen Code aus (ASM, C,C++...)
    Methode 3 kommt in Frage, wenn du ein RunPE schreiben kannst.
    Methode 4 braucht Erfahrung mit Treiberentwicklung und eine Möglichkeit diesen zu Lizensieren
    Methode 5 braucht ebenfalls nativen Code

    Fragen zu einer Methode?
     
    Ingolf und ahv2j5dc gefällt das.
  3. ahv2j5dc

    ahv2j5dc New Member

    Registriert seit:
    6. September 2017
    Beiträge:
    2
    Zustimmungen:
    0
    Punkte für Erfolge:
    1
    Geschlecht:
    männlich
    Danke für die schnelle und ausführliche Antwort krusty!

    Methode 1 hatte ich schon probiert, ist aber leider nicht möglich da mein monitor process ja auch beendet wird. :rolleyes:

    Methode 2 hört sich schon nachdem an was ich suche.:D C kann ich an sich und ganz wenig Assembler kann ich auch. Das Problem wäre hierbei nur an die Admin-Rechte zu gelangen, wobei es da ja auch work arounds gibt. Müsste dann nur mal schauen wie ich mit C Code in einen Prozess injiziere :confused:

    Methode 3 leider auch nicht möglich, da mein RunPE ja auch beendet werden würde, auch wenn es sich um firefox handelt. Das Programm welches hier die processes killed, killed sogar Microsoft Edge, Notepad usw..

    Methode 4 ist auch sehr interessant und ne coole Sache, aber für mich leider nicht machbar.

    Methode 5 ist machbarer als 4 aufjedenfall. Auch wie bei 2 muss ich mich mal dann reinlesen wie ich den Taskmanager hooken kann.


    Danke und Liebe Grüße
    ahv2j5dc
     

Diese Seite empfehlen

Die Seite wird geladen...