Ideia básica

Ideia básica

Vamos supor que eu tenha uma máquina virtual e não tenha acesso de forma alguma ao hipervisor. Além disso, não posso alterar nenhum parâmetro do sistema, como configurar a inicialização protegida por senha com LUKS ou algo assim. No entanto, posso instalar as ferramentas que desejar e ter acesso root total. Usar dd para escrever zeros ou aleatórios no dispositivo eventualmente falhará e não deixará o sistema vazio. Você tem alguma sugestão sobre como resolver isso? Talvez algum script que eu possa executar na inicialização ao reiniciar o sistema?

Responder1

Ideia básica

  1. Faça um disco RAM - ou tmpfs
  2. Instale o busybox, vinculado estático, no disco RAM.
  3. Crie nós de desenvolvimento para seus discos e /dev/null e similares no disco RAM.
  4. pivot_rootpara o disco RAM.
  5. execum shell de busybox.
  6. killqualquer outra coisa em execução na máquina que impeça a próxima etapa. Talvez seja necessário colocar também um servidor ssh no disco RAM ou usar algo parecido busybox nc -l -l -p1234 -e busybox shpara fornecer um acesso alternativo.
  7. Desmonte os discos "reais".
  8. use o busybox ddpara limpar os discos "reais".

Observe que essa linha do busybox não oferece um "terminal", apenas um shell, então muitas coisas são estranhas. E se você usar telnetpara se conectar a ele, fica mais estranho. Especificamente, você obtém retornos de carro antes de cada avanço de linha, portanto a digitação pwdfalha, mas adicionar um espaço depois funciona. Eu recomendo usar ncou busybox nccomo seu cliente.

Problema

Você não pode realmente matar o init e se safar. Você pode ou não conseguir desmontar os discos eliminando coisas que foram iniciadas a partir desse disco.

Acho que existem duas alternativas.

  1. Altere os scripts de inicialização para configurar o túnel ou para limpar o disco para você. Existem kits de ferramentas de limpeza de disco que podem ter uma versão que pode ser combinada com os módulos do seu kernel para fazer isso posteriormente.
  2. Tente limpar os discos sem desmontá-los. Se você fizer isso, certifique-se de poweroff -fn.

informação relacionada