Reading Time: 3 minutes
SandboxEscaper está de volta com um novo zero-day attack no Windows Task Scheduler.

Uma vez mais o especialista SandboxEscaper faz manchete. Desta vez ele (ou ela) disponibilizou o código de exploração de uma vulnerabilidade de dia zero que afeta o Windows Task Scheduler no Windows 10.

Desde agosto de 2018, o especialista já revelou outras quatro vulnerabilidades zero-day no Windows sem comunicá-las previamente à Microsoft antes de partilhar os seus POCs na Internet.

A nova descoberta foi divulgado uma semana depois de a Microsoft divulgar o seu patch mensal de atualizações: Patch Tuesday Security.

Tal como na vulnerabilidade divulgada em agosto, este novo zero-day também afeta diretamente o Task scheduler do Windows.

O investigador demonstrou que é possível acionar a vulnerabilidade apenas utilizando tarefas legadas malformadas (formato .JOB) e importá-las no utilitário task scheduler.
SandboxEscaper demonstrated that is possible to trigger the Windows zero-day by using malformed legacy tasks (.JOB format) and importing them in the Task Scheduler utility. and they can still be added to newer versions of the operating system.
Todos os ficheiros JOB são importado pelo Task Scheduler com direitos de acesso e controlo DACL arbitrários (discretionary access control list).
Os especialistas dizem que, na ausência da DACL, o sistema concede a qualquer utilizador um acesso total ao ficheiro. Bingo!
Existem duas pastas para tarefas, c:\windows\tasks para operações legadas e c:\windows\system32\tasks usada pelo Task Scheduler.

In the old days (i.e windows xp) tasks would be placed in c:\windows\tasks in the “.job” fileformat.

 

O investigador explica que, para acionar a falha, é necessário importar ficheiros de tarefa legados para o Windows Task Scheduler no Windows 10. É possível copiar fiucheiros .job antigos para c:\windows\tasks executando um comando e utilizando executáveis ‘schtasks.exe ‘e’ schedsvc.dll ‘copiados do sistema antigo.

Isso leva a uma chamada de procedimento remoto (RPC) para “_SchRpcRegisterTask.” Essa função permite registar uma tarefa com o servidor exposto pelo serviço.

“If on windows 10 you want to import a .job file into the task scheduler you have to copy your old .job files into c:\windows\tasks and run the following command using “schtasks.exe and schedsvc.dll” copied from the old system: “schtasks /change /TN “taskname” /RU username /RP password”

(found this here: https://social.technet.microsoft.com/Forums/windowsserver/en-US/467e5cab-2368-42de-ae78-d86b644a0e71/transfer-scheduled-tasks-to-server-2008?forum=winserverMigration)

This will result in a call to the following RPC “_SchRpcRegisterTask”, which is exposed by the task scheduler service. (I assume that to trigger this bug you can just call into this function directly without using that schtasks.exe copied from windows xp.. but I am not great at reversing 🙁 )” wrote the expert.

“It starts out by impersonating the current user. But when it hits the following function:

int __stdcall tsched::SetJobFileSecurityByName(LPCWSTR
StringSecurityDescriptor, const unsigned __int16 *, int, const unsigned __int16
*)

It starts impersonating itself (NT AUTHORITY\SYSTEM)! And then calls SetSecurityInfo on a task it created in c:\windows\system32\tasks.” he added.

 

Resumindo, o especialista descobriu que, mesmo começando com privilégios limitados, é possível obter privilegios de sysadmin invocando uma função específica do SO. SandboxEscaper publicou um vídeo PoC do dia zero do Windows que mostra como explorar a vulnerabilidade no Windows 10 x86.

 

Will Dormann, analista de vulnerabilidades da CERT / CC, confirmou que o dia zero do Windows funciona num sistema Windows 10 x86 totalmente corrigido (maio de 2019).

 

Infelizmente para a Microsoft, os problemas não terminaram aqui. O investigador SandboxEscaper anunciou pelo menos outras quatro vulnerabilidades de dia zero no Windows, Três problemas de escalonamento de privilégios locais (LPE) levando à execução de código e uma fuga de sandbox.

O SandboxEscaoer quer vender os exploits a compradores não ocidentais e solicita os bugs de escalonamento de privilégios locais por pelo menos $60.000 cada.