Linux提權的4種方式
當你在攻擊受害者的電腦時即使你擁有了一個shell,依然可能會有一些拒絕執行指令的限制。為了獲得目標主機的完整控制權限,你需要在未授權的地方繞過許可權控制。這些許可權可以刪除檔案,瀏覽私人資訊,或者安裝並非受害者希望的軟體例如計算機病毒。Metasploit 擁有各種使用不同技術的exploits在受害者電腦上嘗試獲取系統級許可權。除此之外,這裡還有一些在linux下使用的指令碼。當你嘗試在目標機器上提升許可權時可能會很有用。通常它們的目的是列舉系統資訊而不是給出具體的vulnerabilities/exploits。這種型別的指令碼將會為你節省很多時間。
在Linux下使用payload並且開啟反向連線的multi/handler,一旦你侵入了受害者的電腦馬上使用下列指令碼提升許可權。
LinEnum
可以列舉系統設定並且高度總結的linux本地列舉和許可權提升檢測指令碼
隱私訪問:判斷當前使用者是否能夠用空口令使用sudo命令,root使用者的家目錄能否訪問。
系統資訊:主機名,網路詳情,當前IP等等。
使用者資訊:當前使用者,列出所有包含uid/gid的使用者資訊,列出有root許可權的使用者,檢查密碼hash是否儲存在/etc/passwd。
核心和發行版詳細資訊
1 | Git clone https://github.com/rebootuser/LinEnum.git |
一旦你從上面的連結下載了這個指令碼,你就可以在終端中簡單的通過./LinEnum.sh來執行它。隨後它將儲存所有獲取的資料和系統詳細資訊。
Linuxprivchecker
列舉系統設定和執行一些提升許可權的檢查。它由python實現,用來對被控制的系統提供建議的exploits。在下面的連結下載
http://www.securitysift.com/download/linuxprivchecker.py
下載完後在終端中只需要使用 python linuxprivchecke.py 命令就可以使用,它將會列舉檔案和目錄的許可權和內容。這個指令碼和LinEnum工作方式一樣而且在關於系統網路和使用者方面搜尋的很詳細。
Linux Exploit Suggester
它基於作業系統的核心版本號。這個程式會執行“uname -r”來得到系統核心版本號。然後返回一個包含了可能exploits的列表。另外它還可以使用“-k”引數手工指定核心版本。
它是一個不同於以上工具的Perl指令碼。使用下列命令下載這個指令碼。
1 | git clone https://github.com/PenturaLabs/Linux_Exploit_Suggester.git |
如果你知道核心版本號就可以在終端中直接使用下列命令:
1 | ./Linux_Exploit_Suggester.pl -k 3.5 |
如果不知道就輸入./Linux_Exploit_Suggester.pl uname –r 來獲得核心版本號然後使用上面的命令並把版本號替換成你自己的。然後它就會給出建議的exploits列表。
Unix-Privesc-checker
在UNIX系統上檢測許可權提升向量的shell指令碼。它可以在UNIX和Linux系統上執行。尋找那些錯誤的配置可以用來允許未授權使用者提升對其他使用者或者本地應用的許可權。
它被編寫為單個shell指令碼所以可以很容易上傳和執行。它可以被普通使用者或者root使用者執行。當它發現一個組可寫(group-writable)的檔案或目錄時,它只標記一個問題如果這個組包含了超過一個的非root成員。
使用下列命令下載
1 | Git clone https://github.com/pentestmonkey/unix-privesc-check.git |
把它解壓然後執行
1 | unix-privesc-check standard |
你可以通過我提供的這些圖片來更好的學習我是如何使用這些工具的。也可以使用另一個命令達到相同的目的。
1 | unix-privesc-check detailed |