![Idea básica](https://rvso.com/image/169408/Idea%20b%C3%A1sica.png)
Supongamos que tengo una máquina virtual y no tengo acceso al hipervisor de ninguna manera. Además, no puedo cambiar ningún parámetro del sistema, como configurar el arranque protegido con contraseña con LUKS ni nada por el estilo. Sin embargo, puedo instalar cualquier herramienta que desee y tener acceso completo a la raíz. El uso de dd para escribir ceros o datos aleatorios en el dispositivo eventualmente fallará y no dejará el sistema vacío. ¿Tiene alguna sugerencia sobre cómo resolver eso? ¿Quizás algún script que pueda ejecutar al inicio cuando reinicio el sistema?
Respuesta1
Idea básica
- Haga un disco ram - o tmpfs
- Instale Busybox, vinculado estáticamente, en el disco RAM.
- Cree nodos de desarrollo para sus discos y /dev/null y similares en el disco RAM.
pivot_root
al disco ram.exec
un caparazón de caja ocupada.kill
cualquier otra cosa que se esté ejecutando en la máquina y que impida el siguiente paso. Es posible que también deba colocar un servidor ssh en el disco RAM o usar algo comobusybox nc -l -l -p1234 -e busybox sh
para brindarle un acceso alternativo.- Desmonta los discos "reales".
- Utilice Busybox
dd
para borrar los discos "reales".
Tenga en cuenta que esa línea de Busybox no le proporciona una "terminal", solo un shell, por lo que muchas cosas son raras. Y si acostumbras telnet
conectarte a él, se vuelve más extraño. Específicamente, obtienes retornos de carro antes de cada avance de línea, por lo que pwd
falla la escritura, pero agregar un espacio después funciona. Recomiendo usar nc
o busybox nc
como cliente.
Problema
En realidad, no puedes matar a init y salirte con la tuya. Es posible que pueda o no desmontar los discos eliminando las cosas que comenzaron desde ese disco.
Creo que hay dos alternativas.
- Cambie los scripts de arranque para configurar el túnel o para borrar el disco por usted. Hay kits de herramientas de limpieza de disco que pueden tener una versión que podría combinarse con los módulos de su kernel para hacer lo siguiente.
- Intente borrar los discos sin desmontarlos. Si haces esto, asegúrate de
poweroff -fn
...