Princípio do ataque de seqüestro de imagem espelhada com base em funções auxiliares

Princípio do ataque de seqüestro de imagem espelhada com base em funções auxiliares

Na Internet, onde o software antivírus está cada vez mais completo, vírus e cavalos de Troia comuns, a maioria dos quais carregados principalmente com itens de inicialização do sistema, são cada vez mais difíceis de romper a barreira de defesa do usuário, mas, ao mesmo tempo, alguns vírus são "Ele não apenas ignorou a detecção de software antivírus, mas também quebrou o sistema enquanto se escondia. Como esses vírus capturaram a psicologia do usuário e invadiram o sistema do usuário passo a passo.

Em seguida, neste artigo, o Metron No. 59 Security Lab analisará o princípio de ataques de seqüestro baseados em espelho com base em funções auxiliares para todos e mostrará os enormes meios de defesa e dano para restaurar esses ataques.

Introdução à acessibilidade 0x01

A chamada função auxiliar é que, no sistema Windows, podemos usar uma variedade de combinações de teclas para ativar ou desativar funções específicas, como o win + ctrl + o comumente usado para abrir o teclado na tela, win + u para abrir o centro de configuração e pressionar 5 turnos para abrir o adesivo. Chaves e assim por diante.
Insira a descrição da imagem aqui
Além disso, para melhorar a experiência do usuário, a Microsoft, muito "íntima", permite que os usuários usem essas funções antes de efetuar login. De acordo com esse recurso, é provável que alguns invasores executem essas funções sem autorização através do Protocolo de Área de Trabalho Remota, embora Essas funções são 'amigáveis' e não prejudiciais, mas sabemos que a razão pela qual essas funções podem ser executadas é na verdade os comandos do sistema executados na linha de comando, por exemplo

C: \ WINDOWS \ System32 \ Utilman.exe abre o centro de configuração
C: \ WINDOWS \ System32 \ sethc.exe abre a tecla autônoma
C: \ WINDOWS \ Syetem32 \ osk.exe abre o teclado na tela

O problema é que, se usarmos a combinação de teclas para executar o comando do sistema sem estar conectado , o programa auxiliar que deveria ter sido aberto é muito seguro, mas é substituído por outro programa malicioso, que eventualmente leva à situação sem o conhecimento do usuário. Obtenha acesso ao sistema e deixe um backdoor oculto .

Como os comandos do sistema para que os usuários ativem funções auxiliares se tornem comandos do sistema para executar seu próprio malware? Essa é outra técnica: seqüestro de imagens .

0x02 Introdução ao seqüestro de espelhos

"Seqüestro de imagem", também conhecido como "seqüestro de imagem", também é conhecido como "IFEO" (Opções de execução de arquivo de imagem). Em um sistema de arquitetura do Windows NT, o IFEO deve causar erros ao executar no ambiente de sistema padrão. O corpo de execução do programa fornece configurações especiais do ambiente. Quando um programa executável está sob o controle do IFEO, sua alocação de memória é definida de acordo com os parâmetros do programa, e o sistema de arquitetura do Windows NT pode usar essa entrada do Registro para usar o item que corresponde ao nome do arquivo executável como o programa. A base de controle no momento do carregamento pode finalmente configurar o mecanismo de gerenciamento de heap de um programa e alguns mecanismos auxiliares. Provavelmente a Microsoft considerou que a adição de controle de caminho resultaria em julgamentos problemáticos e operação inflexível, além de levar facilmente à redundância do registro; portanto, o IFEO usou a maneira de ignorar o caminho para corresponder ao nome do arquivo de programa que queria controlar.

Simplificando, quando eu quero executar A.exe, o resultado é B.exe, o que significa que, nesse caso, o programa A é invadido pelo programa B, e o vírus de seqüestro de imagens é comumente usado modificando algum registro. O valor principal do item atinge o objetivo de permitir que programas maliciosos, como cavalos de Tróia, sejam executados em segundo plano, se o usuário desejar executar programas usados ​​com frequência sem a consciência do usuário.

0x03 Princípio e implementação do seqüestro de imagem

Princípio:
Para obter o seqüestro de imagem, você precisa primeiro encontrar o caminho do seqüestro de imagem no registro "HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ WindowsNT \ CurrentVersion \ Image ExecutionOptions"

No entanto, ao tentar executar uma solicitação de execução de arquivo executável chamada na linha de comando, o sistema WINDOWS NT primeiro verifica se o programa em execução é um arquivo executável e, nesse caso, verifica o formato e verifica se existe. A partir disso, descobrimos que o culpado do sequestro de imagem é o parâmetro "Debugger" , que é o primeiro parâmetro processado no IFEO,Se esse parâmetro não estiver vazio, o sistema processará o nome do arquivo do programa especificado no parâmetro Debugger como a solicitação de execução do programa que o usuário tenta iniciar, e somente envia o programa que o usuário tenta iniciar como o parâmetro do nome do arquivo do programa especificado no parâmetro Debugger. No passado.

O parâmetro "Debugger" foi originalmente projetado para permitir que os programadores entrem diretamente no depurador para depurar seus próprios programas clicando duas vezes no arquivo do programa. Agora, tornou-se um meio de ataque de vírus.

Vamos pensar mais profundamente, o que acontecerá quando a entrada alterada for a entrada em que o software antivírus está localizado. Sem dúvida, o software antivírus não tem como funcionar, não apenas ignorando o software antivírus, mas também executando secretamente seu próprio programa malicioso, o usuário médio simplesmente não espera que as entradas do registro do software antivírus sejam adulteradas, o que aumenta ainda mais a disponibilidade após o ataque Hora. O perigo é evidente.

Recorrência:
código malicioso que modifica o registro:

#include <iostream> 
#include <Windows.h> 
using namespace std;

int test(){
	DWORD dwDisposition;
	HKEY hKey;
	const char path[] = "C:\WINDOWS\System32\calc.exe";
	RegCreateKeyExA(HKEY_LOCAL_MACHINE, "Software\\Microsoft\\Windows NT\\CurrentVersion\\Image File Execution Options\\chrome.exe", 0, NULL, 0, KEY_WRITE, NULL, &hKey, &dwDisposition);
	RegSetValueExA(hKey, "Debugger", 0, REG_SZ, (BYTE*)path, (1 + ::lstrlenA(path)));
	return 0;
}

int main(){
	test();
	return 0;
}

Após a execução do programa malicioso, a chave de registro do chrome.exe adicionada no Debugger=“C:\WINDOWS\System32\calc.exe”
Insira a descrição da imagem aqui
registro é modificada, clique duas vezes para executar o chrome e o programa da calculadora deve ser aberto quando a página da web for aberta, porque o sistema executa preferencialmente "C: \ WINDOWS \ System32 \ calc.exe ". Causou um ataque de seqüestro de espelho.
Insira a descrição da imagem aqui

0x04 Princípio e implementação do seqüestro de imagens com base em funções auxiliares

Os profissionais de segurança não devem subestimar nenhum tipo de vulnerabilidade, porque quando diferentes vulnerabilidades são combinadas, é provável que produza um efeito de 1 + 1> 2. Isso se reflete bem na acessibilidade e no seqüestro de espelhos.

Mencionamos anteriormente que a função auxiliar é executar comandos do sistema e permitir que os usuários executem sem fazer login. Então, quando usamos ataques de seqüestro de imagens, alterar os valores-chave dessas instruções no IFEO do registro pode fazer com que o invasor não precise fazer login O sistema pode executar alguns malwares.

Princípio:
Modifique o registro, adicione o item Utilman.exe em "Opção de execução de arquivo HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ Image", adicione a chave do depurador neste item, o valor da chave é o comando C: \ WINDOWS para iniciar o cmd \ System32 \ cmd.exe.
Quando o invasor se conecta ao computador da vítima por meio do protocolo de área de trabalho remota, ele só precisa usar a combinação de teclas win + u. O centro de configuração que deveria ter sido aberto, mas finalmente aberto a linha de comando cmd, através da linha de comando, você pode adicionar usuários, abrir o registro, A execução de malware, a adição de backdoors ocultos e outros métodos de ataque são evidentes.

Reproduza:
adicione a entrada Utilman.exe no registro, adicione o par de valores-chave Debugger = "C: \ WINDOWS \ System32 \ cmd.exe"
Insira a descrição da imagem aqui
, execute win + u na página de login e abra-a sem fazer login Caixa de comando Cmd
Insira a descrição da imagem aqui

0x05 métodos de defesa e remoção

  1. Como o código malicioso desse tipo de ataque precisa modificar as Opções de execução de arquivo de imagem, ele deve primeiro ter permissão de leitura e gravação, para evitar o seqüestro de imagem, restringindo as permissões de leitura e gravação do usuário no registro. Abra o editor de registro, navegue até HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ WindowsNT \ CurrentVersion \ ImageFileExecutionOptions \, selecione este item, clique com o botão direito do mouse em → permissões → avançado, cancele as permissões de gravação do administrador e dos usuários do sistema.

  2. Como o seqüestro de imagem precisa adicionar entradas de funções auxiliares no registro, verifique o nome do programa no caminho do registro "Opção de execução de arquivo de imagem HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ Image". Algumas entradas da tabela de funções auxiliares usadas com freqüência são as seguintes : Utilman.exe, stch.exe, osk.exe, etc.

  3. Com base no conceito de confiança zero, você pode optar por excluir entradas desnecessárias que possam ter riscos à segurança e desativar diretamente as funções auxiliares. Abra o editor de registro, navegue até HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ WindowsNT \ CurrentVersion \ e exclua o item "ImageFileExecutionOptions".

Publicado 21 artigos originais · ganhou 14 · visitado 4075

Acho que você gosta

Origin blog.csdn.net/m0_38103658/article/details/101196368
Recomendado
Clasificación