Como o Agendador de Tarefas salva senhas no Windows 7?

3

Se eu salvar uma senha para uma tarefa agendada ou nas credenciais de logon de um serviço, é seguro?

Parece-me que o Windows salva essa senha criptografada de alguma forma, mas como o Windows precisa decodificá-la, qualquer pessoa com acesso offline ao computador pode fazê-lo.

É verdade? Existem ferramentas disponíveis para recuperar essas senhas?

    
por Yonni 18.12.2011 / 12:12

3 respostas

7

Com o Agendador de Tarefas 2.0 (Vista e mais recente), as senhas são salvas com o gerenciador de Credenciais do Windows :

Task Scheduler in Windows Vista supports a new credential manager that forms part of the security isolation model. In this model, each set of tasks that runs in a specific security context starts in a separate session. Passwords are now stored in the Credentials Manager (CredMan) service. You can use encryption interfaces with CredMan to prevent malware from stealing stored passwords.

Tecnicamente, o Credential Manager ( "Credential Locker" nas versões mais recentes do Windows) é armazenando as senhas no disco local :

Users may choose to save passwords in Windows by using an application or through the Credential Manager Control Panel applet. These credentials are stored on the hard disk drive and protected by using the Data Protection Application Programming Interface (DPAPI). Any program running as that user will be able to access credentials in this store.

(ênfase adicionada)

Embora o Credential Manager aprimore os métodos de criptografia e a arquitetura de segurança do serviço Protected Storage (PStore) usado com a versão anterior do Agendador de Tarefas, o que growse gravou ainda é válido: o que for salvo pode ser recuperado, não importa se as ferramentas estão publicamente disponíveis para esta tarefa ainda.

    
por 18.12.2011 / 14:51
2

Meu entendimento é que as senhas são armazenadas em DPAPI . Então, sim, eles são armazenados localmente, mas não são armazenados em texto simples e exigem a chave de criptografia correta para poder recuperá-los / descriptografá-los. De memória distante em trabalhar com essas coisas, a chave de criptografia é derivada das credenciais do usuário logado atual que está armazenando as informações, portanto, em teoria, apenas esse usuário pode extrair os dados e descriptografá-los.

No caso do agendador de tarefas, imagino que os dados sejam armazenados pela conta na qual o agendador de tarefas é executado, para que qualquer pessoa que possa representar essa conta (pode ser SYSTEM por padrão) possa recuperar os dados.

"É seguro" é uma questão totalmente subjetiva. A menos que você criptografe os dados no disco e mantenha a chave bem longe do disco, ela pode, teoricamente, ser recuperada.

    
por 18.12.2011 / 14:23
1

Sim, existem ferramentas para extrair credenciais armazenadas para uma tarefa agendada. Essas ferramentas exigem privilégios elevados, bem como outras ferramentas para extração de credenciais.

Por exemplo:

  • Faça o download do psexec
  • Faça o download do netpass da nirsoft
  • Use o psexec para iniciar o netpass no contexto do SYSTEM

Então! Se psexec estiver no meu PATH, e o netpass.exe estiver em C: \, eu poderia rodar isto:

psexec -i -s -d C:\netpass.exe

Isso abrirá o netpass, onde você verá credenciais para tarefas agendadas com uma conta runas. Eu testei isso com contas de domínio padrão, no Windows Server 2008 R2 e no Windows Server 2012 R2. Pode haver limitações em sistemas operacionais mais recentes ou com determinados tipos de contas.

Felicidades!

    
por 16.08.2016 / 22:26