Nos últimos meses o Windows tem estado a ser atingido por numerosos problemas de segurança associados às impressoras. Estes são abordados rapidamente pela Microsoft, que os tenta resolver de forma definitiva.
No entanto, esse não tem sido o cenário, com os problemas a ressurgirem de forma recorrente. A materialização disso surgiu agora, com uma nova prova de conceito de uma falha. Um servidor de impressão, acessível na Internet, dá aos utilizadores privilégios adicionais.
Os problemas de segurança do sistema de impressão do Windows não têm estado a abrandar. Na verdade, a Microsoft tem tentado de forma recorrente a tentar resolver, sem que tenha um sucesso grande ou sequer o esperado. Ao resolver um, surgem novos, de forma quase natural.
Para mostrar como este problema ainda existe e como é simples de explorar, surgiu uma prova de conceito bem real. Um investigador criou um servidor de impressão remoto, mas acessível via Internet, que mostra isso mesmo a quem lhe acede e usa para testes.
https://twitter.com/gentilkiwi/status/1416429860566847490
O que este servidor faz é algo muito simples, mas que mostra de forma clara como os sistemas estão expostos e vulneráveis. O primeiro passo é mesmo a instalação automática de um driver de impressora, para que o acesso ao servidor de impressão seja garantido.
Daí em diante, o atacante, que neste caso é o utilizador, consegue obter permissões mais elevadas do que as suas de base. A forma de o provar, neste caso específico, é a registado um ficheiro de log na pasta C:\Windows\System32, que não é normalmente acedida e requer permissões de administrador.
Como muitos não acreditaram de imediato na capacidade de obter privilégios de administrador no Windows, esta prova foi alterada para ser mais clara. A mudança levou a que fosse feita uma chamada de sistema e que mostrasse de forma clara a falha e o problema.
Stop-Service -Name Spooler -Force
Set-Service -Name Spooler -StartupType Disabled
Tal como antes, a Microsoft tem de resolver esta falha e fechar o acesso às permissões que não deveriam existir. A forma temporária de resolver está apresentada nos comandos acima e pode ser usada por qualquer utilizador.