
Prova de conceito para escalonamento de privilégios local no Avira Security por meio de movimentação arbitrária de arquivos, explorando junction points para carregar uma DLL maliciosa em um serviço privilegiado.
PoC para vulnerabilidade de movimentação arbitrária de arquivos no componente de Atualização de Software do Avira Security. Os usuários têm a opção de usar este recurso para atualizar qualquer software desatualizado em seu PC. Quando este recurso é utilizado, o serviço Avira Security descarrega os arquivos baixados em c:\ProgramData\Avira\Security\Temp. O primeiro arquivo criado em um subdiretório tem o formato <4 números aleatórios>_<nome_do_arquivo> e, em seguida, este arquivo é movido para apenas <nome_do_arquivo> (os números e o sublinhado iniciais são removidos). Este diretório possui DACLs que não permitem que usuários não privilegiados modifiquem/removam arquivos recém-criados, mas permitem que o usuário crie uma junção. Isso pode ser abusado criando um ponto de junção para um diretório controlado pelo usuário que possui DACLs mais permissivas. Dessa forma, quando novos arquivos são criados em subdiretórios, o usuário poderá modificá-los e aproveitar isso para obter uma movimentação arbitrária de arquivos, o que leva a LPE ao escrever uma DLL no diretório system32 que é posteriormente carregada por um serviço privilegiado.
O PoC atual carregará uma DLL no serviço de atualização do Windows; a DLL não implementa nenhum tipo de mutex para verificar se o exploit já foi executado, o que resulta na criação de múltiplos processos cmd.exe, já que a DLL é carregada várias vezes.
https://support.norton.com/sp/static/external/tools/security-advisories.html