Como detectar quem criou uma Tarefa Agendada no Windows Server
Auditoria Nativa
- Execute eventvwr.msc → Logs do Windows → Clique com o botão direito no log "Segurança" → Propriedades:
- Certifique-se de que a caixa de seleção "Habilitar registro" esteja marcada
- Aumente o tamanho do log para pelo menos 1gb.
- Defina o método de retenção para "Sobrescrever eventos conforme necessário".
- Abra o Visualizador de Eventos e pesquise no log de Segurança pelo ID de evento 4698 para encontrar as tarefas agendadas criadas recentemente.
- Para criar um alerta instantâneo após a criação de cada tarefa agendada, você precisa editar o seguinte script em powershell definindo seus parâmetros e salvá-lo como detectst.ps1, por exemplo (siga os comentários):
$Subject = "New Scheduled Task Has Been Created" # Message Subject
$Server = "smtp.server" # SMTP Server
$From = "From@domain.com" # From whom we are sending an e-mail(add anonymous logon permission if needed)
$To = "To@domain.com" # To whom we are sending
$Pwd = ConvertTo-SecureString "enterpassword" -AsPlainText –Force #Sender account password
#(Warning! Use a very restricted account for the sender, because the password stored in the script will be not encrypted)
$Cred = New-Object System.Management.Automation.PSCredential("From@domain.com" , $Pwd) #Sender account credentials
$encoding = [System.Text.Encoding]::UTF8 #Setting encoding to UTF8 for message correct display
#Powershell command for filtering the security log about created scheduled task event
$Body=Get-WinEvent -FilterHashtable @{LogName="Security";ID=4698;} | Select TimeCreated, machinename, @{n="Task Creator";e={([xml]$_.ToXml()).Event.EventData.Data | ? {$_.Name -eq "SubjectUserName"} |%{$_.’#text’}}},@{n="Scheduled Task Name";e={([xml]$_.ToXml()).Event.EventData.Data | ? {$_.Name -eq "TaskName"}| %{$_.’#text’}}} | select-object -first 1
#Sending an e-mail.
Send-MailMessage -From $From -To $To -SmtpServer $Server -Body "$Body" -Subject $Subject -Credential $Cred -Encoding $encoding,/p>
- Execute "Task Scheduler" → Crie uma nova tarefa agendada → Insira o nome dela → Aba de gatilhos → Novo gatilho → Configure as seguintes opções:
- Inicie a tarefa em um evento
- Log – Segurança
- Fonte – Blank
- EventID – 4698.
- Vá para a aba "Ações" → Nova ação com os seguintes parâmetros:
- Ação – Iniciar um programa
- Script do programa: powershell
- Adicione argumentos (opcional): -File "caminho do arquivo para o nosso script"
- Clique em "OK".
- Agora você será notificado sobre cada tarefa agendada criada no seu servidor windows por e-mail, que conterá o horário de criação da tarefa agendada, nome, nome do computador no qual esta tarefa foi criada e o nome do criador.
Netwrix Auditor para Windows Server
- Execute o Netwrix Auditor → Vá para “Relatórios” → “Windows Server” → “Alterações no Windows Server” → Selecione o relatório "Alterações de Tarefas Agendadas" → Clique em "Visualizar".
Para receber o relatório regularmente por e-mail, clique no botão “Inscrever-se” e escolha o cronograma de sua preferência.
Para criar um alerta instantâneo na criação de tarefas agendadas:
- Da página inicial do Netwrix Auditor navegue até “Alertas” → Clique em “Adicionar” → Especifique o nome do alerta.
- Navegue até “Destinatários” → Clique em “Adicionar Destinatário” → Especifique um endereço de email para o alerta.
- Navegue até “Filtros” → Ajuste os seguintes filtros:
- Filtro = “O quê”
Operador = “Contém”
Valor = “Tarefas Agendadas” - Filter = “Action”
Operator = “Equals”
Value = “Added”
- Filtro = “O quê”
- Clique em “Adicionar” para salvar o alerta.
Sempre que alguém criar uma tarefa agendada, você receberá um alerta semelhante:
Compartilhar em