Uma nova técnica de injeção de processo chamada Mockingjay pode ser explorada por atores maliciosos para contornar soluções de segurança e executar código malicioso em sistemas comprometidos.
"A injeção é executada sem alocação de espaço, definição de permissões ou mesmo iniciando uma thread", disseram os pesquisadores de segurança Thiago Peixoto, Felipe Duarte e Ido Naor em um relatório compartilhado com o The Hacker News.
"A singularidade dessa técnica é que ela requer uma DLL vulnerável e copiar o código para a seção correta."
A injeção de processo é um método de ataque que permite aos adversários injetar código em processos para evadir defesas baseadas em processos e elevar privilégios.
Ao fazer isso, pode permitir a execução de código arbitrário no espaço de memória de um processo separado em execução.
Algumas das técnicas conhecidas de injeção de processo incluem injeção de biblioteca de vínculo dinâmico (DLL), injeção de arquivo executável portátil, sequestro de execução de thread, esvaziamento de processo e processo doppelgänging, entre outros.
Vale ressaltar que cada um desses métodos requer uma combinação de chamadas de sistema específicas e APIs do Windows para realizar a injeção, permitindo assim que os defensores elaborem procedimentos adequados de detecção e mitigação.
O que diferencia o Mockingjay é que ele subverte essas camadas de segurança eliminando a necessidade de executar APIs do Windows normalmente monitoradas por soluções de segurança, aproveitando arquivos executáveis portáteis do Windows pré-existentes que contêm um bloco de memória padrão protegido com permissões de leitura-escrita-execução (RWX).
Isso, por sua vez, é realizado usando o msys-2.0.dll, que vem com um "generoso espaço RWX de 16 KB disponível", tornando-o um candidato ideal para carregar código malicioso e passar despercebido.
No entanto, vale ressaltar que pode haver outras DLLs suscetíveis com características semelhantes.
A empresa israelense afirmou que explorou dois métodos diferentes - autoinjeção e injeção remota de processo - para alcançar a injeção de código de maneira que não apenas melhora a eficiência do ataque, mas também contorna a detecção.
Na abordagem inicial, um aplicativo personalizado é utilizado para carregar diretamente a DLL vulnerável em seu espaço de endereço e, por fim, executar o código desejado usando a seção RWX.
A injeção remota de processo, por outro lado, envolve o uso da seção RWX na DLL vulnerável para realizar a injeção de processo em um processo remoto, como o ssh.exe.
"A singularidade dessa técnica reside no fato de que não é necessário alocar memória, definir permissões ou criar uma nova thread dentro do processo alvo para iniciar a execução do nosso código injetado", disseram os pesquisadores.
"Essa diferenciação destaca essa estratégia das outras técnicas existentes e torna desafiador para os sistemas de Detecção e Resposta de Endpoint (EDR) detectarem esse método."
As descobertas surgem semanas depois que a empresa de cibersegurança SpecterOps detalhou um novo método que explora uma tecnologia legítima de implantação do Visual Studio chamada ClickOnce para obter execução de código arbitrário e obter acesso inicial.
Publicidade
Em 14 de janeiro a Solyd irá revolucionar a forma como pentest e hacking deve ser ensinado. Se inscreva para ser o primeiro a saber das novidades. Saiba mais...