Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
ScheduleRunner — Ein C#-Tool mit größerer Flexibilität zur Anpassung geplanter Aufgaben für sowohl Persistenz als auch laterale Bewegung in Red-Team-Operationen. | Kitploit
Tools/GitHubGitHub/netero1010/schedulerunner
PersistenzmechanismenIDS/IPS-UmgehungLaterale BewegungPost-ExploitationRed Teaming
GitHubnetero1010/schedulerunner

ScheduleRunner

Ein C#-Tool mit größerer Flexibilität zur Anpassung geplanter Aufgaben für sowohl Persistenz als auch laterale Bewegung in Red-Team-Operationen.

Repository anzeigen
34748vor 1 JahrVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

ScheduleRunner - Ein C#-Tool mit mehr Flexibilität zur Anpassung geplanter Aufgaben für Persistenz und laterale Bewegung in Red-Team-Operationen


Geplante Aufgaben sind eine der beliebtesten Angriffstechniken des letzten Jahrzehnts und werden auch heute noch häufig von Hackern/Red Teamern für Persistenz und laterale Bewegung eingesetzt.

Eine Reihe von C#-Tools wurden bereits entwickelt, um den Angriff mittels geplanter Aufgaben zu simulieren. Ich habe mit einigen davon experimentiert, aber jedes hat seine eigenen Einschränkungen bei der Anpassung der geplanten Aufgabe. Daher zielt dieses Projekt darauf ab, ein C#-Tool (CobaltStrike execute-assembly-kompatibel) bereitzustellen, das die von mir benötigten Funktionen enthält und ausreichend Flexibilität bei der Anpassung der geplanten Aufgabe bietet.

Screenshot:

HowTo

Methoden (/method):

MethodeFunktion
createErstelle eine neue geplante Aufgabe
deleteLösche eine vorhandene geplante Aufgabe
runFühre eine vorhandene geplante Aufgabe aus
queryFrage Details einer geplanten Aufgabe oder aller geplanten Aufgaben in einem Ordner ab
queryfoldersFrage alle Unterordner in der geplanten Aufgabe ab
moveFühre laterale Bewegung mittels geplanter Aufgabe durch (automatisch erstellen, ausführen und löschen)

Optionen für die Erstellung geplanter Aufgaben (/method:create):

[*] sind Pflichtfelder.

Optionen für die Löschung geplanter Aufgaben (/method:delete):

[*] sind Pflichtfelder.

Optionen für die Ausführung geplanter Aufgaben (/method:run):

MethodeFunktion
[*] /tasknameGib den Namen der geplanten Aufgabe an
/folderGib den Ordner an, in dem die geplante Aufgabe gespeichert wird (Standard: \)
/remoteserverGib den Hostnamen oder die IP-Adresse eines Remotecomputers an

[*] sind Pflichtfelder.

Optionen für die Abfrage geplanter Aufgaben (/method:query):

MethodeFunktion
/tasknameGib den Namen der geplanten Aufgabe an
/folderGib den Ordner an, in dem die geplante Aufgabe gespeichert wird (Standard: \)
/remoteserverGib den Hostnamen oder die IP-Adresse eines Remotecomputers an

[*] sind Pflichtfelder.

Optionen für die laterale Bewegung geplanter Aufgaben (/method:move):

[*] sind Pflichtfelder.

Beispiel

Erstelle eine geplante Aufgabe namens "Cleanup", die jeden Tag um 23:30 Uhr ausgeführt wird.

ScheduleRunner.exe /method:create /taskname:Cleanup /trigger:daily /starttime:23:30 /program:calc.exe /description:"Some description" /author:netero1010

Erstelle eine geplante Aufgabe namens "Cleanup", die alle 4 Stunden auf einem Remote-Server ausgeführt wird.

ScheduleRunner.exe /method:create /taskname:Cleanup /trigger:hourly /modifier:4 /program:rundll32.exe /argument:c:\temp\payload.dll /remoteserver:TARGET-PC01

Lösche eine geplante Aufgabe namens "Cleanup".

ScheduleRunner.exe /method:delete /taskname:Cleanup

Führe eine geplante Aufgabe namens "Cleanup" aus.

ScheduleRunner.exe /method:run /taskname:Cleanup

Frage Details einer geplanten Aufgabe namens "Cleanup" im Ordner "\Microsoft\Windows\CertificateServicesClient" auf einem Remote-Server ab.

ScheduleRunner.exe /method:query /taskname:Cleanup /folder:\Microsoft\Windows\CertificateServicesClient /remoteserver:TARGET-PC01

Frage alle geplanten Aufgaben unter einem bestimmten Ordner "\Microsoft\Windows\CertificateServicesClient" auf einem Remote-Server ab.

ScheduleRunner.exe /method:query /folder:\Microsoft\Windows\CertificateServicesClient /remoteserver:TARGET-PC01

Frage alle Unterordner in der geplanten Aufgabe ab.

ScheduleRunner.exe /method:queryfolders

Führe laterale Bewegung mittels geplanter Aufgabe zu einem Remote-Server mit einem bestimmten Benutzerkonto durch.

ScheduleRunner.exe /method:move /taskname:Demo /remoteserver:TARGET-PC01 /program:rundll32.exe /argument:c:\temp\payload.dll /user:netero1010

Erstelle eine geplante Aufgabe namens "Cleanup" unter Verwendung der Technik des Versteckens geplanter Aufgaben:

ScheduleRunner.exe /method:create /taskname:Cleanup /trigger:daily /starttime:23:30 /program:calc.exe /description:"Some description" /author:netero1010 /technique:hide

Lösche eine geplante Aufgabe namens "Cleanup", die die Technik des Versteckens geplanter Aufgaben verwendet hat:

ScheduleRunner.exe /method:delete /taskname:Cleanup /technique:hide

Technik des Versteckens geplanter Aufgaben

Diese Technik wurde vom Bedrohungsakteur HAFNIUM verwendet und kürzlich von Microsoft entdeckt. Sie zielt darauf ab, die geplante Aufgabe für Tools nicht abfragbar und für die Aufgabenplanung unsichtbar zu machen.

Um diese Technik zu verwenden, benötigen Sie "NT AUTHORITY/SYSTEM" und ScheduleRunner wird Folgendes für Sie tun:

  1. Lösche den "SD"-Wert aus "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tree\[task name]"
  2. Lösche die XML-Datei der geplanten Aufgabe "C:\Windows\System32\Tasks\[task name]"

Um eine mit dieser Technik erstellte geplante Aufgabe zu entfernen, muss "/technique:hide" in der Löschmethode hinzugefügt werden, um sie ordnungsgemäß zu entfernen.

Nachteil dieser Technik:

Die Aufgabe wird bis zum nächsten Systemneustart weiter ausgeführt, selbst wenn sie über die Registrierung gelöscht wird. Daher ist es besser, diese Technik auf Servern für Ihren Einsatz nicht zu verwenden.

Demo

HowTo

Verwendete Bibliothek und Referenzen:

BibliothekLink
TaskSchedulerhttps://github.com/dahall/TaskScheduler
ReferenzLink
SharpPersisthttps://github.com/mandiant/SharPersist
Technik des Versteckens geplanter Aufgabenhttps://www.microsoft.com/security/blog/2022/04/12/tarrask-malware-uses-scheduled-tasks-for-defense-evasion/
Tool herunterladen
MethodeFunktion
[*] /tasknameGib den Namen der geplanten Aufgabe an
[*] /programGib das Programm an, das die Aufgabe ausführt
[*] /triggerGib den Zeitplantyp an. Gültige Werte sind: "minute", "hourly", "daily", "weekly", "onstart", "onlogon" und "onidle"
/modifierGib an, wie oft die Aufgabe innerhalb ihres Zeitplantyps ausgeführt wird. Nur anwendbar für Zeitplantypen wie "minute" (z. B. 1-1439 Minuten), "hourly" (z. B. 1-23 Stunden) und "weekly" (z. B. mon,sat,sun)
/starttimeGib die Startzeit für den täglichen Zeitplantyp an (z. B. 23:30)
/argumentGib das Befehlszeilenargument für das Programm an
/folderGib den Ordner an, in dem die geplante Aufgabe gespeichert wird (Standard: \)
/workingdirGib das Arbeitsverzeichnis an, in dem die geplante Aufgabe ausgeführt wird
/authorGib den Autor der geplanten Aufgabe an
/descriptionGib die Beschreibung für die geplante Aufgabe an
/remoteserverGib den Hostnamen oder die IP-Adresse eines Remotecomputers an
/userFühre die Aufgabe mit einem angegebenen Benutzerkonto aus
/techniqueGib die Umgehungstechnik an:
- "hide": Eine Technik, die von der HAFNIUM-Malware verwendet wird und die geplante Aufgabe vor der Aufgabenabfrage verbirgt

[!] https://www.microsoft.com/security/blog/2022/04/12/tarrask-malware-uses-scheduled-tasks-for-defense-evasion/
[!] Diese Technik unterstützt keine Remoteausführung aufgrund der Berechtigung der Remote-Registrierung. Erforderlich ist "NT AUTHORITY\SYSTEM" und die Aufgabe läuft bis zum Systemneustart weiter, selbst nach Löschung der Aufgabe
MethodeFunktion
[*] /tasknameGib den Namen der geplanten Aufgabe an
/folderGib den Ordner an, in dem die geplante Aufgabe gespeichert wird (Standard: \)
/remoteserverGib den Hostnamen oder die IP-Adresse eines Remotecomputers an
/techniqueGib an, dass die geplante Aufgabe unter Verwendung einer Umgehungstechnik erstellt wurde:
- "hide": Lösche eine geplante Aufgabe, die mit der „Versteckte geplante Aufgabe“-Technik erstellt wurde

[!] Die Löschung erfordert "NT AUTHORITY\SYSTEM" und die Aufgabe wird bis zum Systemneustart weiter ausgeführt, selbst nach Löschung der Aufgabe
MethodeFunktion
[*] /tasknameGib den Namen der geplanten Aufgabe an
[*] /programGib das Programm an, das die Aufgabe ausführt
[*] /remoteserverGib den Hostnamen oder die IP-Adresse eines Remotecomputers an
/triggerGib den Zeitplantyp an. Gültige Werte sind: "minute", "hourly", "daily", "weekly", "onstart", "onlogon" und "onidle"
/modifierGib an, wie oft die Aufgabe innerhalb ihres Zeitplantyps ausgeführt wird. Nur anwendbar für Zeitplantypen wie "minute" (z. B. 1-1439 Minuten), "hourly" (z. B. 1-23 Stunden) und "weekly" (z. B. mon,sat,sun)
/starttimeGib die Startzeit für den täglichen Zeitplantyp an (z. B. 23:30)
/argumentGib das Befehlszeilenargument für das Programm an
/folderGib den Ordner an, in dem die geplante Aufgabe gespeichert wird (Standard: \)
/workingdirGib das Arbeitsverzeichnis an, in dem die geplante Aufgabe ausgeführt wird
/authorGib den Autor der geplanten Aufgabe an
/descriptionGib die Beschreibung für die geplante Aufgabe an
/userFühre die Aufgabe mit einem angegebenen Benutzerkonto aus