0x01 前言
在如今網絡安全管理越來越規範,安全運維安全管理逐漸重視,在各種系統配置中運維人員都設定了各種限制,在滲透測試中能獲得一個未受限制的shell變得非常困難,為了安全管理運維人員通常會給不同用戶設定一些特定的命令限制,來限制非必要命令的執行。
0x02 什麼是Restricted Bash
Restricted Bash(rbash)又叫做Restricted Shell,顧名思義就是受限制的shell。Linux的shell功能強大,以至於整個Linux系統可以精準的使用shell來控制。在Linux不同用戶之間,當你執行的一個系統命令時,它可能是危險的不可逆命令,為不同用戶之間設定不同權限進行安全管理引入了限制Bash Shell,防止一些非必要權限用戶執行有害系統的高危命令。
再比如一台Linux系統服務器中採用多用戶管理,部分用戶沒有sudo權限,但是這些用戶可以查看系統目錄中大部分內容,雖然沒有權限進行編輯但是不希望這些用戶查看這些目錄,這時可以通過rbash在不調整系統上每個文件夾權限的情況下通過限制用戶輸入某些命令來限制用戶隨意查看。
簡單來說rbash與shell的區別就是限制一些行為,讓一些命令無法執行。
0x03 rbash中的限制
rbash中的限制如下列所示
使用cd命令
修改$PATH$SHELL$BASH_ENV或$ENV的值
執行包含/(斜槓)字符的程序,/usr /bin ./等
使用>>|<>>&&>和>>等重定向輸出
使用set + r或set + o關閉限制
退出腳本內受限制的模式
rbash的存在是為了提高系統的安全性,但對於滲透者而言rbash限制嚴重影響了我們在目標機上的信息收集,以及常用的反彈shell。
0x04 為用戶啟用rbash示例1.創建測試用戶
使用具有sudo特權的用戶創建一個新測試用戶
2.為新用戶建立目錄
為test建立bin目錄
3.指定用戶可以運行的命令
為用戶指定可以運行的命令,創建指向新建目錄鏈接。指定用戶可以運行mkdirlsping
4.限制新用戶修改.bash_profile文件
5.修改PATH變量
6.測試
切換到test用戶下執行相關命令受限
0x05 Linux環境信息收集
在我們遇到rbash的時候,想要繞過rbash在繞過前需要做一些信息收集,通過嘗試命令來查看Linux環境可以做哪些事,查看rbash限制了那些行為。通過查看收集rbash限制條件,使用合適的繞過方法進行繞過。
需要檢查的內容如下:
檢查有哪些可用的命令,如cdlscpsu等
檢查操作符>>><|等是否可用
檢查系統是否有編程語言環境Python、ruby、perl等
檢查root身份可以運行的命令sudo -l
檢查具有SUID權限的文件或命令
檢查當前所用的shell,echo $SHELL
檢查環境變量envprintenv等
0x06 rbash繞過方法1.常見繞過方法
/字符被允許
cp命令被允許
find命令被允許
能夠設置PATH或SHELL時
set shell
切換用戶逃逸
在Linux切換用戶時通常用到su或su -,其中他們的區別是,使用su切換用戶不會改變當前的用戶環境,例如從test用戶su到root用戶,當前路徑未發生改變,環境變量仍是test用戶的。使用su -切換用戶時用戶環境會發生改變,例如從test用戶su -到root用戶,路徑改變為/root/,環境變量也發生了改變
2.利用Linux現有軟件
利用ftp
利用gdb
利用git
利用ed
利用vi/vim
利用zip
利用tar
3.使用編程語言
利用Python
利用Perl
利用Ruby
利用lua
利用Perl
利用awk
利用PHP
4.使用系統命令反彈shell
使用python反彈shell繞過
使用PHP反彈設shell繞過
5.利用系統中的二進制文件
利用more
利用less
利用man
6.利用expect繞過
筆者在一次滲透靶機的過程中遇到rbash繞過的問題,於是針對於rbash繞過技巧查找相關資料進行學習,通過借鑑前人經驗,重新對rbash繞過技巧進行了匯總總結,文章中沒有對所有的方法在相關環境下進行一一測試,安全技術是不斷進步的,對於rbash的繞過可能還會有更多的有效方法,希望更多的讀者能對文章的不足進行進行批評指正,如果有更好的技巧希望更多的人分享。
E
N
D
關
於
我
們
Tide安全團隊正式成立於2019年1月,是新潮信息旗下以互聯網攻防技術研究為目標的安全團隊,團隊致力於分享高質量原創文章、開源安全工具、交流安全技術,研究方向覆蓋網絡攻防、系統安全、Web安全、移動終端、安全開發、物聯網/工控安全/AI安全等多個領域。
團隊作為「省級等保關鍵技術實驗室」先後與哈工大、齊魯銀行、聊城大學、交通學院等多個高校名企建立聯合技術實驗室。團隊公眾號自創建以來,共發布原創文章370餘篇,自研平台達到26個,目有15個平台已開源。此外積極參加各類線上、線下CTF比賽並取得了優異的成績。如有對安全行業感興趣的小夥伴可以踴躍加入或關注我們。
