Comando e Controle
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 "Comando e controle" (
abreviação - C2, C & C ) é o estágio final da cadeia de ataques introduzida no
ATT & CK Matrix for Enterprise .
Comando e controle inclui técnicas pelas quais o adversário se comunica com sistemas conectados e sob o controle da rede atacada. Dependendo da configuração dos sistemas e da topologia da rede de destino, existem várias maneiras de organizar o canal secreto C2. As técnicas mais comuns são descritas em gato. Recomendações gerais sobre a organização de medidas para prevenir e detectar C2 são destacadas em um bloco separado e colocadas no final da seção.
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, Linux, macOS
Descrição: para ignorar firewalls e misturar tráfego malicioso com atividade normal da rede, um adversário pode manter contato com o sistema atacado por meio de portas padrão comumente usadas por aplicativos regulares:
TCP: 80 (HTTP)
TCP: 443 (HTTPS)
TCP: 25 (SMTP)
TCP/UDP: 53 (DNS)
Exemplos de portas para organizar conexões de rede em um enclave inimigo, por exemplo, entre um servidor proxy e outros nós) são:
TCP/UDP: 135 (RPC)
TCP/UDP: 22
TCP/UDP: 3389
Sistema: Windows, Linux, macOS
Descrição: um adversário pode organizar uma infraestrutura C2 entre nós fisicamente isolados usando mídia de armazenamento removível para transferir comandos de sistema para sistema. Ambos os sistemas devem estar comprometidos. É provável que um sistema com conexão à Internet seja comprometido pelo primeiro, e o segundo sistema seja comprometido durante o movimento lateral, replicando o malware por meio de mídia removível (consulte a
Parte 8 ). Comandos e arquivos serão retransmitidos de um sistema isolado para um sistema com conexão à Internet, ao qual o adversário tenha acesso direto.
Recomendações de proteção: desative a execução automática de dispositivos removíveis. Proibir ou restringir o uso de mídia removível no nível da política organizacional. Organize uma auditoria dos processos que são executados ao conectar a mídia removível.
Sistema: Windows, Linux, macOS
Descrição: um servidor proxy pode ser usado por um invasor para redirecionar o tráfego de rede entre sistemas ou como intermediário para comunicações em rede. Muitas ferramentas (como HTRAN, ZXProxy e ZXPortMap) permitem redirecionar o tráfego ou encaminhar portas.
O conceito de proxies também pode incluir relações de confiança em redes ponto a ponto (p2p), em malha ou em conexões confiáveis entre redes. Uma rede pode estar dentro de uma organização ou entre organizações com relações de confiança. Um adversário pode usar relações de confiança de rede para controlar o canal C2, reduzir o número de conexões de rede de saída simultâneas, fornecer tolerância a falhas ou usar conexões confiáveis para evitar suspeitas.
Sistema: Windows, Linux, macOS
Descrição: um invasor pode organizar um canal C2 usando seu próprio protocolo de rede em vez de encapsular comandos / dados em um protocolo de camada de aplicativo padrão existente. A implementação do protocolo C2 inimigo pode imitar protocolos conhecidos ou protocolos de usuário (incluindo soquetes brutos) sobre os protocolos básicos apresentados no TCP / IP ou em outra pilha de rede padrão.
Sistema: Windows, Linux, macOS
Descrição: para ocultar o tráfego transmitido pelo canal C2, o adversário pode usar seu próprio protocolo criptográfico ou algoritmo de criptografia. Um esquema simples, como a criptografia XOR de texto sem formatação com uma chave fixa, fornecerá texto cifrado (embora muito fraco).
Os esquemas de criptografia proprietários podem variar em complexidade. A análise e a engenharia reversa de amostras de malware podem ser usadas para detectar com êxito o algoritmo usado e a chave de criptografia. Alguns atacantes podem tentar implementar sua própria versão de um algoritmo criptográfico conhecido em vez de usar uma biblioteca conhecida, o que pode levar a erros não intencionais na operação do software inimigo.
Recomendações de proteção: se o malware usa sua própria criptografia com chaves simétricas, é possível obter um algoritmo e uma chave a partir de amostras de software para usá-los para decodificar o tráfego de rede e identificar assinaturas de malware.
Sistema: Windows, Linux, macOS
Descrição: as informações transmitidas pelo canal C2 são codificadas usando sistemas de codificação de dados padrão. O uso da codificação de dados deve estar em conformidade com as especificações de protocolo existentes e inclui o uso de ASCII, Unicode, Base64, MIME, UTF-8 ou outras codificações binárias de texto e caracteres. Alguns sistemas de codificação, como o gzip, também podem compactar dados.
Sistema: Windows, Linux, macOS
Descrição: os dados no canal C2 podem ser ocultados (mas não necessariamente usando criptografia) para dificultar a detecção e descriptografia do conteúdo transmitido, além de tornar o processo de comunicação menos perceptível e ocultar os comandos transmitidos. Existem muitos métodos de ofuscação, como adicionar dados desnecessários ao tráfego de protocolo, usar esteganografia, combinar tráfego legítimo com tráfego C2 ou usar um sistema de codificação de dados não padrão, por exemplo, um Base64 modificado no corpo de uma mensagem de solicitação HTTP.
Sistema: Windows, Linux, macOS
Descrição: a essência do Domain Fronting é a capacidade de ocultar o endereço de destino real do pacote HTTPs nas redes CDNs (Netwoks de entrega de conteúdo).
Exemplo: Há o domínio X e o domínio Y, que são clientes das mesmas CDNs. Um pacote com o endereço X do domínio no cabeçalho TLS e o endereço Y do domínio no cabeçalho HTTP provavelmente será entregue ao endereço Y do domínio, mesmo se a comunicação de rede entre os endereços de origem e de destino for proibida.Um pacote HTTPs contém dois conjuntos de cabeçalhos: o primeiro, TLS, está na parte aberta do pacote, o segundo, HTTP - refere-se à parte criptografada do pacote. Além disso, cada cabeçalho possui seu próprio campo para especificar o endereço IP de destino. A essência do Fronting de Domínio é o uso deliberado de diferentes nomes de domínio no campo "SNI" do cabeçalho TLS e no campo "Host" do cabeçalho HTTP. Assim, o endereço de destino permitido é indicado no campo "SNI" e o endereço de destino de entrega é indicado no campo "Host". Se os dois endereços pertencerem aos mesmos CDNs, após o recebimento desse pacote, o nó de roteamento poderá retransmitir a solicitação para o endereço de destino.
Há outra variação dessa técnica chamada fronting sem domínio. Nesse caso, o campo "SNI" (cabeçalho TLS) é intencionalmente deixado em branco, o que permite que o pacote alcance seu objetivo, mesmo que o CDN verifique a coincidência dos campos "SNI" e "HOST" (se campos SNI vazios forem ignorados).
Recomendações de proteção: Se for possível inspecionar o tráfego HTTPS, as conexões semelhantes ao Domain Fronting podem ser capturadas e analisadas. Se a inspeção SSL for realizada ou o tráfego não estiver criptografado, o campo "HOST" poderá ser verificado quanto à coincidência com o campo "SNI" ou a presença do endereço especificado nas listas brancas ou negras. Para implementar o Domain Fronting, um adversário provavelmente precisará implantar ferramentas adicionais em um sistema comprometido, cuja instalação pode ser impedida pela instalação de ferramentas locais de proteção de host.
Sistema: Windows, Linux, macOS
Descrição: para garantir a confiabilidade do canal de controle e evitar exceder os valores limite dos dados transmitidos, os atacantes podem usar canais de backup ou de comunicação alternativos se o canal principal C2 estiver comprometido ou indisponível.
Sistema: Windows, Linux, macOS
Descrição: os invasores podem criar canais C2 de vários estágios que são usados em várias condições ou para funções específicas. O uso de várias etapas pode confundir e ofuscar o canal C2, dificultando a detecção.
Os RATs em execução no host de destino iniciam uma conexão com o servidor C2 de primeira camada. A primeira etapa pode ter recursos automatizados para coletar informações básicas sobre o host, executar ferramentas de atualização e baixar arquivos adicionais. Em seguida, uma segunda ferramenta RAT pode ser iniciada para redirecionar o host para o servidor de segunda camada C2. O segundo estágio do C2, provavelmente, será totalmente funcional e permitirá que o inimigo interaja com o sistema de destino através do shell reverso e funções adicionais do RAT.
As etapas C2, provavelmente, serão colocadas separadamente uma da outra sem cruzar sua infraestrutura. O carregador de inicialização também pode ter feedback redundante no primeiro estágio ou canais sobressalentes, caso o canal original do primeiro estágio seja detectado e bloqueado.
Recomendações de proteção: a infraestrutura C2 usada para organizar canais de vários estágios pode ser bloqueada se for conhecida com antecedência. Se assinaturas exclusivas estiverem presentes no tráfego C2, elas poderão ser usadas para identificar e bloquear o canal.
Sistema: Windows, Linux, macOS
Descrição: para disfarçar a origem do tráfego malicioso, um adversário pode usar uma cadeia de vários servidores proxy. Como regra, o defensor poderá determinar apenas o último proxy. O uso de multiproxing torna a identificação da fonte de tráfego malicioso mais difícil, exigindo que a parte defensora monitore o tráfego malicioso por meio de vários servidores proxy.
Recomendações de proteção: O tráfego para redes anônimas conhecidas (como Tor) e infra-estruturas C2 pode ser bloqueado pela organização de listas negras e brancas. No entanto, você deve prestar atenção para que esse método de bloqueio possa ser contornado usando técnicas semelhantes ao Fronting de Domínio.
Sistema: Windows, Linux, macOS
Descrição: Alguns oponentes podem dividir o canal de dados C2 entre diferentes protocolos. Os comandos de entrada podem ser transmitidos por um protocolo e os dados de saída de uma maneira diferente, o que permite ignorar certas restrições de firewall. A separação também pode ser acidental, a fim de evitar avisos sobre exceder os valores limite para qualquer mensagem única.
Recomendações de proteção: analise o conteúdo dos pacotes para encontrar conexões que não correspondem ao comportamento esperado do protocolo para a porta usada. A correspondência de alertas entre vários canais de comunicação também pode ajudar na detecção de C2.
Sistema: Windows, Linux, macOS
Descrição: um adversário pode aplicar vários níveis de criptografia de tráfego C2. Como regra (mas outras opções não são excluídas), o encapsulamento adicional usando seu próprio esquema de criptografia é usado como parte da criptografia HTTPS ou SMTPS.
Dicas de segurança: o uso de protocolos de criptografia pode complicar a descoberta típica do C2 com base na análise de tráfego baseada em assinaturas. Se o malware usar um protocolo criptográfico padrão, a inspeção SSL / TLS poderá ser usada para detectar o tráfego C2 em alguns canais criptografados. A verificação SSL / TLS envolve certos riscos que devem ser considerados antes da implementação para evitar possíveis problemas de segurança, como
verificação incompleta de certificados . Após a verificação SSL / TLS, análises criptográficas adicionais podem ser necessárias para a criptografia de segundo nível.
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, Linux, macOS
Descrição: para estabelecer um modo interativo de comando e controle, um invasor pode usar software legítimo projetado para eles. suporte à estação de trabalho e software para acesso remoto, por exemplo, TeamViewer, Go2Assist, LogMain, AmmyAdmin etc., que geralmente são usados pelos serviços de suporte técnico e podem ser incluídos na lista de permissões. Ferramentas de acesso remoto, como VNC, Ammy e Teamview, são mais comumente usadas por engenheiros de suporte técnico e comumente usadas por criminosos cibernéticos.
As ferramentas de acesso remoto podem ser instaladas após o comprometimento do sistema para uso como um canal C2 alternativo. Eles também podem ser usados como um componente de malware para estabelecer uma conexão reversa com um servidor ou sistema controlado por um adversário.
Ferramentas de administração, como o TeamViewer, foram usadas por vários grupos focados em agências governamentais em países de interesse do estado russo e de empresas criminosas.
Recomendações de proteção: As ferramentas de acesso remoto podem ser usadas em conjunto com as técnicas de Fronting de Domínio; portanto, é aconselhável impedir que o adversário instale as ferramentas RAT usando ferramentas de segurança do host.
Sistema: Windows, Linux, macOS
Descrição: os arquivos podem ser copiados de um sistema para outro para implantar ferramentas inimigas ou outros arquivos. Os arquivos podem ser copiados de um sistema externo controlado por um invasor, através do canal C&C ou usando outras ferramentas usando protocolos alternativos, como FTP. Os arquivos também podem ser copiados para Mac e Linux usando ferramentas internas como scp, rsync, sftp.
Os inimigos também podem copiar arquivos lateralmente entre os sistemas internos de vítimas para suportar o movimento da rede e a execução remota de comandos. Isso pode ser feito usando protocolos de compartilhamento de arquivos, conectando recursos de rede via SMB ou usando conexões autenticadas com compartilhamentos de administrador do Windows ou RDP.
Recomendações de proteção: Como meio de detecção, é recomendável monitorar a criação e a transferência de arquivos pela rede por meio do protocolo SMB. Processos incomuns com conexões de rede externas que criam arquivos no sistema também devem ser suspeitos. O uso atípico de utilitários como FTP também pode ser suspeito.
Sistema: Windows, Linux, macOS
Descrição: para evitar detectar e misturar o tráfego C2 com o tráfego de rede existente, os invasores podem usar protocolos padrão no nível do aplicativo, como HTTP, HTTPS, SMTP ou DNS. Para conexões dentro do canal C2 (enclave), por exemplo, entre o servidor proxy e o nó mestre e outros nós, os protocolos RPC, SSH ou RDP são geralmente usados.
Sistema: Windows, Linux, macOS
Descrição: os oponentes podem usar algoritmos de criptografia conhecidos para ocultar o tráfego C2. Apesar de usar um algoritmo robusto, se as chaves secretas são criptografadas e geradas por malware e / ou armazenadas em arquivos de configuração, o tráfego C2 pode ser revelado usando engenharia reversa.
Sistema: Windows, Linux, macOS
Descrição: os protocolos da camada não de aplicativo do modelo OSI podem ser usados para comunicação entre o host e o servidor infectados ou para a interação dos hosts infectados na rede. Em implementações conhecidas, foram utilizados o protocolo da camada de rede - ICMP, a camada de transporte - UDP, a camada de sessão - SOCKS e protocolos como redirecionados / encapsulados, como Serial over LAN (SOL).
O ICMP é frequentemente usado por criminosos cibernéticos para ocultar a comunicação entre hosts. Como o ICMP faz parte do Internet Protocol Suite e deve ser implementado por todos os dispositivos compatíveis com IP, ele não é tão freqüentemente monitorado quanto outros protocolos, como TCP ou UDP.
Sistema: Windows, Linux, macOS
Descrição: os adversários podem se comunicar via C2 através de uma porta não padrão para ignorar servidores proxy e firewalls que não foram configurados corretamente.
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 proteção: Firewalls e proxies da Web podem ser usados para implementar políticas para restringir as comunicações de rede externas.
Recomendações gerais sobre a organização de medidas para a prevenção e detecção de C2
• Os sistemas IDS / DLP que usam análise de tráfego baseada em assinatura podem ser usados para detectar e bloquear ferramentas C2 específicas conhecidas e programas maliciosos, de modo que o adversário provavelmente alterará as ferramentas usadas ao longo do tempo ou configurará o protocolo de transferência de dados para evitar a detecção por meios conhecidos por ele. proteção;
• Use ferramentas de proteção de ponto de extremidade antivírus para bloquear ferramentas C2 específicas conhecidas e malware;
• Verifique se os hosts na rede interna estão acessíveis apenas através de interfaces autorizadas;
• Limite o tráfego de saída, permitindo apenas as portas necessárias nos firewalls e proxies através dos gateways de rede apropriados;
• Bloquear domínios e endereços IP de infraestruturas C2 conhecidas. No entanto, deve-se notar que essa não é uma solução eficaz e de longo prazo, pois C2;
• , ;
• , - , (TeamViewer, Go2Assist, LogMain, AmmyAdmin ..);
• , - ;
• API-, ;
• ICMP , ;
• , , , , , ;
• , .