Cómo detectar quién creó una tarea programada en Windows Server
Auditoría Nativa
- Ejecute eventvwr.msc → Registros de Windows → Haga clic derecho en el registro "Seguridad" → Propiedades:
- Asegúrese de que la casilla "Habilitar registro" esté seleccionada
- Aumente el tamaño del registro al menos a 1gb.
- Establezca el método de retención en "Sobrescribir eventos según sea necesario".
- Abra el Visor de eventos y busque en el registro de Seguridad el ID de evento 4698 para encontrar las últimas tareas programadas creadas.
- Para crear una alerta instantánea después de cada creación de tareas programadas, necesita editar el siguiente script de powershell estableciendo sus parámetros y guardarlo como detectst.ps1, por ejemplo (siga los comentarios):
$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>
- Ejecute "Task Scheduler" → Cree una nueva tarea programada → Ingrese su nombre → Pestaña de disparadores → Nuevo disparador → Configure las siguientes opciones:
- Comience la tarea en un evento
- Registro – Seguridad
- Fuente – Blank
- EventID – 4698.
- Vaya a la pestaña "Acciones" → Nueva acción con los siguientes parámetros:
- Acción – Iniciar un programa
- Guión del programa: powershell
- Añadir argumentos (opcional): -File "ruta del archivo a nuestro script"
- Haga clic en "OK".
- Ahora se le notificará sobre cada tarea programada creada en su servidor windows por correo electrónico que contendrá la hora de creación de la tarea programada, el nombre, el nombre del ordenador en el que se creó esta tarea y el nombre del creador.
Netwrix Auditor for Windows Server
- Ejecute Netwrix Auditor → Vaya a “Informes” → “Windows Server” → “Cambios en Windows Server” → Seleccione el informe "Cambios en Tareas Programadas" → Haga clic en "Ver".
Para recibir el informe regularmente por correo electrónico, haga clic en el botón “Suscribirse” y elija el horario que prefiera.
Para crear una alerta instantánea en la creación de tareas programadas:
- Desde la página de inicio de Netwrix Auditor navegue a “Alertas” → Haga clic en “Agregar” → Especifique el nombre de la alerta.
- Navegue hasta “Destinatarios” → Haga clic en “Agregar destinatario” → Especifique una dirección de correo electrónico para la alerta.
- Navegue hasta “Filters” → Ajuste los siguientes filtros:
- Filtro = “Qué”
Operador = “Contiene”
Valor = “Tareas Programadas” - Filter = “Action”
Operator = “Equals”
Value = “Added”
- Filtro = “Qué”
- Haga clic en “Agregar” para guardar la alerta.
Cada vez que alguien cree una tarea programada, recibirá una alerta similar:
Compartir en