Links para todas as partes:Parte 1. Obtendo Acesso Inicial (Acesso Inicial)Parte 2. ExecuçãoParte 3. Fixação (Persistência)Parte 4. Escalonamento de PrivilégiosParte 5. Evasão de DefesaParte 6. Obtendo credenciais (acesso a credenciais)Parte 7. DescobertaParte 8. Movimento LateralA principal tarefa de proteger o acesso é garantir uma presença constante no sistema atacado, porque o acesso pode ser perdido devido a uma reinicialização do sistema atacado, perda de credenciais ou bloqueio de ferramentas de acesso remoto devido à detecção de um ataque.
O autor não é responsável pelas possíveis consequências da aplicação das informações contidas no artigo e também se desculpa por possíveis imprecisões feitas em algumas formulações e termos. As informações publicadas são uma recontagem gratuita do conteúdo do MITRE ATT & CK .Os métodos para garantir a constância no sistema podem ser divididos em 3 categorias:
- Criação não autorizada de contas ou roubo de credenciais existentes;
- Instalação oculta e lançamento de ferramentas de acesso remoto;
- Fazer alterações na configuração do sistema atacado com a ajuda da qual é possível executar vários códigos maliciosos. O código malicioso pode ser iniciado automaticamente sempre que o sistema inicializa ou todo usuário efetua logon no sistema, inicia serviços modificados ou mal-intencionados, inicia determinados programas pelo usuário ou inicia o processo de atualização do software do sistema ou de terceiros.
Além disso, são apresentadas as técnicas de bloqueio de acesso oferecidas pela ATT & CK.
Sistema: Linux, macOS
Direitos: Usuário, Administrador
Descrição: os invasores podem incorporar código nos arquivos ~ / .bash_profile e ~ / .bashrc (
criados para criar um ambiente de usuário no sistema operacional ), que serão executados quando o usuário efetuar login ou iniciar um novo shell. O arquivo ~ / .bash_profile é executado quando o usuário efetua login, ~ / .bashrc é executado quando os shells são abertos interativamente. Quando um usuário faz login (local ou remotamente, por exemplo, via SSH) com um nome de usuário e senha, ~ / .bash_profile é executado antes do retorno do convite do usuário. Depois disso, toda vez que um novo shell é aberto, ~ / .bashrc é executado.
No macOS, o Terminal.app é um pouco diferente, pois inicia o shell de login padrão cada vez que a janela do terminal é aberta, invocando ~ / .bash_profile a cada vez.
Recomendações de proteção: Concedendo direitos para modificar os arquivos ~ / .bash_profile e ~ / .bashrc apenas para administradores autorizados.
Sistema: Windows
Direitos: Administrador
Descrição: os aplicativos de acessibilidade (ampliador de tela, teclado na tela etc.) podem ser iniciados usando combinações de teclas antes que um usuário faça logon no sistema. Um invasor pode substituir os arquivos de inicialização desses programas ou alterar a maneira como eles são iniciados e abrir um console de comando ou obter um backdoor sem efetuar login.
- C: \ Windows \ System32 \ sethc.exe - iniciado pressionando 5 vezes a tecla Shift;
- C: \ Windows \ System32 \ utilman.exe - iniciado pressionando a combinação de Win + U.
No WinXP e versões posteriores, sethc.exe e utilman.exe podem ser substituídos, por exemplo, por cmd.exe e, quando você pressiona a combinação de teclas desejada, o cmd.exe é iniciado antes de entrar no Windows com privilégios de sistema.
No Vista e versões posteriores, você precisa alterar a chave do registro que configura o cmd.exe ou outro programa como depurador, por exemplo, para o ultiman.exe. Após editar o registro e pressionar a combinação de teclas desejada na tela de login ou ao conectar-se ao host via RDP, o cmd.exe com direitos do sistema será executado.
Existem também programas do Windows que podem ser usados para implementar esta técnica de ataque:
- C: \ Windows \ System32 \ osk.exe;
- C: \ Windows \ System32 \ Magnify.exe;
- C: \ Windows \ System32 \ Narrator.exe;
- C: \ Windows \ System32 \ DisplaySwitch.exe;
- C: \ Windows \ System32 \ AtBroker.exe.
Recomendações de segurança: configure o início da autenticação de rede obrigatória para usuários remotos antes de criar uma sessão RDP e exibir a tela de login (
ativada por padrão no Windows Vista e posterior ). Use o Gateway de Área de Trabalho Remota para gerenciar conexões e configurar a segurança RDP.
Sistema: Windows
Direitos: Administrador, Sistema
Descrição: as DLLs especificadas no valor da chave AppCertDLLs são carregadas em cada processo que chama as funções de API usadas com freqüência:
CreateProcess, CreateProcessAsUser, CreateProcessWithLoginW, CreateProcessWithTokenW, WinExec . O valor da chave AppCertDLLs pode ser abusado, fazendo com que uma DLL mal-intencionada carregue e execute determinados processos. AppCertDLLs é armazenado na seguinte chave do Registro:
Gerenciador de HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Control \ Session .
Recomendações de proteção: use todos os meios possíveis para bloquear software potencialmente perigoso e fazer o download de DLLs desconhecidas, como AppLocker e DeviceGuard.
Sistema: Windows
Direitos: Administrador, Sistema
Descrição: as DLLs especificadas no valor da chave AppInit_DLLs são carregadas em cada processo que o user32.dll carrega. Na prática, isso é quase todo programa.
AppInit_DLLs é armazenado nas seguintes chaves do Registro:
- HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Windows NT \ CurrentVersion \ Windows;
- HKEY_LOCAL_MACHINE \ Software \ Wow6432Node \ Microsoft \ Windows NT \ CurrentVersion \ Windows.
O valor da chave AppInit_DLLs pode ser abusado para exceder os privilégios carregando DLLs maliciosas e iniciando determinados processos. A funcionalidade AppInit_DLLs está desativada no Windows 8 e posterior quando a Inicialização segura está ativada.
Recomendações de proteção: considere usar uma versão do sistema operacional não anterior ao Windows 8 e habilitar a inicialização segura. Use todos os meios para bloquear software potencialmente perigoso e baixar DLLs desconhecidas, como AppLocker e DeviceGuard.
Sistema: Windows
Direitos: Administrador
Descrição: a infraestrutura / estrutura de compatibilidade de aplicativos do Microsoft Windows foi criada para garantir a compatibilidade de programas com atualizações do Windows e alterações no código do SO. O sistema de compatibilidade usa as chamadas shim ("gaxetas") - bibliotecas que atuam como um buffer entre o programa e o sistema operacional. Usando o cache de calço, o sistema determina a necessidade de juntas de calço (armazenadas como um banco de dados .sdb). Vários arquivos .sdb armazenam vários procedimentos para interceptar o código do aplicativo, processá-lo e redirecioná-lo ao sistema operacional. A lista de todas as juntas de vedação instaladas pelo instalador (sdbinst.exe) é armazenada por padrão em:
- % WINDIR% \ AppPatch \ sysmain.sdb ;
- HKLM \ Software \ Microsoft \ Windows \ CurrentVersion \ AppCompatFlags \ InstalledSDB .
Os bancos de dados de shim personalizados são armazenados em:
- % WINDIR% \ AppPatch [64] \ Personalizado;
- HKLM \ Software \ Microsoft \ Windows NT \ CurrentVersion \ AppCompatFlags \ Custom .
Para garantir a proteção no modo de usuário, a capacidade de alterar o kernel do sistema operacional usando juntas de vedação é excluída e são necessários direitos de administrador para instalá-los. No entanto, alguns shim pads podem ser usados para ignorar o Controle de Conta de Usuário (UAC), injeção de DLL, desativar a
Prevenção de Execução de Dados e o
Manuseio de Exceção de Estrutura , bem como interceptar endereços de memória. Um invasor que usa gaxetas de calço pode aumentar os privilégios, instalar backdoors, desativar a proteção do SO, como o Windows Defender.
Recomendações de proteção: Não há muitas maneiras de impedir o desgaste do aplicativo. Desabilitar a compatibilidade de aplicativos não é recomendado para evitar problemas com a estabilidade do sistema operacional. A Microsoft lançou o
KB3045645 , que removerá o sinalizador "elevar automaticamente" no arquivo sdbinst.exe para impedir o uso do sistema de calço para contornar o UAC.
Sistema: Windows
Direitos: Administrador
Descrição: as DLLs do Windows Authentification Pack são carregadas pelo processo LSA (Autoridade de Segurança Local) na inicialização do sistema e fornecem suporte para vários processos de login e vários protocolos de segurança do SO. Os invasores podem usar o mecanismo de execução automática do LSA colocando um link para um arquivo binário na seguinte chave do Registro:
Pacotes HKLM \ SYSTEM \ CurrentControlSet \ Control \ Lsa \ Authentication: [binário de destino] .
O [Target binary] será iniciado pelo sistema quando os
pacotes de autenticação forem baixados.
Recomendações de proteção: No Windows 8.1, Windows Server 2012 R2 e LSAs posteriores, você pode fazê-lo funcionar como um processo protegido (PPL) usando a chave do Registro:
HKLM \ SYSTEM \ CurrentControlSet \ Control \ Lsa \ RunAsPPL = DWORD: 00000001 ,
que exige que todas as DLLs carregadas pelos LSAs sejam assinadas com um certificado digital da Microsoft.
Sistema: Windows
Direitos: Usuário, Administrador, Sistema
Descrição: O Serviço de Transferência Inteligente em Segundo Plano do Windows (BITS) é um mecanismo para transferir arquivos de forma assíncrona por meio do COM (Component Object Model) usando baixa largura de banda. O BITS é geralmente usado por atualizadores, mensageiros instantâneos e outros aplicativos que preferem trabalhar em segundo plano sem interromper a operação de outros aplicativos de rede. As tarefas de transferência de arquivos são representadas como tarefas do BITS que contêm uma fila de uma ou mais operações de arquivo. A interface para criar e gerenciar tarefas do BITS está disponível nas ferramentas PowerShell e BITSAdmin. Os invasores podem usar o BITS para baixar, iniciar e limpar depois de executar código malicioso. As tarefas do BITS são armazenadas de forma autônoma no banco de dados do BITS, enquanto o sistema não cria novos arquivos ou entradas de registro, geralmente o BITS é permitido pelo firewall. Usando tarefas do BITS, você pode ganhar uma posição no sistema criando tarefas longas (por padrão, 90 dias) ou chamando um programa arbitrário após a conclusão de uma tarefa ou erro do BITS (inclusive após a reinicialização do sistema operacional).
Recomendações de proteção: O BITS é uma funcionalidade padrão do sistema operacional, cuja utilização é difícil de distinguir da atividade maliciosa; portanto, o vetor de proteção deve ser direcionado para impedir o lançamento de ferramentas maliciosas no início da cadeia de ataques. Desabilitar o BITS completamente pode interromper as atualizações legítimas de software; no entanto, você pode restringir o acesso à interface do BITS a usuários e grupos de acesso específicos e também pode limitar o tempo de vida das tarefas do BITS, definidas alterando as seguintes chaves:
- HKEY_LOCAL_MACHINE \ Software \ Policies \ Microsoft \ Windows \ BITS \ JobInactivityTimeout;
- HKEY_LOCAL_MACHINE \ Software \ Políticas \ Microsoft \ Windows \ BITS \ MaxDownloadTime .
Sistema: Linux, Windows
Direitos: administrador, sistema
Descrição: O Bootkit é um tipo de malware que pode alterar os setores de inicialização de um disco rígido, incluindo MBR (Master Boot Record) e VBR (Volume Boot Record). Os invasores podem usar o Bootkit para encaixar nos sistemas abaixo do sistema operacional. MBR - a seção da ferrovia, carregada imediatamente após a conclusão da inicialização do BIOS do hardware. Um invasor com acesso para reescrever o MBR pode substituir o código do carregador de inicialização por um malicioso. VBR é a partição do disco rígido que recebe o controle do processo de inicialização do MBR. Por analogia com a opção de reescrever o MBR, um invasor pode executar código malicioso no estágio de inicialização do sistema.
Recomendações de proteção: Usando as ferramentas de controle de integridade MBR e VBR. Usando o Trusted Platform Module (TPM) e inicialização segura.
Sistema: Windows, Linux, macOS
Direitos: Usuário
Descrição: como regra, os plug-ins têm todo o acesso e direitos que um navegador pode obter. Plugins maliciosos podem ser instalados baixando aplicativos maliciosos disfarçados de programas legítimos usando técnicas de engenharia social, phishing ou um invasor que já comprometeu o sistema. Plugins maliciosos podem abrir sites em segundo plano, roubar informações que um usuário digita em um navegador, incluindo credenciais, para serem usadas como instaladores de ferramentas de administração remota (RAT) e correções no sistema.
Recomendações de proteção: instale plug-ins somente de fontes confiáveis. Controle os plug-ins instalados usando a Diretiva de Grupo. Impedir a instalação de plugins por usuários comuns. Inventário e monitoramento de plugins instalados.
Sistema: Windows
Direitos: Usuário, administrador, sistema
Descrição: os invasores podem modificar associações de arquivos para executar comandos arbitrários. A escolha de associações de arquivos com aplicativos é armazenada no registro do Windows e pode ser editada por usuários, administradores e programas que têm acesso ao registro. Os aplicativos podem modificar associações para chamar programas arbitrários. Os parâmetros das associações do sistema são armazenados no registro:
HKEY_CLASSES_ROOT \. [Extension] , por exemplo,
HKEY_CLASSES_ROOT \ .txt . Os vários comandos estão listados como subseções:
HKEY_CLASSES_ROOT \ [manipulador] \ shell \ [ação] \ [comando] , por exemplo:
- HKEY_CLASSES_ROOT \ txtfile \ shell \ open \ [comando];
- HKEY_CLASSES_ROOT \ txtfile \ shell \ print \ [comando];
- HKEY_CLASSES_ROOT \ txtfile \ shell \ printto \ [comando];
onde
[comando] é o comando que será executado ao abrir o arquivo com a extensão especificada.
Práticas
recomendadas de
segurança: Siga
as recomendações da Microsoft para associações de arquivos. Use todos os meios possíveis para bloquear software potencialmente perigoso, como AppLocker e DeviceGuard.
Sistema: Windows
Direitos: Sistema
Descrição: alguns cibercriminosos podem usar ferramentas sofisticadas para comprometer os componentes do computador e instalar um firmware mal-intencionado que executará código mal-intencionado fora do sistema operacional ou mesmo do firmware do sistema principal (Bios). A técnica consiste em piscar componentes do computador que não possuem um sistema interno de verificação de integridade, por exemplo, discos rígidos. Um dispositivo com firmware malicioso pode fornecer acesso constante ao sistema atacado, apesar das falhas e da substituição do disco rígido. A técnica foi projetada para superar a proteção do software e o controle de integridade.
Sistema: Windows
Direitos: Usuário
Descrição: O Microsoft Component Object Model (COM) é uma tecnologia para a criação de software com base nos componentes de interação de um objeto, cada um dos quais pode ser usado em muitos programas simultaneamente. Os invasores podem usar o COM para injetar código malicioso que pode ser executado em vez do legítimo, capturando links e links COM. Para interceptar um objeto COM, você precisa substituir o link para um componente legítimo do sistema no registro do Windows. Uma chamada adicional para este componente executará código malicioso.
Recomendações de proteção: Medidas preventivas para evitar esse ataque não são recomendadas, pois os objetos COM fazem parte do sistema operacional e estão instalados no software do sistema. O bloqueio de alterações nos objetos COM pode afetar a estabilidade do sistema operacional e do software. O vetor de proteção é recomendado para bloquear software malicioso e potencialmente perigoso.
Sistema: Windows, Linux, macOS
Direitos: Administrador
Descrição: invasores com acesso suficiente podem criar contas locais ou de domínio para consolidação adicional no sistema. Os comandos do usuário da rede também podem ser usados para criar contas.
Recomendações de segurança: O uso da autenticação multifator. Defina configurações de segurança em servidores importantes, configure controles de acesso, firewalls. Proibir o uso de uma conta de administrador de domínio para executar operações diárias durante as quais um invasor pode obter informações da conta. Os invasores que criaram contas no sistema podem obter apenas acesso limitado à rede se os níveis de acesso estiverem bloqueados corretamente. As contas podem ser necessárias apenas para garantir o acesso a um sistema separado.
Sistema: Windows
Direitos: Usuário, Administrador, Sistema
Descrição: a técnica consiste em explorar vulnerabilidades no algoritmo para localizar pelos aplicativos os arquivos DLL que eles precisam para funcionar (
MSA2269637 ). Freqüentemente, o diretório de pesquisa DLL é o diretório de trabalho do programa, portanto, os invasores podem substituir a DLL de origem por uma DLL maliciosa com o mesmo nome de arquivo.
Ataques remotos em pesquisas de DLL podem ser executados quando o programa instala seu diretório atual em um diretório remoto, por exemplo, um compartilhamento de rede. Além disso, os invasores podem alterar diretamente o método de pesquisa e carregamento de DLLs, substituindo os arquivos .manifest ou .local, que descrevem os parâmetros de pesquisa da DLL. Se o programa atacado funcionar com um alto nível de privilégios, a DLL maliciosa carregada por ele também será executada com altos direitos. Nesse caso, a técnica pode ser usada para aumentar os privilégios do usuário para o administrador ou sistema.
Recomendações de proteção: Impeça o carregamento remoto da DLL (ativado por padrão no Windows Server 2012+ e disponível com atualizações para XP + e Server 2003+). Ativa o modo de pesquisa segura para DLLs, que restringe os diretórios de pesquisa a diretórios como
% SYSTEMROOT% antes de executar uma pesquisa DLL no diretório atual do aplicativo.
Habilitando o modo de pesquisa de DLL segura:
Configuração do computador> [Diretivas]> Modelos administrativos> MSS (herdado): MSS: (SafeDllSearchMode) Ative o modo de pesquisa de DLL segura.Chave de registro correspondente:
HKLM \ SYSTEM \ CurrentControlSet \ Control \ Session Manager \ SafeDLLSearchMode.Considere auditar um sistema protegido para corrigir deficiências de DLL usando ferramentas como o PowerUP no PowerSploit. Não se esqueça de bloquear software malicioso e potencialmente perigoso, além de seguir
as recomendações da Microsoft .
Sistema: macOS
Direitos: Usuário
Descrição: a técnica é baseada em
vulnerabilidades nos algoritmos de pesquisa da biblioteca dinâmica dylib no macOS e OS X.A linha inferior é determinar o dylib que o aplicativo atacado carrega e, em seguida, coloque a versão mal-intencionada do dylib com o mesmo nome no diretório de trabalho do aplicativo. Isso fará com que o aplicativo carregue o dylib, localizado no diretório de trabalho do programa. Nesse caso, o Dylib malicioso será executado com os direitos de acesso do aplicativo atacado. Dicas de segurança: Impeça que os usuários gravem arquivos nos diretórios de pesquisa do dylib. Audite as vulnerabilidades usando o Dylib Hijacking Scanner da Objective-See.Sistema: WindowsRights: Descrição do usuário : Os invasores podem usar os serviços remotos externos da organização, como VPN, Citrix e WinRM, para se protegerem dentro da rede atacada. O acesso aos serviços pode ser realizado usando contas válidas obtidas usando técnicas para redirecionar usuários a sites falsos (pharming) ou na fase de comprometimento da rede.Recomendações de proteção:Restringindo o acesso a serviços remotos usando switches gerenciados centralmente, usando uma VPN. Proibição de acesso remoto direto à rede interna através do uso de proxies, gateways e firewalls. Desabilitar serviços que podem ser usados remotamente, como o WinRM. O uso da autenticação de dois fatores. Monitorando a atividade do uso de serviços remotos fora do horário comercial.Sistema: WindowsDireitos: Usuário, AdministradorDescrição: a essência da técnica é substituir os arquivos executáveis iniciados automaticamente por vários processos (por exemplo, quando o SO é inicializado ou em um determinado momento, se os direitos dos arquivos executáveis estiverem configurados incorretamente). Após a falsificação, o arquivo malicioso será iniciado com os direitos do processo; portanto, se o processo tiver um nível de acesso mais alto, o invasor poderá escalar os privilégios. Nessa técnica, os invasores podem tentar manipular os arquivos binários do serviço Windows.Outra variante do ataque está associada às deficiências dos algoritmos no trabalho dos instaladores de extração automática. Durante o processo de instalação, os instaladores geralmente descompactam vários arquivos úteis, incluindo .dll e .exe, no diretório% TEMP%; no entanto, eles podem não definir as permissões apropriadas para restringir o acesso aos arquivos descompactados, o que permite que os invasores executem a falsificação de arquivos e, como resultado, aumente os privilégios ou ignore o controle da conta, alguns instaladores são executados com privilégios estendidos.Recomendações de proteção:Restrição de direitos de conta para que apenas administradores possam gerenciar os serviços e interagir com os arquivos binários usados pelos serviços. Desative as opções de escalação de privilégios do UAC para usuários padrão. As configurações do UAC são armazenadas na seguinte chave do Registro:- [HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Policies \ System] .
Para rejeitar automaticamente solicitações de escalação de privilégios, você deve adicionar uma chave:- "ConsentPromptBehaviorUser" = dword: 00000000.
Para controlar o trabalho dos instaladores, você deve adicionar uma chave:- "EnableInstallerDetection" = dword: 00000001 , que exigirá uma senha para instalar os programas.
Sistema: Windows, Linux, macOSDireitos: Descrição do usuário:Os invasores podem usar a capacidade de ocultar arquivos e pastas para não atrair a atenção dos usuários. No Windows, os usuários podem ocultar arquivos usando o comando attrib. Basta especificar o atributo + h <nome do arquivo> para ocultar o arquivo ou "+ s" para marcar o arquivo como sistema. Adicionando o parâmetro "/ S", o utilitário attrib aplicará as alterações recursivamente. No Linux / Mac, os usuários podem ocultar arquivos e pastas simplesmente especificando um "." No início do nome do arquivo. Depois disso, arquivos e pastas serão ocultados do aplicativo Finder e, como o utilitário "ls". No macOS, os arquivos podem ser sinalizados com UF_HIDDEN, o que desativará sua visibilidade no Finder.app, mas não impedirá que arquivos ocultos sejam vistos no Terminal.app. Muitos aplicativos criam arquivos e pastas ocultos para não sobrecarregar a área de trabalho do usuário. Por exemploOs utilitários SSH criam uma pasta .ssh oculta que armazena uma lista de hosts e chaves de usuário conhecidos.Recomendações de proteção: É difícil impedir a possibilidade de usar essa técnica, pois ocultar arquivos é um recurso padrão do sistema operacional.Sistema: WindowsRights: Administrator, SystemDescrição: As funções da API do Windows geralmente são armazenadas em DLLs. A técnica de conectar é redirecionar chamadas para funções da API:- Procedimentos de gancho - procedimentos integrados ao sistema operacional que executam código quando vários eventos são chamados, por exemplo, pressionamentos de tecla ou movimentação do mouse;
- Modificações na tabela de endereços (IAT), que armazena ponteiros para funções da API. Isso permitirá que você “engane” o aplicativo atacado, forçando-o a iniciar uma função maliciosa;
- Alteração direta da função (emenda), durante a qual os primeiros 5 bytes da função são alterados, em vez da inserção da transição para uma função maliciosa ou outra determinada pelo invasor.
Como as injeções, os atacantes podem usar o gancho para executar códigos maliciosos, mascarar sua execução, acessar a memória do processo atacado e aumentar os privilégios. Os invasores podem capturar chamadas de API que incluem parâmetros que contêm dados de autenticação. A conexão é geralmente usada pelos rootkits para ocultar atividades maliciosas no sistema.Recomendações de proteção:A interceptação de eventos no sistema operacional faz parte da operação normal do sistema, portanto, qualquer restrição dessa funcionalidade pode afetar adversamente a estabilidade de aplicativos legítimos, como software antivírus. Os esforços para impedir o uso de técnicas de interceptação precisam se concentrar nos estágios iniciais da cadeia de ataque. Você pode detectar atividades maliciosas de conexão monitorando chamadas para as funções SetWindowsHookEx e SetWinEventHook, usando detectores de rootkit e analisando o comportamento anômalo dos processos.Sistema: WindowsDireitos: Administrador,Descrição do Sistema : O hipervisor pode ser comprometido por um invasor e ter rootkits ocultos nos sistemas convidados.Recomendações de segurança: impeça o acesso malicioso a contas privilegiadas necessárias para instalar e configurar um hypervisor.Sistema: WindowsDireitos: Administrador,Descrição do sistema : O mecanismo IFEO (Image File Execution Options) permite executar um depurador de programa em vez de um programa especificado anteriormente pelo desenvolvedor no registro:- Opções de execução de arquivo HKLM \ Software \ Microsoft \ Windows NT \ CurrentVersion \ Image / [executável]
- HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\[executable] ,, [executable] — .
Como injeções, o valor [executável] pode ser abusado ao executar código arbitrário para aumentar privilégios ou obter uma posição no sistema. Programas maliciosos podem usar o IFEO para ignorar a proteção registrando depuradores que redirecionam e rejeitam vários aplicativos de sistema e segurança.Recomendações de proteção: A técnica descrita é baseada no abuso de ferramentas regulares de desenvolvimento de SO, portanto, qualquer restrição pode causar instabilidade de software legítimo, por exemplo, aplicativos de segurança. Os esforços para impedir o uso de técnicas de injeção de IFEO precisam ser focados nos estágios iniciais da cadeia de ataque. Você pode detectar esse ataque monitorando processos com o processo Debug_ eDebug_only_this_process .Sistema: Linux, macOSDireitos: RaizDescrição: Os módulos do kernel para download (LKM) são programas especiais que podem ser carregados e descarregados a partir do kernel sem a necessidade de uma reinicialização completa do sistema. Por exemplo, o LKM inclui drivers de dispositivo. Os invasores podem carregar LKMs maliciosos usando vários rootkits. Normalmente, esses rootkits se quebram, arquivos, processos, atividade de rede, logs de auditoria falsos, fornecem backdoors. Como o LKM no macOS, existem os KEXTs carregados e descarregados com os comandos kextload e kextunload.Recomendações de proteção:Use as ferramentas de detecção de rootkit do Linux: rkhunter, chrootkit. Limite o acesso à conta raiz, necessária para carregar módulos no kernel. Use o controle de acesso forçado do SELinux.Sistema: macOSDireitos: Descrição do usuário : Os arquivos Mach-O contêm vários cabeçalhos usados para executar determinadas operações ao baixar um arquivo binário. O cabeçalho LC_LOAD_DYLIB nos binários Mach-O informa ao SO quais bibliotecas dylib devem ser carregadas. As alterações nos cabeçalhos invalidarão a assinatura digital; no entanto, um invasor pode excluir o comando LC_CODE_SIGNATURE do arquivo binário e o sistema não verificará se a assinatura está correta ao fazer o download.Recomendações de proteção: Todos os binários devem ser assinados com os IDs de desenvolvedor Apple corretos, e as listas de permissões de aplicativos são compiladas de acordo com os hashes conhecidos.Sistema: WindowsDireitos: Administrador, sistemaDescrição: Local Security Authority (LSA) - um subsistema Windows que fornece autenticação de usuário. O LSA inclui várias DLLs interconectadas dinâmicas que são executadas no processo LSASS.exe. Os invasores podem atacar o LSASS.exe substituindo ou adicionando drivers LSA ilegítimos e executando código arbitrário. A técnica é implementada no malware Pasam e Wingbird, que "lança" as DLLs modificadas usadas para carregar o LSASS. Nesse caso, o código malicioso é executado antes que a DLL ilegítima cause uma falha e a falha subsequente do serviço LSASS.Recomendações de proteção: No Windows 8.1 e Server 2012 R2, ative a proteção LSA ativando a chave especificada:- HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Lsa \ RunAsPPL = dword: 00000001.
Essa proteção garante que os plug-ins e drivers carregados por LSA sejam assinados digitalmente pela Microsoft. No Windows 10 e no Servidor 16, habilite o Windows Defender Credential Guard para executar lsass.exe em um ambiente virtual isolado. Para reduzir o risco de bibliotecas maliciosas serem carregadas no lsass.exe, ative o modo de pesquisa de DLL segura:- HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Control \ Session Manager \ SafeDllSearchMode.
Sistema: macOSDireitos: Usuário, administradorDescrição: a técnica consiste em abusar da funcionalidade de criação e inicialização por usuários Launch Agents - serviços de execução automática no nível do usuário. Quando cada usuário efetua logon no sistema, o launchd carrega os parâmetros dos Agentes de Inicialização dos arquivos * .plist. Os arquivos Plist têm uma estrutura XML e contêm instruções que informam ao launchd quais executáveis e quando iniciar. Os arquivos Plist podem ser encontrados nos seguintes diretórios:- / Sistema / Biblioteca / LaunchAgents;
- / Biblioteca / LauncAgents;
- $ Página inicial / Biblioteca / LaunchAgents.
Os invasores também podem mascarar os nomes de agentes de inicialização mal-intencionados usando os nomes de programas legítimos. Por exemplo, o Trojan Komplex cria um agente de inicialização: $ HOME / Library / LaunchAgents / com.apple.updates.plist.Recomendações de proteção: Usando a Diretiva de Grupo, configure a restrição para usuários que criam Agentes de Inicialização. A criação de agentes de inicialização envolve o carregamento ou a criação de arquivos plist no disco, portanto concentre seus esforços de defesa nos estágios anteriores do ataque.Sistema: macOSDireitos: AdministradorDescrição: A técnica consiste em alterar os parâmetros dos serviços no nível de inicialização do sistema - Inicie o Daemon, especificado nos arquivos plist, pelo invasor. Quando o sistema é inicializado, o processo Launchd carrega os parâmetros de serviços (daemons) dos arquivos plist localizados nos seguintes diretórios:- / Sistema / Biblioteca / LaunchDeamons;
- / Library / LaunchDeamons.
O Launch Daemon pode ser criado com privilégios de administrador, mas executado na conta raiz, para que um invasor possa escalar privilégios. As permissões dos arquivos plist devem ser raiz: enquanto, no entanto, o script ou programa especificado nele pode ter permissões menos estritas. Portanto, um invasor pode modificar os arquivos executáveis especificados em plist e, assim, modificar os serviços atuais do sistema para proteger o sistema ou aumentar os privilégios. Dicas desegurança: limite os privilégios do usuário para que apenas administradores autorizados possam criar o Launch Daemon. Considere monitorar como os arquivos plist são criados no seu sistema usando aplicativos como o KnockKnock.Sistema: macOSDireitos: Usuário, AdministradorDescrição: Launchctl - um utilitário para gerenciar o serviço Launchd. Usando o Launchctl, você pode gerenciar os serviços do sistema e do usuário (LaunchDeamons e LaunchAgents), bem como executar comandos e programas. O Launchctl suporta subcomandos da linha de comando, interativos ou redirecionados da entrada padrão:launchctl submit -l [labelname] - / Path / to / thing / to / execute '' arg "'' arg" '' arg ".Iniciando e reiniciando os serviços e daemons, os atacantes podem executar código e até ignorar a lista de permissões se o launchctl for um processo autorizado; no entanto, carregar, descarregar e recarregar serviços e daemons podem exigir privilégios elevados.Recomendações de proteção:Limitando os direitos do usuário para criar Agentes de Inicialização e iniciar Deamons de Inicialização usando a Diretiva de Grupo. Usando o aplicativo KnockKnock, você pode descobrir programas que usam o launchctl para gerenciar os Agentes de Inicialização e os Deamons de Inicialização.Sistema: Linux, macOSDireitos: Usuário, administrador, raizDescrição: Os invasores podem criar tarefas nos sistemas atacados para que programas não autorizados sejam iniciados quando o sistema inicializar ou agendar. Os sistemas Linux e Apple suportam vários métodos para agendar o lançamento de tarefas periódicas em segundo plano: cron, at, launchd. Diferentemente do Agendador de tarefas do Windows, o agendamento de tarefas nos sistemas Linux não pode ser feito remotamente, exceto pelo uso de sessões remotas como SSH.Recomendações de proteção: Limitando os direitos do usuário para criar tarefas agendadas, bloqueando os utilitários do sistema e outro software que pode ser usado para agendar tarefas.Sistema: macOSDireitos: Descrição do usuário : Os invasores para se protegerem no sistema podem configurar seu código para iniciar automaticamente usando itens de login (configurações do usuário para inicialização do aplicativo a cada login). Os itens de logon criados usando o Service Management Framework não são exibidos nas configurações do sistema e só podem ser excluídos pelo aplicativo em que foram criados. Os usuários podem gerenciar apenas os itens de logon que são exibidos nas configurações do sistema. As configurações para esses itens de logon são armazenadas no arquivo plist no diretório do usuário:~ / Library / Preferences / com.apple.loginitems.plist.Os aplicativos que fazem parte do item de logon podem exibir janelas visíveis ao usuário na inicialização, mas você pode ocultá-los com a opção "Ocultar".Recomendações de proteção: limite os direitos do usuário para criar um item de logon. Vale notar que manter a tecla Shift pressionada durante o login impede que os aplicativos sejam iniciados automaticamente. Controle as configurações do item de login (Configurações do sistema → Usuários e grupos → Elementos de login ).Sistema: Windows, macOSDescrição: para consolidar no sistema, um invasor pode usar a capacidade de criar novos ou modificar scripts de logon existentes - scripts executados sempre que um usuário ou grupo de usuários específico fizer logon no sistema. Se um invasor obtiver acesso a um script de logon em um controlador de domínio do Windows, ele poderá modificá-lo para executar o código em todos os sistemas no domínio, a fim de "desviar" a rede. Dependendo das configurações dos direitos de acesso aos arquivos de script de logon (geralmente esses scripts são armazenados em \\ [DC] \ NETLOGON \ ), o invasor pode precisar de credenciais locais ou administrativas.No Mac, scripts de logon ( gancho de logon / logout), ao contrário do item de logon, iniciado no contexto do usuário, pode ser executado como raiz.Recomendações de segurança: Restringindo privilégios de administrador para criar scripts de logon. Identificação e bloqueio de software potencialmente perigoso que pode ser usado para modificar os cenários de login.Sistema: WindowsDireitos: Administrador,Descrição do Sistema : Para iniciar repetidamente código malicioso em um sistema, um invasor pode modificar a configuração de serviços existentes usando utilitários ou ferramentas do sistema para interagir com a API do Windows. Os invasores podem danificar ou matar intencionalmente um serviço para invocação subsequente de um programa modificado ou comando de restauração de serviço. O uso de serviços existentes é uma das técnicas de disfarce que dificulta a detecção de atividades maliciosas. As informações sobre a configuração dos serviços do Windows, incluindo o caminho para os programas e comandos para iniciar e restaurar o serviço, são armazenadas no registro:- HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ services .
Você pode alterar a configuração dos serviços usando os utilitários de console sc.exe e Reg.Recomendações de proteção: Limitar os privilégios de usuários e grupos para alterar as configurações de serviço, concedendo direitos apenas a administradores autorizados. Bloqueando software potencialmente perigoso. Para estudar as alterações nos serviços do sistema, a fim de identificar tentativas de proteger um invasor no sistema, você pode usar o utilitário Sysinternals Autoruns.Sistema: Windows
Direitos: Administrador, Sistema
Descrição: os invasores podem executar código usando o utilitário do console Netsh interno, que permite o carregamento de DLLs de extensão para expandir a funcionalidade:
netsh> adicionar auxiliar [caminho da DLL]As informações sobre as bibliotecas registradas usadas pelo netsh são armazenadas no registro:
HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ NetShAlguns clientes VPN corporativos e utilitários de rede podem usar o netsh.exe, iniciando-o em nome do Sistema. Nessa situação, o invasor pode registrar ou modificar a DLL auxiliar que será executada quando o cliente VPN usar o netsh. As ferramentas para implementar esse tipo de ataque estão incluídas no
CobaltStrike (estrutura de teste de penetração).
Dicas de segurança: bloqueie software potencialmente perigoso usando ferramentas como o AppLocker.
Sistema: Windows
Direitos: Administrador, Sistema
Descrição: nomeie o acesso ao sistema, os atacantes podem criar novos serviços e configurá-los para iniciar automaticamente. O nome do serviço pode ser mascarado usando nomes específicos para o sistema operacional. Os serviços podem ser criados com privilégios de administrador, mas executados em nome do sistema. Os serviços podem ser criados a partir da linha de comando, usando ferramentas de acesso remoto com interoperabilidade com a API do Windows ou usando ferramentas de gerenciamento padrão do Windows e PowerShell.
Recomendações de segurança: limite os direitos do usuário para criar novos serviços, para que apenas administradores autorizados possam fazer isso. Aplique a AppLocker e a
Diretiva de restrição de software .
Sistema: Windows
Direitos: Usuário, Administrador
Descrição: alguns mecanismos de trabalho do MS Office podem ser usados para executar código ao executar aplicativos do Office e, como resultado, fornecer aos invasores sua constância no sistema:
• Incorporar macros VBA mal-intencionadas nos modelos básicos do Office. O Word usa o modelo Normal.dotm:
C: \ Usuários \ [Nome de usuário] \ AppData \ Roaming \ Microsoft \ Templates \ Normal.dotm .
Não há modelo padrão no Excel, no entanto, você pode adicioná-lo manualmente e ele será carregado automaticamente:
C: \ Usuários \ [Nome de usuário] \ AppData \ Roaming \ Microsoft \ Excel \ XLSTART \ Personal.xls .
A implementação do ataque só é possível se a opção "
Executar todas as macros " estiver ativada na Central de Confiabilidade do Office:
HKEY_CURRENT_USER \ Software \ Microsoft \ Office \ [Versão] \ [Aplicativo] \ Security \ VBAWarnings: 1;• Colocar um link DLL na seção de teste do Office do registro do Windows faz com que a DLL especificada seja executada sempre que o aplicativo do Office for iniciado:
HKEY_CURRENT_USER \ Software \ Microsoft \ Office Teste \ Especial \ Perf \ [Padrão]: [Especifique o caminho para a DLL];• Adicionando complementos ao aplicativo do Office com código malicioso que será executado quando o aplicativo atacado for iniciado.
Práticas recomendadas de segurança : Siga
as práticas recomendadas da Microsoft ao definir configurações de segurança de macro . Para impedir a operação do mecanismo de teste do Office, crie a seção especificada no registro e defina permissões somente leitura para impedir o acesso a ele sem direitos de administrador. Se possível, desative os suplementos do Office, se necessário, e siga as
recomendações da Microsoft ao organizar o trabalho.
Sistema: Windows
Direitos: Usuário, administrador, sistema
Descrição: a técnica de interceptar um caminho é colocar o arquivo executável em um diretório a partir do qual o aplicativo o iniciará, em vez do arquivo de destino. Um invasor pode usar os seguintes métodos:
- Caminhos inexistentes. Os caminhos para os arquivos executáveis do serviço são armazenados nas chaves do Registro e podem ter um ou mais espaços, por exemplo, C: \ Arquivos de Programas \ service.exe , se o invasor criar o arquivo C: \ Program.exe no sistema, o Windows o iniciará em vez de processar o caminho arquivo de destino de serviço.
- Configuração incorreta de variáveis de ambiente. Se na variável PATH o caminho C: \ example preceder c: \ Windows \ System32 e o arquivo C: \ example \ net.exe existir , quando o comando net for chamado, C: \ example \ net.exe será executado e não c: \ Windows \ System32 \ net.exe .
- Interceptação da ordem de pesquisa (seqüestro da ordem de pesquisa). Quando o caminho completo para o arquivo executável não é especificado, o Windows, em regra, procura o arquivo com o nome especificado no diretório atual e, em seguida, procura nos diretórios do sistema. Por exemplo, o arquivo "example.exe", quando executado, inicia o cmd.exe com argumentos para executar o comando net use. O invasor pode colocar o arquivo net.exe no diretório de localização example.exe e será iniciado em vez do utilitário c: \ Windows \ System32 \ net.exe . Além disso, se o invasor colocar o arquivo net.com no diretório com o arquivo net.exe, o Windows executará o net.com de acordo com a ordem de execução definida na variável de sistema PATHEXT.
A interceptação de ordem de pesquisa de arquivo também é usada para executar DLLs usando a técnica DLL de seqüestro de pesquisa .Recomendações de segurança: As aspas indicam os caminhos especificados nos arquivos de configuração, scripts, a variável PATH, configurações de serviço e atalhos. Lembre-se da ordem de pesquisa dos arquivos executáveis e use apenas caminhos completos. Limpe as chaves de registro antigas que sobraram do software remoto, para que nenhuma chave seja deixada no registro e aponte para arquivos inexistentes. Estabeleça a proibição de gravar pelos usuários do sistema nos diretórios raiz C: \ e Windows, limite as permissões de gravação nos diretórios com arquivos executáveis.
Sistema: macOS
Direitos: Usuário, Administrador
Descrição: os invasores podem modificar arquivos plist especificando neles seu próprio código para sua execução no contexto de outro usuário. Os arquivos de propriedades plist localizados em
/ Library / Preferences são executados com privilégios elevados, e os plist de
~ / Library / Preferences são executados com privilégios de usuário.
Dicas de segurança
: impeça que os arquivos plist sejam modificados, tornando-os somente leitura.
Sistema: Linux, macOS
Direitos: Usuário
Descrição: os invasores podem usar os métodos de Port Knocking para ocultar portas abertas que eles usam para se conectar ao sistema.
Dicas de
segurança: O uso de firewalls com estado pode impedir que algumas opções de Port Knocking sejam implementadas.
Sistema: Windows
Direitos: Administrador, Sistema
Descrição: um invasor pode organizar a execução de uma DLL arbitrária em nome do Sistema sempre que o Windows inicializar usando o abuso das configurações do Gerenciador de Impressão (Spoolsv.exe). Para interagir com os dispositivos de impressão, o Spoolsv.exe usa os chamados monitores de portas - são bibliotecas DLL que usam comandos de baixo nível para serem enviados aos dispositivos de impressão via LAN, USB, LPT ou interface COM. As DLLs acima são armazenadas em
C: \ windows \ system32 e registradas no registro:
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Print \ Monitors .
O Port Monitor pode ser instalado usando a API AddMonitor ou diretamente, editando a chave do Registro acima.
Recomendações de proteção: organize o bloqueio de software potencialmente perigoso e use as ferramentas de controle de inicialização de aplicativos.
Sistema: macOS
Direitos: raiz
Descrição: um invasor pode adicionar código ao arquivo
/etc/rc.common que será executado sempre que o sistema inicializar como root. Rc.common é um script que é executado durante a inicialização do OC e é o precursor dos Agentes de Lançamento e Launh Deamons. Essa é uma tecnologia desatualizada para programas de inicialização automática, mas ainda é suportada no macOS e no OS X.
Recomendações de segurança: restrinja os privilégios do usuário para editar o arquivo rc.common.
Sistema: macOS
Direitos: Usuário
Descrição: em sistemas que começam com
OS X 10.7 (Lion) , um invasor pode organizar a execução de um arquivo malicioso toda vez que o sistema operacional é reiniciado. A técnica é baseada no abuso da função de reiniciar aplicativos após a reinicialização do sistema. Usando as ferramentas incorporadas à GUI, o usuário pode informar ao sistema quais aplicativos precisam ser reiniciados em caso de reinicialização do sistema operacional. Essas configurações são armazenadas em arquivos plist:
- ~ / Library / Preferences / com.apple.loginwindow.plist;
- ~ / Library / Preferences / ByHost / com.apple.loginwindows. *. Plist.
Um invasor pode modificar os arquivos acima para executar códigos maliciosos toda vez que o sistema é reiniciado.
Recomendações de proteção: A função de reinicialização do aplicativo pode ser desativada usando o comando do console:
padrões write -g ApplePersistence -bool no .
Além disso, manter pressionada a tecla Shift durante a inicialização impede que os aplicativos sejam iniciados automaticamente.
Sistema: Windows, Linux, macOS
Direitos: Usuário, Administrador, Sistema
Descrição: os invasores podem usar simultaneamente várias ferramentas de acesso remoto com diferentes protocolos de controle para diversificar os riscos de detecção. Portanto, se uma das ferramentas de acesso remoto for detectada e bloqueada, mas a parte defensora não tiver identificado todas as ferramentas do invasor, o acesso remoto à rede atacada ainda será preservado. Os invasores também podem tentar acessar contas válidas de serviços corporativos remotos, como VPNs, para obter acesso alternativo ao sistema no caso de bloquear as ferramentas básicas de acesso remoto. O uso de um shell da web também é uma das maneiras de acessar remotamente uma rede através de um servidor da web.
Recomendações de proteção: monitore a presença e o bloqueio da inicialização de ferramentas conhecidas de acesso remoto em sua rede (AmmyAdmin, Radmin, RemotePC, VNC etc.), use ferramentas para controlar o lançamento de aplicativos e bloquear software potencialmente perigoso. A introdução de sistemas IDS e IPS que detectam malware específico usando assinaturas reduzirá a probabilidade de um ataque bem-sucedido, mas, com o tempo, os invasores modificarão suas ferramentas para alterar a assinatura e, como resultado, ignorar os sistemas IDS e IPS.
Sistema: Windows
Direitos: Usuário, Administrador
Descrição: um invasor pode adicionar "chaves de execução" ou um link à pasta Inicialização no registro do Windows para iniciar um arquivo malicioso quando um usuário faz logon no sistema. O programa será executado com os direitos do usuário atual. Os invasores podem mascarar as chaves de inicialização no registro para que pareçam parte de programas legítimos.
As chaves de execução são armazenadas nas seguintes chaves do Registro:
- HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Run;
- HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ RunOnce;
- HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Run;
- HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ RunOnce.
Recomendações de proteção: identificação e bloqueio de software potencialmente perigoso, monitorando alterações na pasta Inicialização e nos ramos do registro listados acima.
Sistema: Windows
Direitos: Administrador, Sistema
Descrição: os invasores podem modificar os componentes da arquitetura para assinar e verificar a assinatura digital do código do Windows para ignorar os meios de controlar o lançamento de programas que permitem que apenas o código assinado seja executado. Para criar, assinar e verificar a assinatura de arquivos de vários formatos no Windows,
são utilizados o chamado
SIP (Subject Interface Package) - especificações de software exclusivas para cada tipo de arquivo, que permitem a interação entre as funções da API que iniciam a criação, cálculo e verificação de assinaturas e diretamente arquivos A validade da assinatura é confirmada pelo chamado
Trust Provider - estes são componentes de software do sistema operacional que executam vários procedimentos relacionados ao cálculo e verificação de assinaturas digitais.
Métodos de ataque populares:
- Modificação das chaves DLL e FuncName na seção CryptSIPDllGetSignedDataMsg :
HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Cryptography \ OID \ EncodingType 0 \ CryptSIPDllGetSignedDataMsg \ [SIP_GUID] .
É executada para substituir a biblioteca DLL que fornece a função CryptSIPDllGetSignedDataMSG , que retorna o certificado digital codificado do arquivo assinado. Uma função falsa sempre pode retornar um valor de assinatura válido conhecido anteriormente (por exemplo, uma assinatura da Microsoft para arquivos de sistema executáveis) ao usar um SIP modificado. O invasor pode tentar aplicar uma assinatura válida para todos os arquivos; no entanto, provavelmente, isso resultará na invalidação da assinatura, pois o hash retornado pela função não corresponderá ao hash calculado no arquivo. - Modificação das chaves DLL e FuncName na seção:
HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Cryptography \ OID \ EncodingType 0 \ CryptSIPDllVerifyIndirectData / [SIP_GUID] .
É executada para substituir a biblioteca DLL que fornece a função CryptSIPDllVerifyIndirectData , que verifica o hash calculado no arquivo com o hash especificado na assinatura digital e retorna o resultado da verificação (Verdadeiro / Falso). Assim, um invasor pode garantir a verificação bem-sucedida de qualquer arquivo usando o SIP modificado. Os valores-chave acima podem redirecionar para uma função adequada de uma biblioteca existente, eliminando assim a necessidade de criar um novo arquivo DLL no disco. - Modificação das chaves DLL e FuncName na seção:
HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Cryptography \ Providers \ Trust \ FinalPolicy / [Trust Provider GUID] .
O objetivo disso é substituir a biblioteca DLL que fornece a função FinalPolicy para um Trust Provider específico, que decodifica, analisa a assinatura e toma uma decisão sobre confiança. Semelhante ao CryptSIPDllVerifyIndirectData, o valor das chaves acima pode redirecionar para uma DLL existente.
É importante observar que o ataque descrito ao mecanismo de confiança do Windows pode ser implementado usando a técnica de seqüestro de ordem de pesquisa DLL.Recomendações de proteção: verifique se os usuários do sistema protegido não podem modificar as chaves do Registro relacionadas aos componentes SIP e Trust Provider. Considere remover SIPs desnecessários e obsoletos. Use todos os tipos de meios para bloquear o download de DLLs maliciosas, por exemplo, aquelas incorporadas ao Windows AppLocker e DeviceGuard.
Sistema: Windows
Direitos: Usuário, Administrador, Sistema
Descrição: utilitários como at, schtasks e Windows Task Scheduler podem ser usados para agendar programas e scripts para execução em uma data e hora específicas. Uma tarefa pode ser agendada em um sistema remoto, desde que o RPC seja usado para autenticação e o compartilhamento de impressoras e arquivos esteja ativado. O agendamento de tarefas em um sistema remoto requer privilégios de administrador. Um invasor pode usar a execução remota de código para obter privilégios do sistema ou iniciar um processo em uma conta específica.
Recomendações de proteção: limite de privilégios do usuário. O uso de ferramentas, como o módulo PowerUP no PowerSploit, que podem ser usadas para encontrar pontos fracos na resolução de tarefas agendadas. Desabilitando a capacidade de iniciar tarefas em nome do Sistema, desabilitando a opção "
Permitir que os operadores de servidor agendem tarefas " na política de segurança e habilitando a configuração "
Atribuição de Direitos do Usuário: Aumente a Prioridade de Agendamento ".
Sistema: Windows
Direitos: Usuário
Descrição: os invasores podem usar as configurações de proteção de tela para iniciar malware após um determinado período de inatividade do usuário.
O aplicativo Windows Screensaver (scrnsave.exe) está localizado em
C: \ Windows \ System32 , junto com outros protetores de tela incluídos no conjunto do SO base. Um invasor pode manipular os parâmetros da tela inicial na
chave do Registro
HKEY_CURRENT_USER \ Control Panel \ Desktop :
- SCRNSAVE.EXE - especifique o caminho para o arquivo executável malicioso;
- ScreenSaveActivr - defina o valor como "1" para ativar a proteção de tela;
- ScreenSaverISSecure - defina o valor como "0" para que o sistema não exija uma senha para desbloquear a área de trabalho do Windows após desligar o protetor de tela;
- ScreenSaverTimeout - defina o período de inatividade antes de iniciar o protetor de tela.
Recomendações de proteção: Bloqueie a capacidade de executar arquivos * .scr em locais não padrão. Gerencie as configurações do protetor de tela usando a Diretiva de Grupo, que proíbe alterações locais nas configurações do protetor de tela.
Sistema: Windows
Direitos: Administrador
Descrição: os invasores podem configurar o código malicioso a ser executado sempre que o sistema é inicializado ou a função da API AddSecurityPackage é chamada adicionando um falso SSP à configuração da Autoridade de Segurança Local (LSA). SSP - módulos de programa (DLL) que contêm um ou mais esquemas de autenticação e criptografia carregados no processo LSASS na inicialização do sistema. As DLLs do SPP têm acesso a senhas criptografadas e de texto sem formatação armazenadas no Windows. A configuração do SPP é armazenada em duas chaves do Registro:
- Pacotes HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Lsa \ Security ;
- Pacotes HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Lsa \ OSConfig \ Security .
Recomendações de proteção: No Windows 8.1, Windows Server R2 e versões posteriores do sistema operacional, você deve ativar o modo protegido LSA (Process Protect Light - PPL), no qual todos os arquivos DLL do SPP devem ser assinados digitalmente pela Microsoft:
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Lsa \ RunAsPPL = dword: 00000001Sistema: Windows
Direitos: Administrador, Sistema
Descrição: se as permissões de usuários e grupos permitirem alterar os valores das chaves no registro do Windows em que os parâmetros do serviço estão armazenados, os atacantes poderão modificar diretamente as chaves que armazenam os caminhos nos arquivos executáveis para iniciar os serviços ou usar várias ferramentas de gerenciamento de serviços - sc.exe, PowerShell ou Reg. Os invasores também podem alterar os parâmetros relacionados à falha no serviço, por exemplo, FailureCommand, indicando um comando que será executado no caso de uma falha no serviço ou dano intencional. Os parâmetros de serviço são armazenados nos serviços
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ .
Recomendações de proteção: verifique se os usuários do sistema protegido não podem alterar as chaves no registro que armazenam os parâmetros dos componentes do sistema. Use todos os meios possíveis para bloquear software potencialmente perigoso, por exemplo, Windows AppLocker.Sistema: WindowsDireitos: Usuário, AdministradorDescrição: Os invasores podem criar novos atalhos e links simbólicos disfarçados de programas legítimos ou modificar os caminhos nos atalhos existentes para que suas ferramentas sejam executadas em vez do aplicativo original.Recomendações de segurança: limite os direitos de usuários e grupos, como Administradores, para criar links simbólicos usando o GPO:Configuração do computador> [Diretivas]> Configurações do Windows> Configurações de segurança> Diretivas locais> Atribuição de direitos do usuário: Crie links simbólicos.Use ferramentas para bloquear software potencialmente perigoso e a Política de Restrição de Software.Sistema: macOSRights: AdministratorDescrição: Um invasor pode usar o mecanismo de inicialização automática obsoleto, mas ainda trabalhando no macOS Sierra, para aplicativos usando StartupItems para configurar o lançamento de seu código com privilégios de root no momento da inicialização. StartupItems é um diretório em / Library / Startupitems , um script de comando e o arquivo de propriedades StartupParameters.plist. O script e o arquivo de propriedades devem estar no topo da hierarquia: / Library / Startupitems / [MyStartupItem] .Recomendações de proteção: Como o mecanismo StartupItems é obsoleto, a proibição de gravar no diretório / Library / Startupitems / permitirá que você evite criar itens de inicialização.Sistema: WindowsDireitos: Administrador,Descrição do sistema : Os atacantes especialmente sofisticados podem modificar ou atualizar a BIOS, UIFI ou UFI, a fim de fornecer a capacidade de instalar atualizações maliciosas de firmware e corrigi-las no sistema.Recomendações de proteção: direcione o vetor de proteção para impedir que o invasor acesse contas privilegiadas necessárias para implementar a técnica descrita. Considere a necessidade e aplicabilidade do Trusted Platform Module (TPM) no sistema protegido . Considere a necessidade de usar ferramentas externas para monitorar e analisar a segurança do firmware do sistema, por exemplo, o CHIPSEC Framework .Sistema: WindowsRights: Administrator, SystemDescrição: Os invasores podem registrar como um provedor de horário (Time Provider) uma DLL maliciosa que será executada quando o sistema iniciar ou alterar a configuração do Windows Time Server (W32Time). Os parâmetros dos provedores de horário são armazenados no registro:HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ services \ W32Time \ TimeProviders .Para registrar um provedor de horário, você precisará de direitos de administrador, mas ele será executado no contexto da conta de serviço local.Recomendações de proteção:Considere usar um GPO para definir alterações de bloqueio nas configurações do W32Time. Use todos os tipos de meios para bloquear o download de DLLs maliciosas, por exemplo, aquelas incorporadas ao Windows AppLocker e DeviceGuard.Sistema: Linux, macOSDireitos: Usuário, administradorDescrição: O comando trap é usado para proteger o script contra interrupções ( ctrl + c, ctrl + d, ctrl + z , etc.). Se o script receber um sinal de interrupção especificado nos argumentos do comando trap, ele processará o sinal de interrupção sozinho, enquanto o shell não processará esse sinal. Os atacantes podem usar trap para registrar o código que será executado quando o shell receber certos sinais de interrupção.Recomendações de proteção:É difícil impedir o uso dessa técnica, porque o invasor usa os mecanismos padrão do sistema operacional. O vetor de proteção deve ter como objetivo impedir ações maliciosas nos estágios anteriores do ataque, por exemplo, no estágio de entrega ou criação de um arquivo malicioso no sistema.Descrição: os invasores podem roubar as credenciais de uma conta de usuário ou serviço específica usando credenciais de acesso, capturar credenciais no processo de inteligência usando engenharia social. As credenciais comprometidas podem ser usadas para ignorar os sistemas de controle de acesso e obter acesso a sistemas remotos e serviços externos, como VPN, OWA, Área de Trabalho Remota, ou para obter privilégios elevados em sistemas e áreas específicos da rede. Se o cenário for bem-sucedido, os invasores podem recusar malware para dificultar a detecção. Além disso, os invasores podem criar contas usando nomes e senhas predefinidos para manter o acesso ao backup em caso de tentativas frustradas de usar outros meios.Recomendações de proteção: aplique uma política de senha, siga as recomendações para projetar e administrar uma rede corporativa para limitar o uso de contas privilegiadas em todos os níveis administrativos. Verificações regulares de contas locais e de domínio e seus direitos, a fim de identificar aquelas que podem permitir que um invasor obtenha amplo acesso. Monitorando a atividade da conta usando sistemas SIEM.Sistema: Windows, Linux, macOSDescrição: O Shell da Web pode ser usado por um invasor como um gateway para acessar sua rede ou acesso redundante ao sistema atacado, como um mecanismo de backup para proteção em caso de detecção e bloqueio dos principais canais de acesso ao ambiente atacado.Recomendações de proteção:Verifique se os servidores Web externos são atualizados regularmente e se não há vulnerabilidades conhecidas que permitam que os atacantes carreguem um arquivo ou script no servidor com a execução subsequente. Verifique se as permissões de contas e grupos com direitos de gerenciamento de servidor não correspondem às contas de rede internas que podem ser usadas para efetuar login no servidor da Web, iniciar o shell da Web ou fixar no servidor da Web. O Web Shell é difícil de detectar porque eles não iniciam conexões e seu servidor pode ser pequeno e inofensivo, por exemplo, a versão PHP do shell China Chopper Web se parece com uma linha:[? php eval ($ _POST ['password']);]Sistema: WindowsRights: Administrator, SystemDescrição: WMI Event Subscription é uma funcionalidade que permite ao administrador configurar o recebimento de notificações de eventos, incluindo aquelas que ocorreram em sistemas remotos, seguidas pela execução automática de qualquer ação (executando um script, aplicativo etc.) Os invasores, para obter uma posição no sistema, podem abusar da funcionalidade descrita acima, configurando uma assinatura para eventos como o relógio do sistema ou o tempo de operação do computador, seguido pela execução do código quando esse evento ocorrer.Recomendações de proteção:Verifique se apenas as contas de administrador têm direitos para se conectar remotamente à WMI e se no sistema protegido não há coincidência entre as contas de administrador do sistema e outras contas privilegiadas. Desabilitar o WMI pode causar instabilidade no sistema, portanto, requer uma avaliação preliminar das possíveis consequências negativas.Sistema: WindowsRights: Administrator, SystemDescrição: Ao modificar as configurações do Registro para DLLs auxiliares usadas pelo Winlogon.exe, um invasor pode executar DLLs maliciosas repetidamente para correção no sistema. Os parâmetros do Winlogon são armazenados nas seções:- • HKEY_CURRENT_USER \ Software \ Microsoft \ Windows NT \ CurrentVersion \ Winlogon
- • HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ o Winlogon
Várias subseções vulneráveis são conhecidas:- Winlogon \ Notify - especifica DLLs que manipulam eventos do Windows
- Winlogon \ Userinit - aponta para o arquivo userinit.exe, o programa de inicialização do usuário que é executado quando o usuário faz logon no sistema;
- Winlogon \ Shell - aponta para o arquivo explorer.exe, o shell do sistema que é executado quando um usuário faz logon no sistema.
Recomendações de proteção: verifique se apenas administradores autorizados podem alterar as configurações do Winlogon. Use todos os meios para bloquear o download de DLLs maliciosas e de programas potencialmente perigosos, por exemplo, aqueles incorporados ao Windows AppLocker e DeviceGuard.