Escapar sem privilégio de root?

Escapar sem privilégio de root?

Eu me preocupei que os programas executados em VMs escapassem do Virtualbox para minha máquina host, mas como sei que a maioria das ações de escape precisam obter o privilégio de root, então nunca digitei a senha de root ao executar programas de terceiros, isso é suficiente para me fazer evitar escapar da vulnerabilidade?

Responder1

A resposta curta é que o acesso root dentro da VM não é garantia. Isso torna mais difícil para algumas formas de malware, mas não para todas.

Meu conselho é assumir que tudo o que não é confiável é culpado até que se prove sua inocência. Ou seja, presuma que tudo que não é confiável é definitivamente malicioso e fique feliz quando for provado que você está errado.

Para esse fim, eu revisaria todos os conselhos possíveis sobre como analisar malware conhecido. Existem alguns bons conselhos sobre os riscos. Depois de ler um pouco disso, eu diria que o consenso geral parece ser que hásãoainda riscos. Vetores específicos de ataque são/foram:

  • worms que podem saltar de máquina em máquina pela rede. Provavelmente sua VM está na rede, assim como seu host. Lembre-se de que seu PC geralmente fica atrás de um firewall (mesmo que seja apenas um roteador doméstico) que bloqueia muitos ataques na porta. A execução de uma VM coloca o malware na sua rede dentro do firewall.
  • Existem explorações de tempo de CPU. VerColapsoeespectro. Mesmo sem escapar da VM, existe o risco de que issotipodo bug pode revelar informações secretas do seu host.
  • Ferramentas de VM. Eles são projetados implicitamente para fornecer à sua VM acesso a recursos no host e as explorações podem fornecer mais acesso do que o esperado. Você normalmente nãoprecisarpara instalá-los, mas se você fizer isso, eles poderão ficar vulneráveis.

Da sua pergunta e comentários

mas como eu sei, a maioria das ações de escape precisa obter o privilégio de root

"a maioria" não é uma boa palavra em segurança.

Se você não confia em um aplicativo, não o execute.

Mas então esta é a vida real e nem sempre é uma opção. Mas é uma regra prática razoável. Se você não está tentando analisar malware deliberadamente, verifique primeiro a origem do que você instala. Verifique se ele vem de uma fonte confiável e faça o que puder para verificar quantas pessoas estão usando/falando sobre ele online.


Referências para leitura adicional (leia as respostas completas aqui!)

https://security.stackexchange.com/a/3060/10066

As VMs podem definitivamente fazer a transição. Normalmente você os mantém em rede, portanto, qualquer malware com um componente de rede (ou seja, worms) se propagará para onde quer que seu endereçamento/roteamento permita. Os vírus comuns tendem a operar apenas no modo de usuário; portanto, embora não pudessem se comunicar abertamente, ainda poderiam configurar um canal secreto. Se você estiver compartilhando CPUs, um processo ocupado em uma VM poderá comunicar efetivamente o estado para outra VM (esse é o seu canal secreto de temporização prototípico).

https://security.stackexchange.com/a/3058/10066

Mesmo assim, é muito bom. Provavelmente a maioria dos malwares que você encontra em campo não terá código especial para escapar de uma VM. E executar o malware em uma VM é certamente muito mais seguro do que instalá-lo diretamente na sua máquina de trabalho diária!

https://security.stackexchange.com/a/23503/10066

As poucas vulnerabilidades que vejo atualmente são baseadas mais na parte ‘vmtools’. Este é o software que você instala para fazer com que o sistema operacional convidado seja executado com mais eficiência (para VMWare, é isso que permite a captura instantânea do cursor e o compartilhamento entre convidado e host sem uma rede). Este é um caminho de software especial para infecção; não instale as ferramentas, não tenha a vulnerabilidade.

informação relacionada