Um conjunto de técnicas de injeção de processo, chamado PoolParty, foi apresentado no Black Hat Europe 2023 conferência. Um conjunto de 8 truques permite forçar a execução de qualquer código malicioso, e contorna a proteção de soluções EDR de alto nível.
PoolParty Process Injection explora mecanismos do Windows
A apresentação inicial das técnicas, junto com uma análise mais aprofundada, revela uma corrente ou truques simples, mas geniais. Como vem do nome, PoolParty brinca com o pool de threads do Windows. É um mecanismo interno que orquestra a execução das funções do sistema durante o tempo de execução do aplicativo. Vamos nos aprofundar um pouco nos detalhes.
Existe um objeto no Windows chamado “worker factory” – algo responsável por gerenciar o número de threads de trabalho. Esta última, como eu disse acima, são usados para executar funções do sistema necessárias para que os programas funcionem. Cada processo em execução no sistema eventualmente obtém sua própria fábrica de trabalhadores, com um conjunto de threads de trabalho necessários para executá-lo.
O próprio sistema oferece a capacidade de despejar as informações de uma fábrica de trabalhadores escolhida, incluindo o valor da rotina inicial. É possível simplesmente substituir este valor com o necessário para executar o malware, por exemplo - a malicious shellcode. Através das mesmas chamadas de fábrica de trabalhadores, é possível acelerar o processo iniciando a execução da rotina de início quando necessário em vez de esperar quando o sistema o executa.
Ataques de pool de threads
Outra vantagem dos alvos de ataque não os trabalhadores e as fábricas operárias, mas pools de threads. Esses são, essencialmente, sequências de tarefas que o sistema deve executar; uma lista de tarefas para os trabalhadores, alguém pode dizer. Brincando com propriedades específicas de tipos de itens de trabalho, é possível alimentar uma tarefa maliciosa para a lista de tarefas para trabalhadores.
Como existem tipos separados de fila para, trabalhos de timer e assíncronos, os desenvolvedores podem ajustar o fluxo de execução do programa. Ou, no caso de exploração maliciosa, o ajuste fino é aplicado à execução de malware. Dependendo do tipo de trabalho, o modo de injeção difere, tornando-se o mais complicado em trabalhos de timer. Mas mesmo assim, todos os três tipos de trabalhos continuam sendo a superfície de ataque – e não há muito que as soluções de EDR possam fazer sobre isso.
As injeções PoolParty são perigosas?
De fato, eles são. A injeção de processo é a base de praticamente todos os procedimentos de lançamento de malware. Um programa malicioso na forma de um arquivo executável é hoje em dia uma visão rara: eles principalmente come as DLLs ou arquivos executáveis portáteis. Mas até o momento todas as técnicas usadas para lançar esse tipo de malware foram pesquisadas até o último pouquinho. Esvaziamento, duplicar, sequestro de thread – conhecemos não apenas o seu mecanismo, mas também as formas de neutralizá-lo.
Esta última, no entanto, não é a história sobre métodos de injeção PoolParty. Este vil oito é pesquisado, mas é ignorado com sucesso até por soluções EDR de primeira linha. E essas são soluções de segurança destinadas a proteger as empresas e possuem os maiores recursos de proteção – sem contar a eficácia dos programas antivírus orientados ao usuário..
Daí, é extremamente importante seguir as técnicas preventivas contra injeção de malware. Dando zero chances de aparecer em seu sistema significa que não pode fazer truques como o PoolParty. Entre eles estão a proteção eficaz da rede, utilitários de desarmamento de conteúdo, firewalls, e soluções de proteção de e-mail. No entanto, fundamentos de segurança, como limitação de privilégios ou controle de acesso, também funcionarão. Mesmo tendo como detectar tais ameaças, será ótimo evitar o aparecimento deles em primeiro lugar.