1. 程式人生 > >Linux硬體之破解與防護

Linux硬體之破解與防護

須知1:計算機組成:硬體系統 軟體系統,作業系統是一個巨大的軟體,呼叫硬體資源並與物件互動(Windows 的核心和介面)

須知2:硬碟:磁軌 柱面 扇區(512byte,MBR大小可能與此有關)分割槽等,作業系統按塊讀取磁碟內容,一個塊含多個扇區,以此提高效率

須知3:檔案中 # 表示註釋

  

 

作業系統的啟動方式:

Bios -> MBR -> 載入程式 -> Boot loader -> grub -> init process -> system

PS1:勤用百度,google等搜尋引擎

PS2:關於MBR的內容,很少數書談到,推薦一本《31天製作作業系統》,這本書並不出色

PS3:Bios是主機板上一段固化的小程式,開機首先經過Bios,重點詞:固化

PS4:Bios功能:確定 引導介質,即確定開機啟動系統

PS5:MBR主引導記錄,只有512byte,前446byte 引導資訊,中64byte 分割槽資訊(載入程式位置),後2byte 結束標誌(該去裝載載入程式了)

PS6:載入程式裝載結束,首先執行Boot loader,裝載作業系統核心,此時進入grub(多重作業系統)介面,選擇作業系統,找到啟動盤,進行裝載核心。

PS6:LILO 是和 grub 本質一樣的東西

PS7:Linux init process 包括 0-6 等價,根據 /etc/inittab 檔案查詢不同級別詳情,編輯 /etc/grub.conf 檔案,修改default = 數字(預設啟動級別)

init 0 關機 若設定 init process 為 0,則開機自動關機

init 1 單使用者,只啟動一部分服務,不需要密碼(登入root使用者),越過密碼登入作業系統方法

init 2 無網路的多使用者,等同於關閉網路的init 3

init 4 開發人員使用,作用不詳

init 5 圖形介面(安裝圖形介面的作業系統預設啟動方式,未安裝圖形介面預設為init 3)

init 6 重啟

  

 

破解與防護:

1> 越過密碼登入 root 使用者,更改 /etc/passwd 檔案,去除root密碼,接下來便可為所欲為

執行方式:開機,讀秒介面按 任意鍵,進入boot loader(grub),按 e,進入kernel 核心,按鍵盤向下鍵 游標位於第二個選項,按 e,輸入1(runlevel) 該文字為:quiet 1,回車,按 b。此時作業系統將會以runlevel = 1啟動。

防護方法:開啟 /etc/grub/conf,用 vi 編輯,在該檔案中,列有以下內容:

default = (runlevel)

timeout = (讀秒時間)

splashimage = (開機圖片)

hiddenmenu (隱藏)

title (載入程式)

我們需要設定 grub 密碼,在 title 前插入一行,grub --md5 密碼,此處密碼應當使用加密(注意空格和--),加密方式:另開一個終端,命令列輸入 grub -md5-crypt,輸入密碼後加密,複製到grub.conf中,命令行復制比較複雜(我的centos系統未安裝滑鼠工具,一直找不到複製方法)

設定 grub 密碼後,開機進入 grub 後按 p,輸入密碼方能設定 runlevel





 2> 應對 grub 加密:將系統盤改變為普通硬碟(比如u盤),那麼系統盤中的檔案只是一堆可編輯檔案,對 /etc/passwd 以及 /etc/grub.conf 等檔案編輯即可

執行方式:開機進入Bios(進入Bios方法請自行百度,不同電腦方式不同),設定開機啟動項(需要另一個啟動盤),儲存後重新啟動,此時原系統盤被掛載於 /mnt/sysimage 

例:虛擬機器,F2進入Bios,設定CD-ROM啟動,開機按任意鍵,選擇第三個游標(救援模式),後續操作回車即可,將進入光碟系統,更改引導介質。

防護方法:Bios 中設定密碼



3> 應對 Bios 加密:取下 Bios 電池,Bios 密碼將會重置,無法防護。

  

 

其他:

/etc/redhat-release 此檔案為作業系統資訊

uname -r 核心資訊 -a 核心詳細資訊

電腦不正常關機,作業系統會儲存一個 swap檔案,用於恢復