
Contorna AV e sandboxes no Windows usando verificações anti-sandbox, unhooking do ntdll, resolução dinâmica de API e ofuscação de shellcode em múltiplas camadas (XOR/RC4/Base64/MAC).
A seguir, explicarei as tecnologias envolvidas no trojan, abordando tanto o shellcode quanto o loader.
É de conhecimento geral que a detecção antissandbox convencional se baseia em operações como CPU, memória e disco do host. No entanto, pessoalmente acho essa abordagem inadequada, pois alguns antivírus ou sandboxes em nuvem detectam funções antissandbox e monitoram APIs sensíveis, o que pode levar à detecção. Portanto, minha ideia é detectar atalhos da área de trabalho, como os de softwares comuns como QQ, WeChat e DingTalk, para escapar de sandboxes em nuvem.

O mecanismo de detecção da maioria dos antivírus é colocar hooks (ganchos) em algumas APIs sensíveis. Assim, podemos contornar esses hooks e executar as funções usando as técnicas de recarga do ntdll e chamada dinâmica de APIs. Na recarga do ntdll, carregamos o ntdll.dll original do diretório do sistema e substituímos o segmento de código (.text) do ntdll com hooks no processo atual pelo código original. A chamada dinâmica de APIs consiste em percorrer a tabela de exportação da DLL alvo, usar hash para corresponder ao nome da função, obter o endereço da função desejada e executá-la por meio de um ponteiro.
Esta é uma amostra de trojan que pode contornar a grande maioria dos antivírus e sandboxes. A seguir, explicarei as tecnologias envolvidas no trojan, com foco tanto no shellcode quanto no loader.
É bem sabido que a detecção convencional de funções antissandbox se baseia em operações como CPU, memória e disco do host. No entanto, eu pessoalmente acho que essa abordagem não é ideal, porque alguns antivírus ou sandboxes em nuvem monitoram as funções antissandbox e ficam de olho em APIs sensíveis, o que pode levar à detecção. Portanto, minha ideia é detectar atalhos da área de trabalho, como os de softwares comumente usados, como QQ, WeChat e DingTalk, para escapar de sandboxes em nuvem. 
O mecanismo de detecção dos antivírus em geral é colocar hooks em algumas APIs sensíveis. Portanto, podemos contornar os hooks e realizar a função usando as técnicas de recarga do ntdll e chamada dinâmica de APIs. A parte da recarga do ntdll envolve carregar o ntdll.dll original do diretório do sistema e substituir o segmento de código (.text) do ntdll com hooks no processo atual pelo código original. A chamada dinâmica de APIs consiste em percorrer a tabela de exportação da DLL alvo, usar hash para corresponder ao nome da função, obter o endereço da função de destino e executá-la por meio de um ponteiro.
A seção do shellcode passa principalmente por processamento de ofuscação em várias camadas, envolvendo XOR, RC4, base64 e MAC. A saída final está no formato de endereço MAC, aproveitando a tolerância do Windows a strings no formato MAC.
Obrigado pela leitura.