Redis 資料庫在內網滲透中比較常見,結合近期的利用過程,記錄下:
在內網機器中下載Redis 解壓縮make一下,不用make install
A) 一般情況下知道路徑寫shell
./redis-cli -h IP config set dir /home/wwwroot/default/ config set dbfilename redis.php set webshell " phpinfo(); ?>" save
B) 利用公匙免密碼登入1 本機產生公匙2 利用redis將公匙備份到redis機器上C) 利用linux的任務反彈shell
1 /var/spool/cron linux機器下預設的排程任務,開啟cron的時候,linux會定時去執行裡面的任務,檔案名稱為使用者名稱2 redis 設定dbfilename 到上面可以直接反彈shell回來
大概總結了主要是以上三種方式取得redis伺服器的權限,因為redis一般都是root權限啟動的,所以權限很大。
但滲透過程中總是會出現意向不到的情況,有木有啊。
第一種方式,如果redis資料庫太大,導致php馬超限,直接500不解析,那我們可以透過第三個指令寫個馬到web目錄
*/1 * * * * echo " phpinofo();?>" >/var/www/html/90sec.php;crontab -r
這樣的馬就沒問題了
第二種方式,我測試本機沒問題,但是到了滲透環境就出問題了,應該是ssh免密碼登入.ssh目錄權限問題,成功幾率不太大
第三種方式,最喜歡的一種,簡單粗暴明了,連提權都省了(如果是重要的機器,root用戶一般都會有計劃任務,建議先用低權限的用戶反彈個shell上去探下情況,在root) 但也遇到很奇葩的不給連接外網的機器,那就只能寫個shell到web目錄,或者在內網監聽一個bashshell ,自己去連接就ok了
redis還有一個發現就是,高版本的linux提權不了,我們也可以透過redis直接提權,也就是第三方軟體提權的一種方法吧。