Linux
僅通過 SSH 訪問自毀 Linux VM
讓我們假設我有一個虛擬機並且無法以任何方式訪問管理程序。此外,我無法更改任何系統參數,例如使用 LUKS 設置密碼保護啟動或其他任何東西。但是,我可以安裝任何我想要的工具並擁有完全的 root 訪問權限。使用 dd 在設備上寫入零或隨機數最終會失敗,並且不會讓系統為空。你對如何解決這個問題有什麼建議嗎?當我重新啟動系統時,也許我可以在啟動時執行一些腳本?
基本理念
- 製作一個 ram 磁碟 - 或 tmpfs
- 在 ram 磁碟上安裝busybox,靜態連結。
- 在 ram 磁碟上為您的磁碟和 /dev/null 等創建開發節點。
pivot_root
到記憶體盤。exec
一個busybox外殼。kill
機器上執行的任何其他阻止下一步的東西。您可能還需要在 ram 磁碟上放置一個 ssh 伺服器,或者使用類似的東西busybox nc -l -l -p1234 -e busybox sh
為您提供備用訪問權限。- 解除安裝“真實”磁碟。
- 使用busybox
dd
擦除“真實”磁碟。請注意,busybox 行並沒有給你一個“終端”,只是一個外殼,所以很多東西都很奇怪。如果你
telnet
用來連接它,它會變得更奇怪。具體來說,您會在每次換行之前獲得輸入,因此鍵入pwd
失敗,但之後添加空格是可行的。我建議使用nc
orbusybox nc
作為您的客戶。問題
你實際上不能殺死 init 並逃脫它。您可能會也可能無法通過殺死從該磁碟啟動的東西來解除安裝磁碟。
我認為有兩種選擇。
- 更改引導腳本以設置隧道,或為您執行磁碟擦除。有一些磁碟擦除工具包可能有一個版本,可以與核心的模組結合起來做以後的事情。
- 嘗試擦除磁碟而不解除安裝它們。如果您這樣做,請確保您
poweroff -fn
.