Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
ScheduleRunner — Uno strumento C# con maggiore flessibilità per personalizzare le attività pianificate sia per la persistenza che per il movimento laterale nelle operazioni di red team. | Kitploit
Strumenti/GitHubGitHub/netero1010/schedulerunner
Meccanismi di PersistenzaEvasione IDS/IPSMovimento LateralePost-ExploitRed Teaming
GitHubnetero1010/schedulerunner

ScheduleRunner

Uno strumento C# con maggiore flessibilità per personalizzare le attività pianificate sia per la persistenza che per il movimento laterale nelle operazioni di red team.

Vedi Repository
347481 anno faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

ScheduleRunner - Uno strumento C# con maggiore flessibilità per personalizzare le attività pianificate per persistenza e movimento laterale nelle operazioni di red team


L'attività pianificata è una delle tecniche di attacco più popolari dell'ultimo decennio e viene ancora comunemente utilizzata da hacker/red team per persistenza e movimento laterale.

Numerosi strumenti C# sono già stati sviluppati per simulare l'attacco tramite attività pianificate. Ho sperimentato alcuni di essi, ma ognuno ha i propri limiti nella personalizzazione dell'attività pianificata. Pertanto, questo progetto mira a fornire uno strumento C# (compatibile con execute-assembly di CobaltStrike) che includa le funzionalità di cui ho bisogno e offra sufficiente flessibilità nella personalizzazione dell'attività pianificata.

Screenshot:

HowTo

Methods (/method):

MetodoFunzione
createCrea una nuova attività pianificata
deleteElimina un'attività pianificata esistente
runEsegue un'attività pianificata esistente
queryInterroga i dettagli di un'attività pianificata o di tutte le attività pianificate in una cartella
queryfoldersInterroga tutte le sottocartelle nelle attività pianificate
moveEsegue movimento laterale utilizzando attività pianificate (crea, esegue ed elimina automaticamente)

Opzioni per la creazione di attività pianificate (/method:create):

[*] sono campi obbligatori.

Opzioni per l'eliminazione di attività pianificate (/method:delete):

[*] sono campi obbligatori.

Opzioni per l'esecuzione di attività pianificate (/method:run):

MetodoFunzione
[*] /tasknameSpecifica il nome dell'attività pianificata
/folderSpecifica la cartella in cui viene memorizzata l'attività pianificata (default: \)
/remoteserverSpecifica il nome host o l'indirizzo IP di un computer remoto

[*] sono campi obbligatori.

Opzioni per la query di attività pianificate (/method:query):

MetodoFunzione
/tasknameSpecifica il nome dell'attività pianificata
/folderSpecifica la cartella in cui viene memorizzata l'attività pianificata (default: \)
/remoteserverSpecifica il nome host o l'indirizzo IP di un computer remoto

[*] sono campi obbligatori.

Opzioni per il movimento laterale di attività pianificate (/method:move):

[*] sono campi obbligatori.

Esempio

Crea un'attività pianificata chiamata "Cleanup" che verrà eseguita ogni giorno alle 23:30.

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

Crea un'attività pianificata chiamata "Cleanup" che verrà eseguita ogni 4 ore su un server remoto

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

Elimina un'attività pianificata chiamata "Cleanup"

ScheduleRunner.exe /method:delete /taskname:Cleanup

Esegui un'attività pianificata chiamata "Cleanup"

ScheduleRunner.exe /method:run /taskname:Cleanup

Interroga i dettagli di un'attività pianificata chiamata "Cleanup" nella cartella "\Microsoft\Windows\CertificateServicesClient" su un server remoto

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

Interroga tutte le attività pianificate in una cartella specifica "\Microsoft\Windows\CertificateServicesClient" su un server remoto

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

Interroga tutte le sottocartelle nelle attività pianificate

ScheduleRunner.exe /method:queryfolders

Esegui movimento laterale utilizzando attività pianificate verso un server remoto con un account utente specifico

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

Crea un'attività pianificata chiamata "Cleanup" utilizzando la tecnica di attività pianificata nascosta:

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

Elimina un'attività pianificata chiamata "Cleanup" che ha utilizzato la tecnica di attività pianificata nascosta:

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

Tecnica di Attività Pianificata Nascosta

Questa tecnica è stata utilizzata dall'attore della minaccia HAFNIUM e scoperta recentemente da Microsoft. Mira a rendere l'attività pianificata non interrogabile dagli strumenti e invisibile a Task Scheduler.

Per utilizzare questa tecnica, è necessario disporre di "NT AUTHORITY/SYSTEM" e ScheduleRunner eseguirà le seguenti operazioni per te:

  1. Elimina il valore "SD" da "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tree\[nome attività]"
  2. Elimina il file XML dell'attività pianificata "C:\Windows\System32\Tasks\[nome attività]"

Per rimuovere un'attività pianificata creata con questa tecnica è necessario aggiungere "/technique:hide" nel metodo di eliminazione per rimuoverla correttamente.

Svantaggio di questa tecnica:

L'attività continuerà a essere eseguita fino al prossimo riavvio del sistema anche se eliminata tramite registro. Pertanto, è meglio non utilizzare questa tecnica su un server per la tua operazione.

Demo

HowTo

Libreria e Riferimenti Utilizzati:

LibreriaLink
TaskSchedulerhttps://github.com/dahall/TaskScheduler
RiferimentoLink
SharpPersisthttps://github.com/mandiant/SharPersist
Tecnica di attività pianificata nascostahttps://www.microsoft.com/security/blog/2022/04/12/tarrask-malware-uses-scheduled-tasks-for-defense-evasion/
Scarica lo strumento
MetodoFunzione
[*] /tasknameSpecifica il nome dell'attività pianificata
[*] /programSpecifica il programma eseguito dall'attività
[*] /triggerSpecifica il tipo di pianificazione. I valori validi includono: "minute", "hourly", "daily", "weekly", "onstart", "onlogon" e "onidle"
/modifierSpecifica la frequenza con cui l'attività viene eseguita all'interno del suo tipo di pianificazione. Applicabile solo per tipi di pianificazione come "minute" (es., 1-1439 minuti), "hourly" (es., 1-23 ore) e "weekly" (es., lun,sab,dom)
/starttimeSpecifica l'ora di inizio per il tipo di pianificazione giornaliera (es., 23:30)
/argumentSpecifica l'argomento della riga di comando per il programma
/folderSpecifica la cartella in cui viene memorizzata l'attività pianificata (default: \)
/workingdirSpecifica la directory di lavoro in cui verrà eseguita l'attività pianificata
/authorSpecifica l'autore dell'attività pianificata
/descriptionSpecifica la descrizione per l'attività pianificata
/remoteserverSpecifica il nome host o l'indirizzo IP di un computer remoto
/userEsegue l'attività con un account utente specificato
/techniqueSpecifica la tecnica di evasione:
- "hide": Una tecnica utilizzata dal malware HAFNIUM che nasconde l'attività pianificata dalla query delle attività

[!] https://www.microsoft.com/security/blog/2022/04/12/tarrask-malware-uses-scheduled-tasks-for-defense-evasion/
[!] Questa tecnica non supporta l'esecuzione remota a causa dei privilegi del registro remoto. Richiede "NT AUTHORITY\SYSTEM" e l'attività continuerà a essere eseguita fino al riavvio del sistema anche dopo l'eliminazione dell'attività
MetodoFunzione
[*] /tasknameSpecifica il nome dell'attività pianificata
/folderSpecifica la cartella in cui viene memorizzata l'attività pianificata (default: \)
/remoteserverSpecifica il nome host o l'indirizzo IP di un computer remoto
/techniqueSpecifica quando l'attività pianificata è stata creata utilizzando la tecnica di evasione:
- "hide": Elimina l'attività pianificata che ha utilizzato la tecnica di "attività pianificata nascosta"

[!] L'eliminazione richiede "NT AUTHORITY\SYSTEM" e l'attività continuerà a essere eseguita fino al riavvio del sistema anche dopo l'eliminazione dell'attività
MetodoFunzione
[*] /tasknameSpecifica il nome dell'attività pianificata
[*] /programSpecifica il programma che l'attività esegue
[*] /remoteserverSpecifica il nome host o l'indirizzo IP di un computer remoto
/triggerSpecifica il tipo di pianificazione. I valori validi includono: "minute", "hourly", "daily", "weekly", "onstart", "onlogon" e "onidle"
/modifierSpecifica la frequenza con cui l'attività viene eseguita all'interno del suo tipo di pianificazione. Applicabile solo per tipi di pianificazione come "minute" (es., 1-1439 minuti), "hourly" (es., 1-23 ore) e "weekly" (es., lun,sab,dom)
/starttimeSpecifica l'ora di inizio per il tipo di pianificazione giornaliera (es., 23:30)
/argumentSpecifica l'argomento della riga di comando per il programma
/folderSpecifica la cartella in cui viene memorizzata l'attività pianificata (default: \)
/workingdirSpecifica la directory di lavoro in cui verrà eseguita l'attività pianificata
/authorSpecifica l'autore dell'attività pianificata
/descriptionSpecifica la descrizione per l'attività pianificata
/userEsegue l'attività con un account utente specificato