Uma vulnerabilidade no Grub 2 foi encontrada. Versões 1.98 até a 2.02 são afetadas. A vulnerabilidade pode ser explorada em determinadas circunstâncias, permitindo que atacantes, com acesso à máquina, possam burlar qualquer tipo de autenticação (senhas simples ou hash) usada no Grub. E assim, o atacante pode assumir o controle do computador. Grub2 é o bootloader mais utilizado nos sistemas Linux, incluindo alguns sistemas embarcados. Isto resulta num número incalculável de dispositivos afetados.
A vulnerabilidade CVE-2015-8370 – Grub2 Authentication Bypass 0-Day, publicada em 14/12/15 por Hector Marco e Ismael Ripoll professores da Universidade Politécnica de Valência – Espanha, mostra que ela pode ser usada para obter o shell do Grub rescue e, por exemplo, conseguir carregar um kernel personalizado e initramfs (por exemplo, a partir de um USB) e, em seguida, a partir de um ambiente mais confortável, copiar o disco completo ou instalar um rootkit.
Contextaulizando
Quando você adota algum mecanismo de segurança no Grub 2, conclui-se que você “está de livre” de qualquer vulnerabilidade. Contudo, com essa publicação da falha, mesmo com algum mecanismo de segurança você está sujeito à ter sua máquina/servidor comprometido.
Sendo assim, mesmo que o atacante precise ter acesso físico a máquina, é importante que você verifique se a versão do seu Grub está comprometido.
Estou vulnerável?
Primeiramente, para checar a versão do Grub; execute:
Conforme publicação, para verificar rapidamente se o seu sistema está vulnerável, quando o Grub pedir-lhe a senha de segurança, pressione a tecla “Backspace 28 vezes” (Back to 28). Se sua máquina reinicializar ou se você tiver acesso ao shell Grub rescue; seu Grub está comprometido.
Qual impacto?
Um invasor que explorar com êxito essa vulnerabilidade irá obter o shell do Grub rescue. Assim, ele poderá:
- se autenticar sem precisar conhecer nenhum nome de usuário/senha válido; tendo acesso total ao shell.
- carregar um kernel personalizado e initramfs (por exemplo, a partir de um USB) e, em seguida, a partir de um ambiente mais confortável, copiar o disco completo ou instalar um rootkit.
- destruir todos os dados incluindo o próprio grub. Mesmo no caso em que o disco esteja cifrado o atacante pode substituí-lo, causando uma negação no serviço (DoS).
É possível resolver?
Foi publicado um patch, para o GRUB 2.02, que tenta corrigir a falha – [ 0001-Fix-CVE-2015-8370-Grub2-user-pass-vulnerability.patch ].
Para aplicá-lo, execute os comandos abaixo: